diff --git a/.github/workflows/speakeasy_sdk_generation.yml b/.github/workflows/speakeasy_sdk_generation.yml index 571b9cddb..d420c2e5c 100644 --- a/.github/workflows/speakeasy_sdk_generation.yml +++ b/.github/workflows/speakeasy_sdk_generation.yml @@ -1,32 +1,26 @@ name: Generate permissions: - checks: write - contents: write - pull-requests: write - statuses: write + checks: write + contents: write + pull-requests: write + statuses: write "on": - workflow_dispatch: - inputs: - force: - description: Force generation of SDKs - type: boolean - default: false - schedule: - - cron: 0 0 * * * + workflow_dispatch: + inputs: + force: + description: Force generation of SDKs + type: boolean + default: false + schedule: + - cron: 0 0 * * * jobs: - generate: - uses: speakeasy-api/sdk-generation-action/.github/workflows/sdk-generation.yaml@v14 - with: - force: ${{ github.event.inputs.force }} - languages: | - - java - mode: pr - openapi_doc_auth_header: x-api-key - openapi_docs: | - - https://app.speakeasyapi.dev/v1/apis/public-api/version/1.0.0/schema/download - publish_java: true - speakeasy_version: latest - secrets: - github_access_token: ${{ secrets.GITHUB_TOKEN }} - openapi_doc_auth_token: ${{ secrets.SPEAKEASY_API_KEY }} - speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }} + generate: + uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15 + with: + force: ${{ github.event.inputs.force }} + mode: pr + speakeasy_version: latest + secrets: + github_access_token: ${{ secrets.GITHUB_TOKEN }} + openapi_doc_auth_token: ${{ secrets.SPEAKEASY_API_KEY }} + speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }} diff --git a/.github/workflows/speakeasy_sdk_publish.yml b/.github/workflows/speakeasy_sdk_publish.yml index caef25b0c..e0f76760f 100644 --- a/.github/workflows/speakeasy_sdk_publish.yml +++ b/.github/workflows/speakeasy_sdk_publish.yml @@ -1,20 +1,17 @@ name: Publish "on": - push: - branches: - - main - paths: - - RELEASES.md + push: + branches: + - main + paths: + - RELEASES.md jobs: - publish: - uses: speakeasy-api/sdk-generation-action/.github/workflows/sdk-publish.yaml@v14 - with: - create_release: true - publish_java: true - secrets: - github_access_token: ${{ secrets.GITHUB_TOKEN }} - java_gpg_passphrase: ${{ secrets.JAVA_GPG_PASSPHRASE }} - java_gpg_secret_key: ${{ secrets.JAVA_GPG_SECRET_KEY }} - ossrh_password: ${{ secrets.OSSRH_PASSWORD }} - ossrh_username: ${{ secrets.OSSRH_USERNAME }} - speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }} + publish: + uses: speakeasy-api/sdk-generation-action/.github/workflows/sdk-publish.yaml@v15 + secrets: + github_access_token: ${{ secrets.GITHUB_TOKEN }} + java_gpg_passphrase: ${{ secrets.JAVA_GPG_PASSPHRASE }} + java_gpg_secret_key: ${{ secrets.JAVA_GPG_SECRET_KEY }} + ossrh_password: ${{ secrets.OSSRH_PASSWORD }} + ossrh_username: ${{ secrets.OSSRH_USERNAME }} + speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }} diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 57dbc2838..84a1e1a11 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,156 +1,1918 @@ lockVersion: 2.0.0 id: 5b16d152-46cd-4f0b-94e9-018ca2cfe7cd management: - docChecksum: f32864912d3a716aa1b28aee6ebab024 + docChecksum: c7cb5a18199f070c4946089791aa6bfc docVersion: 1.0.0 - speakeasyVersion: internal - generationVersion: 2.272.4 - releaseVersion: 0.49.3 - configChecksum: 7c8efa79420174b8a11ee9539f5dd493 + speakeasyVersion: 1.250.0 + generationVersion: 2.304.1 + releaseVersion: 1.0.0 + configChecksum: de6af6f9006afd07363242e14863a916 repoURL: https://github.com/airbytehq/airbyte-api-java-sdk.git repoSubDirectory: . published: true features: java: - core: 3.5.2 - globalSecurity: 2.81.3 + constsAndDefaults: 0.1.1 + core: 3.16.4 + globalSecurity: 2.82.5 globalServerURLs: 2.82.1 + unions: 0.0.3 generatedFiles: - - lib/src/main/java/com/airbyte/api/SDKConfiguration.java - - lib/src/main/java/com/airbyte/api/Connections.java - - lib/src/main/java/com/airbyte/api/Destinations.java - - lib/src/main/java/com/airbyte/api/Jobs.java - - lib/src/main/java/com/airbyte/api/Sources.java - - lib/src/main/java/com/airbyte/api/Streams.java - - lib/src/main/java/com/airbyte/api/Workspaces.java - - lib/src/main/java/com/airbyte/api/Airbyte.java + - src/main/java/com/airbyte/api/SecuritySource.java + - src/main/java/com/airbyte/api/SDKConfiguration.java + - src/main/java/com/airbyte/api/Connections.java + - src/main/java/com/airbyte/api/Destinations.java + - src/main/java/com/airbyte/api/Jobs.java + - src/main/java/com/airbyte/api/Sources.java + - src/main/java/com/airbyte/api/Streams.java + - src/main/java/com/airbyte/api/Workspaces.java + - src/main/java/com/airbyte/api/models/operations/CreateConnectionRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/DeleteConnectionRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/GetConnectionRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/ListConnectionsRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/PatchConnectionRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/CreateDestinationRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/DeleteDestinationRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/GetDestinationRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/ListDestinationsRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/PatchDestinationRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/PutDestinationRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/CancelJobRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/CreateJobRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/GetJobRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/ListJobsRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/CreateSourceRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/DeleteSourceRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/GetSourceRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/InitiateOAuthRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/ListSourcesRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/PatchSourceRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/PutSourceRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/CreateWorkspaceRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/GetWorkspaceRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/ListWorkspacesRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceRequestBuilder.java + - src/main/java/com/airbyte/api/models/operations/SDKMethodInterfaces.java + - src/main/java/com/airbyte/api/Airbyte.java - .gitattributes + - build.gradle - gradle/wrapper/gradle-wrapper.jar - gradle/wrapper/gradle-wrapper.properties - gradlew - gradlew.bat - settings.gradle - - lib/build.gradle - - lib/src/main/java/com/airbyte/api/utils/DateTimeDeserializer.java - - lib/src/main/java/com/airbyte/api/utils/DateTimeSerializer.java - - lib/src/main/java/com/airbyte/api/utils/FormMetadata.java - - lib/src/main/java/com/airbyte/api/utils/HTTPClient.java - - lib/src/main/java/com/airbyte/api/utils/HTTPRequest.java - - lib/src/main/java/com/airbyte/api/utils/HeaderMetadata.java - - lib/src/main/java/com/airbyte/api/utils/JSON.java - - lib/src/main/java/com/airbyte/api/utils/Metadata.java - - lib/src/main/java/com/airbyte/api/utils/MultipartFormMetadata.java - - lib/src/main/java/com/airbyte/api/utils/PathParamsMetadata.java - - lib/src/main/java/com/airbyte/api/utils/QueryParameters.java - - lib/src/main/java/com/airbyte/api/utils/QueryParamsMetadata.java - - lib/src/main/java/com/airbyte/api/utils/RequestBody.java - - lib/src/main/java/com/airbyte/api/utils/RequestMetadata.java - - lib/src/main/java/com/airbyte/api/utils/Security.java - - lib/src/main/java/com/airbyte/api/utils/SecurityMetadata.java - - lib/src/main/java/com/airbyte/api/utils/SerializedBody.java - - lib/src/main/java/com/airbyte/api/utils/SpeakeasyHTTPClient.java - - lib/src/main/java/com/airbyte/api/utils/SpeakeasyHTTPSecurityClient.java - - lib/src/main/java/com/airbyte/api/utils/SpeakeasyMetadata.java - - lib/src/main/java/com/airbyte/api/utils/Types.java - - lib/src/main/java/com/airbyte/api/utils/Utils.java - - lib/src/main/java/com/airbyte/api/models/operations/CreateConnectionResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/DeleteConnectionRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/DeleteConnectionResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/GetConnectionRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/GetConnectionResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/ListConnectionsRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/ListConnectionsResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/PatchConnectionRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/PatchConnectionResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/CreateDestinationResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/DeleteDestinationRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/DeleteDestinationResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/GetDestinationRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/GetDestinationResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/ListDestinationsRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/ListDestinationsResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/PatchDestinationRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/PatchDestinationResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/PutDestinationRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/PutDestinationResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/CancelJobRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/CancelJobResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/CreateJobResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/GetJobRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/GetJobResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/ListJobsRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/ListJobsResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/CreateSourceResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/DeleteSourceRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/DeleteSourceResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/GetSourceRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/GetSourceResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/InitiateOAuthResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/ListSourcesRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/ListSourcesResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/PatchSourceRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/PatchSourceResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/PutSourceRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/PutSourceResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/CreateWorkspaceResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/GetWorkspaceRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/GetWorkspaceResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/ListWorkspacesRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/ListWorkspacesResponse.java - - lib/src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceRequest.java - - lib/src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceResponse.java - - lib/src/main/java/com/airbyte/api/models/shared/ConnectionResponse.java - - lib/src/main/java/com/airbyte/api/models/shared/ConnectionStatusEnum.java - - lib/src/main/java/com/airbyte/api/models/shared/ConnectionScheduleResponse.java - - lib/src/main/java/com/airbyte/api/models/shared/ScheduleTypeWithBasicEnum.java - - lib/src/main/java/com/airbyte/api/models/shared/NonBreakingSchemaUpdatesBehaviorEnum.java - - lib/src/main/java/com/airbyte/api/models/shared/NamespaceDefinitionEnum.java - - lib/src/main/java/com/airbyte/api/models/shared/GeographyEnum.java - - lib/src/main/java/com/airbyte/api/models/shared/StreamConfigurations.java - - lib/src/main/java/com/airbyte/api/models/shared/StreamConfiguration.java - - lib/src/main/java/com/airbyte/api/models/shared/ConnectionSyncModeEnum.java - - lib/src/main/java/com/airbyte/api/models/shared/ConnectionCreateRequest.java - - lib/src/main/java/com/airbyte/api/models/shared/ConnectionSchedule.java - - lib/src/main/java/com/airbyte/api/models/shared/ScheduleTypeEnum.java - - lib/src/main/java/com/airbyte/api/models/shared/ConnectionsResponse.java - - lib/src/main/java/com/airbyte/api/models/shared/ConnectionPatchRequest.java - - lib/src/main/java/com/airbyte/api/models/shared/NonBreakingSchemaUpdatesBehaviorEnumNoDefault.java - - lib/src/main/java/com/airbyte/api/models/shared/NamespaceDefinitionEnumNoDefault.java - - lib/src/main/java/com/airbyte/api/models/shared/GeographyEnumNoDefault.java - - lib/src/main/java/com/airbyte/api/models/shared/DestinationResponse.java - - lib/src/main/java/com/airbyte/api/models/shared/DestinationCreateRequest.java - - lib/src/main/java/com/airbyte/api/models/shared/DestinationsResponse.java - - lib/src/main/java/com/airbyte/api/models/shared/DestinationPatchRequest.java - - lib/src/main/java/com/airbyte/api/models/shared/DestinationPutRequest.java - - lib/src/main/java/com/airbyte/api/models/shared/JobResponse.java - - lib/src/main/java/com/airbyte/api/models/shared/JobStatusEnum.java - - lib/src/main/java/com/airbyte/api/models/shared/JobTypeEnum.java - - lib/src/main/java/com/airbyte/api/models/shared/JobCreateRequest.java - - lib/src/main/java/com/airbyte/api/models/shared/JobsResponse.java - - lib/src/main/java/com/airbyte/api/models/shared/SourceResponse.java - - lib/src/main/java/com/airbyte/api/models/shared/SourceCreateRequest.java - - lib/src/main/java/com/airbyte/api/models/shared/InitiateOauthRequest.java - - lib/src/main/java/com/airbyte/api/models/shared/OAuthActorNames.java - - lib/src/main/java/com/airbyte/api/models/shared/OAuthInputConfiguration.java - - lib/src/main/java/com/airbyte/api/models/shared/SourcesResponse.java - - lib/src/main/java/com/airbyte/api/models/shared/SourcePatchRequest.java - - lib/src/main/java/com/airbyte/api/models/shared/SourcePutRequest.java - - lib/src/main/java/com/airbyte/api/models/shared/StreamPropertiesResponse.java - - lib/src/main/java/com/airbyte/api/models/shared/StreamProperties.java - - lib/src/main/java/com/airbyte/api/models/shared/WorkspaceOAuthCredentialsRequest.java - - lib/src/main/java/com/airbyte/api/models/shared/ActorTypeEnum.java - - lib/src/main/java/com/airbyte/api/models/shared/WorkspaceResponse.java - - lib/src/main/java/com/airbyte/api/models/shared/WorkspaceCreateRequest.java - - lib/src/main/java/com/airbyte/api/models/shared/WorkspacesResponse.java - - lib/src/main/java/com/airbyte/api/models/shared/WorkspaceUpdateRequest.java - - lib/src/main/java/com/airbyte/api/models/shared/Security.java - - lib/src/main/java/com/airbyte/api/models/shared/SchemeBasicAuth.java + - src/main/java/com/airbyte/api/utils/BackoffStrategy.java + - src/main/java/com/airbyte/api/utils/BigDecimalString.java + - src/main/java/com/airbyte/api/utils/BigIntegerString.java + - src/main/java/com/airbyte/api/utils/Deserializers.java + - src/main/java/com/airbyte/api/utils/FormMetadata.java + - src/main/java/com/airbyte/api/utils/HTTPClient.java + - src/main/java/com/airbyte/api/utils/HTTPRequest.java + - src/main/java/com/airbyte/api/utils/HeaderMetadata.java + - src/main/java/com/airbyte/api/utils/JSON.java + - src/main/java/com/airbyte/api/utils/LazySingletonValue.java + - src/main/java/com/airbyte/api/utils/Metadata.java + - src/main/java/com/airbyte/api/utils/MultipartFormMetadata.java + - src/main/java/com/airbyte/api/utils/OneOfDeserializer.java + - src/main/java/com/airbyte/api/utils/Options.java + - src/main/java/com/airbyte/api/utils/PathParamsMetadata.java + - src/main/java/com/airbyte/api/utils/QueryParameters.java + - src/main/java/com/airbyte/api/utils/QueryParamsMetadata.java + - src/main/java/com/airbyte/api/utils/RequestBody.java + - src/main/java/com/airbyte/api/utils/RequestMetadata.java + - src/main/java/com/airbyte/api/utils/Response.java + - src/main/java/com/airbyte/api/utils/Retries.java + - src/main/java/com/airbyte/api/utils/RetryConfig.java + - src/main/java/com/airbyte/api/utils/Security.java + - src/main/java/com/airbyte/api/utils/SecurityMetadata.java + - src/main/java/com/airbyte/api/utils/SerializedBody.java + - src/main/java/com/airbyte/api/utils/SpeakeasyHTTPClient.java + - src/main/java/com/airbyte/api/utils/SpeakeasyHTTPSecurityClient.java + - src/main/java/com/airbyte/api/utils/SpeakeasyMetadata.java + - src/main/java/com/airbyte/api/utils/TypedObject.java + - src/main/java/com/airbyte/api/utils/Types.java + - src/main/java/com/airbyte/api/utils/Utils.java + - src/main/java/com/airbyte/api/models/errors/SDKError.java + - src/main/java/com/airbyte/api/models/operations/CreateConnectionResponse.java + - src/main/java/com/airbyte/api/models/operations/DeleteConnectionRequest.java + - src/main/java/com/airbyte/api/models/operations/DeleteConnectionResponse.java + - src/main/java/com/airbyte/api/models/operations/GetConnectionRequest.java + - src/main/java/com/airbyte/api/models/operations/GetConnectionResponse.java + - src/main/java/com/airbyte/api/models/operations/ListConnectionsRequest.java + - src/main/java/com/airbyte/api/models/operations/ListConnectionsResponse.java + - src/main/java/com/airbyte/api/models/operations/PatchConnectionRequest.java + - src/main/java/com/airbyte/api/models/operations/PatchConnectionResponse.java + - src/main/java/com/airbyte/api/models/operations/CreateDestinationResponse.java + - src/main/java/com/airbyte/api/models/operations/DeleteDestinationRequest.java + - src/main/java/com/airbyte/api/models/operations/DeleteDestinationResponse.java + - src/main/java/com/airbyte/api/models/operations/GetDestinationRequest.java + - src/main/java/com/airbyte/api/models/operations/GetDestinationResponse.java + - src/main/java/com/airbyte/api/models/operations/ListDestinationsRequest.java + - src/main/java/com/airbyte/api/models/operations/ListDestinationsResponse.java + - src/main/java/com/airbyte/api/models/operations/PatchDestinationRequest.java + - src/main/java/com/airbyte/api/models/operations/PatchDestinationResponse.java + - src/main/java/com/airbyte/api/models/operations/PutDestinationRequest.java + - src/main/java/com/airbyte/api/models/operations/PutDestinationResponse.java + - src/main/java/com/airbyte/api/models/operations/CancelJobRequest.java + - src/main/java/com/airbyte/api/models/operations/CancelJobResponse.java + - src/main/java/com/airbyte/api/models/operations/CreateJobResponse.java + - src/main/java/com/airbyte/api/models/operations/GetJobRequest.java + - src/main/java/com/airbyte/api/models/operations/GetJobResponse.java + - src/main/java/com/airbyte/api/models/operations/ListJobsRequest.java + - src/main/java/com/airbyte/api/models/operations/ListJobsResponse.java + - src/main/java/com/airbyte/api/models/operations/CreateSourceResponse.java + - src/main/java/com/airbyte/api/models/operations/DeleteSourceRequest.java + - src/main/java/com/airbyte/api/models/operations/DeleteSourceResponse.java + - src/main/java/com/airbyte/api/models/operations/GetSourceRequest.java + - src/main/java/com/airbyte/api/models/operations/GetSourceResponse.java + - src/main/java/com/airbyte/api/models/operations/InitiateOAuthResponse.java + - src/main/java/com/airbyte/api/models/operations/ListSourcesRequest.java + - src/main/java/com/airbyte/api/models/operations/ListSourcesResponse.java + - src/main/java/com/airbyte/api/models/operations/PatchSourceRequest.java + - src/main/java/com/airbyte/api/models/operations/PatchSourceResponse.java + - src/main/java/com/airbyte/api/models/operations/PutSourceRequest.java + - src/main/java/com/airbyte/api/models/operations/PutSourceResponse.java + - src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesRequest.java + - src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesResponse.java + - src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsRequest.java + - src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsResponse.java + - src/main/java/com/airbyte/api/models/operations/CreateWorkspaceResponse.java + - src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceRequest.java + - src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceResponse.java + - src/main/java/com/airbyte/api/models/operations/GetWorkspaceRequest.java + - src/main/java/com/airbyte/api/models/operations/GetWorkspaceResponse.java + - src/main/java/com/airbyte/api/models/operations/ListWorkspacesRequest.java + - src/main/java/com/airbyte/api/models/operations/ListWorkspacesResponse.java + - src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceRequest.java + - src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceResponse.java + - src/main/java/com/airbyte/api/models/shared/ConnectionResponse.java + - src/main/java/com/airbyte/api/models/shared/ConnectionStatusEnum.java + - src/main/java/com/airbyte/api/models/shared/ConnectionScheduleResponse.java + - src/main/java/com/airbyte/api/models/shared/ScheduleTypeWithBasicEnum.java + - src/main/java/com/airbyte/api/models/shared/NonBreakingSchemaUpdatesBehaviorEnum.java + - src/main/java/com/airbyte/api/models/shared/NamespaceDefinitionEnum.java + - src/main/java/com/airbyte/api/models/shared/GeographyEnum.java + - src/main/java/com/airbyte/api/models/shared/StreamConfigurations.java + - src/main/java/com/airbyte/api/models/shared/StreamConfiguration.java + - src/main/java/com/airbyte/api/models/shared/ConnectionSyncModeEnum.java + - src/main/java/com/airbyte/api/models/shared/ConnectionCreateRequest.java + - src/main/java/com/airbyte/api/models/shared/ConnectionSchedule.java + - src/main/java/com/airbyte/api/models/shared/ScheduleTypeEnum.java + - src/main/java/com/airbyte/api/models/shared/ConnectionsResponse.java + - src/main/java/com/airbyte/api/models/shared/ConnectionPatchRequest.java + - src/main/java/com/airbyte/api/models/shared/NonBreakingSchemaUpdatesBehaviorEnumNoDefault.java + - src/main/java/com/airbyte/api/models/shared/NamespaceDefinitionEnumNoDefault.java + - src/main/java/com/airbyte/api/models/shared/GeographyEnumNoDefault.java + - src/main/java/com/airbyte/api/models/shared/DestinationResponse.java + - src/main/java/com/airbyte/api/models/shared/DestinationConfiguration.java + - src/main/java/com/airbyte/api/models/shared/AuthenticationViaGoogleOAuth.java + - src/main/java/com/airbyte/api/models/shared/DestinationGoogleSheetsGoogleSheets.java + - src/main/java/com/airbyte/api/models/shared/DestinationGoogleSheets.java + - src/main/java/com/airbyte/api/models/shared/Astra.java + - src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasEmbeddingEmbeddingMode.java + - src/main/java/com/airbyte/api/models/shared/OpenAICompatible.java + - src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasEmbeddingMode.java + - src/main/java/com/airbyte/api/models/shared/AzureOpenAI.java + - src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasMode.java + - src/main/java/com/airbyte/api/models/shared/Fake.java + - src/main/java/com/airbyte/api/models/shared/DestinationAstraMode.java + - src/main/java/com/airbyte/api/models/shared/Cohere.java + - src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasEmbeddingEmbedding1Mode.java + - src/main/java/com/airbyte/api/models/shared/OpenAI.java + - src/main/java/com/airbyte/api/models/shared/Embedding.java + - src/main/java/com/airbyte/api/models/shared/Indexing.java + - src/main/java/com/airbyte/api/models/shared/FieldNameMappingConfigModel.java + - src/main/java/com/airbyte/api/models/shared/DestinationAstraLanguage.java + - src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasProcessingTextSplitterTextSplitterMode.java + - src/main/java/com/airbyte/api/models/shared/ByProgrammingLanguage.java + - src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasProcessingTextSplitterMode.java + - src/main/java/com/airbyte/api/models/shared/ByMarkdownHeader.java + - src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasProcessingMode.java + - src/main/java/com/airbyte/api/models/shared/BySeparator.java + - src/main/java/com/airbyte/api/models/shared/TextSplitter.java + - src/main/java/com/airbyte/api/models/shared/ProcessingConfigModel.java + - src/main/java/com/airbyte/api/models/shared/DestinationAstra.java + - src/main/java/com/airbyte/api/models/shared/DestinationAwsDatalakeCredentialsTitle.java + - src/main/java/com/airbyte/api/models/shared/IAMUser.java + - src/main/java/com/airbyte/api/models/shared/CredentialsTitle.java + - src/main/java/com/airbyte/api/models/shared/IAMRole.java + - src/main/java/com/airbyte/api/models/shared/AuthenticationMode.java + - src/main/java/com/airbyte/api/models/shared/AwsDatalake.java + - src/main/java/com/airbyte/api/models/shared/DestinationAwsDatalakeCompressionCodecOptional.java + - src/main/java/com/airbyte/api/models/shared/DestinationAwsDatalakeFormatTypeWildcard.java + - src/main/java/com/airbyte/api/models/shared/ParquetColumnarStorage.java + - src/main/java/com/airbyte/api/models/shared/CompressionCodecOptional.java + - src/main/java/com/airbyte/api/models/shared/FormatTypeWildcard.java + - src/main/java/com/airbyte/api/models/shared/JSONLinesNewlineDelimitedJSON.java + - src/main/java/com/airbyte/api/models/shared/OutputFormatWildcard.java + - src/main/java/com/airbyte/api/models/shared/ChooseHowToPartitionData.java + - src/main/java/com/airbyte/api/models/shared/S3BucketRegion.java + - src/main/java/com/airbyte/api/models/shared/DestinationAwsDatalake.java + - src/main/java/com/airbyte/api/models/shared/AzureBlobStorage.java + - src/main/java/com/airbyte/api/models/shared/DestinationAzureBlobStorageFormatType.java + - src/main/java/com/airbyte/api/models/shared/DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON.java + - src/main/java/com/airbyte/api/models/shared/NormalizationFlattening.java + - src/main/java/com/airbyte/api/models/shared/FormatType.java + - src/main/java/com/airbyte/api/models/shared/CSVCommaSeparatedValues.java + - src/main/java/com/airbyte/api/models/shared/OutputFormat.java + - src/main/java/com/airbyte/api/models/shared/DestinationAzureBlobStorage.java + - src/main/java/com/airbyte/api/models/shared/DatasetLocation.java + - src/main/java/com/airbyte/api/models/shared/Bigquery.java + - src/main/java/com/airbyte/api/models/shared/DestinationBigqueryMethod.java + - src/main/java/com/airbyte/api/models/shared/StandardInserts.java + - src/main/java/com/airbyte/api/models/shared/DestinationBigqueryCredentialType.java + - src/main/java/com/airbyte/api/models/shared/DestinationBigqueryHMACKey.java + - src/main/java/com/airbyte/api/models/shared/Credential.java + - src/main/java/com/airbyte/api/models/shared/GCSTmpFilesAfterwardProcessing.java + - src/main/java/com/airbyte/api/models/shared/Method.java + - src/main/java/com/airbyte/api/models/shared/GCSStaging.java + - src/main/java/com/airbyte/api/models/shared/LoadingMethod.java + - src/main/java/com/airbyte/api/models/shared/TransformationQueryRunType.java + - src/main/java/com/airbyte/api/models/shared/DestinationBigquery.java + - src/main/java/com/airbyte/api/models/shared/Clickhouse.java + - src/main/java/com/airbyte/api/models/shared/DestinationClickhouseSchemasTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/PasswordAuthentication.java + - src/main/java/com/airbyte/api/models/shared/DestinationClickhouseTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SSHKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/TunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/NoTunnel.java + - src/main/java/com/airbyte/api/models/shared/SSHTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationClickhouse.java + - src/main/java/com/airbyte/api/models/shared/Convex.java + - src/main/java/com/airbyte/api/models/shared/DestinationConvex.java + - src/main/java/com/airbyte/api/models/shared/DestinationDatabricksSchemasDataSourceType.java + - src/main/java/com/airbyte/api/models/shared/DestinationDatabricksAzureBlobStorage.java + - src/main/java/com/airbyte/api/models/shared/DestinationDatabricksDataSourceType.java + - src/main/java/com/airbyte/api/models/shared/DestinationDatabricksS3BucketRegion.java + - src/main/java/com/airbyte/api/models/shared/AmazonS3.java + - src/main/java/com/airbyte/api/models/shared/DataSourceType.java + - src/main/java/com/airbyte/api/models/shared/RecommendedManagedTables.java + - src/main/java/com/airbyte/api/models/shared/DataSource.java + - src/main/java/com/airbyte/api/models/shared/Databricks.java + - src/main/java/com/airbyte/api/models/shared/DestinationDatabricks.java + - src/main/java/com/airbyte/api/models/shared/DevNull.java + - src/main/java/com/airbyte/api/models/shared/TestDestinationType.java + - src/main/java/com/airbyte/api/models/shared/Silent.java + - src/main/java/com/airbyte/api/models/shared/TestDestination.java + - src/main/java/com/airbyte/api/models/shared/DestinationDevNull.java + - src/main/java/com/airbyte/api/models/shared/Duckdb.java + - src/main/java/com/airbyte/api/models/shared/DestinationDuckdb.java + - src/main/java/com/airbyte/api/models/shared/Dynamodb.java + - src/main/java/com/airbyte/api/models/shared/DynamoDBRegion.java + - src/main/java/com/airbyte/api/models/shared/DestinationDynamodb.java + - src/main/java/com/airbyte/api/models/shared/DestinationElasticsearchSchemasMethod.java + - src/main/java/com/airbyte/api/models/shared/UsernamePassword.java + - src/main/java/com/airbyte/api/models/shared/DestinationElasticsearchMethod.java + - src/main/java/com/airbyte/api/models/shared/ApiKeySecret.java + - src/main/java/com/airbyte/api/models/shared/AuthenticationMethod.java + - src/main/java/com/airbyte/api/models/shared/Elasticsearch.java + - src/main/java/com/airbyte/api/models/shared/DestinationElasticsearch.java + - src/main/java/com/airbyte/api/models/shared/Firestore.java + - src/main/java/com/airbyte/api/models/shared/DestinationFirestore.java + - src/main/java/com/airbyte/api/models/shared/CredentialType.java + - src/main/java/com/airbyte/api/models/shared/HMACKey.java + - src/main/java/com/airbyte/api/models/shared/Authentication.java + - src/main/java/com/airbyte/api/models/shared/Gcs.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsCompressionCodec.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatOutputFormatFormatType.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsParquetColumnarStorage.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatCompressionType.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsGZIP.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasCompressionType.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasNoCompression.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsCompression.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatFormatType.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsJSONLinesNewlineDelimitedJSON.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsCompressionType.java + - src/main/java/com/airbyte/api/models/shared/Gzip.java + - src/main/java/com/airbyte/api/models/shared/CompressionType.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsNoCompression.java + - src/main/java/com/airbyte/api/models/shared/Compression.java + - src/main/java/com/airbyte/api/models/shared/Normalization.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatType.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsCSVCommaSeparatedValues.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatOutputFormat1Codec.java + - src/main/java/com/airbyte/api/models/shared/Snappy.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatOutputFormatCodec.java + - src/main/java/com/airbyte/api/models/shared/Zstandard.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatCodec.java + - src/main/java/com/airbyte/api/models/shared/Xz.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasCodec.java + - src/main/java/com/airbyte/api/models/shared/Bzip2.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsCodec.java + - src/main/java/com/airbyte/api/models/shared/Deflate.java + - src/main/java/com/airbyte/api/models/shared/Codec.java + - src/main/java/com/airbyte/api/models/shared/NoCompression.java + - src/main/java/com/airbyte/api/models/shared/CompressionCodec.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsFormatType.java + - src/main/java/com/airbyte/api/models/shared/AvroApacheAvro.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcsOutputFormat.java + - src/main/java/com/airbyte/api/models/shared/GCSBucketRegion.java + - src/main/java/com/airbyte/api/models/shared/DestinationGcs.java + - src/main/java/com/airbyte/api/models/shared/Langchain.java + - src/main/java/com/airbyte/api/models/shared/DestinationLangchainSchemasMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationLangchainFake.java + - src/main/java/com/airbyte/api/models/shared/DestinationLangchainMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationLangchainOpenAI.java + - src/main/java/com/airbyte/api/models/shared/DestinationLangchainEmbedding.java + - src/main/java/com/airbyte/api/models/shared/DestinationLangchainSchemasIndexingIndexing3Mode.java + - src/main/java/com/airbyte/api/models/shared/ChromaLocalPersistance.java + - src/main/java/com/airbyte/api/models/shared/DestinationLangchainSchemasIndexingIndexingMode.java + - src/main/java/com/airbyte/api/models/shared/DocArrayHnswSearch.java + - src/main/java/com/airbyte/api/models/shared/DestinationLangchainSchemasIndexingMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationLangchainPinecone.java + - src/main/java/com/airbyte/api/models/shared/DestinationLangchainIndexing.java + - src/main/java/com/airbyte/api/models/shared/DestinationLangchainProcessingConfigModel.java + - src/main/java/com/airbyte/api/models/shared/DestinationLangchain.java + - src/main/java/com/airbyte/api/models/shared/Milvus.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasEmbeddingEmbedding5Mode.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusOpenAICompatible.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasEmbeddingEmbeddingMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusAzureOpenAI.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasEmbeddingMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusFake.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusCohere.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusOpenAI.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusEmbedding.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasIndexingAuthAuthenticationMode.java + - src/main/java/com/airbyte/api/models/shared/NoAuth.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasIndexingAuthMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusUsernamePassword.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasIndexingMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusAPIToken.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusAuthentication.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusIndexing.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusFieldNameMappingConfigModel.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusLanguage.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasProcessingTextSplitterTextSplitterMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusByProgrammingLanguage.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasProcessingTextSplitterMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusByMarkdownHeader.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasProcessingMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusBySeparator.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusTextSplitter.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvusProcessingConfigModel.java + - src/main/java/com/airbyte/api/models/shared/DestinationMilvus.java + - src/main/java/com/airbyte/api/models/shared/DestinationMongodbAuthorization.java + - src/main/java/com/airbyte/api/models/shared/LoginPassword.java + - src/main/java/com/airbyte/api/models/shared/DestinationMongodbSchemasAuthorization.java + - src/main/java/com/airbyte/api/models/shared/None.java + - src/main/java/com/airbyte/api/models/shared/AuthorizationType.java + - src/main/java/com/airbyte/api/models/shared/Mongodb.java + - src/main/java/com/airbyte/api/models/shared/DestinationMongodbSchemasInstance.java + - src/main/java/com/airbyte/api/models/shared/MongoDBAtlas.java + - src/main/java/com/airbyte/api/models/shared/DestinationMongodbInstance.java + - src/main/java/com/airbyte/api/models/shared/ReplicaSet.java + - src/main/java/com/airbyte/api/models/shared/Instance.java + - src/main/java/com/airbyte/api/models/shared/StandaloneMongoDbInstance.java + - src/main/java/com/airbyte/api/models/shared/MongoDbInstanceType.java + - src/main/java/com/airbyte/api/models/shared/DestinationMongodbSchemasTunnelMethodTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationMongodbPasswordAuthentication.java + - src/main/java/com/airbyte/api/models/shared/DestinationMongodbSchemasTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationMongodbSSHKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/DestinationMongodbTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationMongodbNoTunnel.java + - src/main/java/com/airbyte/api/models/shared/DestinationMongodbSSHTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationMongodb.java + - src/main/java/com/airbyte/api/models/shared/Mssql.java + - src/main/java/com/airbyte/api/models/shared/DestinationMssqlSchemasSslMethod.java + - src/main/java/com/airbyte/api/models/shared/EncryptedVerifyCertificate.java + - src/main/java/com/airbyte/api/models/shared/DestinationMssqlSslMethod.java + - src/main/java/com/airbyte/api/models/shared/EncryptedTrustServerCertificate.java + - src/main/java/com/airbyte/api/models/shared/SSLMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationMssqlSchemasTunnelMethodTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationMssqlPasswordAuthentication.java + - src/main/java/com/airbyte/api/models/shared/DestinationMssqlSchemasTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationMssqlSSHKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/DestinationMssqlTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationMssqlNoTunnel.java + - src/main/java/com/airbyte/api/models/shared/DestinationMssqlSSHTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationMssql.java + - src/main/java/com/airbyte/api/models/shared/Mysql.java + - src/main/java/com/airbyte/api/models/shared/DestinationMysqlSchemasTunnelMethodTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationMysqlPasswordAuthentication.java + - src/main/java/com/airbyte/api/models/shared/DestinationMysqlSchemasTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationMysqlSSHKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/DestinationMysqlTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationMysqlNoTunnel.java + - src/main/java/com/airbyte/api/models/shared/DestinationMysqlSSHTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationMysql.java + - src/main/java/com/airbyte/api/models/shared/Oracle.java + - src/main/java/com/airbyte/api/models/shared/DestinationOracleSchemasTunnelMethodTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationOraclePasswordAuthentication.java + - src/main/java/com/airbyte/api/models/shared/DestinationOracleSchemasTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationOracleSSHKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/DestinationOracleTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationOracleNoTunnel.java + - src/main/java/com/airbyte/api/models/shared/DestinationOracleSSHTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationOracle.java + - src/main/java/com/airbyte/api/models/shared/Pinecone.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasEmbeddingEmbedding5Mode.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeOpenAICompatible.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasEmbeddingEmbeddingMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeAzureOpenAI.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasEmbeddingMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeFake.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeCohere.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeOpenAI.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeEmbedding.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeIndexing.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeFieldNameMappingConfigModel.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeLanguage.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasProcessingTextSplitterTextSplitterMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeByProgrammingLanguage.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasProcessingTextSplitterMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeByMarkdownHeader.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasProcessingMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeBySeparator.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeTextSplitter.java + - src/main/java/com/airbyte/api/models/shared/DestinationPineconeProcessingConfigModel.java + - src/main/java/com/airbyte/api/models/shared/DestinationPinecone.java + - src/main/java/com/airbyte/api/models/shared/Postgres.java + - src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasSSLModeSSLModes6Mode.java + - src/main/java/com/airbyte/api/models/shared/VerifyFull.java + - src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasSSLModeSSLModesMode.java + - src/main/java/com/airbyte/api/models/shared/VerifyCa.java + - src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasSslModeMode.java + - src/main/java/com/airbyte/api/models/shared/Require.java + - src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasMode.java + - src/main/java/com/airbyte/api/models/shared/Prefer.java + - src/main/java/com/airbyte/api/models/shared/DestinationPostgresMode.java + - src/main/java/com/airbyte/api/models/shared/Allow.java + - src/main/java/com/airbyte/api/models/shared/Mode.java + - src/main/java/com/airbyte/api/models/shared/Disable.java + - src/main/java/com/airbyte/api/models/shared/SSLModes.java + - src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasTunnelMethodTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationPostgresPasswordAuthentication.java + - src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationPostgresSSHKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/DestinationPostgresTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationPostgresNoTunnel.java + - src/main/java/com/airbyte/api/models/shared/DestinationPostgresSSHTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationPostgres.java + - src/main/java/com/airbyte/api/models/shared/Pubsub.java + - src/main/java/com/airbyte/api/models/shared/DestinationPubsub.java + - src/main/java/com/airbyte/api/models/shared/Qdrant.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasEmbeddingEmbedding5Mode.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantOpenAICompatible.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasEmbeddingEmbeddingMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantAzureOpenAI.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasEmbeddingMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantFake.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantCohere.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantOpenAI.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantEmbedding.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasIndexingAuthMethodMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantNoAuth.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasIndexingMode.java + - src/main/java/com/airbyte/api/models/shared/ApiKeyAuth.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantAuthenticationMethod.java + - src/main/java/com/airbyte/api/models/shared/DistanceMetric.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantIndexing.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantFieldNameMappingConfigModel.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantLanguage.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasProcessingTextSplitterTextSplitterMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantByProgrammingLanguage.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasProcessingTextSplitterMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantByMarkdownHeader.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasProcessingMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantBySeparator.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantTextSplitter.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrantProcessingConfigModel.java + - src/main/java/com/airbyte/api/models/shared/DestinationQdrant.java + - src/main/java/com/airbyte/api/models/shared/CacheType.java + - src/main/java/com/airbyte/api/models/shared/Redis.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedisSchemasMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedisVerifyFull.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedisMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedisDisable.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedisSSLModes.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedisSchemasTunnelMethodTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedisPasswordAuthentication.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedisSchemasTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedisSSHKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedisTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedisNoTunnel.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedisSSHTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedis.java + - src/main/java/com/airbyte/api/models/shared/Redshift.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSchemasTunnelMethodTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedshiftPasswordAuthentication.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSchemasTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSSHKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedshiftTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedshiftNoTunnel.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSSHTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSchemasMethod.java + - src/main/java/com/airbyte/api/models/shared/Standard.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedshiftEncryptionType.java + - src/main/java/com/airbyte/api/models/shared/AESCBCEnvelopeEncryption.java + - src/main/java/com/airbyte/api/models/shared/EncryptionType.java + - src/main/java/com/airbyte/api/models/shared/NoEncryption.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedshiftEncryption.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedshiftMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedshiftS3BucketRegion.java + - src/main/java/com/airbyte/api/models/shared/AWSS3Staging.java + - src/main/java/com/airbyte/api/models/shared/UploadingMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationRedshift.java + - src/main/java/com/airbyte/api/models/shared/S3.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasCompressionCodec.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormatFormatType.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3ParquetColumnarStorage.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormat3CompressionCodecCodec.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3Snappy.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormat3Codec.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3Zstandard.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormatCodec.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3Xz.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatCodec.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3Bzip2.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasCodec.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3Deflate.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3Codec.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatNoCompression.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3CompressionCodec.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatFormatType.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3AvroApacheAvro.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormatCompressionType.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasGZIP.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatCompressionType.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasNoCompression.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasCompression.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFlattening.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatType.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3JSONLinesNewlineDelimitedJSON.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasCompressionType.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3GZIP.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3CompressionType.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3NoCompression.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3Compression.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3Flattening.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3FormatType.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3CSVCommaSeparatedValues.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3OutputFormat.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3S3BucketRegion.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3.java + - src/main/java/com/airbyte/api/models/shared/S3Glue.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3GlueSchemasCompressionType.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3GlueGZIP.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3GlueCompressionType.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3GlueNoCompression.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3GlueCompression.java + - src/main/java/com/airbyte/api/models/shared/Flattening.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3GlueFormatType.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3GlueJSONLinesNewlineDelimitedJSON.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3GlueOutputFormat.java + - src/main/java/com/airbyte/api/models/shared/SerializationLibrary.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3GlueS3BucketRegion.java + - src/main/java/com/airbyte/api/models/shared/DestinationS3Glue.java + - src/main/java/com/airbyte/api/models/shared/SftpJson.java + - src/main/java/com/airbyte/api/models/shared/DestinationSftpJson.java + - src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeOAuth20.java + - src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeAuthType.java + - src/main/java/com/airbyte/api/models/shared/UsernameAndPassword.java + - src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeSchemasCredentialsAuthType.java + - src/main/java/com/airbyte/api/models/shared/KeyPairAuthentication.java + - src/main/java/com/airbyte/api/models/shared/AuthorizationMethod.java + - src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeSnowflake.java + - src/main/java/com/airbyte/api/models/shared/DestinationSnowflake.java + - src/main/java/com/airbyte/api/models/shared/Teradata.java + - src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasSSLModeSSLModes6Mode.java + - src/main/java/com/airbyte/api/models/shared/DestinationTeradataVerifyFull.java + - src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasSSLModeSSLModes5Mode.java + - src/main/java/com/airbyte/api/models/shared/DestinationTeradataVerifyCa.java + - src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasSSLModeSSLModesMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationTeradataRequire.java + - src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasSslModeMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationTeradataPrefer.java + - src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationTeradataAllow.java + - src/main/java/com/airbyte/api/models/shared/DestinationTeradataMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationTeradataDisable.java + - src/main/java/com/airbyte/api/models/shared/DestinationTeradataSSLModes.java + - src/main/java/com/airbyte/api/models/shared/DestinationTeradata.java + - src/main/java/com/airbyte/api/models/shared/Typesense.java + - src/main/java/com/airbyte/api/models/shared/DestinationTypesense.java + - src/main/java/com/airbyte/api/models/shared/Vectara.java + - src/main/java/com/airbyte/api/models/shared/OAuth20Credentials.java + - src/main/java/com/airbyte/api/models/shared/DestinationVectara.java + - src/main/java/com/airbyte/api/models/shared/Weaviate.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding7Mode.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateOpenAICompatible.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding6Mode.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateFake.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding5Mode.java + - src/main/java/com/airbyte/api/models/shared/FromField.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingEmbeddingMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateCohere.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateOpenAI.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateAzureOpenAI.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateMode.java + - src/main/java/com/airbyte/api/models/shared/NoExternalEmbedding.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateEmbedding.java + - src/main/java/com/airbyte/api/models/shared/Header.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasIndexingAuthAuthenticationMode.java + - src/main/java/com/airbyte/api/models/shared/NoAuthentication.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasIndexingAuthMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateUsernamePassword.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasIndexingMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateAPIToken.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateAuthentication.java + - src/main/java/com/airbyte/api/models/shared/DefaultVectorizer.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateIndexing.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateFieldNameMappingConfigModel.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateLanguage.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasProcessingTextSplitterTextSplitterMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateByProgrammingLanguage.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasProcessingTextSplitterMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateByMarkdownHeader.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasProcessingMode.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateBySeparator.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateTextSplitter.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviateProcessingConfigModel.java + - src/main/java/com/airbyte/api/models/shared/DestinationWeaviate.java + - src/main/java/com/airbyte/api/models/shared/DestinationCreateRequest.java + - src/main/java/com/airbyte/api/models/shared/DestinationsResponse.java + - src/main/java/com/airbyte/api/models/shared/DestinationPatchRequest.java + - src/main/java/com/airbyte/api/models/shared/DestinationPutRequest.java + - src/main/java/com/airbyte/api/models/shared/JobResponse.java + - src/main/java/com/airbyte/api/models/shared/JobStatusEnum.java + - src/main/java/com/airbyte/api/models/shared/JobTypeEnum.java + - src/main/java/com/airbyte/api/models/shared/JobCreateRequest.java + - src/main/java/com/airbyte/api/models/shared/JobsResponse.java + - src/main/java/com/airbyte/api/models/shared/SourceResponse.java + - src/main/java/com/airbyte/api/models/shared/SourceConfiguration.java + - src/main/java/com/airbyte/api/models/shared/Aha.java + - src/main/java/com/airbyte/api/models/shared/SourceAha.java + - src/main/java/com/airbyte/api/models/shared/Aircall.java + - src/main/java/com/airbyte/api/models/shared/SourceAircall.java + - src/main/java/com/airbyte/api/models/shared/SourceAirtableAuthMethod.java + - src/main/java/com/airbyte/api/models/shared/PersonalAccessToken.java + - src/main/java/com/airbyte/api/models/shared/SourceAirtableSchemasAuthMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceAirtableOAuth20.java + - src/main/java/com/airbyte/api/models/shared/SourceAirtableAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceAirtableAirtable.java + - src/main/java/com/airbyte/api/models/shared/SourceAirtable.java + - src/main/java/com/airbyte/api/models/shared/SourceAmazonAdsAuthType.java + - src/main/java/com/airbyte/api/models/shared/Region.java + - src/main/java/com/airbyte/api/models/shared/ReportRecordTypes.java + - src/main/java/com/airbyte/api/models/shared/SourceAmazonAdsAmazonAds.java + - src/main/java/com/airbyte/api/models/shared/StateFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceAmazonAds.java + - src/main/java/com/airbyte/api/models/shared/AWSSellerPartnerAccountType.java + - src/main/java/com/airbyte/api/models/shared/SourceAmazonSellerPartnerAuthType.java + - src/main/java/com/airbyte/api/models/shared/AWSEnvironment.java + - src/main/java/com/airbyte/api/models/shared/AWSRegion.java + - src/main/java/com/airbyte/api/models/shared/OptionsList.java + - src/main/java/com/airbyte/api/models/shared/StreamName.java + - src/main/java/com/airbyte/api/models/shared/ReportOptions.java + - src/main/java/com/airbyte/api/models/shared/SourceAmazonSellerPartnerAmazonSellerPartner.java + - src/main/java/com/airbyte/api/models/shared/SourceAmazonSellerPartner.java + - src/main/java/com/airbyte/api/models/shared/SourceAmazonSqsAWSRegion.java + - src/main/java/com/airbyte/api/models/shared/AmazonSqs.java + - src/main/java/com/airbyte/api/models/shared/SourceAmazonSqs.java + - src/main/java/com/airbyte/api/models/shared/DataRegion.java + - src/main/java/com/airbyte/api/models/shared/Amplitude.java + - src/main/java/com/airbyte/api/models/shared/SourceAmplitude.java + - src/main/java/com/airbyte/api/models/shared/ApifyDataset.java + - src/main/java/com/airbyte/api/models/shared/SourceApifyDataset.java + - src/main/java/com/airbyte/api/models/shared/Appfollow.java + - src/main/java/com/airbyte/api/models/shared/SourceAppfollow.java + - src/main/java/com/airbyte/api/models/shared/SourceAsanaSchemasCredentialsTitle.java + - src/main/java/com/airbyte/api/models/shared/AuthenticateWithPersonalAccessToken.java + - src/main/java/com/airbyte/api/models/shared/SourceAsanaCredentialsTitle.java + - src/main/java/com/airbyte/api/models/shared/AuthenticateViaAsanaOauth.java + - src/main/java/com/airbyte/api/models/shared/AuthenticationMechanism.java + - src/main/java/com/airbyte/api/models/shared/SourceAsanaAsana.java + - src/main/java/com/airbyte/api/models/shared/SourceAsana.java + - src/main/java/com/airbyte/api/models/shared/SourceAuth0SchemasCredentialsAuthenticationMethod.java + - src/main/java/com/airbyte/api/models/shared/OAuth2AccessToken.java + - src/main/java/com/airbyte/api/models/shared/SourceAuth0SchemasAuthenticationMethod.java + - src/main/java/com/airbyte/api/models/shared/OAuth2ConfidentialApplication.java + - src/main/java/com/airbyte/api/models/shared/SourceAuth0AuthenticationMethod.java + - src/main/java/com/airbyte/api/models/shared/Auth0.java + - src/main/java/com/airbyte/api/models/shared/SourceAuth0.java + - src/main/java/com/airbyte/api/models/shared/AwsCloudtrail.java + - src/main/java/com/airbyte/api/models/shared/SourceAwsCloudtrail.java + - src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageAzureBlobStorage.java + - src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasStreamsFormatFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageMode.java + - src/main/java/com/airbyte/api/models/shared/Local.java + - src/main/java/com/airbyte/api/models/shared/Processing.java + - src/main/java/com/airbyte/api/models/shared/ParsingStrategy.java + - src/main/java/com/airbyte/api/models/shared/DocumentFileTypeFormatExperimental.java + - src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasStreamsFiletype.java + - src/main/java/com/airbyte/api/models/shared/ParquetFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasFiletype.java + - src/main/java/com/airbyte/api/models/shared/JsonlFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasHeaderDefinitionType.java + - src/main/java/com/airbyte/api/models/shared/UserProvided.java + - src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageHeaderDefinitionType.java + - src/main/java/com/airbyte/api/models/shared/Autogenerated.java + - src/main/java/com/airbyte/api/models/shared/HeaderDefinitionType.java + - src/main/java/com/airbyte/api/models/shared/FromCSV.java + - src/main/java/com/airbyte/api/models/shared/CSVHeaderDefinition.java + - src/main/java/com/airbyte/api/models/shared/InferenceType.java + - src/main/java/com/airbyte/api/models/shared/CSVFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasStreamsFormatFormatFiletype.java + - src/main/java/com/airbyte/api/models/shared/AvroFormat.java + - src/main/java/com/airbyte/api/models/shared/Format.java + - src/main/java/com/airbyte/api/models/shared/ValidationPolicy.java + - src/main/java/com/airbyte/api/models/shared/FileBasedStreamConfig.java + - src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorage.java + - src/main/java/com/airbyte/api/models/shared/AzureTable.java + - src/main/java/com/airbyte/api/models/shared/SourceAzureTable.java + - src/main/java/com/airbyte/api/models/shared/BambooHr.java + - src/main/java/com/airbyte/api/models/shared/SourceBambooHr.java + - src/main/java/com/airbyte/api/models/shared/SourceBigqueryBigquery.java + - src/main/java/com/airbyte/api/models/shared/SourceBigquery.java + - src/main/java/com/airbyte/api/models/shared/Operator.java + - src/main/java/com/airbyte/api/models/shared/AccountNames.java + - src/main/java/com/airbyte/api/models/shared/AuthMethod.java + - src/main/java/com/airbyte/api/models/shared/ReportingDataObject.java + - src/main/java/com/airbyte/api/models/shared/CustomReportConfig.java + - src/main/java/com/airbyte/api/models/shared/SourceBingAdsBingAds.java + - src/main/java/com/airbyte/api/models/shared/SourceBingAds.java + - src/main/java/com/airbyte/api/models/shared/SourceBraintreeEnvironment.java + - src/main/java/com/airbyte/api/models/shared/Braintree.java + - src/main/java/com/airbyte/api/models/shared/SourceBraintree.java + - src/main/java/com/airbyte/api/models/shared/Braze.java + - src/main/java/com/airbyte/api/models/shared/SourceBraze.java + - src/main/java/com/airbyte/api/models/shared/SourceCartSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/SingleStoreAccessToken.java + - src/main/java/com/airbyte/api/models/shared/SourceCartAuthType.java + - src/main/java/com/airbyte/api/models/shared/CentralAPIRouter.java + - src/main/java/com/airbyte/api/models/shared/SourceCartAuthorizationMethod.java + - src/main/java/com/airbyte/api/models/shared/Cart.java + - src/main/java/com/airbyte/api/models/shared/SourceCart.java + - src/main/java/com/airbyte/api/models/shared/ProductCatalog.java + - src/main/java/com/airbyte/api/models/shared/Chargebee.java + - src/main/java/com/airbyte/api/models/shared/SourceChargebee.java + - src/main/java/com/airbyte/api/models/shared/Chartmogul.java + - src/main/java/com/airbyte/api/models/shared/SourceChartmogul.java + - src/main/java/com/airbyte/api/models/shared/SourceClickhouseClickhouse.java + - src/main/java/com/airbyte/api/models/shared/SourceClickhouseSchemasTunnelMethodTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceClickhousePasswordAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceClickhouseSchemasTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceClickhouseSSHKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceClickhouseTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceClickhouseNoTunnel.java + - src/main/java/com/airbyte/api/models/shared/SourceClickhouseSSHTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceClickhouse.java + - src/main/java/com/airbyte/api/models/shared/ClickupApi.java + - src/main/java/com/airbyte/api/models/shared/SourceClickupApi.java + - src/main/java/com/airbyte/api/models/shared/Clockify.java + - src/main/java/com/airbyte/api/models/shared/SourceClockify.java + - src/main/java/com/airbyte/api/models/shared/CloseCom.java + - src/main/java/com/airbyte/api/models/shared/SourceCloseCom.java + - src/main/java/com/airbyte/api/models/shared/Coda.java + - src/main/java/com/airbyte/api/models/shared/SourceCoda.java + - src/main/java/com/airbyte/api/models/shared/Environment.java + - src/main/java/com/airbyte/api/models/shared/CoinApi.java + - src/main/java/com/airbyte/api/models/shared/SourceCoinApi.java + - src/main/java/com/airbyte/api/models/shared/DataType.java + - src/main/java/com/airbyte/api/models/shared/Coinmarketcap.java + - src/main/java/com/airbyte/api/models/shared/SourceCoinmarketcap.java + - src/main/java/com/airbyte/api/models/shared/Configcat.java + - src/main/java/com/airbyte/api/models/shared/SourceConfigcat.java + - src/main/java/com/airbyte/api/models/shared/Confluence.java + - src/main/java/com/airbyte/api/models/shared/SourceConfluence.java + - src/main/java/com/airbyte/api/models/shared/SourceConvexConvex.java + - src/main/java/com/airbyte/api/models/shared/SourceConvex.java + - src/main/java/com/airbyte/api/models/shared/Datascope.java + - src/main/java/com/airbyte/api/models/shared/SourceDatascope.java + - src/main/java/com/airbyte/api/models/shared/Delighted.java + - src/main/java/com/airbyte/api/models/shared/SourceDelighted.java + - src/main/java/com/airbyte/api/models/shared/Dixa.java + - src/main/java/com/airbyte/api/models/shared/SourceDixa.java + - src/main/java/com/airbyte/api/models/shared/Dockerhub.java + - src/main/java/com/airbyte/api/models/shared/SourceDockerhub.java + - src/main/java/com/airbyte/api/models/shared/Dremio.java + - src/main/java/com/airbyte/api/models/shared/SourceDremio.java + - src/main/java/com/airbyte/api/models/shared/SourceDynamodbDynamodbRegion.java + - src/main/java/com/airbyte/api/models/shared/SourceDynamodbDynamodb.java + - src/main/java/com/airbyte/api/models/shared/SourceDynamodb.java + - src/main/java/com/airbyte/api/models/shared/SourceE2eTestCloud.java + - src/main/java/com/airbyte/api/models/shared/Emailoctopus.java + - src/main/java/com/airbyte/api/models/shared/SourceEmailoctopus.java + - src/main/java/com/airbyte/api/models/shared/ExchangeRates.java + - src/main/java/com/airbyte/api/models/shared/SourceExchangeRates.java + - src/main/java/com/airbyte/api/models/shared/ValidAdStatuses.java + - src/main/java/com/airbyte/api/models/shared/ValidAdSetStatuses.java + - src/main/java/com/airbyte/api/models/shared/ValidCampaignStatuses.java + - src/main/java/com/airbyte/api/models/shared/ValidActionBreakdowns.java + - src/main/java/com/airbyte/api/models/shared/SourceFacebookMarketingActionReportTime.java + - src/main/java/com/airbyte/api/models/shared/ValidBreakdowns.java + - src/main/java/com/airbyte/api/models/shared/SourceFacebookMarketingValidEnums.java + - src/main/java/com/airbyte/api/models/shared/Level.java + - src/main/java/com/airbyte/api/models/shared/InsightConfig.java + - src/main/java/com/airbyte/api/models/shared/SourceFacebookMarketingFacebookMarketing.java + - src/main/java/com/airbyte/api/models/shared/SourceFacebookMarketing.java + - src/main/java/com/airbyte/api/models/shared/Faker.java + - src/main/java/com/airbyte/api/models/shared/SourceFaker.java + - src/main/java/com/airbyte/api/models/shared/SourceFaunaSchemasDeletionMode.java + - src/main/java/com/airbyte/api/models/shared/Enabled.java + - src/main/java/com/airbyte/api/models/shared/SourceFaunaDeletionMode.java + - src/main/java/com/airbyte/api/models/shared/Disabled.java + - src/main/java/com/airbyte/api/models/shared/DeletionMode.java + - src/main/java/com/airbyte/api/models/shared/Collection.java + - src/main/java/com/airbyte/api/models/shared/Fauna.java + - src/main/java/com/airbyte/api/models/shared/SourceFauna.java + - src/main/java/com/airbyte/api/models/shared/FileFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceFileSchemasProviderStorageProvider7Storage.java + - src/main/java/com/airbyte/api/models/shared/SFTPSecureFileTransferProtocol.java + - src/main/java/com/airbyte/api/models/shared/SourceFileSchemasProviderStorageProvider6Storage.java + - src/main/java/com/airbyte/api/models/shared/SCPSecureCopyProtocol.java + - src/main/java/com/airbyte/api/models/shared/SourceFileSchemasProviderStorageProviderStorage.java + - src/main/java/com/airbyte/api/models/shared/SSHSecureShell.java + - src/main/java/com/airbyte/api/models/shared/SourceFileSchemasProviderStorage.java + - src/main/java/com/airbyte/api/models/shared/AzBlobAzureBlobStorage.java + - src/main/java/com/airbyte/api/models/shared/SourceFileSchemasStorage.java + - src/main/java/com/airbyte/api/models/shared/SourceFileS3AmazonWebServices.java + - src/main/java/com/airbyte/api/models/shared/SourceFileStorage.java + - src/main/java/com/airbyte/api/models/shared/GCSGoogleCloudStorage.java + - src/main/java/com/airbyte/api/models/shared/Storage.java + - src/main/java/com/airbyte/api/models/shared/HTTPSPublicWeb.java + - src/main/java/com/airbyte/api/models/shared/StorageProvider.java + - src/main/java/com/airbyte/api/models/shared/File.java + - src/main/java/com/airbyte/api/models/shared/SourceFile.java + - src/main/java/com/airbyte/api/models/shared/Firebolt.java + - src/main/java/com/airbyte/api/models/shared/SourceFirebolt.java + - src/main/java/com/airbyte/api/models/shared/Freshcaller.java + - src/main/java/com/airbyte/api/models/shared/SourceFreshcaller.java + - src/main/java/com/airbyte/api/models/shared/Freshdesk.java + - src/main/java/com/airbyte/api/models/shared/SourceFreshdesk.java + - src/main/java/com/airbyte/api/models/shared/Freshsales.java + - src/main/java/com/airbyte/api/models/shared/SourceFreshsales.java + - src/main/java/com/airbyte/api/models/shared/GainsightPx.java + - src/main/java/com/airbyte/api/models/shared/SourceGainsightPx.java + - src/main/java/com/airbyte/api/models/shared/SourceGcsGcs.java + - src/main/java/com/airbyte/api/models/shared/SourceGcsFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceGcsSchemasStreamsHeaderDefinitionType.java + - src/main/java/com/airbyte/api/models/shared/SourceGcsUserProvided.java + - src/main/java/com/airbyte/api/models/shared/SourceGcsSchemasHeaderDefinitionType.java + - src/main/java/com/airbyte/api/models/shared/SourceGcsAutogenerated.java + - src/main/java/com/airbyte/api/models/shared/SourceGcsHeaderDefinitionType.java + - src/main/java/com/airbyte/api/models/shared/SourceGcsFromCSV.java + - src/main/java/com/airbyte/api/models/shared/SourceGcsCSVHeaderDefinition.java + - src/main/java/com/airbyte/api/models/shared/SourceGcsInferenceType.java + - src/main/java/com/airbyte/api/models/shared/SourceGcsCSVFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceGcsFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceGcsValidationPolicy.java + - src/main/java/com/airbyte/api/models/shared/SourceGCSStreamConfig.java + - src/main/java/com/airbyte/api/models/shared/SourceGcs.java + - src/main/java/com/airbyte/api/models/shared/Getlago.java + - src/main/java/com/airbyte/api/models/shared/SourceGetlago.java + - src/main/java/com/airbyte/api/models/shared/SourceGithubOptionTitle.java + - src/main/java/com/airbyte/api/models/shared/SourceGithubPersonalAccessToken.java + - src/main/java/com/airbyte/api/models/shared/OptionTitle.java + - src/main/java/com/airbyte/api/models/shared/OAuth.java + - src/main/java/com/airbyte/api/models/shared/SourceGithubAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceGithubGithub.java + - src/main/java/com/airbyte/api/models/shared/SourceGithub.java + - src/main/java/com/airbyte/api/models/shared/SourceGitlabSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/PrivateToken.java + - src/main/java/com/airbyte/api/models/shared/SourceGitlabAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceGitlabOAuth20.java + - src/main/java/com/airbyte/api/models/shared/SourceGitlabAuthorizationMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceGitlabGitlab.java + - src/main/java/com/airbyte/api/models/shared/SourceGitlab.java + - src/main/java/com/airbyte/api/models/shared/Glassfrog.java + - src/main/java/com/airbyte/api/models/shared/SourceGlassfrog.java + - src/main/java/com/airbyte/api/models/shared/Country.java + - src/main/java/com/airbyte/api/models/shared/In.java + - src/main/java/com/airbyte/api/models/shared/Language.java + - src/main/java/com/airbyte/api/models/shared/Nullable.java + - src/main/java/com/airbyte/api/models/shared/SortBy.java + - src/main/java/com/airbyte/api/models/shared/Gnews.java + - src/main/java/com/airbyte/api/models/shared/TopHeadlinesTopic.java + - src/main/java/com/airbyte/api/models/shared/SourceGnews.java + - src/main/java/com/airbyte/api/models/shared/GoogleCredentials.java + - src/main/java/com/airbyte/api/models/shared/CustomQueriesArray.java + - src/main/java/com/airbyte/api/models/shared/CustomerStatus.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAdsGoogleAds.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAds.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/ServiceAccountKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiAuthType.java + - src/main/java/com/airbyte/api/models/shared/AuthenticateViaGoogleOauth.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiCredentials.java + - src/main/java/com/airbyte/api/models/shared/CohortReportSettings.java + - src/main/java/com/airbyte/api/models/shared/DateRange.java + - src/main/java/com/airbyte/api/models/shared/Dimension.java + - src/main/java/com/airbyte/api/models/shared/Cohorts.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiGranularity.java + - src/main/java/com/airbyte/api/models/shared/CohortsRange.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayEnabled.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasEnabled.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiEnabled.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiDisabled.java + - src/main/java/com/airbyte/api/models/shared/CohortReports.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiDoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiInt64Value.java + - src/main/java/com/airbyte/api/models/shared/FromValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasDoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasInt64Value.java + - src/main/java/com/airbyte/api/models/shared/ToValue.java + - src/main/java/com/airbyte/api/models/shared/BetweenFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasValidEnums.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiValueType.java + - src/main/java/com/airbyte/api/models/shared/DoubleValue.java + - src/main/java/com/airbyte/api/models/shared/ValueType.java + - src/main/java/com/airbyte/api/models/shared/Int64Value.java + - src/main/java/com/airbyte/api/models/shared/Value.java + - src/main/java/com/airbyte/api/models/shared/NumericFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiFilterName.java + - src/main/java/com/airbyte/api/models/shared/InListFilter.java + - src/main/java/com/airbyte/api/models/shared/FilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiValidEnums.java + - src/main/java/com/airbyte/api/models/shared/StringFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterType.java + - src/main/java/com/airbyte/api/models/shared/Filter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasFromValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ToValueValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasToValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasBetweenFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasNumericFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasInListFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3FilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasStringFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasExpression.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasFilterType.java + - src/main/java/com/airbyte/api/models/shared/NotExpression.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilterValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ToValueValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2FilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValidEnums.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiExpression.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiFilterType.java + - src/main/java/com/airbyte/api/models/shared/OrGroup.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ToValueValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1FilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter.java + - src/main/java/com/airbyte/api/models/shared/Expression.java + - src/main/java/com/airbyte/api/models/shared/FilterType.java + - src/main/java/com/airbyte/api/models/shared/AndGroup.java + - src/main/java/com/airbyte/api/models/shared/DimensionsFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4ValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiFromValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilter4ValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiToValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiBetweenFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValidEnums.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiNumericFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiInListFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValidEnums.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiStringFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ToValueValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiNotExpression.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ToValueValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2FilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiOrGroup.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1FilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterName.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiAndGroup.java + - src/main/java/com/airbyte/api/models/shared/MetricsFilter.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiCustomReportConfig.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiGoogleAnalyticsDataApi.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApi.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials.java + - src/main/java/com/airbyte/api/models/shared/GoogleAnalyticsV4ServiceAccountOnly.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnly.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDirectorySchemasCredentialsTitle.java + - src/main/java/com/airbyte/api/models/shared/ServiceAccountKey.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDirectoryCredentialsTitle.java + - src/main/java/com/airbyte/api/models/shared/SignInViaGoogleOAuth.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDirectoryGoogleCredentials.java + - src/main/java/com/airbyte/api/models/shared/GoogleDirectory.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDirectory.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveServiceAccountKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAuthenticateViaGoogleOAuth.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveGoogleDrive.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasStreamsFormatFormatFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveMode.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveLocal.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveProcessing.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveParsingStrategy.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveDocumentFileTypeFormatExperimental.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasStreamsFormatFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveParquetFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasStreamsFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveJsonlFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasStreamsHeaderDefinitionType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveUserProvided.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasHeaderDefinitionType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAutogenerated.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveHeaderDefinitionType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveFromCSV.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveCSVHeaderDefinition.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveCSVFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAvroFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveValidationPolicy.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveFileBasedStreamConfig.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleDrive.java + - src/main/java/com/airbyte/api/models/shared/Categories.java + - src/main/java/com/airbyte/api/models/shared/GooglePagespeedInsights.java + - src/main/java/com/airbyte/api/models/shared/Strategies.java + - src/main/java/com/airbyte/api/models/shared/SourceGooglePagespeedInsights.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleServiceAccountKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleOAuth.java + - src/main/java/com/airbyte/api/models/shared/AuthenticationType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleValidEnums.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleCustomReportConfig.java + - src/main/java/com/airbyte/api/models/shared/DataFreshness.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleGoogleSearchConsole.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsole.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsServiceAccountKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsAuthenticateViaGoogleOAuth.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsGoogleSheets.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleSheets.java + - src/main/java/com/airbyte/api/models/shared/GoogleWebfonts.java + - src/main/java/com/airbyte/api/models/shared/SourceGoogleWebfonts.java + - src/main/java/com/airbyte/api/models/shared/Greenhouse.java + - src/main/java/com/airbyte/api/models/shared/SourceGreenhouse.java + - src/main/java/com/airbyte/api/models/shared/Gridly.java + - src/main/java/com/airbyte/api/models/shared/SourceGridly.java + - src/main/java/com/airbyte/api/models/shared/SourceHarvestHarvest.java + - src/main/java/com/airbyte/api/models/shared/SourceHarvest.java + - src/main/java/com/airbyte/api/models/shared/Hubplanner.java + - src/main/java/com/airbyte/api/models/shared/SourceHubplanner.java + - src/main/java/com/airbyte/api/models/shared/SourceHubspotSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/PrivateApp.java + - src/main/java/com/airbyte/api/models/shared/SourceHubspotAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceHubspotOAuth.java + - src/main/java/com/airbyte/api/models/shared/SourceHubspotAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceHubspotHubspot.java + - src/main/java/com/airbyte/api/models/shared/SourceHubspot.java + - src/main/java/com/airbyte/api/models/shared/Insightly.java + - src/main/java/com/airbyte/api/models/shared/SourceInsightly.java + - src/main/java/com/airbyte/api/models/shared/SourceInstagramInstagram.java + - src/main/java/com/airbyte/api/models/shared/SourceInstagram.java + - src/main/java/com/airbyte/api/models/shared/Instatus.java + - src/main/java/com/airbyte/api/models/shared/SourceInstatus.java + - src/main/java/com/airbyte/api/models/shared/SourceIntercomIntercom.java + - src/main/java/com/airbyte/api/models/shared/SourceIntercom.java + - src/main/java/com/airbyte/api/models/shared/Ip2whois.java + - src/main/java/com/airbyte/api/models/shared/SourceIp2whois.java + - src/main/java/com/airbyte/api/models/shared/Iterable.java + - src/main/java/com/airbyte/api/models/shared/SourceIterable.java + - src/main/java/com/airbyte/api/models/shared/IssuesStreamExpandWith.java + - src/main/java/com/airbyte/api/models/shared/Jira.java + - src/main/java/com/airbyte/api/models/shared/SourceJira.java + - src/main/java/com/airbyte/api/models/shared/K6Cloud.java + - src/main/java/com/airbyte/api/models/shared/SourceK6Cloud.java + - src/main/java/com/airbyte/api/models/shared/SourceKlarnaRegion.java + - src/main/java/com/airbyte/api/models/shared/Klarna.java + - src/main/java/com/airbyte/api/models/shared/SourceKlarna.java + - src/main/java/com/airbyte/api/models/shared/Klaviyo.java + - src/main/java/com/airbyte/api/models/shared/SourceKlaviyo.java + - src/main/java/com/airbyte/api/models/shared/Kyve.java + - src/main/java/com/airbyte/api/models/shared/SourceKyve.java + - src/main/java/com/airbyte/api/models/shared/Launchdarkly.java + - src/main/java/com/airbyte/api/models/shared/SourceLaunchdarkly.java + - src/main/java/com/airbyte/api/models/shared/Lemlist.java + - src/main/java/com/airbyte/api/models/shared/SourceLemlist.java + - src/main/java/com/airbyte/api/models/shared/SourceLeverHiringSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/AuthenticateViaLeverApiKey.java + - src/main/java/com/airbyte/api/models/shared/SourceLeverHiringAuthType.java + - src/main/java/com/airbyte/api/models/shared/AuthenticateViaLeverOAuth.java + - src/main/java/com/airbyte/api/models/shared/SourceLeverHiringAuthenticationMechanism.java + - src/main/java/com/airbyte/api/models/shared/SourceLeverHiringEnvironment.java + - src/main/java/com/airbyte/api/models/shared/SourceLeverHiringLeverHiring.java + - src/main/java/com/airbyte/api/models/shared/SourceLeverHiring.java + - src/main/java/com/airbyte/api/models/shared/PivotCategory.java + - src/main/java/com/airbyte/api/models/shared/TimeGranularity.java + - src/main/java/com/airbyte/api/models/shared/AdAnalyticsReportConfiguration.java + - src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsSchemasAuthMethod.java + - src/main/java/com/airbyte/api/models/shared/AccessToken.java + - src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsAuthMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsOAuth20.java + - src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsLinkedinAds.java + - src/main/java/com/airbyte/api/models/shared/SourceLinkedinAds.java + - src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesSchemasAuthMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesAccessToken.java + - src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesAuthMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesOAuth20.java + - src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesAuthentication.java + - src/main/java/com/airbyte/api/models/shared/LinkedinPages.java + - src/main/java/com/airbyte/api/models/shared/SourceLinkedinPages.java + - src/main/java/com/airbyte/api/models/shared/Linnworks.java + - src/main/java/com/airbyte/api/models/shared/SourceLinnworks.java + - src/main/java/com/airbyte/api/models/shared/Lokalise.java + - src/main/java/com/airbyte/api/models/shared/SourceLokalise.java + - src/main/java/com/airbyte/api/models/shared/SourceMailchimpSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/APIKey.java + - src/main/java/com/airbyte/api/models/shared/SourceMailchimpAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceMailchimpOAuth20.java + - src/main/java/com/airbyte/api/models/shared/SourceMailchimpAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceMailchimpMailchimp.java + - src/main/java/com/airbyte/api/models/shared/SourceMailchimp.java + - src/main/java/com/airbyte/api/models/shared/Mailgun.java + - src/main/java/com/airbyte/api/models/shared/SourceMailgun.java + - src/main/java/com/airbyte/api/models/shared/MailjetSms.java + - src/main/java/com/airbyte/api/models/shared/SourceMailjetSms.java + - src/main/java/com/airbyte/api/models/shared/Marketo.java + - src/main/java/com/airbyte/api/models/shared/SourceMarketo.java + - src/main/java/com/airbyte/api/models/shared/Metabase.java + - src/main/java/com/airbyte/api/models/shared/SourceMetabase.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/ServiceKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveAuthType.java + - src/main/java/com/airbyte/api/models/shared/AuthenticateViaMicrosoftOAuth.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SearchScope.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveMicrosoftOnedrive.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasStreamsFormatFormatFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveMode.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveLocal.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveProcessing.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveParsingStrategy.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasStreamsFormatFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveParquetFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasStreamsFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveJsonlFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasStreamsHeaderDefinitionType.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveUserProvided.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasHeaderDefinitionType.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveAutogenerated.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveHeaderDefinitionType.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveFromCSV.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveCSVHeaderDefinition.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveCSVFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveAvroFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveValidationPolicy.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveFileBasedStreamConfig.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedrive.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointServiceKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSearchScope.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointMicrosoftSharepoint.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasStreamsFormatFormatFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointMode.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointLocal.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointProcessing.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointParsingStrategy.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointDocumentFileTypeFormatExperimental.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasStreamsFormatFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointParquetFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasStreamsFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointJsonlFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasStreamsHeaderDefinitionType.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointUserProvided.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasHeaderDefinitionType.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAutogenerated.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointHeaderDefinitionType.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointFromCSV.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointCSVHeaderDefinition.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointCSVFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAvroFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointValidationPolicy.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointFileBasedStreamConfig.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepoint.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeamsSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/AuthenticateViaMicrosoft.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeamsAuthType.java + - src/main/java/com/airbyte/api/models/shared/AuthenticateViaMicrosoftOAuth20.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeamsAuthenticationMechanism.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeamsMicrosoftTeams.java + - src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeams.java + - src/main/java/com/airbyte/api/models/shared/SourceMixpanelSchemasOptionTitle.java + - src/main/java/com/airbyte/api/models/shared/ProjectSecret.java + - src/main/java/com/airbyte/api/models/shared/SourceMixpanelOptionTitle.java + - src/main/java/com/airbyte/api/models/shared/ServiceAccount.java + - src/main/java/com/airbyte/api/models/shared/AuthenticationWildcard.java + - src/main/java/com/airbyte/api/models/shared/SourceMixpanelRegion.java + - src/main/java/com/airbyte/api/models/shared/Mixpanel.java + - src/main/java/com/airbyte/api/models/shared/SourceMixpanel.java + - src/main/java/com/airbyte/api/models/shared/SourceMondaySchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/APIToken.java + - src/main/java/com/airbyte/api/models/shared/SourceMondayAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceMondayOAuth20.java + - src/main/java/com/airbyte/api/models/shared/SourceMondayAuthorizationMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceMondayMonday.java + - src/main/java/com/airbyte/api/models/shared/SourceMonday.java + - src/main/java/com/airbyte/api/models/shared/MongodbInternalPoc.java + - src/main/java/com/airbyte/api/models/shared/SourceMongodbInternalPoc.java + - src/main/java/com/airbyte/api/models/shared/InvalidCDCPositionBehaviorAdvanced.java + - src/main/java/com/airbyte/api/models/shared/MongodbV2.java + - src/main/java/com/airbyte/api/models/shared/SourceMongodbV2.java + - src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasMethod.java + - src/main/java/com/airbyte/api/models/shared/ScanChangesWithUserDefinedCursor.java + - src/main/java/com/airbyte/api/models/shared/SourceMssqlInvalidCDCPositionBehaviorAdvanced.java + - src/main/java/com/airbyte/api/models/shared/SourceMssqlMethod.java + - src/main/java/com/airbyte/api/models/shared/ReadChangesUsingChangeDataCaptureCDC.java + - src/main/java/com/airbyte/api/models/shared/UpdateMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceMssqlMssql.java + - src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasSSLMethodSSLMethodSSLMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceMssqlEncryptedVerifyCertificate.java + - src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasSslMethodSslMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceMssqlEncryptedTrustServerCertificate.java + - src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasSslMethod.java + - src/main/java/com/airbyte/api/models/shared/Unencrypted.java + - src/main/java/com/airbyte/api/models/shared/SourceMssqlSSLMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasTunnelMethodTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceMssqlPasswordAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceMssqlSSHKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceMssqlTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceMssqlNoTunnel.java + - src/main/java/com/airbyte/api/models/shared/SourceMssqlSSHTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceMssql.java + - src/main/java/com/airbyte/api/models/shared/MyHours.java + - src/main/java/com/airbyte/api/models/shared/SourceMyHours.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlScanChangesWithUserDefinedCursor.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlInvalidCDCPositionBehaviorAdvanced.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlMethod.java + - src/main/java/com/airbyte/api/models/shared/ReadChangesUsingBinaryLogCDC.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlUpdateMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlMysql.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasSSLModeSSLModesMode.java + - src/main/java/com/airbyte/api/models/shared/VerifyIdentity.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasSslModeMode.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlVerifyCA.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasMode.java + - src/main/java/com/airbyte/api/models/shared/Required.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlMode.java + - src/main/java/com/airbyte/api/models/shared/Preferred.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlSSLModes.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasTunnelMethodTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlPasswordAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlSSHKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlNoTunnel.java + - src/main/java/com/airbyte/api/models/shared/SourceMysqlSSHTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceMysql.java + - src/main/java/com/airbyte/api/models/shared/Netsuite.java + - src/main/java/com/airbyte/api/models/shared/SourceNetsuite.java + - src/main/java/com/airbyte/api/models/shared/SourceNotionSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceNotionAccessToken.java + - src/main/java/com/airbyte/api/models/shared/SourceNotionAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceNotionOAuth20.java + - src/main/java/com/airbyte/api/models/shared/SourceNotionAuthenticationMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceNotionNotion.java + - src/main/java/com/airbyte/api/models/shared/SourceNotion.java + - src/main/java/com/airbyte/api/models/shared/PeriodUsedForMostPopularStreams.java + - src/main/java/com/airbyte/api/models/shared/ShareTypeUsedForMostPopularSharedStream.java + - src/main/java/com/airbyte/api/models/shared/Nytimes.java + - src/main/java/com/airbyte/api/models/shared/SourceNytimes.java + - src/main/java/com/airbyte/api/models/shared/SourceOktaSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceOktaAPIToken.java + - src/main/java/com/airbyte/api/models/shared/SourceOktaAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceOktaOAuth20.java + - src/main/java/com/airbyte/api/models/shared/SourceOktaAuthorizationMethod.java + - src/main/java/com/airbyte/api/models/shared/Okta.java + - src/main/java/com/airbyte/api/models/shared/SourceOkta.java + - src/main/java/com/airbyte/api/models/shared/Omnisend.java + - src/main/java/com/airbyte/api/models/shared/SourceOmnisend.java + - src/main/java/com/airbyte/api/models/shared/Applications.java + - src/main/java/com/airbyte/api/models/shared/Onesignal.java + - src/main/java/com/airbyte/api/models/shared/SourceOnesignal.java + - src/main/java/com/airbyte/api/models/shared/SourceOracleConnectionType.java + - src/main/java/com/airbyte/api/models/shared/SystemIDSID.java + - src/main/java/com/airbyte/api/models/shared/ConnectionType.java + - src/main/java/com/airbyte/api/models/shared/ServiceName.java + - src/main/java/com/airbyte/api/models/shared/ConnectBy.java + - src/main/java/com/airbyte/api/models/shared/SourceOracleEncryptionMethod.java + - src/main/java/com/airbyte/api/models/shared/TLSEncryptedVerifyCertificate.java + - src/main/java/com/airbyte/api/models/shared/EncryptionAlgorithm.java + - src/main/java/com/airbyte/api/models/shared/EncryptionMethod.java + - src/main/java/com/airbyte/api/models/shared/NativeNetworkEncryptionNNE.java + - src/main/java/com/airbyte/api/models/shared/Encryption.java + - src/main/java/com/airbyte/api/models/shared/SourceOracleOracle.java + - src/main/java/com/airbyte/api/models/shared/SourceOracleSchemasTunnelMethodTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceOraclePasswordAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceOracleSchemasTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceOracleSSHKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceOracleTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceOracleNoTunnel.java + - src/main/java/com/airbyte/api/models/shared/SourceOracleSSHTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceOracle.java + - src/main/java/com/airbyte/api/models/shared/Orb.java + - src/main/java/com/airbyte/api/models/shared/SourceOrb.java + - src/main/java/com/airbyte/api/models/shared/Orbit.java + - src/main/java/com/airbyte/api/models/shared/SourceOrbit.java + - src/main/java/com/airbyte/api/models/shared/BothUsernameAndPasswordIsRequiredForAuthenticationRequest.java + - src/main/java/com/airbyte/api/models/shared/SourceOutbrainAmplifyUsernamePassword.java + - src/main/java/com/airbyte/api/models/shared/AccessTokenIsRequiredForAuthenticationRequests.java + - src/main/java/com/airbyte/api/models/shared/SourceOutbrainAmplifyAccessToken.java + - src/main/java/com/airbyte/api/models/shared/SourceOutbrainAmplifyAuthenticationMethod.java + - src/main/java/com/airbyte/api/models/shared/GranularityForGeoLocationRegion.java + - src/main/java/com/airbyte/api/models/shared/GranularityForPeriodicReports.java + - src/main/java/com/airbyte/api/models/shared/OutbrainAmplify.java + - src/main/java/com/airbyte/api/models/shared/SourceOutbrainAmplify.java + - src/main/java/com/airbyte/api/models/shared/Outreach.java + - src/main/java/com/airbyte/api/models/shared/SourceOutreach.java + - src/main/java/com/airbyte/api/models/shared/PaypalTransaction.java + - src/main/java/com/airbyte/api/models/shared/SourcePaypalTransaction.java + - src/main/java/com/airbyte/api/models/shared/Paystack.java + - src/main/java/com/airbyte/api/models/shared/SourcePaystack.java + - src/main/java/com/airbyte/api/models/shared/Pendo.java + - src/main/java/com/airbyte/api/models/shared/SourcePendo.java + - src/main/java/com/airbyte/api/models/shared/Persistiq.java + - src/main/java/com/airbyte/api/models/shared/SourcePersistiq.java + - src/main/java/com/airbyte/api/models/shared/PexelsApi.java + - src/main/java/com/airbyte/api/models/shared/SourcePexelsApi.java + - src/main/java/com/airbyte/api/models/shared/SourcePinterestAuthMethod.java + - src/main/java/com/airbyte/api/models/shared/OAuth20.java + - src/main/java/com/airbyte/api/models/shared/SourcePinterestValidEnums.java + - src/main/java/com/airbyte/api/models/shared/ClickWindowDays.java + - src/main/java/com/airbyte/api/models/shared/SourcePinterestSchemasValidEnums.java + - src/main/java/com/airbyte/api/models/shared/ConversionReportTime.java + - src/main/java/com/airbyte/api/models/shared/EngagementWindowDays.java + - src/main/java/com/airbyte/api/models/shared/Granularity.java + - src/main/java/com/airbyte/api/models/shared/SourcePinterestLevel.java + - src/main/java/com/airbyte/api/models/shared/ViewWindowDays.java + - src/main/java/com/airbyte/api/models/shared/ReportConfig.java + - src/main/java/com/airbyte/api/models/shared/SourcePinterestPinterest.java + - src/main/java/com/airbyte/api/models/shared/Status.java + - src/main/java/com/airbyte/api/models/shared/SourcePinterest.java + - src/main/java/com/airbyte/api/models/shared/Pipedrive.java + - src/main/java/com/airbyte/api/models/shared/SourcePipedrive.java + - src/main/java/com/airbyte/api/models/shared/ContentType.java + - src/main/java/com/airbyte/api/models/shared/DetailType.java + - src/main/java/com/airbyte/api/models/shared/SourcePocketSortBy.java + - src/main/java/com/airbyte/api/models/shared/Pocket.java + - src/main/java/com/airbyte/api/models/shared/State.java + - src/main/java/com/airbyte/api/models/shared/SourcePocket.java + - src/main/java/com/airbyte/api/models/shared/PokemonName.java + - src/main/java/com/airbyte/api/models/shared/Pokeapi.java + - src/main/java/com/airbyte/api/models/shared/SourcePokeapi.java + - src/main/java/com/airbyte/api/models/shared/PolygonStockApi.java + - src/main/java/com/airbyte/api/models/shared/SourcePolygonStockApi.java + - src/main/java/com/airbyte/api/models/shared/SourcePostgresSchemasMethod.java + - src/main/java/com/airbyte/api/models/shared/SourcePostgresScanChangesWithUserDefinedCursor.java + - src/main/java/com/airbyte/api/models/shared/SourcePostgresMethod.java + - src/main/java/com/airbyte/api/models/shared/DetectChangesWithXminSystemColumn.java + - src/main/java/com/airbyte/api/models/shared/SourcePostgresUpdateMethod.java + - src/main/java/com/airbyte/api/models/shared/SourcePostgresPostgres.java + - src/main/java/com/airbyte/api/models/shared/SourcePostgresSchemasTunnelMethodTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourcePostgresPasswordAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourcePostgresSchemasTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourcePostgresSSHKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourcePostgresTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourcePostgresNoTunnel.java + - src/main/java/com/airbyte/api/models/shared/SourcePostgresSSHTunnelMethod.java + - src/main/java/com/airbyte/api/models/shared/SourcePostgres.java + - src/main/java/com/airbyte/api/models/shared/Posthog.java + - src/main/java/com/airbyte/api/models/shared/SourcePosthog.java + - src/main/java/com/airbyte/api/models/shared/Postmarkapp.java + - src/main/java/com/airbyte/api/models/shared/SourcePostmarkapp.java + - src/main/java/com/airbyte/api/models/shared/Prestashop.java + - src/main/java/com/airbyte/api/models/shared/SourcePrestashop.java + - src/main/java/com/airbyte/api/models/shared/PunkApi.java + - src/main/java/com/airbyte/api/models/shared/SourcePunkApi.java + - src/main/java/com/airbyte/api/models/shared/Pypi.java + - src/main/java/com/airbyte/api/models/shared/SourcePypi.java + - src/main/java/com/airbyte/api/models/shared/Qualaroo.java + - src/main/java/com/airbyte/api/models/shared/SourceQualaroo.java + - src/main/java/com/airbyte/api/models/shared/SourceQuickbooksAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceQuickbooksOAuth20.java + - src/main/java/com/airbyte/api/models/shared/SourceQuickbooksAuthorizationMethod.java + - src/main/java/com/airbyte/api/models/shared/Quickbooks.java + - src/main/java/com/airbyte/api/models/shared/SourceQuickbooks.java + - src/main/java/com/airbyte/api/models/shared/Railz.java + - src/main/java/com/airbyte/api/models/shared/SourceRailz.java + - src/main/java/com/airbyte/api/models/shared/Recharge.java + - src/main/java/com/airbyte/api/models/shared/SourceRecharge.java + - src/main/java/com/airbyte/api/models/shared/Recreation.java + - src/main/java/com/airbyte/api/models/shared/SourceRecreation.java + - src/main/java/com/airbyte/api/models/shared/Recruitee.java + - src/main/java/com/airbyte/api/models/shared/SourceRecruitee.java + - src/main/java/com/airbyte/api/models/shared/Recurly.java + - src/main/java/com/airbyte/api/models/shared/SourceRecurly.java + - src/main/java/com/airbyte/api/models/shared/SourceRedshiftRedshift.java + - src/main/java/com/airbyte/api/models/shared/SourceRedshift.java + - src/main/java/com/airbyte/api/models/shared/SourceRetentlyRetently.java + - src/main/java/com/airbyte/api/models/shared/SourceRetently.java + - src/main/java/com/airbyte/api/models/shared/RkiCovid.java + - src/main/java/com/airbyte/api/models/shared/SourceRkiCovid.java + - src/main/java/com/airbyte/api/models/shared/Rss.java + - src/main/java/com/airbyte/api/models/shared/SourceRss.java + - src/main/java/com/airbyte/api/models/shared/SourceS3SchemasFormatFiletype.java + - src/main/java/com/airbyte/api/models/shared/UnexpectedFieldBehavior.java + - src/main/java/com/airbyte/api/models/shared/Jsonl.java + - src/main/java/com/airbyte/api/models/shared/SourceS3SchemasFiletype.java + - src/main/java/com/airbyte/api/models/shared/Avro.java + - src/main/java/com/airbyte/api/models/shared/SourceS3Filetype.java + - src/main/java/com/airbyte/api/models/shared/Parquet.java + - src/main/java/com/airbyte/api/models/shared/SourceS3SchemasFormatFileFormatFiletype.java + - src/main/java/com/airbyte/api/models/shared/Csv.java + - src/main/java/com/airbyte/api/models/shared/SourceS3FileFormat.java + - src/main/java/com/airbyte/api/models/shared/S3AmazonWebServices.java + - src/main/java/com/airbyte/api/models/shared/SourceS3S3.java + - src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFormatFormat5Filetype.java + - src/main/java/com/airbyte/api/models/shared/SourceS3Mode.java + - src/main/java/com/airbyte/api/models/shared/SourceS3Local.java + - src/main/java/com/airbyte/api/models/shared/SourceS3Processing.java + - src/main/java/com/airbyte/api/models/shared/SourceS3ParsingStrategy.java + - src/main/java/com/airbyte/api/models/shared/SourceS3DocumentFileTypeFormatExperimental.java + - src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFormatFormat4Filetype.java + - src/main/java/com/airbyte/api/models/shared/SourceS3ParquetFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFormatFormatFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceS3JsonlFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFormatFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsHeaderDefinitionType.java + - src/main/java/com/airbyte/api/models/shared/SourceS3UserProvided.java + - src/main/java/com/airbyte/api/models/shared/SourceS3SchemasHeaderDefinitionType.java + - src/main/java/com/airbyte/api/models/shared/SourceS3Autogenerated.java + - src/main/java/com/airbyte/api/models/shared/SourceS3HeaderDefinitionType.java + - src/main/java/com/airbyte/api/models/shared/SourceS3FromCSV.java + - src/main/java/com/airbyte/api/models/shared/SourceS3CSVHeaderDefinition.java + - src/main/java/com/airbyte/api/models/shared/SourceS3InferenceType.java + - src/main/java/com/airbyte/api/models/shared/SourceS3CSVFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFiletype.java + - src/main/java/com/airbyte/api/models/shared/SourceS3AvroFormat.java + - src/main/java/com/airbyte/api/models/shared/SourceS3Format.java + - src/main/java/com/airbyte/api/models/shared/SourceS3ValidationPolicy.java + - src/main/java/com/airbyte/api/models/shared/SourceS3FileBasedStreamConfig.java + - src/main/java/com/airbyte/api/models/shared/SourceS3.java + - src/main/java/com/airbyte/api/models/shared/AuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceSalesforceSalesforce.java + - src/main/java/com/airbyte/api/models/shared/SearchCriteria.java + - src/main/java/com/airbyte/api/models/shared/StreamsCriteria.java + - src/main/java/com/airbyte/api/models/shared/SourceSalesforce.java + - src/main/java/com/airbyte/api/models/shared/SourceSalesloftSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/AuthenticateViaAPIKey.java + - src/main/java/com/airbyte/api/models/shared/SourceSalesloftAuthType.java + - src/main/java/com/airbyte/api/models/shared/AuthenticateViaOAuth.java + - src/main/java/com/airbyte/api/models/shared/SourceSalesloftCredentials.java + - src/main/java/com/airbyte/api/models/shared/Salesloft.java + - src/main/java/com/airbyte/api/models/shared/SourceSalesloft.java + - src/main/java/com/airbyte/api/models/shared/SapFieldglass.java + - src/main/java/com/airbyte/api/models/shared/SourceSapFieldglass.java + - src/main/java/com/airbyte/api/models/shared/Secoda.java + - src/main/java/com/airbyte/api/models/shared/SourceSecoda.java + - src/main/java/com/airbyte/api/models/shared/Sendgrid.java + - src/main/java/com/airbyte/api/models/shared/SourceSendgrid.java + - src/main/java/com/airbyte/api/models/shared/Sendinblue.java + - src/main/java/com/airbyte/api/models/shared/SourceSendinblue.java + - src/main/java/com/airbyte/api/models/shared/Senseforce.java + - src/main/java/com/airbyte/api/models/shared/SourceSenseforce.java + - src/main/java/com/airbyte/api/models/shared/Sentry.java + - src/main/java/com/airbyte/api/models/shared/SourceSentry.java + - src/main/java/com/airbyte/api/models/shared/SourceSftpSchemasAuthMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceSftpSSHKeyAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceSftpAuthMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceSftpPasswordAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceSftpAuthentication.java + - src/main/java/com/airbyte/api/models/shared/Sftp.java + - src/main/java/com/airbyte/api/models/shared/SourceSftp.java + - src/main/java/com/airbyte/api/models/shared/FileType.java + - src/main/java/com/airbyte/api/models/shared/SftpBulk.java + - src/main/java/com/airbyte/api/models/shared/SourceSftpBulk.java + - src/main/java/com/airbyte/api/models/shared/SourceShopifySchemasAuthMethod.java + - src/main/java/com/airbyte/api/models/shared/APIPassword.java + - src/main/java/com/airbyte/api/models/shared/SourceShopifyAuthMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceShopifyOAuth20.java + - src/main/java/com/airbyte/api/models/shared/ShopifyAuthorizationMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceShopifyShopify.java + - src/main/java/com/airbyte/api/models/shared/SourceShopify.java + - src/main/java/com/airbyte/api/models/shared/Shortio.java + - src/main/java/com/airbyte/api/models/shared/SourceShortio.java + - src/main/java/com/airbyte/api/models/shared/SourceSlackSchemasOptionTitle.java + - src/main/java/com/airbyte/api/models/shared/SourceSlackAPIToken.java + - src/main/java/com/airbyte/api/models/shared/SourceSlackOptionTitle.java + - src/main/java/com/airbyte/api/models/shared/SignInViaSlackOAuth.java + - src/main/java/com/airbyte/api/models/shared/SourceSlackAuthenticationMechanism.java + - src/main/java/com/airbyte/api/models/shared/SourceSlackSlack.java + - src/main/java/com/airbyte/api/models/shared/SourceSlack.java + - src/main/java/com/airbyte/api/models/shared/Smaily.java + - src/main/java/com/airbyte/api/models/shared/SourceSmaily.java + - src/main/java/com/airbyte/api/models/shared/Smartengage.java + - src/main/java/com/airbyte/api/models/shared/SourceSmartengage.java + - src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/APIAccessToken.java + - src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsOAuth20.java + - src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsAuthorizationMethod.java + - src/main/java/com/airbyte/api/models/shared/Validenums.java + - src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsSmartsheets.java + - src/main/java/com/airbyte/api/models/shared/SourceSmartsheets.java + - src/main/java/com/airbyte/api/models/shared/ActionReportTime.java + - src/main/java/com/airbyte/api/models/shared/SourceSnapchatMarketingSnapchatMarketing.java + - src/main/java/com/airbyte/api/models/shared/SwipeUpAttributionWindow.java + - src/main/java/com/airbyte/api/models/shared/ViewAttributionWindow.java + - src/main/java/com/airbyte/api/models/shared/SourceSnapchatMarketing.java + - src/main/java/com/airbyte/api/models/shared/SourceSnowflakeSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceSnowflakeUsernameAndPassword.java + - src/main/java/com/airbyte/api/models/shared/SourceSnowflakeAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceSnowflakeOAuth20.java + - src/main/java/com/airbyte/api/models/shared/SourceSnowflakeAuthorizationMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceSnowflakeSnowflake.java + - src/main/java/com/airbyte/api/models/shared/SourceSnowflake.java + - src/main/java/com/airbyte/api/models/shared/SonarCloud.java + - src/main/java/com/airbyte/api/models/shared/SourceSonarCloud.java + - src/main/java/com/airbyte/api/models/shared/SpacexApi.java + - src/main/java/com/airbyte/api/models/shared/SourceSpacexApi.java + - src/main/java/com/airbyte/api/models/shared/SourceSquareSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceSquareAPIKey.java + - src/main/java/com/airbyte/api/models/shared/SourceSquareAuthType.java + - src/main/java/com/airbyte/api/models/shared/OauthAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceSquareAuthentication.java + - src/main/java/com/airbyte/api/models/shared/SourceSquareSquare.java + - src/main/java/com/airbyte/api/models/shared/SourceSquare.java + - src/main/java/com/airbyte/api/models/shared/SourceStravaAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceStravaStrava.java + - src/main/java/com/airbyte/api/models/shared/SourceStrava.java + - src/main/java/com/airbyte/api/models/shared/Stripe.java + - src/main/java/com/airbyte/api/models/shared/SourceStripe.java + - src/main/java/com/airbyte/api/models/shared/SourceSurveySparrowUrlBase.java + - src/main/java/com/airbyte/api/models/shared/GlobalAccount.java + - src/main/java/com/airbyte/api/models/shared/UrlBase.java + - src/main/java/com/airbyte/api/models/shared/EUBasedAccount.java + - src/main/java/com/airbyte/api/models/shared/BaseURL.java + - src/main/java/com/airbyte/api/models/shared/SurveySparrow.java + - src/main/java/com/airbyte/api/models/shared/SourceSurveySparrow.java + - src/main/java/com/airbyte/api/models/shared/SourceSurveymonkeyAuthMethod.java + - src/main/java/com/airbyte/api/models/shared/SurveyMonkeyAuthorizationMethod.java + - src/main/java/com/airbyte/api/models/shared/OriginDatacenterOfTheSurveyMonkeyAccount.java + - src/main/java/com/airbyte/api/models/shared/SourceSurveymonkeySurveymonkey.java + - src/main/java/com/airbyte/api/models/shared/SourceSurveymonkey.java + - src/main/java/com/airbyte/api/models/shared/Tempo.java + - src/main/java/com/airbyte/api/models/shared/SourceTempo.java + - src/main/java/com/airbyte/api/models/shared/TheGuardianApi.java + - src/main/java/com/airbyte/api/models/shared/SourceTheGuardianApi.java + - src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/SandboxAccessToken.java + - src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingOAuth20.java + - src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingAuthenticationMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingTiktokMarketing.java + - src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketing.java + - src/main/java/com/airbyte/api/models/shared/Trello.java + - src/main/java/com/airbyte/api/models/shared/SourceTrello.java + - src/main/java/com/airbyte/api/models/shared/SourceTrustpilotSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceTrustpilotAPIKey.java + - src/main/java/com/airbyte/api/models/shared/SourceTrustpilotAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceTrustpilotOAuth20.java + - src/main/java/com/airbyte/api/models/shared/SourceTrustpilotAuthorizationMethod.java + - src/main/java/com/airbyte/api/models/shared/Trustpilot.java + - src/main/java/com/airbyte/api/models/shared/SourceTrustpilot.java + - src/main/java/com/airbyte/api/models/shared/TvmazeSchedule.java + - src/main/java/com/airbyte/api/models/shared/SourceTvmazeSchedule.java + - src/main/java/com/airbyte/api/models/shared/Twilio.java + - src/main/java/com/airbyte/api/models/shared/SourceTwilio.java + - src/main/java/com/airbyte/api/models/shared/TwilioTaskrouter.java + - src/main/java/com/airbyte/api/models/shared/SourceTwilioTaskrouter.java + - src/main/java/com/airbyte/api/models/shared/Twitter.java + - src/main/java/com/airbyte/api/models/shared/SourceTwitter.java + - src/main/java/com/airbyte/api/models/shared/SourceTypeformSchemasAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceTypeformPrivateToken.java + - src/main/java/com/airbyte/api/models/shared/SourceTypeformAuthType.java + - src/main/java/com/airbyte/api/models/shared/SourceTypeformOAuth20.java + - src/main/java/com/airbyte/api/models/shared/SourceTypeformAuthorizationMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceTypeformTypeform.java + - src/main/java/com/airbyte/api/models/shared/SourceTypeform.java + - src/main/java/com/airbyte/api/models/shared/UsCensus.java + - src/main/java/com/airbyte/api/models/shared/SourceUsCensus.java + - src/main/java/com/airbyte/api/models/shared/Vantage.java + - src/main/java/com/airbyte/api/models/shared/SourceVantage.java + - src/main/java/com/airbyte/api/models/shared/Webflow.java + - src/main/java/com/airbyte/api/models/shared/SourceWebflow.java + - src/main/java/com/airbyte/api/models/shared/WhiskyHunter.java + - src/main/java/com/airbyte/api/models/shared/SourceWhiskyHunter.java + - src/main/java/com/airbyte/api/models/shared/WikipediaPageviews.java + - src/main/java/com/airbyte/api/models/shared/SourceWikipediaPageviews.java + - src/main/java/com/airbyte/api/models/shared/Woocommerce.java + - src/main/java/com/airbyte/api/models/shared/SourceWoocommerce.java + - src/main/java/com/airbyte/api/models/shared/Xkcd.java + - src/main/java/com/airbyte/api/models/shared/SourceXkcd.java + - src/main/java/com/airbyte/api/models/shared/YandexMetrica.java + - src/main/java/com/airbyte/api/models/shared/SourceYandexMetrica.java + - src/main/java/com/airbyte/api/models/shared/Yotpo.java + - src/main/java/com/airbyte/api/models/shared/SourceYotpo.java + - src/main/java/com/airbyte/api/models/shared/SourceYoutubeAnalyticsYoutubeAnalytics.java + - src/main/java/com/airbyte/api/models/shared/SourceYoutubeAnalytics.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskChatSchemasCredentials.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskChatAccessToken.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskChatCredentials.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskChatOAuth20.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskChatAuthorizationMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskChatZendeskChat.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskChat.java + - src/main/java/com/airbyte/api/models/shared/ZendeskSell.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskSell.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineSchemasAuthMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineAPIToken.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineAuthMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineOAuth20.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineAuthorizationMethod.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineZendeskSunshine.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshine.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskSupportZendeskSupport.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskSupport.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskTalkZendeskTalk.java + - src/main/java/com/airbyte/api/models/shared/SourceZendeskTalk.java + - src/main/java/com/airbyte/api/models/shared/Zenloop.java + - src/main/java/com/airbyte/api/models/shared/SourceZenloop.java + - src/main/java/com/airbyte/api/models/shared/DataCenterLocation.java + - src/main/java/com/airbyte/api/models/shared/ZohoCRMEdition.java + - src/main/java/com/airbyte/api/models/shared/SourceZohoCrmEnvironment.java + - src/main/java/com/airbyte/api/models/shared/ZohoCrm.java + - src/main/java/com/airbyte/api/models/shared/SourceZohoCrm.java + - src/main/java/com/airbyte/api/models/shared/Zoom.java + - src/main/java/com/airbyte/api/models/shared/SourceZoom.java + - src/main/java/com/airbyte/api/models/shared/SourceCreateRequest.java + - src/main/java/com/airbyte/api/models/shared/InitiateOauthRequest.java + - src/main/java/com/airbyte/api/models/shared/OAuthActorNames.java + - src/main/java/com/airbyte/api/models/shared/OAuthInputConfiguration.java + - src/main/java/com/airbyte/api/models/shared/SourcesResponse.java + - src/main/java/com/airbyte/api/models/shared/SourcePatchRequest.java + - src/main/java/com/airbyte/api/models/shared/SourcePutRequest.java + - src/main/java/com/airbyte/api/models/shared/StreamPropertiesResponse.java + - src/main/java/com/airbyte/api/models/shared/StreamProperties.java + - src/main/java/com/airbyte/api/models/shared/WorkspaceOAuthCredentialsRequest.java + - src/main/java/com/airbyte/api/models/shared/OAuthCredentialsConfiguration.java + - src/main/java/com/airbyte/api/models/shared/Credentials.java + - src/main/java/com/airbyte/api/models/shared/Airtable.java + - src/main/java/com/airbyte/api/models/shared/AmazonAds.java + - src/main/java/com/airbyte/api/models/shared/AmazonSellerPartner.java + - src/main/java/com/airbyte/api/models/shared/AsanaCredentials.java + - src/main/java/com/airbyte/api/models/shared/Asana.java + - src/main/java/com/airbyte/api/models/shared/BingAds.java + - src/main/java/com/airbyte/api/models/shared/FacebookMarketing.java + - src/main/java/com/airbyte/api/models/shared/GithubCredentials.java + - src/main/java/com/airbyte/api/models/shared/Github.java + - src/main/java/com/airbyte/api/models/shared/GitlabCredentials.java + - src/main/java/com/airbyte/api/models/shared/Gitlab.java + - src/main/java/com/airbyte/api/models/shared/GoogleAdsCredentials.java + - src/main/java/com/airbyte/api/models/shared/GoogleAds.java + - src/main/java/com/airbyte/api/models/shared/GoogleAnalyticsDataApiCredentials.java + - src/main/java/com/airbyte/api/models/shared/GoogleAnalyticsDataApi.java + - src/main/java/com/airbyte/api/models/shared/GoogleDriveCredentials.java + - src/main/java/com/airbyte/api/models/shared/GoogleDrive.java + - src/main/java/com/airbyte/api/models/shared/Authorization.java + - src/main/java/com/airbyte/api/models/shared/GoogleSearchConsole.java + - src/main/java/com/airbyte/api/models/shared/GoogleSheetsCredentials.java + - src/main/java/com/airbyte/api/models/shared/GoogleSheets.java + - src/main/java/com/airbyte/api/models/shared/HarvestCredentials.java + - src/main/java/com/airbyte/api/models/shared/Harvest.java + - src/main/java/com/airbyte/api/models/shared/HubspotCredentials.java + - src/main/java/com/airbyte/api/models/shared/Hubspot.java + - src/main/java/com/airbyte/api/models/shared/Instagram.java + - src/main/java/com/airbyte/api/models/shared/Intercom.java + - src/main/java/com/airbyte/api/models/shared/LeverHiringCredentials.java + - src/main/java/com/airbyte/api/models/shared/LeverHiring.java + - src/main/java/com/airbyte/api/models/shared/LinkedinAdsCredentials.java + - src/main/java/com/airbyte/api/models/shared/LinkedinAds.java + - src/main/java/com/airbyte/api/models/shared/MailchimpCredentials.java + - src/main/java/com/airbyte/api/models/shared/Mailchimp.java + - src/main/java/com/airbyte/api/models/shared/MicrosoftOnedriveCredentials.java + - src/main/java/com/airbyte/api/models/shared/MicrosoftOnedrive.java + - src/main/java/com/airbyte/api/models/shared/MicrosoftSharepointCredentials.java + - src/main/java/com/airbyte/api/models/shared/MicrosoftSharepoint.java + - src/main/java/com/airbyte/api/models/shared/MicrosoftTeamsCredentials.java + - src/main/java/com/airbyte/api/models/shared/MicrosoftTeams.java + - src/main/java/com/airbyte/api/models/shared/MondayCredentials.java + - src/main/java/com/airbyte/api/models/shared/Monday.java + - src/main/java/com/airbyte/api/models/shared/NotionCredentials.java + - src/main/java/com/airbyte/api/models/shared/Notion.java + - src/main/java/com/airbyte/api/models/shared/PinterestCredentials.java + - src/main/java/com/airbyte/api/models/shared/Pinterest.java + - src/main/java/com/airbyte/api/models/shared/RetentlyCredentials.java + - src/main/java/com/airbyte/api/models/shared/Retently.java + - src/main/java/com/airbyte/api/models/shared/Salesforce.java + - src/main/java/com/airbyte/api/models/shared/ShopifyCredentials.java + - src/main/java/com/airbyte/api/models/shared/Shopify.java + - src/main/java/com/airbyte/api/models/shared/SlackCredentials.java + - src/main/java/com/airbyte/api/models/shared/Slack.java + - src/main/java/com/airbyte/api/models/shared/SmartsheetsCredentials.java + - src/main/java/com/airbyte/api/models/shared/Smartsheets.java + - src/main/java/com/airbyte/api/models/shared/SnapchatMarketing.java + - src/main/java/com/airbyte/api/models/shared/SnowflakeCredentials.java + - src/main/java/com/airbyte/api/models/shared/Snowflake.java + - src/main/java/com/airbyte/api/models/shared/SquareCredentials.java + - src/main/java/com/airbyte/api/models/shared/Square.java + - src/main/java/com/airbyte/api/models/shared/Strava.java + - src/main/java/com/airbyte/api/models/shared/SurveymonkeyCredentials.java + - src/main/java/com/airbyte/api/models/shared/Surveymonkey.java + - src/main/java/com/airbyte/api/models/shared/TiktokMarketingCredentials.java + - src/main/java/com/airbyte/api/models/shared/TiktokMarketing.java + - src/main/java/com/airbyte/api/models/shared/TypeformCredentials.java + - src/main/java/com/airbyte/api/models/shared/Typeform.java + - src/main/java/com/airbyte/api/models/shared/YoutubeAnalyticsCredentials.java + - src/main/java/com/airbyte/api/models/shared/YoutubeAnalytics.java + - src/main/java/com/airbyte/api/models/shared/ZendeskChatCredentials.java + - src/main/java/com/airbyte/api/models/shared/ZendeskChat.java + - src/main/java/com/airbyte/api/models/shared/ZendeskSunshineCredentials.java + - src/main/java/com/airbyte/api/models/shared/ZendeskSunshine.java + - src/main/java/com/airbyte/api/models/shared/ZendeskSupportCredentials.java + - src/main/java/com/airbyte/api/models/shared/ZendeskSupport.java + - src/main/java/com/airbyte/api/models/shared/ZendeskTalkCredentials.java + - src/main/java/com/airbyte/api/models/shared/ZendeskTalk.java + - src/main/java/com/airbyte/api/models/shared/ActorTypeEnum.java + - src/main/java/com/airbyte/api/models/shared/WorkspaceResponse.java + - src/main/java/com/airbyte/api/models/shared/WorkspaceCreateRequest.java + - src/main/java/com/airbyte/api/models/shared/WorkspacesResponse.java + - src/main/java/com/airbyte/api/models/shared/WorkspaceUpdateRequest.java + - src/main/java/com/airbyte/api/models/shared/Security.java + - src/main/java/com/airbyte/api/models/shared/SchemeBasicAuth.java - docs/models/operations/CreateConnectionResponse.md - docs/models/operations/DeleteConnectionRequest.md - docs/models/operations/DeleteConnectionResponse.md @@ -222,6 +1984,482 @@ generatedFiles: - docs/models/shared/NamespaceDefinitionEnumNoDefault.md - docs/models/shared/GeographyEnumNoDefault.md - docs/models/shared/DestinationResponse.md + - docs/models/shared/DestinationConfiguration.md + - docs/models/shared/AuthenticationViaGoogleOAuth.md + - docs/models/shared/DestinationGoogleSheetsGoogleSheets.md + - docs/models/shared/DestinationGoogleSheets.md + - docs/models/shared/Astra.md + - docs/models/shared/DestinationAstraSchemasEmbeddingEmbeddingMode.md + - docs/models/shared/OpenAICompatible.md + - docs/models/shared/DestinationAstraSchemasEmbeddingMode.md + - docs/models/shared/AzureOpenAI.md + - docs/models/shared/DestinationAstraSchemasMode.md + - docs/models/shared/Fake.md + - docs/models/shared/DestinationAstraMode.md + - docs/models/shared/Cohere.md + - docs/models/shared/DestinationAstraSchemasEmbeddingEmbedding1Mode.md + - docs/models/shared/OpenAI.md + - docs/models/shared/Embedding.md + - docs/models/shared/Indexing.md + - docs/models/shared/FieldNameMappingConfigModel.md + - docs/models/shared/DestinationAstraLanguage.md + - docs/models/shared/DestinationAstraSchemasProcessingTextSplitterTextSplitterMode.md + - docs/models/shared/ByProgrammingLanguage.md + - docs/models/shared/DestinationAstraSchemasProcessingTextSplitterMode.md + - docs/models/shared/ByMarkdownHeader.md + - docs/models/shared/DestinationAstraSchemasProcessingMode.md + - docs/models/shared/BySeparator.md + - docs/models/shared/TextSplitter.md + - docs/models/shared/ProcessingConfigModel.md + - docs/models/shared/DestinationAstra.md + - docs/models/shared/DestinationAwsDatalakeCredentialsTitle.md + - docs/models/shared/IAMUser.md + - docs/models/shared/CredentialsTitle.md + - docs/models/shared/IAMRole.md + - docs/models/shared/AuthenticationMode.md + - docs/models/shared/AwsDatalake.md + - docs/models/shared/DestinationAwsDatalakeCompressionCodecOptional.md + - docs/models/shared/DestinationAwsDatalakeFormatTypeWildcard.md + - docs/models/shared/ParquetColumnarStorage.md + - docs/models/shared/CompressionCodecOptional.md + - docs/models/shared/FormatTypeWildcard.md + - docs/models/shared/JSONLinesNewlineDelimitedJSON.md + - docs/models/shared/OutputFormatWildcard.md + - docs/models/shared/ChooseHowToPartitionData.md + - docs/models/shared/S3BucketRegion.md + - docs/models/shared/DestinationAwsDatalake.md + - docs/models/shared/AzureBlobStorage.md + - docs/models/shared/DestinationAzureBlobStorageFormatType.md + - docs/models/shared/DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON.md + - docs/models/shared/NormalizationFlattening.md + - docs/models/shared/FormatType.md + - docs/models/shared/CSVCommaSeparatedValues.md + - docs/models/shared/OutputFormat.md + - docs/models/shared/DestinationAzureBlobStorage.md + - docs/models/shared/DatasetLocation.md + - docs/models/shared/Bigquery.md + - docs/models/shared/DestinationBigqueryMethod.md + - docs/models/shared/StandardInserts.md + - docs/models/shared/DestinationBigqueryCredentialType.md + - docs/models/shared/DestinationBigqueryHMACKey.md + - docs/models/shared/Credential.md + - docs/models/shared/GCSTmpFilesAfterwardProcessing.md + - docs/models/shared/Method.md + - docs/models/shared/GCSStaging.md + - docs/models/shared/LoadingMethod.md + - docs/models/shared/TransformationQueryRunType.md + - docs/models/shared/DestinationBigquery.md + - docs/models/shared/Clickhouse.md + - docs/models/shared/DestinationClickhouseSchemasTunnelMethod.md + - docs/models/shared/PasswordAuthentication.md + - docs/models/shared/DestinationClickhouseTunnelMethod.md + - docs/models/shared/SSHKeyAuthentication.md + - docs/models/shared/TunnelMethod.md + - docs/models/shared/NoTunnel.md + - docs/models/shared/SSHTunnelMethod.md + - docs/models/shared/DestinationClickhouse.md + - docs/models/shared/Convex.md + - docs/models/shared/DestinationConvex.md + - docs/models/shared/DestinationDatabricksSchemasDataSourceType.md + - docs/models/shared/DestinationDatabricksAzureBlobStorage.md + - docs/models/shared/DestinationDatabricksDataSourceType.md + - docs/models/shared/DestinationDatabricksS3BucketRegion.md + - docs/models/shared/AmazonS3.md + - docs/models/shared/DataSourceType.md + - docs/models/shared/RecommendedManagedTables.md + - docs/models/shared/DataSource.md + - docs/models/shared/Databricks.md + - docs/models/shared/DestinationDatabricks.md + - docs/models/shared/DevNull.md + - docs/models/shared/TestDestinationType.md + - docs/models/shared/Silent.md + - docs/models/shared/TestDestination.md + - docs/models/shared/DestinationDevNull.md + - docs/models/shared/Duckdb.md + - docs/models/shared/DestinationDuckdb.md + - docs/models/shared/Dynamodb.md + - docs/models/shared/DynamoDBRegion.md + - docs/models/shared/DestinationDynamodb.md + - docs/models/shared/DestinationElasticsearchSchemasMethod.md + - docs/models/shared/UsernamePassword.md + - docs/models/shared/DestinationElasticsearchMethod.md + - docs/models/shared/ApiKeySecret.md + - docs/models/shared/AuthenticationMethod.md + - docs/models/shared/Elasticsearch.md + - docs/models/shared/DestinationElasticsearch.md + - docs/models/shared/Firestore.md + - docs/models/shared/DestinationFirestore.md + - docs/models/shared/CredentialType.md + - docs/models/shared/HMACKey.md + - docs/models/shared/Authentication.md + - docs/models/shared/Gcs.md + - docs/models/shared/DestinationGcsCompressionCodec.md + - docs/models/shared/DestinationGcsSchemasFormatOutputFormatFormatType.md + - docs/models/shared/DestinationGcsParquetColumnarStorage.md + - docs/models/shared/DestinationGcsSchemasFormatCompressionType.md + - docs/models/shared/DestinationGcsGZIP.md + - docs/models/shared/DestinationGcsSchemasCompressionType.md + - docs/models/shared/DestinationGcsSchemasNoCompression.md + - docs/models/shared/DestinationGcsCompression.md + - docs/models/shared/DestinationGcsSchemasFormatFormatType.md + - docs/models/shared/DestinationGcsJSONLinesNewlineDelimitedJSON.md + - docs/models/shared/DestinationGcsCompressionType.md + - docs/models/shared/Gzip.md + - docs/models/shared/CompressionType.md + - docs/models/shared/DestinationGcsNoCompression.md + - docs/models/shared/Compression.md + - docs/models/shared/Normalization.md + - docs/models/shared/DestinationGcsSchemasFormatType.md + - docs/models/shared/DestinationGcsCSVCommaSeparatedValues.md + - docs/models/shared/DestinationGcsSchemasFormatOutputFormat1Codec.md + - docs/models/shared/Snappy.md + - docs/models/shared/DestinationGcsSchemasFormatOutputFormatCodec.md + - docs/models/shared/Zstandard.md + - docs/models/shared/DestinationGcsSchemasFormatCodec.md + - docs/models/shared/Xz.md + - docs/models/shared/DestinationGcsSchemasCodec.md + - docs/models/shared/Bzip2.md + - docs/models/shared/DestinationGcsCodec.md + - docs/models/shared/Deflate.md + - docs/models/shared/Codec.md + - docs/models/shared/NoCompression.md + - docs/models/shared/CompressionCodec.md + - docs/models/shared/DestinationGcsFormatType.md + - docs/models/shared/AvroApacheAvro.md + - docs/models/shared/DestinationGcsOutputFormat.md + - docs/models/shared/GCSBucketRegion.md + - docs/models/shared/DestinationGcs.md + - docs/models/shared/Langchain.md + - docs/models/shared/DestinationLangchainSchemasMode.md + - docs/models/shared/DestinationLangchainFake.md + - docs/models/shared/DestinationLangchainMode.md + - docs/models/shared/DestinationLangchainOpenAI.md + - docs/models/shared/DestinationLangchainEmbedding.md + - docs/models/shared/DestinationLangchainSchemasIndexingIndexing3Mode.md + - docs/models/shared/ChromaLocalPersistance.md + - docs/models/shared/DestinationLangchainSchemasIndexingIndexingMode.md + - docs/models/shared/DocArrayHnswSearch.md + - docs/models/shared/DestinationLangchainSchemasIndexingMode.md + - docs/models/shared/DestinationLangchainPinecone.md + - docs/models/shared/DestinationLangchainIndexing.md + - docs/models/shared/DestinationLangchainProcessingConfigModel.md + - docs/models/shared/DestinationLangchain.md + - docs/models/shared/Milvus.md + - docs/models/shared/DestinationMilvusSchemasEmbeddingEmbedding5Mode.md + - docs/models/shared/DestinationMilvusOpenAICompatible.md + - docs/models/shared/DestinationMilvusSchemasEmbeddingEmbeddingMode.md + - docs/models/shared/DestinationMilvusAzureOpenAI.md + - docs/models/shared/DestinationMilvusSchemasEmbeddingMode.md + - docs/models/shared/DestinationMilvusFake.md + - docs/models/shared/DestinationMilvusSchemasMode.md + - docs/models/shared/DestinationMilvusCohere.md + - docs/models/shared/DestinationMilvusMode.md + - docs/models/shared/DestinationMilvusOpenAI.md + - docs/models/shared/DestinationMilvusEmbedding.md + - docs/models/shared/DestinationMilvusSchemasIndexingAuthAuthenticationMode.md + - docs/models/shared/NoAuth.md + - docs/models/shared/DestinationMilvusSchemasIndexingAuthMode.md + - docs/models/shared/DestinationMilvusUsernamePassword.md + - docs/models/shared/DestinationMilvusSchemasIndexingMode.md + - docs/models/shared/DestinationMilvusAPIToken.md + - docs/models/shared/DestinationMilvusAuthentication.md + - docs/models/shared/DestinationMilvusIndexing.md + - docs/models/shared/DestinationMilvusFieldNameMappingConfigModel.md + - docs/models/shared/DestinationMilvusLanguage.md + - docs/models/shared/DestinationMilvusSchemasProcessingTextSplitterTextSplitterMode.md + - docs/models/shared/DestinationMilvusByProgrammingLanguage.md + - docs/models/shared/DestinationMilvusSchemasProcessingTextSplitterMode.md + - docs/models/shared/DestinationMilvusByMarkdownHeader.md + - docs/models/shared/DestinationMilvusSchemasProcessingMode.md + - docs/models/shared/DestinationMilvusBySeparator.md + - docs/models/shared/DestinationMilvusTextSplitter.md + - docs/models/shared/DestinationMilvusProcessingConfigModel.md + - docs/models/shared/DestinationMilvus.md + - docs/models/shared/DestinationMongodbAuthorization.md + - docs/models/shared/LoginPassword.md + - docs/models/shared/DestinationMongodbSchemasAuthorization.md + - docs/models/shared/None.md + - docs/models/shared/AuthorizationType.md + - docs/models/shared/Mongodb.md + - docs/models/shared/DestinationMongodbSchemasInstance.md + - docs/models/shared/MongoDBAtlas.md + - docs/models/shared/DestinationMongodbInstance.md + - docs/models/shared/ReplicaSet.md + - docs/models/shared/Instance.md + - docs/models/shared/StandaloneMongoDbInstance.md + - docs/models/shared/MongoDbInstanceType.md + - docs/models/shared/DestinationMongodbSchemasTunnelMethodTunnelMethod.md + - docs/models/shared/DestinationMongodbPasswordAuthentication.md + - docs/models/shared/DestinationMongodbSchemasTunnelMethod.md + - docs/models/shared/DestinationMongodbSSHKeyAuthentication.md + - docs/models/shared/DestinationMongodbTunnelMethod.md + - docs/models/shared/DestinationMongodbNoTunnel.md + - docs/models/shared/DestinationMongodbSSHTunnelMethod.md + - docs/models/shared/DestinationMongodb.md + - docs/models/shared/Mssql.md + - docs/models/shared/DestinationMssqlSchemasSslMethod.md + - docs/models/shared/EncryptedVerifyCertificate.md + - docs/models/shared/DestinationMssqlSslMethod.md + - docs/models/shared/EncryptedTrustServerCertificate.md + - docs/models/shared/SSLMethod.md + - docs/models/shared/DestinationMssqlSchemasTunnelMethodTunnelMethod.md + - docs/models/shared/DestinationMssqlPasswordAuthentication.md + - docs/models/shared/DestinationMssqlSchemasTunnelMethod.md + - docs/models/shared/DestinationMssqlSSHKeyAuthentication.md + - docs/models/shared/DestinationMssqlTunnelMethod.md + - docs/models/shared/DestinationMssqlNoTunnel.md + - docs/models/shared/DestinationMssqlSSHTunnelMethod.md + - docs/models/shared/DestinationMssql.md + - docs/models/shared/Mysql.md + - docs/models/shared/DestinationMysqlSchemasTunnelMethodTunnelMethod.md + - docs/models/shared/DestinationMysqlPasswordAuthentication.md + - docs/models/shared/DestinationMysqlSchemasTunnelMethod.md + - docs/models/shared/DestinationMysqlSSHKeyAuthentication.md + - docs/models/shared/DestinationMysqlTunnelMethod.md + - docs/models/shared/DestinationMysqlNoTunnel.md + - docs/models/shared/DestinationMysqlSSHTunnelMethod.md + - docs/models/shared/DestinationMysql.md + - docs/models/shared/Oracle.md + - docs/models/shared/DestinationOracleSchemasTunnelMethodTunnelMethod.md + - docs/models/shared/DestinationOraclePasswordAuthentication.md + - docs/models/shared/DestinationOracleSchemasTunnelMethod.md + - docs/models/shared/DestinationOracleSSHKeyAuthentication.md + - docs/models/shared/DestinationOracleTunnelMethod.md + - docs/models/shared/DestinationOracleNoTunnel.md + - docs/models/shared/DestinationOracleSSHTunnelMethod.md + - docs/models/shared/DestinationOracle.md + - docs/models/shared/Pinecone.md + - docs/models/shared/DestinationPineconeSchemasEmbeddingEmbedding5Mode.md + - docs/models/shared/DestinationPineconeOpenAICompatible.md + - docs/models/shared/DestinationPineconeSchemasEmbeddingEmbeddingMode.md + - docs/models/shared/DestinationPineconeAzureOpenAI.md + - docs/models/shared/DestinationPineconeSchemasEmbeddingMode.md + - docs/models/shared/DestinationPineconeFake.md + - docs/models/shared/DestinationPineconeSchemasMode.md + - docs/models/shared/DestinationPineconeCohere.md + - docs/models/shared/DestinationPineconeMode.md + - docs/models/shared/DestinationPineconeOpenAI.md + - docs/models/shared/DestinationPineconeEmbedding.md + - docs/models/shared/DestinationPineconeIndexing.md + - docs/models/shared/DestinationPineconeFieldNameMappingConfigModel.md + - docs/models/shared/DestinationPineconeLanguage.md + - docs/models/shared/DestinationPineconeSchemasProcessingTextSplitterTextSplitterMode.md + - docs/models/shared/DestinationPineconeByProgrammingLanguage.md + - docs/models/shared/DestinationPineconeSchemasProcessingTextSplitterMode.md + - docs/models/shared/DestinationPineconeByMarkdownHeader.md + - docs/models/shared/DestinationPineconeSchemasProcessingMode.md + - docs/models/shared/DestinationPineconeBySeparator.md + - docs/models/shared/DestinationPineconeTextSplitter.md + - docs/models/shared/DestinationPineconeProcessingConfigModel.md + - docs/models/shared/DestinationPinecone.md + - docs/models/shared/Postgres.md + - docs/models/shared/DestinationPostgresSchemasSSLModeSSLModes6Mode.md + - docs/models/shared/VerifyFull.md + - docs/models/shared/DestinationPostgresSchemasSSLModeSSLModesMode.md + - docs/models/shared/VerifyCa.md + - docs/models/shared/DestinationPostgresSchemasSslModeMode.md + - docs/models/shared/Require.md + - docs/models/shared/DestinationPostgresSchemasMode.md + - docs/models/shared/Prefer.md + - docs/models/shared/DestinationPostgresMode.md + - docs/models/shared/Allow.md + - docs/models/shared/Mode.md + - docs/models/shared/Disable.md + - docs/models/shared/SSLModes.md + - docs/models/shared/DestinationPostgresSchemasTunnelMethodTunnelMethod.md + - docs/models/shared/DestinationPostgresPasswordAuthentication.md + - docs/models/shared/DestinationPostgresSchemasTunnelMethod.md + - docs/models/shared/DestinationPostgresSSHKeyAuthentication.md + - docs/models/shared/DestinationPostgresTunnelMethod.md + - docs/models/shared/DestinationPostgresNoTunnel.md + - docs/models/shared/DestinationPostgresSSHTunnelMethod.md + - docs/models/shared/DestinationPostgres.md + - docs/models/shared/Pubsub.md + - docs/models/shared/DestinationPubsub.md + - docs/models/shared/Qdrant.md + - docs/models/shared/DestinationQdrantSchemasEmbeddingEmbedding5Mode.md + - docs/models/shared/DestinationQdrantOpenAICompatible.md + - docs/models/shared/DestinationQdrantSchemasEmbeddingEmbeddingMode.md + - docs/models/shared/DestinationQdrantAzureOpenAI.md + - docs/models/shared/DestinationQdrantSchemasEmbeddingMode.md + - docs/models/shared/DestinationQdrantFake.md + - docs/models/shared/DestinationQdrantSchemasMode.md + - docs/models/shared/DestinationQdrantCohere.md + - docs/models/shared/DestinationQdrantMode.md + - docs/models/shared/DestinationQdrantOpenAI.md + - docs/models/shared/DestinationQdrantEmbedding.md + - docs/models/shared/DestinationQdrantSchemasIndexingAuthMethodMode.md + - docs/models/shared/DestinationQdrantNoAuth.md + - docs/models/shared/DestinationQdrantSchemasIndexingMode.md + - docs/models/shared/ApiKeyAuth.md + - docs/models/shared/DestinationQdrantAuthenticationMethod.md + - docs/models/shared/DistanceMetric.md + - docs/models/shared/DestinationQdrantIndexing.md + - docs/models/shared/DestinationQdrantFieldNameMappingConfigModel.md + - docs/models/shared/DestinationQdrantLanguage.md + - docs/models/shared/DestinationQdrantSchemasProcessingTextSplitterTextSplitterMode.md + - docs/models/shared/DestinationQdrantByProgrammingLanguage.md + - docs/models/shared/DestinationQdrantSchemasProcessingTextSplitterMode.md + - docs/models/shared/DestinationQdrantByMarkdownHeader.md + - docs/models/shared/DestinationQdrantSchemasProcessingMode.md + - docs/models/shared/DestinationQdrantBySeparator.md + - docs/models/shared/DestinationQdrantTextSplitter.md + - docs/models/shared/DestinationQdrantProcessingConfigModel.md + - docs/models/shared/DestinationQdrant.md + - docs/models/shared/CacheType.md + - docs/models/shared/Redis.md + - docs/models/shared/DestinationRedisSchemasMode.md + - docs/models/shared/DestinationRedisVerifyFull.md + - docs/models/shared/DestinationRedisMode.md + - docs/models/shared/DestinationRedisDisable.md + - docs/models/shared/DestinationRedisSSLModes.md + - docs/models/shared/DestinationRedisSchemasTunnelMethodTunnelMethod.md + - docs/models/shared/DestinationRedisPasswordAuthentication.md + - docs/models/shared/DestinationRedisSchemasTunnelMethod.md + - docs/models/shared/DestinationRedisSSHKeyAuthentication.md + - docs/models/shared/DestinationRedisTunnelMethod.md + - docs/models/shared/DestinationRedisNoTunnel.md + - docs/models/shared/DestinationRedisSSHTunnelMethod.md + - docs/models/shared/DestinationRedis.md + - docs/models/shared/Redshift.md + - docs/models/shared/DestinationRedshiftSchemasTunnelMethodTunnelMethod.md + - docs/models/shared/DestinationRedshiftPasswordAuthentication.md + - docs/models/shared/DestinationRedshiftSchemasTunnelMethod.md + - docs/models/shared/DestinationRedshiftSSHKeyAuthentication.md + - docs/models/shared/DestinationRedshiftTunnelMethod.md + - docs/models/shared/DestinationRedshiftNoTunnel.md + - docs/models/shared/DestinationRedshiftSSHTunnelMethod.md + - docs/models/shared/DestinationRedshiftSchemasMethod.md + - docs/models/shared/Standard.md + - docs/models/shared/DestinationRedshiftEncryptionType.md + - docs/models/shared/AESCBCEnvelopeEncryption.md + - docs/models/shared/EncryptionType.md + - docs/models/shared/NoEncryption.md + - docs/models/shared/DestinationRedshiftEncryption.md + - docs/models/shared/DestinationRedshiftMethod.md + - docs/models/shared/DestinationRedshiftS3BucketRegion.md + - docs/models/shared/Awss3Staging.md + - docs/models/shared/UploadingMethod.md + - docs/models/shared/DestinationRedshift.md + - docs/models/shared/S3.md + - docs/models/shared/DestinationS3SchemasCompressionCodec.md + - docs/models/shared/DestinationS3SchemasFormatOutputFormatFormatType.md + - docs/models/shared/DestinationS3ParquetColumnarStorage.md + - docs/models/shared/DestinationS3SchemasFormatOutputFormat3CompressionCodecCodec.md + - docs/models/shared/DestinationS3Snappy.md + - docs/models/shared/DestinationS3SchemasFormatOutputFormat3Codec.md + - docs/models/shared/DestinationS3Zstandard.md + - docs/models/shared/DestinationS3SchemasFormatOutputFormatCodec.md + - docs/models/shared/DestinationS3Xz.md + - docs/models/shared/DestinationS3SchemasFormatCodec.md + - docs/models/shared/DestinationS3Bzip2.md + - docs/models/shared/DestinationS3SchemasCodec.md + - docs/models/shared/DestinationS3Deflate.md + - docs/models/shared/DestinationS3Codec.md + - docs/models/shared/DestinationS3SchemasFormatNoCompression.md + - docs/models/shared/DestinationS3CompressionCodec.md + - docs/models/shared/DestinationS3SchemasFormatFormatType.md + - docs/models/shared/DestinationS3AvroApacheAvro.md + - docs/models/shared/DestinationS3SchemasFormatOutputFormatCompressionType.md + - docs/models/shared/DestinationS3SchemasGZIP.md + - docs/models/shared/DestinationS3SchemasFormatCompressionType.md + - docs/models/shared/DestinationS3SchemasNoCompression.md + - docs/models/shared/DestinationS3SchemasCompression.md + - docs/models/shared/DestinationS3SchemasFlattening.md + - docs/models/shared/DestinationS3SchemasFormatType.md + - docs/models/shared/DestinationS3JSONLinesNewlineDelimitedJSON.md + - docs/models/shared/DestinationS3SchemasCompressionType.md + - docs/models/shared/DestinationS3GZIP.md + - docs/models/shared/DestinationS3CompressionType.md + - docs/models/shared/DestinationS3NoCompression.md + - docs/models/shared/DestinationS3Compression.md + - docs/models/shared/DestinationS3Flattening.md + - docs/models/shared/DestinationS3FormatType.md + - docs/models/shared/DestinationS3CSVCommaSeparatedValues.md + - docs/models/shared/DestinationS3OutputFormat.md + - docs/models/shared/DestinationS3S3BucketRegion.md + - docs/models/shared/DestinationS3.md + - docs/models/shared/S3Glue.md + - docs/models/shared/DestinationS3GlueSchemasCompressionType.md + - docs/models/shared/DestinationS3GlueGZIP.md + - docs/models/shared/DestinationS3GlueCompressionType.md + - docs/models/shared/DestinationS3GlueNoCompression.md + - docs/models/shared/DestinationS3GlueCompression.md + - docs/models/shared/Flattening.md + - docs/models/shared/DestinationS3GlueFormatType.md + - docs/models/shared/DestinationS3GlueJSONLinesNewlineDelimitedJSON.md + - docs/models/shared/DestinationS3GlueOutputFormat.md + - docs/models/shared/SerializationLibrary.md + - docs/models/shared/DestinationS3GlueS3BucketRegion.md + - docs/models/shared/DestinationS3Glue.md + - docs/models/shared/SftpJson.md + - docs/models/shared/DestinationSftpJson.md + - docs/models/shared/DestinationSnowflakeSchemasAuthType.md + - docs/models/shared/DestinationSnowflakeOAuth20.md + - docs/models/shared/DestinationSnowflakeAuthType.md + - docs/models/shared/UsernameAndPassword.md + - docs/models/shared/DestinationSnowflakeSchemasCredentialsAuthType.md + - docs/models/shared/KeyPairAuthentication.md + - docs/models/shared/AuthorizationMethod.md + - docs/models/shared/DestinationSnowflakeSnowflake.md + - docs/models/shared/DestinationSnowflake.md + - docs/models/shared/Teradata.md + - docs/models/shared/DestinationTeradataSchemasSSLModeSSLModes6Mode.md + - docs/models/shared/DestinationTeradataVerifyFull.md + - docs/models/shared/DestinationTeradataSchemasSSLModeSSLModes5Mode.md + - docs/models/shared/DestinationTeradataVerifyCa.md + - docs/models/shared/DestinationTeradataSchemasSSLModeSSLModesMode.md + - docs/models/shared/DestinationTeradataRequire.md + - docs/models/shared/DestinationTeradataSchemasSslModeMode.md + - docs/models/shared/DestinationTeradataPrefer.md + - docs/models/shared/DestinationTeradataSchemasMode.md + - docs/models/shared/DestinationTeradataAllow.md + - docs/models/shared/DestinationTeradataMode.md + - docs/models/shared/DestinationTeradataDisable.md + - docs/models/shared/DestinationTeradataSSLModes.md + - docs/models/shared/DestinationTeradata.md + - docs/models/shared/Typesense.md + - docs/models/shared/DestinationTypesense.md + - docs/models/shared/Vectara.md + - docs/models/shared/OAuth20Credentials.md + - docs/models/shared/DestinationVectara.md + - docs/models/shared/Weaviate.md + - docs/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding7Mode.md + - docs/models/shared/DestinationWeaviateOpenAICompatible.md + - docs/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding6Mode.md + - docs/models/shared/DestinationWeaviateFake.md + - docs/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding5Mode.md + - docs/models/shared/FromField.md + - docs/models/shared/DestinationWeaviateSchemasEmbeddingEmbeddingMode.md + - docs/models/shared/DestinationWeaviateCohere.md + - docs/models/shared/DestinationWeaviateSchemasEmbeddingMode.md + - docs/models/shared/DestinationWeaviateOpenAI.md + - docs/models/shared/DestinationWeaviateSchemasMode.md + - docs/models/shared/DestinationWeaviateAzureOpenAI.md + - docs/models/shared/DestinationWeaviateMode.md + - docs/models/shared/NoExternalEmbedding.md + - docs/models/shared/DestinationWeaviateEmbedding.md + - docs/models/shared/Header.md + - docs/models/shared/DestinationWeaviateSchemasIndexingAuthAuthenticationMode.md + - docs/models/shared/NoAuthentication.md + - docs/models/shared/DestinationWeaviateSchemasIndexingAuthMode.md + - docs/models/shared/DestinationWeaviateUsernamePassword.md + - docs/models/shared/DestinationWeaviateSchemasIndexingMode.md + - docs/models/shared/DestinationWeaviateAPIToken.md + - docs/models/shared/DestinationWeaviateAuthentication.md + - docs/models/shared/DefaultVectorizer.md + - docs/models/shared/DestinationWeaviateIndexing.md + - docs/models/shared/DestinationWeaviateFieldNameMappingConfigModel.md + - docs/models/shared/DestinationWeaviateLanguage.md + - docs/models/shared/DestinationWeaviateSchemasProcessingTextSplitterTextSplitterMode.md + - docs/models/shared/DestinationWeaviateByProgrammingLanguage.md + - docs/models/shared/DestinationWeaviateSchemasProcessingTextSplitterMode.md + - docs/models/shared/DestinationWeaviateByMarkdownHeader.md + - docs/models/shared/DestinationWeaviateSchemasProcessingMode.md + - docs/models/shared/DestinationWeaviateBySeparator.md + - docs/models/shared/DestinationWeaviateTextSplitter.md + - docs/models/shared/DestinationWeaviateProcessingConfigModel.md + - docs/models/shared/DestinationWeaviate.md - docs/models/shared/DestinationCreateRequest.md - docs/models/shared/DestinationsResponse.md - docs/models/shared/DestinationPatchRequest.md @@ -232,6 +2470,1171 @@ generatedFiles: - docs/models/shared/JobCreateRequest.md - docs/models/shared/JobsResponse.md - docs/models/shared/SourceResponse.md + - docs/models/shared/SourceConfiguration.md + - docs/models/shared/Aha.md + - docs/models/shared/SourceAha.md + - docs/models/shared/Aircall.md + - docs/models/shared/SourceAircall.md + - docs/models/shared/SourceAirtableAuthMethod.md + - docs/models/shared/PersonalAccessToken.md + - docs/models/shared/SourceAirtableSchemasAuthMethod.md + - docs/models/shared/SourceAirtableOAuth20.md + - docs/models/shared/SourceAirtableAuthentication.md + - docs/models/shared/SourceAirtableAirtable.md + - docs/models/shared/SourceAirtable.md + - docs/models/shared/SourceAmazonAdsAuthType.md + - docs/models/shared/Region.md + - docs/models/shared/ReportRecordTypes.md + - docs/models/shared/SourceAmazonAdsAmazonAds.md + - docs/models/shared/StateFilter.md + - docs/models/shared/SourceAmazonAds.md + - docs/models/shared/AWSSellerPartnerAccountType.md + - docs/models/shared/SourceAmazonSellerPartnerAuthType.md + - docs/models/shared/AWSEnvironment.md + - docs/models/shared/AWSRegion.md + - docs/models/shared/OptionsList.md + - docs/models/shared/StreamName.md + - docs/models/shared/ReportOptions.md + - docs/models/shared/SourceAmazonSellerPartnerAmazonSellerPartner.md + - docs/models/shared/SourceAmazonSellerPartner.md + - docs/models/shared/SourceAmazonSqsAWSRegion.md + - docs/models/shared/AmazonSqs.md + - docs/models/shared/SourceAmazonSqs.md + - docs/models/shared/DataRegion.md + - docs/models/shared/Amplitude.md + - docs/models/shared/SourceAmplitude.md + - docs/models/shared/ApifyDataset.md + - docs/models/shared/SourceApifyDataset.md + - docs/models/shared/Appfollow.md + - docs/models/shared/SourceAppfollow.md + - docs/models/shared/SourceAsanaSchemasCredentialsTitle.md + - docs/models/shared/AuthenticateWithPersonalAccessToken.md + - docs/models/shared/SourceAsanaCredentialsTitle.md + - docs/models/shared/AuthenticateViaAsanaOauth.md + - docs/models/shared/AuthenticationMechanism.md + - docs/models/shared/SourceAsanaAsana.md + - docs/models/shared/SourceAsana.md + - docs/models/shared/SourceAuth0SchemasCredentialsAuthenticationMethod.md + - docs/models/shared/OAuth2AccessToken.md + - docs/models/shared/SourceAuth0SchemasAuthenticationMethod.md + - docs/models/shared/OAuth2ConfidentialApplication.md + - docs/models/shared/SourceAuth0AuthenticationMethod.md + - docs/models/shared/Auth0.md + - docs/models/shared/SourceAuth0.md + - docs/models/shared/AwsCloudtrail.md + - docs/models/shared/SourceAwsCloudtrail.md + - docs/models/shared/SourceAzureBlobStorageAzureBlobStorage.md + - docs/models/shared/SourceAzureBlobStorageSchemasStreamsFormatFiletype.md + - docs/models/shared/SourceAzureBlobStorageMode.md + - docs/models/shared/Local.md + - docs/models/shared/Processing.md + - docs/models/shared/ParsingStrategy.md + - docs/models/shared/DocumentFileTypeFormatExperimental.md + - docs/models/shared/SourceAzureBlobStorageSchemasStreamsFiletype.md + - docs/models/shared/ParquetFormat.md + - docs/models/shared/SourceAzureBlobStorageSchemasFiletype.md + - docs/models/shared/JsonlFormat.md + - docs/models/shared/SourceAzureBlobStorageFiletype.md + - docs/models/shared/SourceAzureBlobStorageSchemasHeaderDefinitionType.md + - docs/models/shared/UserProvided.md + - docs/models/shared/SourceAzureBlobStorageHeaderDefinitionType.md + - docs/models/shared/Autogenerated.md + - docs/models/shared/HeaderDefinitionType.md + - docs/models/shared/FromCSV.md + - docs/models/shared/CSVHeaderDefinition.md + - docs/models/shared/InferenceType.md + - docs/models/shared/CSVFormat.md + - docs/models/shared/SourceAzureBlobStorageSchemasStreamsFormatFormatFiletype.md + - docs/models/shared/AvroFormat.md + - docs/models/shared/Format.md + - docs/models/shared/ValidationPolicy.md + - docs/models/shared/FileBasedStreamConfig.md + - docs/models/shared/SourceAzureBlobStorage.md + - docs/models/shared/AzureTable.md + - docs/models/shared/SourceAzureTable.md + - docs/models/shared/BambooHr.md + - docs/models/shared/SourceBambooHr.md + - docs/models/shared/SourceBigqueryBigquery.md + - docs/models/shared/SourceBigquery.md + - docs/models/shared/Operator.md + - docs/models/shared/AccountNames.md + - docs/models/shared/AuthMethod.md + - docs/models/shared/ReportingDataObject.md + - docs/models/shared/CustomReportConfig.md + - docs/models/shared/SourceBingAdsBingAds.md + - docs/models/shared/SourceBingAds.md + - docs/models/shared/SourceBraintreeEnvironment.md + - docs/models/shared/Braintree.md + - docs/models/shared/SourceBraintree.md + - docs/models/shared/Braze.md + - docs/models/shared/SourceBraze.md + - docs/models/shared/SourceCartSchemasAuthType.md + - docs/models/shared/SingleStoreAccessToken.md + - docs/models/shared/SourceCartAuthType.md + - docs/models/shared/CentralAPIRouter.md + - docs/models/shared/SourceCartAuthorizationMethod.md + - docs/models/shared/Cart.md + - docs/models/shared/SourceCart.md + - docs/models/shared/ProductCatalog.md + - docs/models/shared/Chargebee.md + - docs/models/shared/SourceChargebee.md + - docs/models/shared/Chartmogul.md + - docs/models/shared/SourceChartmogul.md + - docs/models/shared/SourceClickhouseClickhouse.md + - docs/models/shared/SourceClickhouseSchemasTunnelMethodTunnelMethod.md + - docs/models/shared/SourceClickhousePasswordAuthentication.md + - docs/models/shared/SourceClickhouseSchemasTunnelMethod.md + - docs/models/shared/SourceClickhouseSSHKeyAuthentication.md + - docs/models/shared/SourceClickhouseTunnelMethod.md + - docs/models/shared/SourceClickhouseNoTunnel.md + - docs/models/shared/SourceClickhouseSSHTunnelMethod.md + - docs/models/shared/SourceClickhouse.md + - docs/models/shared/ClickupApi.md + - docs/models/shared/SourceClickupApi.md + - docs/models/shared/Clockify.md + - docs/models/shared/SourceClockify.md + - docs/models/shared/CloseCom.md + - docs/models/shared/SourceCloseCom.md + - docs/models/shared/Coda.md + - docs/models/shared/SourceCoda.md + - docs/models/shared/Environment.md + - docs/models/shared/CoinApi.md + - docs/models/shared/SourceCoinApi.md + - docs/models/shared/DataType.md + - docs/models/shared/Coinmarketcap.md + - docs/models/shared/SourceCoinmarketcap.md + - docs/models/shared/Configcat.md + - docs/models/shared/SourceConfigcat.md + - docs/models/shared/Confluence.md + - docs/models/shared/SourceConfluence.md + - docs/models/shared/SourceConvexConvex.md + - docs/models/shared/SourceConvex.md + - docs/models/shared/Datascope.md + - docs/models/shared/SourceDatascope.md + - docs/models/shared/Delighted.md + - docs/models/shared/SourceDelighted.md + - docs/models/shared/Dixa.md + - docs/models/shared/SourceDixa.md + - docs/models/shared/Dockerhub.md + - docs/models/shared/SourceDockerhub.md + - docs/models/shared/Dremio.md + - docs/models/shared/SourceDremio.md + - docs/models/shared/SourceDynamodbDynamodbRegion.md + - docs/models/shared/SourceDynamodbDynamodb.md + - docs/models/shared/SourceDynamodb.md + - docs/models/shared/SourceE2eTestCloud.md + - docs/models/shared/Emailoctopus.md + - docs/models/shared/SourceEmailoctopus.md + - docs/models/shared/ExchangeRates.md + - docs/models/shared/SourceExchangeRates.md + - docs/models/shared/ValidAdStatuses.md + - docs/models/shared/ValidAdSetStatuses.md + - docs/models/shared/ValidCampaignStatuses.md + - docs/models/shared/ValidActionBreakdowns.md + - docs/models/shared/SourceFacebookMarketingActionReportTime.md + - docs/models/shared/ValidBreakdowns.md + - docs/models/shared/SourceFacebookMarketingValidEnums.md + - docs/models/shared/Level.md + - docs/models/shared/InsightConfig.md + - docs/models/shared/SourceFacebookMarketingFacebookMarketing.md + - docs/models/shared/SourceFacebookMarketing.md + - docs/models/shared/Faker.md + - docs/models/shared/SourceFaker.md + - docs/models/shared/SourceFaunaSchemasDeletionMode.md + - docs/models/shared/Enabled.md + - docs/models/shared/SourceFaunaDeletionMode.md + - docs/models/shared/Disabled.md + - docs/models/shared/DeletionMode.md + - docs/models/shared/Collection.md + - docs/models/shared/Fauna.md + - docs/models/shared/SourceFauna.md + - docs/models/shared/FileFormat.md + - docs/models/shared/SourceFileSchemasProviderStorageProvider7Storage.md + - docs/models/shared/SFTPSecureFileTransferProtocol.md + - docs/models/shared/SourceFileSchemasProviderStorageProvider6Storage.md + - docs/models/shared/SCPSecureCopyProtocol.md + - docs/models/shared/SourceFileSchemasProviderStorageProviderStorage.md + - docs/models/shared/SSHSecureShell.md + - docs/models/shared/SourceFileSchemasProviderStorage.md + - docs/models/shared/AzBlobAzureBlobStorage.md + - docs/models/shared/SourceFileSchemasStorage.md + - docs/models/shared/SourceFileS3AmazonWebServices.md + - docs/models/shared/SourceFileStorage.md + - docs/models/shared/GCSGoogleCloudStorage.md + - docs/models/shared/Storage.md + - docs/models/shared/HTTPSPublicWeb.md + - docs/models/shared/StorageProvider.md + - docs/models/shared/File.md + - docs/models/shared/SourceFile.md + - docs/models/shared/Firebolt.md + - docs/models/shared/SourceFirebolt.md + - docs/models/shared/Freshcaller.md + - docs/models/shared/SourceFreshcaller.md + - docs/models/shared/Freshdesk.md + - docs/models/shared/SourceFreshdesk.md + - docs/models/shared/Freshsales.md + - docs/models/shared/SourceFreshsales.md + - docs/models/shared/GainsightPx.md + - docs/models/shared/SourceGainsightPx.md + - docs/models/shared/SourceGcsGcs.md + - docs/models/shared/SourceGcsFiletype.md + - docs/models/shared/SourceGcsSchemasStreamsHeaderDefinitionType.md + - docs/models/shared/SourceGcsUserProvided.md + - docs/models/shared/SourceGcsSchemasHeaderDefinitionType.md + - docs/models/shared/SourceGcsAutogenerated.md + - docs/models/shared/SourceGcsHeaderDefinitionType.md + - docs/models/shared/SourceGcsFromCSV.md + - docs/models/shared/SourceGcsCSVHeaderDefinition.md + - docs/models/shared/SourceGcsInferenceType.md + - docs/models/shared/SourceGcsCSVFormat.md + - docs/models/shared/SourceGcsFormat.md + - docs/models/shared/SourceGcsValidationPolicy.md + - docs/models/shared/SourceGCSStreamConfig.md + - docs/models/shared/SourceGcs.md + - docs/models/shared/Getlago.md + - docs/models/shared/SourceGetlago.md + - docs/models/shared/SourceGithubOptionTitle.md + - docs/models/shared/SourceGithubPersonalAccessToken.md + - docs/models/shared/OptionTitle.md + - docs/models/shared/OAuth.md + - docs/models/shared/SourceGithubAuthentication.md + - docs/models/shared/SourceGithubGithub.md + - docs/models/shared/SourceGithub.md + - docs/models/shared/SourceGitlabSchemasAuthType.md + - docs/models/shared/PrivateToken.md + - docs/models/shared/SourceGitlabAuthType.md + - docs/models/shared/SourceGitlabOAuth20.md + - docs/models/shared/SourceGitlabAuthorizationMethod.md + - docs/models/shared/SourceGitlabGitlab.md + - docs/models/shared/SourceGitlab.md + - docs/models/shared/Glassfrog.md + - docs/models/shared/SourceGlassfrog.md + - docs/models/shared/Country.md + - docs/models/shared/In.md + - docs/models/shared/Language.md + - docs/models/shared/Nullable.md + - docs/models/shared/SortBy.md + - docs/models/shared/Gnews.md + - docs/models/shared/TopHeadlinesTopic.md + - docs/models/shared/SourceGnews.md + - docs/models/shared/GoogleCredentials.md + - docs/models/shared/CustomQueriesArray.md + - docs/models/shared/CustomerStatus.md + - docs/models/shared/SourceGoogleAdsGoogleAds.md + - docs/models/shared/SourceGoogleAds.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasAuthType.md + - docs/models/shared/ServiceAccountKeyAuthentication.md + - docs/models/shared/SourceGoogleAnalyticsDataApiAuthType.md + - docs/models/shared/AuthenticateViaGoogleOauth.md + - docs/models/shared/SourceGoogleAnalyticsDataApiCredentials.md + - docs/models/shared/CohortReportSettings.md + - docs/models/shared/DateRange.md + - docs/models/shared/Dimension.md + - docs/models/shared/Cohorts.md + - docs/models/shared/SourceGoogleAnalyticsDataApiGranularity.md + - docs/models/shared/CohortsRange.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayEnabled.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasEnabled.md + - docs/models/shared/SourceGoogleAnalyticsDataApiEnabled.md + - docs/models/shared/SourceGoogleAnalyticsDataApiDisabled.md + - docs/models/shared/CohortReports.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiDoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiInt64Value.md + - docs/models/shared/FromValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasDoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasInt64Value.md + - docs/models/shared/ToValue.md + - docs/models/shared/BetweenFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasValidEnums.md + - docs/models/shared/SourceGoogleAnalyticsDataApiValueType.md + - docs/models/shared/DoubleValue.md + - docs/models/shared/ValueType.md + - docs/models/shared/Int64Value.md + - docs/models/shared/Value.md + - docs/models/shared/NumericFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiFilterName.md + - docs/models/shared/InListFilter.md + - docs/models/shared/FilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiValidEnums.md + - docs/models/shared/StringFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterType.md + - docs/models/shared/Filter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasFromValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ToValueValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasToValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasBetweenFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasNumericFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasInListFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3FilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasStringFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasExpression.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasFilterType.md + - docs/models/shared/NotExpression.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilterValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ToValueValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2FilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValidEnums.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiExpression.md + - docs/models/shared/SourceGoogleAnalyticsDataApiFilterType.md + - docs/models/shared/OrGroup.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ToValueValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1FilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter.md + - docs/models/shared/Expression.md + - docs/models/shared/FilterType.md + - docs/models/shared/AndGroup.md + - docs/models/shared/DimensionsFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4ValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiFromValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilter4ValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiToValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiBetweenFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValidEnums.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiNumericFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiInListFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValidEnums.md + - docs/models/shared/SourceGoogleAnalyticsDataApiStringFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ToValueValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiNotExpression.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ToValueValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2FilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiOrGroup.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1FilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterName.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression.md + - docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterType.md + - docs/models/shared/SourceGoogleAnalyticsDataApiAndGroup.md + - docs/models/shared/MetricsFilter.md + - docs/models/shared/SourceGoogleAnalyticsDataApiCustomReportConfig.md + - docs/models/shared/SourceGoogleAnalyticsDataApiGoogleAnalyticsDataApi.md + - docs/models/shared/SourceGoogleAnalyticsDataApi.md + - docs/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyAuthType.md + - docs/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication.md + - docs/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials.md + - docs/models/shared/GoogleAnalyticsV4ServiceAccountOnly.md + - docs/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnly.md + - docs/models/shared/SourceGoogleDirectorySchemasCredentialsTitle.md + - docs/models/shared/ServiceAccountKey.md + - docs/models/shared/SourceGoogleDirectoryCredentialsTitle.md + - docs/models/shared/SignInViaGoogleOAuth.md + - docs/models/shared/SourceGoogleDirectoryGoogleCredentials.md + - docs/models/shared/GoogleDirectory.md + - docs/models/shared/SourceGoogleDirectory.md + - docs/models/shared/SourceGoogleDriveSchemasAuthType.md + - docs/models/shared/SourceGoogleDriveServiceAccountKeyAuthentication.md + - docs/models/shared/SourceGoogleDriveAuthType.md + - docs/models/shared/SourceGoogleDriveAuthenticateViaGoogleOAuth.md + - docs/models/shared/SourceGoogleDriveAuthentication.md + - docs/models/shared/SourceGoogleDriveGoogleDrive.md + - docs/models/shared/SourceGoogleDriveSchemasStreamsFormatFormatFiletype.md + - docs/models/shared/SourceGoogleDriveMode.md + - docs/models/shared/SourceGoogleDriveLocal.md + - docs/models/shared/SourceGoogleDriveProcessing.md + - docs/models/shared/SourceGoogleDriveParsingStrategy.md + - docs/models/shared/SourceGoogleDriveDocumentFileTypeFormatExperimental.md + - docs/models/shared/SourceGoogleDriveSchemasStreamsFormatFiletype.md + - docs/models/shared/SourceGoogleDriveParquetFormat.md + - docs/models/shared/SourceGoogleDriveSchemasStreamsFiletype.md + - docs/models/shared/SourceGoogleDriveJsonlFormat.md + - docs/models/shared/SourceGoogleDriveSchemasFiletype.md + - docs/models/shared/SourceGoogleDriveSchemasStreamsHeaderDefinitionType.md + - docs/models/shared/SourceGoogleDriveUserProvided.md + - docs/models/shared/SourceGoogleDriveSchemasHeaderDefinitionType.md + - docs/models/shared/SourceGoogleDriveAutogenerated.md + - docs/models/shared/SourceGoogleDriveHeaderDefinitionType.md + - docs/models/shared/SourceGoogleDriveFromCSV.md + - docs/models/shared/SourceGoogleDriveCSVHeaderDefinition.md + - docs/models/shared/SourceGoogleDriveCSVFormat.md + - docs/models/shared/SourceGoogleDriveFiletype.md + - docs/models/shared/SourceGoogleDriveAvroFormat.md + - docs/models/shared/SourceGoogleDriveFormat.md + - docs/models/shared/SourceGoogleDriveValidationPolicy.md + - docs/models/shared/SourceGoogleDriveFileBasedStreamConfig.md + - docs/models/shared/SourceGoogleDrive.md + - docs/models/shared/Categories.md + - docs/models/shared/GooglePagespeedInsights.md + - docs/models/shared/Strategies.md + - docs/models/shared/SourceGooglePagespeedInsights.md + - docs/models/shared/SourceGoogleSearchConsoleSchemasAuthType.md + - docs/models/shared/SourceGoogleSearchConsoleServiceAccountKeyAuthentication.md + - docs/models/shared/SourceGoogleSearchConsoleAuthType.md + - docs/models/shared/SourceGoogleSearchConsoleOAuth.md + - docs/models/shared/AuthenticationType.md + - docs/models/shared/SourceGoogleSearchConsoleValidEnums.md + - docs/models/shared/SourceGoogleSearchConsoleCustomReportConfig.md + - docs/models/shared/DataFreshness.md + - docs/models/shared/SourceGoogleSearchConsoleGoogleSearchConsole.md + - docs/models/shared/SourceGoogleSearchConsole.md + - docs/models/shared/SourceGoogleSheetsSchemasAuthType.md + - docs/models/shared/SourceGoogleSheetsServiceAccountKeyAuthentication.md + - docs/models/shared/SourceGoogleSheetsAuthType.md + - docs/models/shared/SourceGoogleSheetsAuthenticateViaGoogleOAuth.md + - docs/models/shared/SourceGoogleSheetsAuthentication.md + - docs/models/shared/SourceGoogleSheetsGoogleSheets.md + - docs/models/shared/SourceGoogleSheets.md + - docs/models/shared/GoogleWebfonts.md + - docs/models/shared/SourceGoogleWebfonts.md + - docs/models/shared/Greenhouse.md + - docs/models/shared/SourceGreenhouse.md + - docs/models/shared/Gridly.md + - docs/models/shared/SourceGridly.md + - docs/models/shared/SourceHarvestHarvest.md + - docs/models/shared/SourceHarvest.md + - docs/models/shared/Hubplanner.md + - docs/models/shared/SourceHubplanner.md + - docs/models/shared/SourceHubspotSchemasAuthType.md + - docs/models/shared/PrivateApp.md + - docs/models/shared/SourceHubspotAuthType.md + - docs/models/shared/SourceHubspotOAuth.md + - docs/models/shared/SourceHubspotAuthentication.md + - docs/models/shared/SourceHubspotHubspot.md + - docs/models/shared/SourceHubspot.md + - docs/models/shared/Insightly.md + - docs/models/shared/SourceInsightly.md + - docs/models/shared/SourceInstagramInstagram.md + - docs/models/shared/SourceInstagram.md + - docs/models/shared/Instatus.md + - docs/models/shared/SourceInstatus.md + - docs/models/shared/SourceIntercomIntercom.md + - docs/models/shared/SourceIntercom.md + - docs/models/shared/Ip2whois.md + - docs/models/shared/SourceIp2whois.md + - docs/models/shared/Iterable.md + - docs/models/shared/SourceIterable.md + - docs/models/shared/IssuesStreamExpandWith.md + - docs/models/shared/Jira.md + - docs/models/shared/SourceJira.md + - docs/models/shared/K6Cloud.md + - docs/models/shared/SourceK6Cloud.md + - docs/models/shared/SourceKlarnaRegion.md + - docs/models/shared/Klarna.md + - docs/models/shared/SourceKlarna.md + - docs/models/shared/Klaviyo.md + - docs/models/shared/SourceKlaviyo.md + - docs/models/shared/Kyve.md + - docs/models/shared/SourceKyve.md + - docs/models/shared/Launchdarkly.md + - docs/models/shared/SourceLaunchdarkly.md + - docs/models/shared/Lemlist.md + - docs/models/shared/SourceLemlist.md + - docs/models/shared/SourceLeverHiringSchemasAuthType.md + - docs/models/shared/AuthenticateViaLeverApiKey.md + - docs/models/shared/SourceLeverHiringAuthType.md + - docs/models/shared/AuthenticateViaLeverOAuth.md + - docs/models/shared/SourceLeverHiringAuthenticationMechanism.md + - docs/models/shared/SourceLeverHiringEnvironment.md + - docs/models/shared/SourceLeverHiringLeverHiring.md + - docs/models/shared/SourceLeverHiring.md + - docs/models/shared/PivotCategory.md + - docs/models/shared/TimeGranularity.md + - docs/models/shared/AdAnalyticsReportConfiguration.md + - docs/models/shared/SourceLinkedinAdsSchemasAuthMethod.md + - docs/models/shared/AccessToken.md + - docs/models/shared/SourceLinkedinAdsAuthMethod.md + - docs/models/shared/SourceLinkedinAdsOAuth20.md + - docs/models/shared/SourceLinkedinAdsAuthentication.md + - docs/models/shared/SourceLinkedinAdsLinkedinAds.md + - docs/models/shared/SourceLinkedinAds.md + - docs/models/shared/SourceLinkedinPagesSchemasAuthMethod.md + - docs/models/shared/SourceLinkedinPagesAccessToken.md + - docs/models/shared/SourceLinkedinPagesAuthMethod.md + - docs/models/shared/SourceLinkedinPagesOAuth20.md + - docs/models/shared/SourceLinkedinPagesAuthentication.md + - docs/models/shared/LinkedinPages.md + - docs/models/shared/SourceLinkedinPages.md + - docs/models/shared/Linnworks.md + - docs/models/shared/SourceLinnworks.md + - docs/models/shared/Lokalise.md + - docs/models/shared/SourceLokalise.md + - docs/models/shared/SourceMailchimpSchemasAuthType.md + - docs/models/shared/APIKey.md + - docs/models/shared/SourceMailchimpAuthType.md + - docs/models/shared/SourceMailchimpOAuth20.md + - docs/models/shared/SourceMailchimpAuthentication.md + - docs/models/shared/SourceMailchimpMailchimp.md + - docs/models/shared/SourceMailchimp.md + - docs/models/shared/Mailgun.md + - docs/models/shared/SourceMailgun.md + - docs/models/shared/MailjetSms.md + - docs/models/shared/SourceMailjetSms.md + - docs/models/shared/Marketo.md + - docs/models/shared/SourceMarketo.md + - docs/models/shared/Metabase.md + - docs/models/shared/SourceMetabase.md + - docs/models/shared/SourceMicrosoftOnedriveSchemasAuthType.md + - docs/models/shared/ServiceKeyAuthentication.md + - docs/models/shared/SourceMicrosoftOnedriveAuthType.md + - docs/models/shared/AuthenticateViaMicrosoftOAuth.md + - docs/models/shared/SourceMicrosoftOnedriveAuthentication.md + - docs/models/shared/SearchScope.md + - docs/models/shared/SourceMicrosoftOnedriveMicrosoftOnedrive.md + - docs/models/shared/SourceMicrosoftOnedriveSchemasStreamsFormatFormatFiletype.md + - docs/models/shared/SourceMicrosoftOnedriveMode.md + - docs/models/shared/SourceMicrosoftOnedriveLocal.md + - docs/models/shared/SourceMicrosoftOnedriveProcessing.md + - docs/models/shared/SourceMicrosoftOnedriveParsingStrategy.md + - docs/models/shared/SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental.md + - docs/models/shared/SourceMicrosoftOnedriveSchemasStreamsFormatFiletype.md + - docs/models/shared/SourceMicrosoftOnedriveParquetFormat.md + - docs/models/shared/SourceMicrosoftOnedriveSchemasStreamsFiletype.md + - docs/models/shared/SourceMicrosoftOnedriveJsonlFormat.md + - docs/models/shared/SourceMicrosoftOnedriveSchemasFiletype.md + - docs/models/shared/SourceMicrosoftOnedriveSchemasStreamsHeaderDefinitionType.md + - docs/models/shared/SourceMicrosoftOnedriveUserProvided.md + - docs/models/shared/SourceMicrosoftOnedriveSchemasHeaderDefinitionType.md + - docs/models/shared/SourceMicrosoftOnedriveAutogenerated.md + - docs/models/shared/SourceMicrosoftOnedriveHeaderDefinitionType.md + - docs/models/shared/SourceMicrosoftOnedriveFromCSV.md + - docs/models/shared/SourceMicrosoftOnedriveCSVHeaderDefinition.md + - docs/models/shared/SourceMicrosoftOnedriveCSVFormat.md + - docs/models/shared/SourceMicrosoftOnedriveFiletype.md + - docs/models/shared/SourceMicrosoftOnedriveAvroFormat.md + - docs/models/shared/SourceMicrosoftOnedriveFormat.md + - docs/models/shared/SourceMicrosoftOnedriveValidationPolicy.md + - docs/models/shared/SourceMicrosoftOnedriveFileBasedStreamConfig.md + - docs/models/shared/SourceMicrosoftOnedrive.md + - docs/models/shared/SourceMicrosoftSharepointSchemasAuthType.md + - docs/models/shared/SourceMicrosoftSharepointServiceKeyAuthentication.md + - docs/models/shared/SourceMicrosoftSharepointAuthType.md + - docs/models/shared/SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth.md + - docs/models/shared/SourceMicrosoftSharepointAuthentication.md + - docs/models/shared/SourceMicrosoftSharepointSearchScope.md + - docs/models/shared/SourceMicrosoftSharepointMicrosoftSharepoint.md + - docs/models/shared/SourceMicrosoftSharepointSchemasStreamsFormatFormatFiletype.md + - docs/models/shared/SourceMicrosoftSharepointMode.md + - docs/models/shared/SourceMicrosoftSharepointLocal.md + - docs/models/shared/SourceMicrosoftSharepointProcessing.md + - docs/models/shared/SourceMicrosoftSharepointParsingStrategy.md + - docs/models/shared/SourceMicrosoftSharepointDocumentFileTypeFormatExperimental.md + - docs/models/shared/SourceMicrosoftSharepointSchemasStreamsFormatFiletype.md + - docs/models/shared/SourceMicrosoftSharepointParquetFormat.md + - docs/models/shared/SourceMicrosoftSharepointSchemasStreamsFiletype.md + - docs/models/shared/SourceMicrosoftSharepointJsonlFormat.md + - docs/models/shared/SourceMicrosoftSharepointSchemasFiletype.md + - docs/models/shared/SourceMicrosoftSharepointSchemasStreamsHeaderDefinitionType.md + - docs/models/shared/SourceMicrosoftSharepointUserProvided.md + - docs/models/shared/SourceMicrosoftSharepointSchemasHeaderDefinitionType.md + - docs/models/shared/SourceMicrosoftSharepointAutogenerated.md + - docs/models/shared/SourceMicrosoftSharepointHeaderDefinitionType.md + - docs/models/shared/SourceMicrosoftSharepointFromCSV.md + - docs/models/shared/SourceMicrosoftSharepointCSVHeaderDefinition.md + - docs/models/shared/SourceMicrosoftSharepointCSVFormat.md + - docs/models/shared/SourceMicrosoftSharepointFiletype.md + - docs/models/shared/SourceMicrosoftSharepointAvroFormat.md + - docs/models/shared/SourceMicrosoftSharepointFormat.md + - docs/models/shared/SourceMicrosoftSharepointValidationPolicy.md + - docs/models/shared/SourceMicrosoftSharepointFileBasedStreamConfig.md + - docs/models/shared/SourceMicrosoftSharepoint.md + - docs/models/shared/SourceMicrosoftTeamsSchemasAuthType.md + - docs/models/shared/AuthenticateViaMicrosoft.md + - docs/models/shared/SourceMicrosoftTeamsAuthType.md + - docs/models/shared/AuthenticateViaMicrosoftOAuth20.md + - docs/models/shared/SourceMicrosoftTeamsAuthenticationMechanism.md + - docs/models/shared/SourceMicrosoftTeamsMicrosoftTeams.md + - docs/models/shared/SourceMicrosoftTeams.md + - docs/models/shared/SourceMixpanelSchemasOptionTitle.md + - docs/models/shared/ProjectSecret.md + - docs/models/shared/SourceMixpanelOptionTitle.md + - docs/models/shared/ServiceAccount.md + - docs/models/shared/AuthenticationWildcard.md + - docs/models/shared/SourceMixpanelRegion.md + - docs/models/shared/Mixpanel.md + - docs/models/shared/SourceMixpanel.md + - docs/models/shared/SourceMondaySchemasAuthType.md + - docs/models/shared/APIToken.md + - docs/models/shared/SourceMondayAuthType.md + - docs/models/shared/SourceMondayOAuth20.md + - docs/models/shared/SourceMondayAuthorizationMethod.md + - docs/models/shared/SourceMondayMonday.md + - docs/models/shared/SourceMonday.md + - docs/models/shared/MongodbInternalPoc.md + - docs/models/shared/SourceMongodbInternalPoc.md + - docs/models/shared/InvalidCDCPositionBehaviorAdvanced.md + - docs/models/shared/MongodbV2.md + - docs/models/shared/SourceMongodbV2.md + - docs/models/shared/SourceMssqlSchemasMethod.md + - docs/models/shared/ScanChangesWithUserDefinedCursor.md + - docs/models/shared/SourceMssqlInvalidCDCPositionBehaviorAdvanced.md + - docs/models/shared/SourceMssqlMethod.md + - docs/models/shared/ReadChangesUsingChangeDataCaptureCDC.md + - docs/models/shared/UpdateMethod.md + - docs/models/shared/SourceMssqlMssql.md + - docs/models/shared/SourceMssqlSchemasSSLMethodSSLMethodSSLMethod.md + - docs/models/shared/SourceMssqlEncryptedVerifyCertificate.md + - docs/models/shared/SourceMssqlSchemasSslMethodSslMethod.md + - docs/models/shared/SourceMssqlEncryptedTrustServerCertificate.md + - docs/models/shared/SourceMssqlSchemasSslMethod.md + - docs/models/shared/Unencrypted.md + - docs/models/shared/SourceMssqlSSLMethod.md + - docs/models/shared/SourceMssqlSchemasTunnelMethodTunnelMethod.md + - docs/models/shared/SourceMssqlPasswordAuthentication.md + - docs/models/shared/SourceMssqlSchemasTunnelMethod.md + - docs/models/shared/SourceMssqlSSHKeyAuthentication.md + - docs/models/shared/SourceMssqlTunnelMethod.md + - docs/models/shared/SourceMssqlNoTunnel.md + - docs/models/shared/SourceMssqlSSHTunnelMethod.md + - docs/models/shared/SourceMssql.md + - docs/models/shared/MyHours.md + - docs/models/shared/SourceMyHours.md + - docs/models/shared/SourceMysqlSchemasMethod.md + - docs/models/shared/SourceMysqlScanChangesWithUserDefinedCursor.md + - docs/models/shared/SourceMysqlInvalidCDCPositionBehaviorAdvanced.md + - docs/models/shared/SourceMysqlMethod.md + - docs/models/shared/ReadChangesUsingBinaryLogCDC.md + - docs/models/shared/SourceMysqlUpdateMethod.md + - docs/models/shared/SourceMysqlMysql.md + - docs/models/shared/SourceMysqlSchemasSSLModeSSLModesMode.md + - docs/models/shared/VerifyIdentity.md + - docs/models/shared/SourceMysqlSchemasSslModeMode.md + - docs/models/shared/SourceMysqlVerifyCA.md + - docs/models/shared/SourceMysqlSchemasMode.md + - docs/models/shared/Required.md + - docs/models/shared/SourceMysqlMode.md + - docs/models/shared/Preferred.md + - docs/models/shared/SourceMysqlSSLModes.md + - docs/models/shared/SourceMysqlSchemasTunnelMethodTunnelMethod.md + - docs/models/shared/SourceMysqlPasswordAuthentication.md + - docs/models/shared/SourceMysqlSchemasTunnelMethod.md + - docs/models/shared/SourceMysqlSSHKeyAuthentication.md + - docs/models/shared/SourceMysqlTunnelMethod.md + - docs/models/shared/SourceMysqlNoTunnel.md + - docs/models/shared/SourceMysqlSSHTunnelMethod.md + - docs/models/shared/SourceMysql.md + - docs/models/shared/Netsuite.md + - docs/models/shared/SourceNetsuite.md + - docs/models/shared/SourceNotionSchemasAuthType.md + - docs/models/shared/SourceNotionAccessToken.md + - docs/models/shared/SourceNotionAuthType.md + - docs/models/shared/SourceNotionOAuth20.md + - docs/models/shared/SourceNotionAuthenticationMethod.md + - docs/models/shared/SourceNotionNotion.md + - docs/models/shared/SourceNotion.md + - docs/models/shared/PeriodUsedForMostPopularStreams.md + - docs/models/shared/ShareTypeUsedForMostPopularSharedStream.md + - docs/models/shared/Nytimes.md + - docs/models/shared/SourceNytimes.md + - docs/models/shared/SourceOktaSchemasAuthType.md + - docs/models/shared/SourceOktaAPIToken.md + - docs/models/shared/SourceOktaAuthType.md + - docs/models/shared/SourceOktaOAuth20.md + - docs/models/shared/SourceOktaAuthorizationMethod.md + - docs/models/shared/Okta.md + - docs/models/shared/SourceOkta.md + - docs/models/shared/Omnisend.md + - docs/models/shared/SourceOmnisend.md + - docs/models/shared/Applications.md + - docs/models/shared/Onesignal.md + - docs/models/shared/SourceOnesignal.md + - docs/models/shared/SourceOracleConnectionType.md + - docs/models/shared/SystemIDSID.md + - docs/models/shared/ConnectionType.md + - docs/models/shared/ServiceName.md + - docs/models/shared/ConnectBy.md + - docs/models/shared/SourceOracleEncryptionMethod.md + - docs/models/shared/TLSEncryptedVerifyCertificate.md + - docs/models/shared/EncryptionAlgorithm.md + - docs/models/shared/EncryptionMethod.md + - docs/models/shared/NativeNetworkEncryptionNNE.md + - docs/models/shared/Encryption.md + - docs/models/shared/SourceOracleOracle.md + - docs/models/shared/SourceOracleSchemasTunnelMethodTunnelMethod.md + - docs/models/shared/SourceOraclePasswordAuthentication.md + - docs/models/shared/SourceOracleSchemasTunnelMethod.md + - docs/models/shared/SourceOracleSSHKeyAuthentication.md + - docs/models/shared/SourceOracleTunnelMethod.md + - docs/models/shared/SourceOracleNoTunnel.md + - docs/models/shared/SourceOracleSSHTunnelMethod.md + - docs/models/shared/SourceOracle.md + - docs/models/shared/Orb.md + - docs/models/shared/SourceOrb.md + - docs/models/shared/Orbit.md + - docs/models/shared/SourceOrbit.md + - docs/models/shared/BothUsernameAndPasswordIsRequiredForAuthenticationRequest.md + - docs/models/shared/SourceOutbrainAmplifyUsernamePassword.md + - docs/models/shared/AccessTokenIsRequiredForAuthenticationRequests.md + - docs/models/shared/SourceOutbrainAmplifyAccessToken.md + - docs/models/shared/SourceOutbrainAmplifyAuthenticationMethod.md + - docs/models/shared/GranularityForGeoLocationRegion.md + - docs/models/shared/GranularityForPeriodicReports.md + - docs/models/shared/OutbrainAmplify.md + - docs/models/shared/SourceOutbrainAmplify.md + - docs/models/shared/Outreach.md + - docs/models/shared/SourceOutreach.md + - docs/models/shared/PaypalTransaction.md + - docs/models/shared/SourcePaypalTransaction.md + - docs/models/shared/Paystack.md + - docs/models/shared/SourcePaystack.md + - docs/models/shared/Pendo.md + - docs/models/shared/SourcePendo.md + - docs/models/shared/Persistiq.md + - docs/models/shared/SourcePersistiq.md + - docs/models/shared/PexelsApi.md + - docs/models/shared/SourcePexelsApi.md + - docs/models/shared/SourcePinterestAuthMethod.md + - docs/models/shared/OAuth20.md + - docs/models/shared/SourcePinterestValidEnums.md + - docs/models/shared/ClickWindowDays.md + - docs/models/shared/SourcePinterestSchemasValidEnums.md + - docs/models/shared/ConversionReportTime.md + - docs/models/shared/EngagementWindowDays.md + - docs/models/shared/Granularity.md + - docs/models/shared/SourcePinterestLevel.md + - docs/models/shared/ViewWindowDays.md + - docs/models/shared/ReportConfig.md + - docs/models/shared/SourcePinterestPinterest.md + - docs/models/shared/Status.md + - docs/models/shared/SourcePinterest.md + - docs/models/shared/Pipedrive.md + - docs/models/shared/SourcePipedrive.md + - docs/models/shared/ContentType.md + - docs/models/shared/DetailType.md + - docs/models/shared/SourcePocketSortBy.md + - docs/models/shared/Pocket.md + - docs/models/shared/State.md + - docs/models/shared/SourcePocket.md + - docs/models/shared/PokemonName.md + - docs/models/shared/Pokeapi.md + - docs/models/shared/SourcePokeapi.md + - docs/models/shared/PolygonStockApi.md + - docs/models/shared/SourcePolygonStockApi.md + - docs/models/shared/SourcePostgresSchemasMethod.md + - docs/models/shared/SourcePostgresScanChangesWithUserDefinedCursor.md + - docs/models/shared/SourcePostgresMethod.md + - docs/models/shared/DetectChangesWithXminSystemColumn.md + - docs/models/shared/SourcePostgresUpdateMethod.md + - docs/models/shared/SourcePostgresPostgres.md + - docs/models/shared/SourcePostgresSchemasTunnelMethodTunnelMethod.md + - docs/models/shared/SourcePostgresPasswordAuthentication.md + - docs/models/shared/SourcePostgresSchemasTunnelMethod.md + - docs/models/shared/SourcePostgresSSHKeyAuthentication.md + - docs/models/shared/SourcePostgresTunnelMethod.md + - docs/models/shared/SourcePostgresNoTunnel.md + - docs/models/shared/SourcePostgresSSHTunnelMethod.md + - docs/models/shared/SourcePostgres.md + - docs/models/shared/Posthog.md + - docs/models/shared/SourcePosthog.md + - docs/models/shared/Postmarkapp.md + - docs/models/shared/SourcePostmarkapp.md + - docs/models/shared/Prestashop.md + - docs/models/shared/SourcePrestashop.md + - docs/models/shared/PunkApi.md + - docs/models/shared/SourcePunkApi.md + - docs/models/shared/Pypi.md + - docs/models/shared/SourcePypi.md + - docs/models/shared/Qualaroo.md + - docs/models/shared/SourceQualaroo.md + - docs/models/shared/SourceQuickbooksAuthType.md + - docs/models/shared/SourceQuickbooksOAuth20.md + - docs/models/shared/SourceQuickbooksAuthorizationMethod.md + - docs/models/shared/Quickbooks.md + - docs/models/shared/SourceQuickbooks.md + - docs/models/shared/Railz.md + - docs/models/shared/SourceRailz.md + - docs/models/shared/Recharge.md + - docs/models/shared/SourceRecharge.md + - docs/models/shared/Recreation.md + - docs/models/shared/SourceRecreation.md + - docs/models/shared/Recruitee.md + - docs/models/shared/SourceRecruitee.md + - docs/models/shared/Recurly.md + - docs/models/shared/SourceRecurly.md + - docs/models/shared/SourceRedshiftRedshift.md + - docs/models/shared/SourceRedshift.md + - docs/models/shared/SourceRetentlyRetently.md + - docs/models/shared/SourceRetently.md + - docs/models/shared/RkiCovid.md + - docs/models/shared/SourceRkiCovid.md + - docs/models/shared/Rss.md + - docs/models/shared/SourceRss.md + - docs/models/shared/SourceS3SchemasFormatFiletype.md + - docs/models/shared/UnexpectedFieldBehavior.md + - docs/models/shared/Jsonl.md + - docs/models/shared/SourceS3SchemasFiletype.md + - docs/models/shared/Avro.md + - docs/models/shared/SourceS3Filetype.md + - docs/models/shared/Parquet.md + - docs/models/shared/SourceS3SchemasFormatFileFormatFiletype.md + - docs/models/shared/Csv.md + - docs/models/shared/SourceS3FileFormat.md + - docs/models/shared/S3AmazonWebServices.md + - docs/models/shared/SourceS3S3.md + - docs/models/shared/SourceS3SchemasStreamsFormatFormat5Filetype.md + - docs/models/shared/SourceS3Mode.md + - docs/models/shared/SourceS3Local.md + - docs/models/shared/SourceS3Processing.md + - docs/models/shared/SourceS3ParsingStrategy.md + - docs/models/shared/SourceS3DocumentFileTypeFormatExperimental.md + - docs/models/shared/SourceS3SchemasStreamsFormatFormat4Filetype.md + - docs/models/shared/SourceS3ParquetFormat.md + - docs/models/shared/SourceS3SchemasStreamsFormatFormatFiletype.md + - docs/models/shared/SourceS3JsonlFormat.md + - docs/models/shared/SourceS3SchemasStreamsFormatFiletype.md + - docs/models/shared/SourceS3SchemasStreamsHeaderDefinitionType.md + - docs/models/shared/SourceS3UserProvided.md + - docs/models/shared/SourceS3SchemasHeaderDefinitionType.md + - docs/models/shared/SourceS3Autogenerated.md + - docs/models/shared/SourceS3HeaderDefinitionType.md + - docs/models/shared/SourceS3FromCSV.md + - docs/models/shared/SourceS3CSVHeaderDefinition.md + - docs/models/shared/SourceS3InferenceType.md + - docs/models/shared/SourceS3CSVFormat.md + - docs/models/shared/SourceS3SchemasStreamsFiletype.md + - docs/models/shared/SourceS3AvroFormat.md + - docs/models/shared/SourceS3Format.md + - docs/models/shared/SourceS3ValidationPolicy.md + - docs/models/shared/SourceS3FileBasedStreamConfig.md + - docs/models/shared/SourceS3.md + - docs/models/shared/AuthType.md + - docs/models/shared/SourceSalesforceSalesforce.md + - docs/models/shared/SearchCriteria.md + - docs/models/shared/StreamsCriteria.md + - docs/models/shared/SourceSalesforce.md + - docs/models/shared/SourceSalesloftSchemasAuthType.md + - docs/models/shared/AuthenticateViaAPIKey.md + - docs/models/shared/SourceSalesloftAuthType.md + - docs/models/shared/AuthenticateViaOAuth.md + - docs/models/shared/SourceSalesloftCredentials.md + - docs/models/shared/Salesloft.md + - docs/models/shared/SourceSalesloft.md + - docs/models/shared/SapFieldglass.md + - docs/models/shared/SourceSapFieldglass.md + - docs/models/shared/Secoda.md + - docs/models/shared/SourceSecoda.md + - docs/models/shared/Sendgrid.md + - docs/models/shared/SourceSendgrid.md + - docs/models/shared/Sendinblue.md + - docs/models/shared/SourceSendinblue.md + - docs/models/shared/Senseforce.md + - docs/models/shared/SourceSenseforce.md + - docs/models/shared/Sentry.md + - docs/models/shared/SourceSentry.md + - docs/models/shared/SourceSftpSchemasAuthMethod.md + - docs/models/shared/SourceSftpSSHKeyAuthentication.md + - docs/models/shared/SourceSftpAuthMethod.md + - docs/models/shared/SourceSftpPasswordAuthentication.md + - docs/models/shared/SourceSftpAuthentication.md + - docs/models/shared/Sftp.md + - docs/models/shared/SourceSftp.md + - docs/models/shared/FileType.md + - docs/models/shared/SftpBulk.md + - docs/models/shared/SourceSftpBulk.md + - docs/models/shared/SourceShopifySchemasAuthMethod.md + - docs/models/shared/APIPassword.md + - docs/models/shared/SourceShopifyAuthMethod.md + - docs/models/shared/SourceShopifyOAuth20.md + - docs/models/shared/ShopifyAuthorizationMethod.md + - docs/models/shared/SourceShopifyShopify.md + - docs/models/shared/SourceShopify.md + - docs/models/shared/Shortio.md + - docs/models/shared/SourceShortio.md + - docs/models/shared/SourceSlackSchemasOptionTitle.md + - docs/models/shared/SourceSlackAPIToken.md + - docs/models/shared/SourceSlackOptionTitle.md + - docs/models/shared/SignInViaSlackOAuth.md + - docs/models/shared/SourceSlackAuthenticationMechanism.md + - docs/models/shared/SourceSlackSlack.md + - docs/models/shared/SourceSlack.md + - docs/models/shared/Smaily.md + - docs/models/shared/SourceSmaily.md + - docs/models/shared/Smartengage.md + - docs/models/shared/SourceSmartengage.md + - docs/models/shared/SourceSmartsheetsSchemasAuthType.md + - docs/models/shared/APIAccessToken.md + - docs/models/shared/SourceSmartsheetsAuthType.md + - docs/models/shared/SourceSmartsheetsOAuth20.md + - docs/models/shared/SourceSmartsheetsAuthorizationMethod.md + - docs/models/shared/Validenums.md + - docs/models/shared/SourceSmartsheetsSmartsheets.md + - docs/models/shared/SourceSmartsheets.md + - docs/models/shared/ActionReportTime.md + - docs/models/shared/SourceSnapchatMarketingSnapchatMarketing.md + - docs/models/shared/SwipeUpAttributionWindow.md + - docs/models/shared/ViewAttributionWindow.md + - docs/models/shared/SourceSnapchatMarketing.md + - docs/models/shared/SourceSnowflakeSchemasAuthType.md + - docs/models/shared/SourceSnowflakeUsernameAndPassword.md + - docs/models/shared/SourceSnowflakeAuthType.md + - docs/models/shared/SourceSnowflakeOAuth20.md + - docs/models/shared/SourceSnowflakeAuthorizationMethod.md + - docs/models/shared/SourceSnowflakeSnowflake.md + - docs/models/shared/SourceSnowflake.md + - docs/models/shared/SonarCloud.md + - docs/models/shared/SourceSonarCloud.md + - docs/models/shared/SpacexApi.md + - docs/models/shared/SourceSpacexApi.md + - docs/models/shared/SourceSquareSchemasAuthType.md + - docs/models/shared/SourceSquareAPIKey.md + - docs/models/shared/SourceSquareAuthType.md + - docs/models/shared/OauthAuthentication.md + - docs/models/shared/SourceSquareAuthentication.md + - docs/models/shared/SourceSquareSquare.md + - docs/models/shared/SourceSquare.md + - docs/models/shared/SourceStravaAuthType.md + - docs/models/shared/SourceStravaStrava.md + - docs/models/shared/SourceStrava.md + - docs/models/shared/Stripe.md + - docs/models/shared/SourceStripe.md + - docs/models/shared/SourceSurveySparrowUrlBase.md + - docs/models/shared/GlobalAccount.md + - docs/models/shared/UrlBase.md + - docs/models/shared/EUBasedAccount.md + - docs/models/shared/BaseURL.md + - docs/models/shared/SurveySparrow.md + - docs/models/shared/SourceSurveySparrow.md + - docs/models/shared/SourceSurveymonkeyAuthMethod.md + - docs/models/shared/SurveyMonkeyAuthorizationMethod.md + - docs/models/shared/OriginDatacenterOfTheSurveyMonkeyAccount.md + - docs/models/shared/SourceSurveymonkeySurveymonkey.md + - docs/models/shared/SourceSurveymonkey.md + - docs/models/shared/Tempo.md + - docs/models/shared/SourceTempo.md + - docs/models/shared/TheGuardianApi.md + - docs/models/shared/SourceTheGuardianApi.md + - docs/models/shared/SourceTiktokMarketingSchemasAuthType.md + - docs/models/shared/SandboxAccessToken.md + - docs/models/shared/SourceTiktokMarketingAuthType.md + - docs/models/shared/SourceTiktokMarketingOAuth20.md + - docs/models/shared/SourceTiktokMarketingAuthenticationMethod.md + - docs/models/shared/SourceTiktokMarketingTiktokMarketing.md + - docs/models/shared/SourceTiktokMarketing.md + - docs/models/shared/Trello.md + - docs/models/shared/SourceTrello.md + - docs/models/shared/SourceTrustpilotSchemasAuthType.md + - docs/models/shared/SourceTrustpilotAPIKey.md + - docs/models/shared/SourceTrustpilotAuthType.md + - docs/models/shared/SourceTrustpilotOAuth20.md + - docs/models/shared/SourceTrustpilotAuthorizationMethod.md + - docs/models/shared/Trustpilot.md + - docs/models/shared/SourceTrustpilot.md + - docs/models/shared/TvmazeSchedule.md + - docs/models/shared/SourceTvmazeSchedule.md + - docs/models/shared/Twilio.md + - docs/models/shared/SourceTwilio.md + - docs/models/shared/TwilioTaskrouter.md + - docs/models/shared/SourceTwilioTaskrouter.md + - docs/models/shared/Twitter.md + - docs/models/shared/SourceTwitter.md + - docs/models/shared/SourceTypeformSchemasAuthType.md + - docs/models/shared/SourceTypeformPrivateToken.md + - docs/models/shared/SourceTypeformAuthType.md + - docs/models/shared/SourceTypeformOAuth20.md + - docs/models/shared/SourceTypeformAuthorizationMethod.md + - docs/models/shared/SourceTypeformTypeform.md + - docs/models/shared/SourceTypeform.md + - docs/models/shared/UsCensus.md + - docs/models/shared/SourceUsCensus.md + - docs/models/shared/Vantage.md + - docs/models/shared/SourceVantage.md + - docs/models/shared/Webflow.md + - docs/models/shared/SourceWebflow.md + - docs/models/shared/WhiskyHunter.md + - docs/models/shared/SourceWhiskyHunter.md + - docs/models/shared/WikipediaPageviews.md + - docs/models/shared/SourceWikipediaPageviews.md + - docs/models/shared/Woocommerce.md + - docs/models/shared/SourceWoocommerce.md + - docs/models/shared/Xkcd.md + - docs/models/shared/SourceXkcd.md + - docs/models/shared/YandexMetrica.md + - docs/models/shared/SourceYandexMetrica.md + - docs/models/shared/Yotpo.md + - docs/models/shared/SourceYotpo.md + - docs/models/shared/SourceYoutubeAnalyticsYoutubeAnalytics.md + - docs/models/shared/SourceYoutubeAnalytics.md + - docs/models/shared/SourceZendeskChatSchemasCredentials.md + - docs/models/shared/SourceZendeskChatAccessToken.md + - docs/models/shared/SourceZendeskChatCredentials.md + - docs/models/shared/SourceZendeskChatOAuth20.md + - docs/models/shared/SourceZendeskChatAuthorizationMethod.md + - docs/models/shared/SourceZendeskChatZendeskChat.md + - docs/models/shared/SourceZendeskChat.md + - docs/models/shared/ZendeskSell.md + - docs/models/shared/SourceZendeskSell.md + - docs/models/shared/SourceZendeskSunshineSchemasAuthMethod.md + - docs/models/shared/SourceZendeskSunshineAPIToken.md + - docs/models/shared/SourceZendeskSunshineAuthMethod.md + - docs/models/shared/SourceZendeskSunshineOAuth20.md + - docs/models/shared/SourceZendeskSunshineAuthorizationMethod.md + - docs/models/shared/SourceZendeskSunshineZendeskSunshine.md + - docs/models/shared/SourceZendeskSunshine.md + - docs/models/shared/SourceZendeskSupportZendeskSupport.md + - docs/models/shared/SourceZendeskSupport.md + - docs/models/shared/SourceZendeskTalkZendeskTalk.md + - docs/models/shared/SourceZendeskTalk.md + - docs/models/shared/Zenloop.md + - docs/models/shared/SourceZenloop.md + - docs/models/shared/DataCenterLocation.md + - docs/models/shared/ZohoCRMEdition.md + - docs/models/shared/SourceZohoCrmEnvironment.md + - docs/models/shared/ZohoCrm.md + - docs/models/shared/SourceZohoCrm.md + - docs/models/shared/Zoom.md + - docs/models/shared/SourceZoom.md - docs/models/shared/SourceCreateRequest.md - docs/models/shared/InitiateOauthRequest.md - docs/models/shared/OAuthActorNames.md @@ -242,6 +3645,84 @@ generatedFiles: - docs/models/shared/StreamPropertiesResponse.md - docs/models/shared/StreamProperties.md - docs/models/shared/WorkspaceOAuthCredentialsRequest.md + - docs/models/shared/OAuthCredentialsConfiguration.md + - docs/models/shared/Credentials.md + - docs/models/shared/Airtable.md + - docs/models/shared/AmazonAds.md + - docs/models/shared/AmazonSellerPartner.md + - docs/models/shared/AsanaCredentials.md + - docs/models/shared/Asana.md + - docs/models/shared/BingAds.md + - docs/models/shared/FacebookMarketing.md + - docs/models/shared/GithubCredentials.md + - docs/models/shared/Github.md + - docs/models/shared/GitlabCredentials.md + - docs/models/shared/Gitlab.md + - docs/models/shared/GoogleAdsCredentials.md + - docs/models/shared/GoogleAds.md + - docs/models/shared/GoogleAnalyticsDataApiCredentials.md + - docs/models/shared/GoogleAnalyticsDataApi.md + - docs/models/shared/GoogleDriveCredentials.md + - docs/models/shared/GoogleDrive.md + - docs/models/shared/Authorization.md + - docs/models/shared/GoogleSearchConsole.md + - docs/models/shared/GoogleSheetsCredentials.md + - docs/models/shared/GoogleSheets.md + - docs/models/shared/HarvestCredentials.md + - docs/models/shared/Harvest.md + - docs/models/shared/HubspotCredentials.md + - docs/models/shared/Hubspot.md + - docs/models/shared/Instagram.md + - docs/models/shared/Intercom.md + - docs/models/shared/LeverHiringCredentials.md + - docs/models/shared/LeverHiring.md + - docs/models/shared/LinkedinAdsCredentials.md + - docs/models/shared/LinkedinAds.md + - docs/models/shared/MailchimpCredentials.md + - docs/models/shared/Mailchimp.md + - docs/models/shared/MicrosoftOnedriveCredentials.md + - docs/models/shared/MicrosoftOnedrive.md + - docs/models/shared/MicrosoftSharepointCredentials.md + - docs/models/shared/MicrosoftSharepoint.md + - docs/models/shared/MicrosoftTeamsCredentials.md + - docs/models/shared/MicrosoftTeams.md + - docs/models/shared/MondayCredentials.md + - docs/models/shared/Monday.md + - docs/models/shared/NotionCredentials.md + - docs/models/shared/Notion.md + - docs/models/shared/PinterestCredentials.md + - docs/models/shared/Pinterest.md + - docs/models/shared/RetentlyCredentials.md + - docs/models/shared/Retently.md + - docs/models/shared/Salesforce.md + - docs/models/shared/ShopifyCredentials.md + - docs/models/shared/Shopify.md + - docs/models/shared/SlackCredentials.md + - docs/models/shared/Slack.md + - docs/models/shared/SmartsheetsCredentials.md + - docs/models/shared/Smartsheets.md + - docs/models/shared/SnapchatMarketing.md + - docs/models/shared/SnowflakeCredentials.md + - docs/models/shared/Snowflake.md + - docs/models/shared/SquareCredentials.md + - docs/models/shared/Square.md + - docs/models/shared/Strava.md + - docs/models/shared/SurveymonkeyCredentials.md + - docs/models/shared/Surveymonkey.md + - docs/models/shared/TiktokMarketingCredentials.md + - docs/models/shared/TiktokMarketing.md + - docs/models/shared/TypeformCredentials.md + - docs/models/shared/Typeform.md + - docs/models/shared/YoutubeAnalyticsCredentials.md + - docs/models/shared/YoutubeAnalytics.md + - docs/models/shared/ZendeskChatCredentials.md + - docs/models/shared/ZendeskChat.md + - docs/models/shared/ZendeskSunshineCredentials.md + - docs/models/shared/ZendeskSunshine.md + - docs/models/shared/ZendeskSupportCredentials.md + - docs/models/shared/ZendeskSupport.md + - docs/models/shared/ZendeskTalkCredentials.md + - docs/models/shared/ZendeskTalk.md - docs/models/shared/ActorTypeEnum.md - docs/models/shared/WorkspaceResponse.md - docs/models/shared/WorkspaceCreateRequest.md diff --git a/.speakeasy/workflow.yaml b/.speakeasy/workflow.yaml new file mode 100644 index 000000000..e6cf15f6d --- /dev/null +++ b/.speakeasy/workflow.yaml @@ -0,0 +1,16 @@ +workflowVersion: 1.0.0 +sources: + my-source: + inputs: + - location: https://raw.githubusercontent.com/airbytehq/airbyte-api-python-sdk/main/airbyte-api.openapi.yaml +targets: + airbyte-api: + target: java + source: my-source + publish: + java: + ossrhUsername: $OSSRH_USERNAME + ossrhPassword: $OSSRH_PASSWORD + gpgSecretKey: $JAVA_GPG_SECRET_KEY + gpgPassPhrase: $JAVA_GPG_PASSPHRASE + useSonatypeLegacy: true diff --git a/README.md b/README.md index d24a08c13..2eb8d065b 100755 --- a/README.md +++ b/README.md @@ -18,10 +18,36 @@ The Developer Portal UI can also be used to help build your integration by showi ## SDK Installation -### Gradle +### Getting started +The samples below show how a published SDK artifact is used: + +Gradle: ```groovy -implementation 'com.airbyte.api:public-api:0.49.3' +implementation 'com.airbyte.api:public-api:1.0.0' +``` + +Maven: +```xml + + com.airbyte.api + public-api + 1.0.0 + +``` + +### How to build +After cloning the git repository to your file system you can build the SDK artifact from source to the `build` directory by running `./gradlew build` on *nix systems or `gradlew.bat` on Windows systems. + +If you wish to build from source and publish the SDK artifact to your local Maven repository (on your filesystem) then use the following command (after cloning the git repo locally): + +On *nix: +```bash +./gradlew publishToMavenLocal -Pskip.signing +``` +On Windows: +```bash +gradlew.bat publishToMavenLocal -Pskip.signing ``` @@ -34,7 +60,9 @@ implementation 'com.airbyte.api:public-api:0.49.3' package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.CreateConnectionResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.ConnectionCreateRequest; import com.airbyte.api.models.shared.ConnectionSchedule; import com.airbyte.api.models.shared.ConnectionStatusEnum; @@ -46,55 +74,57 @@ import com.airbyte.api.models.shared.ScheduleTypeEnum; import com.airbyte.api.models.shared.Security; import com.airbyte.api.models.shared.StreamConfiguration; import com.airbyte.api.models.shared.StreamConfigurations; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) + .build(); + + ConnectionCreateRequest req = ConnectionCreateRequest.builder() + .destinationId("c669dd1e-3620-483e-afc8-55914e0a570f") + .sourceId("6dd427d8-3a55-4584-b835-842325b6c7b3") + .configurations(StreamConfigurations.builder() + .streams(java.util.List.of( + StreamConfiguration.builder() + .name("") + .build())) + .build()) + .dataResidency(GeographyEnum.EU) + .name("") + .namespaceDefinition(NamespaceDefinitionEnum.CUSTOM_FORMAT) + .namespaceFormat("${SOURCE_NAMESPACE}") + .nonBreakingSchemaUpdatesBehavior(NonBreakingSchemaUpdatesBehaviorEnum.IGNORE) + .prefix("") + .schedule(ConnectionSchedule.builder() + .scheduleType(ScheduleTypeEnum.CRON) + .cronExpression("") + .build()) + .status(ConnectionStatusEnum.DEPRECATED) .build(); - com.airbyte.api.models.shared.ConnectionCreateRequest req = new ConnectionCreateRequest( - "c669dd1e-3620-483e-afc8-55914e0a570f", - "6dd427d8-3a55-4584-b835-842325b6c7b3"){{ - configurations = new StreamConfigurations( -){{ - streams = new com.airbyte.api.models.shared.StreamConfiguration[]{{ - add(new StreamConfiguration( - ""){{ - name = ""; - }}), - }}; - - }}; - dataResidency = GeographyEnum.EU; - name = ""; - namespaceDefinition = NamespaceDefinitionEnum.CUSTOM_FORMAT; - namespaceFormat = "${SOURCE_NAMESPACE}"; - nonBreakingSchemaUpdatesBehavior = NonBreakingSchemaUpdatesBehaviorEnum.IGNORE; - prefix = ""; - schedule = new ConnectionSchedule( - ScheduleTypeEnum.CRON){{ - cronExpression = ""; - - }}; - status = ConnectionStatusEnum.DEPRECATED; - - }}; - - com.airbyte.api.models.operations.CreateConnectionResponse res = sdk.connections.createConnection(req); - - if (res.connectionResponse != null) { + CreateConnectionResponse res = sdk.connections().createConnection() + .request(req) + .call(); + + if (res.connectionResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -106,7 +136,7 @@ public class Application { ## Available Resources and Operations -### [connections](docs/sdks/connections/README.md) +### [connections()](docs/sdks/connections/README.md) * [createConnection](docs/sdks/connections/README.md#createconnection) - Create a connection * [deleteConnection](docs/sdks/connections/README.md#deleteconnection) - Delete a Connection @@ -114,7 +144,7 @@ public class Application { * [listConnections](docs/sdks/connections/README.md#listconnections) - List connections * [patchConnection](docs/sdks/connections/README.md#patchconnection) - Update Connection details -### [destinations](docs/sdks/destinations/README.md) +### [destinations()](docs/sdks/destinations/README.md) * [createDestination](docs/sdks/destinations/README.md#createdestination) - Create a destination * [deleteDestination](docs/sdks/destinations/README.md#deletedestination) - Delete a Destination @@ -123,14 +153,14 @@ public class Application { * [patchDestination](docs/sdks/destinations/README.md#patchdestination) - Update a Destination * [putDestination](docs/sdks/destinations/README.md#putdestination) - Update a Destination and fully overwrite it -### [jobs](docs/sdks/jobs/README.md) +### [jobs()](docs/sdks/jobs/README.md) * [cancelJob](docs/sdks/jobs/README.md#canceljob) - Cancel a running Job * [createJob](docs/sdks/jobs/README.md#createjob) - Trigger a sync or reset job of a connection * [getJob](docs/sdks/jobs/README.md#getjob) - Get Job status and details * [listJobs](docs/sdks/jobs/README.md#listjobs) - List Jobs by sync type -### [sources](docs/sdks/sources/README.md) +### [sources()](docs/sdks/sources/README.md) * [createSource](docs/sdks/sources/README.md#createsource) - Create a source * [deleteSource](docs/sdks/sources/README.md#deletesource) - Delete a Source @@ -140,11 +170,11 @@ public class Application { * [patchSource](docs/sdks/sources/README.md#patchsource) - Update a Source * [putSource](docs/sdks/sources/README.md#putsource) - Update a Source and fully overwrite it -### [streams](docs/sdks/streams/README.md) +### [streams()](docs/sdks/streams/README.md) * [getStreamProperties](docs/sdks/streams/README.md#getstreamproperties) - Get stream properties -### [workspaces](docs/sdks/workspaces/README.md) +### [workspaces()](docs/sdks/workspaces/README.md) * [createOrUpdateWorkspaceOAuthCredentials](docs/sdks/workspaces/README.md#createorupdateworkspaceoauthcredentials) - Create OAuth override credentials for a workspace and source type. * [createWorkspace](docs/sdks/workspaces/README.md#createworkspace) - Create a workspace @@ -159,24 +189,353 @@ public class Application { ## Server Selection -## Server Selection - ### Select Server by Index -You can override the default server globally using the `setServerIndex` option when initializing the SDK client instance. The selected server will then be used as the default on the operations that use it. This table lists the indexes associated with the available servers: +You can override the default server globally by passing a server index to the `serverIndex` builder method when initializing the SDK client instance. The selected server will then be used as the default on the operations that use it. This table lists the indexes associated with the available servers: | # | Server | Variables | | - | ------ | --------- | | 0 | `https://api.airbyte.com/v1` | None | +#### Example +```java +package hello.world; + +import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; +import com.airbyte.api.models.operations.CreateConnectionResponse; +import com.airbyte.api.models.shared.*; +import com.airbyte.api.models.shared.ConnectionCreateRequest; +import com.airbyte.api.models.shared.ConnectionSchedule; +import com.airbyte.api.models.shared.ConnectionStatusEnum; +import com.airbyte.api.models.shared.ConnectionSyncModeEnum; +import com.airbyte.api.models.shared.GeographyEnum; +import com.airbyte.api.models.shared.NamespaceDefinitionEnum; +import com.airbyte.api.models.shared.NonBreakingSchemaUpdatesBehaviorEnum; +import com.airbyte.api.models.shared.ScheduleTypeEnum; +import com.airbyte.api.models.shared.Security; +import com.airbyte.api.models.shared.StreamConfiguration; +import com.airbyte.api.models.shared.StreamConfigurations; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; + +public class Application { + + public static void main(String[] args) { + try { + Airbyte sdk = Airbyte.builder() + .serverIndex(0) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) + .build(); + + ConnectionCreateRequest req = ConnectionCreateRequest.builder() + .destinationId("c669dd1e-3620-483e-afc8-55914e0a570f") + .sourceId("6dd427d8-3a55-4584-b835-842325b6c7b3") + .configurations(StreamConfigurations.builder() + .streams(java.util.List.of( + StreamConfiguration.builder() + .name("") + .build())) + .build()) + .dataResidency(GeographyEnum.EU) + .name("") + .namespaceDefinition(NamespaceDefinitionEnum.CUSTOM_FORMAT) + .namespaceFormat("${SOURCE_NAMESPACE}") + .nonBreakingSchemaUpdatesBehavior(NonBreakingSchemaUpdatesBehaviorEnum.IGNORE) + .prefix("") + .schedule(ConnectionSchedule.builder() + .scheduleType(ScheduleTypeEnum.CRON) + .cronExpression("") + .build()) + .status(ConnectionStatusEnum.DEPRECATED) + .build(); + + CreateConnectionResponse res = sdk.connections().createConnection() + .request(req) + .call(); + + if (res.connectionResponse().isPresent()) { + // handle response + } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception + } catch (Exception e) { + // handle exception + } + } +} +``` ### Override Server URL Per-Client -The default server can also be overridden globally using the `setServerURL` option when initializing the SDK client instance. For example: +The default server can also be overridden globally by passing a URL to the `serverURL` builder method when initializing the SDK client instance. For example: +```java +package hello.world; + +import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; +import com.airbyte.api.models.operations.CreateConnectionResponse; +import com.airbyte.api.models.shared.*; +import com.airbyte.api.models.shared.ConnectionCreateRequest; +import com.airbyte.api.models.shared.ConnectionSchedule; +import com.airbyte.api.models.shared.ConnectionStatusEnum; +import com.airbyte.api.models.shared.ConnectionSyncModeEnum; +import com.airbyte.api.models.shared.GeographyEnum; +import com.airbyte.api.models.shared.NamespaceDefinitionEnum; +import com.airbyte.api.models.shared.NonBreakingSchemaUpdatesBehaviorEnum; +import com.airbyte.api.models.shared.ScheduleTypeEnum; +import com.airbyte.api.models.shared.Security; +import com.airbyte.api.models.shared.StreamConfiguration; +import com.airbyte.api.models.shared.StreamConfigurations; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; + +public class Application { + + public static void main(String[] args) { + try { + Airbyte sdk = Airbyte.builder() + .serverURL("https://api.airbyte.com/v1") + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) + .build(); + + ConnectionCreateRequest req = ConnectionCreateRequest.builder() + .destinationId("c669dd1e-3620-483e-afc8-55914e0a570f") + .sourceId("6dd427d8-3a55-4584-b835-842325b6c7b3") + .configurations(StreamConfigurations.builder() + .streams(java.util.List.of( + StreamConfiguration.builder() + .name("") + .build())) + .build()) + .dataResidency(GeographyEnum.EU) + .name("") + .namespaceDefinition(NamespaceDefinitionEnum.CUSTOM_FORMAT) + .namespaceFormat("${SOURCE_NAMESPACE}") + .nonBreakingSchemaUpdatesBehavior(NonBreakingSchemaUpdatesBehaviorEnum.IGNORE) + .prefix("") + .schedule(ConnectionSchedule.builder() + .scheduleType(ScheduleTypeEnum.CRON) + .cronExpression("") + .build()) + .status(ConnectionStatusEnum.DEPRECATED) + .build(); + + CreateConnectionResponse res = sdk.connections().createConnection() + .request(req) + .call(); + + if (res.connectionResponse().isPresent()) { + // handle response + } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception + } catch (Exception e) { + // handle exception + } + } +} +``` + +## Error Handling + +Handling errors in this SDK should largely match your expectations. All operations return a response object or raise an error. If Error objects are specified in your OpenAPI Spec, the SDK will throw the appropriate Exception type. + +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | + +### Example + +```java +package hello.world; + +import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; +import com.airbyte.api.models.operations.CreateConnectionResponse; +import com.airbyte.api.models.shared.*; +import com.airbyte.api.models.shared.ConnectionCreateRequest; +import com.airbyte.api.models.shared.ConnectionSchedule; +import com.airbyte.api.models.shared.ConnectionStatusEnum; +import com.airbyte.api.models.shared.ConnectionSyncModeEnum; +import com.airbyte.api.models.shared.GeographyEnum; +import com.airbyte.api.models.shared.NamespaceDefinitionEnum; +import com.airbyte.api.models.shared.NonBreakingSchemaUpdatesBehaviorEnum; +import com.airbyte.api.models.shared.ScheduleTypeEnum; +import com.airbyte.api.models.shared.Security; +import com.airbyte.api.models.shared.StreamConfiguration; +import com.airbyte.api.models.shared.StreamConfigurations; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; + +public class Application { + + public static void main(String[] args) { + try { + Airbyte sdk = Airbyte.builder() + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) + .build(); + + ConnectionCreateRequest req = ConnectionCreateRequest.builder() + .destinationId("c669dd1e-3620-483e-afc8-55914e0a570f") + .sourceId("6dd427d8-3a55-4584-b835-842325b6c7b3") + .configurations(StreamConfigurations.builder() + .streams(java.util.List.of( + StreamConfiguration.builder() + .name("") + .build())) + .build()) + .dataResidency(GeographyEnum.EU) + .name("") + .namespaceDefinition(NamespaceDefinitionEnum.CUSTOM_FORMAT) + .namespaceFormat("${SOURCE_NAMESPACE}") + .nonBreakingSchemaUpdatesBehavior(NonBreakingSchemaUpdatesBehaviorEnum.IGNORE) + .prefix("") + .schedule(ConnectionSchedule.builder() + .scheduleType(ScheduleTypeEnum.CRON) + .cronExpression("") + .build()) + .status(ConnectionStatusEnum.DEPRECATED) + .build(); + + CreateConnectionResponse res = sdk.connections().createConnection() + .request(req) + .call(); + + if (res.connectionResponse().isPresent()) { + // handle response + } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception + } catch (Exception e) { + // handle exception + } + } +} +``` + + + +## Authentication + +### Per-Client Security Schemes + +This SDK supports the following security schemes globally: + +| Name | Type | Scheme | +| ------------ | ------------ | ------------ | +| `basicAuth` | http | HTTP Basic | +| `bearerAuth` | http | HTTP Bearer | + +You can set the security parameters through the `security` builder method when initializing the SDK client instance. The selected scheme will be used by default to authenticate with the API for all operations that support it. For example: +```java +package hello.world; + +import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; +import com.airbyte.api.models.operations.CreateConnectionResponse; +import com.airbyte.api.models.shared.*; +import com.airbyte.api.models.shared.ConnectionCreateRequest; +import com.airbyte.api.models.shared.ConnectionSchedule; +import com.airbyte.api.models.shared.ConnectionStatusEnum; +import com.airbyte.api.models.shared.ConnectionSyncModeEnum; +import com.airbyte.api.models.shared.GeographyEnum; +import com.airbyte.api.models.shared.NamespaceDefinitionEnum; +import com.airbyte.api.models.shared.NonBreakingSchemaUpdatesBehaviorEnum; +import com.airbyte.api.models.shared.ScheduleTypeEnum; +import com.airbyte.api.models.shared.Security; +import com.airbyte.api.models.shared.StreamConfiguration; +import com.airbyte.api.models.shared.StreamConfigurations; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; + +public class Application { + + public static void main(String[] args) { + try { + Airbyte sdk = Airbyte.builder() + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) + .build(); + + ConnectionCreateRequest req = ConnectionCreateRequest.builder() + .destinationId("c669dd1e-3620-483e-afc8-55914e0a570f") + .sourceId("6dd427d8-3a55-4584-b835-842325b6c7b3") + .configurations(StreamConfigurations.builder() + .streams(java.util.List.of( + StreamConfiguration.builder() + .name("") + .build())) + .build()) + .dataResidency(GeographyEnum.EU) + .name("") + .namespaceDefinition(NamespaceDefinitionEnum.CUSTOM_FORMAT) + .namespaceFormat("${SOURCE_NAMESPACE}") + .nonBreakingSchemaUpdatesBehavior(NonBreakingSchemaUpdatesBehaviorEnum.IGNORE) + .prefix("") + .schedule(ConnectionSchedule.builder() + .scheduleType(ScheduleTypeEnum.CRON) + .cronExpression("") + .build()) + .status(ConnectionStatusEnum.DEPRECATED) + .build(); + + CreateConnectionResponse res = sdk.connections().createConnection() + .request(req) + .call(); + + if (res.connectionResponse().isPresent()) { + // handle response + } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception + } catch (Exception e) { + // handle exception + } + } +} +``` + + diff --git a/USAGE.md b/USAGE.md index 502797b2f..c759a0fb8 100644 --- a/USAGE.md +++ b/USAGE.md @@ -3,7 +3,9 @@ package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.CreateConnectionResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.ConnectionCreateRequest; import com.airbyte.api.models.shared.ConnectionSchedule; import com.airbyte.api.models.shared.ConnectionStatusEnum; @@ -15,55 +17,57 @@ import com.airbyte.api.models.shared.ScheduleTypeEnum; import com.airbyte.api.models.shared.Security; import com.airbyte.api.models.shared.StreamConfiguration; import com.airbyte.api.models.shared.StreamConfigurations; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.shared.ConnectionCreateRequest req = new ConnectionCreateRequest( - "c669dd1e-3620-483e-afc8-55914e0a570f", - "6dd427d8-3a55-4584-b835-842325b6c7b3"){{ - configurations = new StreamConfigurations( -){{ - streams = new com.airbyte.api.models.shared.StreamConfiguration[]{{ - add(new StreamConfiguration( - ""){{ - name = ""; - }}), - }}; - - }}; - dataResidency = GeographyEnum.EU; - name = ""; - namespaceDefinition = NamespaceDefinitionEnum.CUSTOM_FORMAT; - namespaceFormat = "${SOURCE_NAMESPACE}"; - nonBreakingSchemaUpdatesBehavior = NonBreakingSchemaUpdatesBehaviorEnum.IGNORE; - prefix = ""; - schedule = new ConnectionSchedule( - ScheduleTypeEnum.CRON){{ - cronExpression = ""; - - }}; - status = ConnectionStatusEnum.DEPRECATED; - - }}; + ConnectionCreateRequest req = ConnectionCreateRequest.builder() + .destinationId("c669dd1e-3620-483e-afc8-55914e0a570f") + .sourceId("6dd427d8-3a55-4584-b835-842325b6c7b3") + .configurations(StreamConfigurations.builder() + .streams(java.util.List.of( + StreamConfiguration.builder() + .name("") + .build())) + .build()) + .dataResidency(GeographyEnum.EU) + .name("") + .namespaceDefinition(NamespaceDefinitionEnum.CUSTOM_FORMAT) + .namespaceFormat("${SOURCE_NAMESPACE}") + .nonBreakingSchemaUpdatesBehavior(NonBreakingSchemaUpdatesBehaviorEnum.IGNORE) + .prefix("") + .schedule(ConnectionSchedule.builder() + .scheduleType(ScheduleTypeEnum.CRON) + .cronExpression("") + .build()) + .status(ConnectionStatusEnum.DEPRECATED) + .build(); - com.airbyte.api.models.operations.CreateConnectionResponse res = sdk.connections.createConnection(req); + CreateConnectionResponse res = sdk.connections().createConnection() + .request(req) + .call(); - if (res.connectionResponse != null) { + if (res.connectionResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } diff --git a/lib/build.gradle b/build.gradle similarity index 84% rename from lib/build.gradle rename to build.gradle index 7ca5d6de4..f17e48c13 100644 --- a/lib/build.gradle +++ b/build.gradle @@ -15,7 +15,7 @@ repositories { } java { sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 withSourcesJar() withJavadocJar() } @@ -27,7 +27,7 @@ model { } jar { - dependsOn(":$project.name:generatePomFileForMavenPublication") + dependsOn(":generatePomFileForMavenPublication") into("META-INF/maven/com.airbyte/api") { from("$buildDir/pom.xml") @@ -64,7 +64,7 @@ publishing { maven(MavenPublication) { groupId = 'com.airbyte' artifactId = 'api' - version = '0.49.3' + version = '1.0.0' from components.java @@ -108,13 +108,14 @@ if (!project.hasProperty('skip.signing')) { } dependencies { - implementation 'com.fasterxml.jackson.core:jackson-annotations:2.14.1' - implementation 'com.fasterxml.jackson.core:jackson-core:2.14.1' - implementation 'com.fasterxml.jackson.core:jackson-databind:2.14.1' - implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.14.1' - implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.14.1' - implementation 'org.apache.httpcomponents:httpcore:4.4.15' - implementation 'org.apache.httpcomponents:httpclient:4.5.13' - implementation 'org.apache.httpcomponents:httpmime:4.5.13' + implementation 'com.fasterxml.jackson.core:jackson-databind:2.16.2' + implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.16.2' + implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.16.2' + implementation 'org.openapitools:jackson-databind-nullable:0.2.6' + implementation 'org.apache.httpcomponents:httpclient:4.5.14' + implementation 'org.apache.httpcomponents:httpmime:4.5.14' + implementation 'com.jayway.jsonpath:json-path:2.9.0' + implementation 'commons-io:commons-io:2.15.1' } + diff --git a/docs/models/operations/CancelJobRequest.md b/docs/models/operations/CancelJobRequest.md index eb098836e..6497b29bb 100644 --- a/docs/models/operations/CancelJobRequest.md +++ b/docs/models/operations/CancelJobRequest.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | -| `jobId` | *Long* | :heavy_check_mark: | N/A | \ No newline at end of file +| `jobId` | *long* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/operations/CancelJobResponse.md b/docs/models/operations/CancelJobResponse.md index e174e526f..b91e717df 100644 --- a/docs/models/operations/CancelJobResponse.md +++ b/docs/models/operations/CancelJobResponse.md @@ -6,6 +6,6 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | -| `jobResponse` | [com.airbyte.api.models.shared.JobResponse](../../models/shared/JobResponse.md) | :heavy_minus_sign: | Cancel a Job. | {
"id": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"status": "running",
"jobType": "sync",
"startTime": "2023-03-25T01:30:50Z",
"duration": "PT8H6M12S"
} | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file +| `jobResponse` | [Optional](../../models/shared/JobResponse.md) | :heavy_minus_sign: | Cancel a Job. | {
"id": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"status": "running",
"jobType": "sync",
"startTime": "2023-03-25T01:30:50Z",
"duration": "PT8H6M12S"
} | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/models/operations/CreateConnectionResponse.md b/docs/models/operations/CreateConnectionResponse.md index 3bef4c94a..47bebb152 100644 --- a/docs/models/operations/CreateConnectionResponse.md +++ b/docs/models/operations/CreateConnectionResponse.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `connectionResponse` | [com.airbyte.api.models.shared.ConnectionResponse](../../models/shared/ConnectionResponse.md) | :heavy_minus_sign: | Successful operation | -| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `connectionResponse` | [Optional](../../models/shared/ConnectionResponse.md) | :heavy_minus_sign: | Successful operation | +| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/operations/CreateDestinationResponse.md b/docs/models/operations/CreateDestinationResponse.md index 81219d1b2..9f1fdb63f 100644 --- a/docs/models/operations/CreateDestinationResponse.md +++ b/docs/models/operations/CreateDestinationResponse.md @@ -6,6 +6,6 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | -| `destinationResponse` | [com.airbyte.api.models.shared.DestinationResponse](../../models/shared/DestinationResponse.md) | :heavy_minus_sign: | Successful operation | {
"destinationId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"destinationType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
} | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file +| `destinationResponse` | [Optional](../../models/shared/DestinationResponse.md) | :heavy_minus_sign: | Successful operation | {
"destinationId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"destinationType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
} | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/models/operations/CreateJobResponse.md b/docs/models/operations/CreateJobResponse.md index bccd34664..da41e7e79 100644 --- a/docs/models/operations/CreateJobResponse.md +++ b/docs/models/operations/CreateJobResponse.md @@ -6,6 +6,6 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | -| `jobResponse` | [com.airbyte.api.models.shared.JobResponse](../../models/shared/JobResponse.md) | :heavy_minus_sign: | Kicks off a new Job based on the JobType. The connectionId is the resource that Job will be run for. | {
"id": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"status": "running",
"jobType": "sync",
"startTime": "2023-03-25T01:30:50Z",
"duration": "PT8H6M12S"
} | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file +| `jobResponse` | [Optional](../../models/shared/JobResponse.md) | :heavy_minus_sign: | Kicks off a new Job based on the JobType. The connectionId is the resource that Job will be run for. | {
"id": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"status": "running",
"jobType": "sync",
"startTime": "2023-03-25T01:30:50Z",
"duration": "PT8H6M12S"
} | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsResponse.md b/docs/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsResponse.md index 11bd4df6a..85828b2ac 100644 --- a/docs/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsResponse.md +++ b/docs/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsResponse.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/operations/CreateSourceResponse.md b/docs/models/operations/CreateSourceResponse.md index 842010f2a..47bedff7b 100644 --- a/docs/models/operations/CreateSourceResponse.md +++ b/docs/models/operations/CreateSourceResponse.md @@ -6,6 +6,6 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | -| `sourceResponse` | [com.airbyte.api.models.shared.SourceResponse](../../models/shared/SourceResponse.md) | :heavy_minus_sign: | Successful operation | {
"sourceId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"sourceType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
} | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file +| `sourceResponse` | [Optional](../../models/shared/SourceResponse.md) | :heavy_minus_sign: | Successful operation | {
"sourceId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"sourceType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
} | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/models/operations/CreateWorkspaceResponse.md b/docs/models/operations/CreateWorkspaceResponse.md index c149552ca..46e927a50 100644 --- a/docs/models/operations/CreateWorkspaceResponse.md +++ b/docs/models/operations/CreateWorkspaceResponse.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `workspaceResponse` | [com.airbyte.api.models.shared.WorkspaceResponse](../../models/shared/WorkspaceResponse.md) | :heavy_minus_sign: | Successful operation | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `workspaceResponse` | [Optional](../../models/shared/WorkspaceResponse.md) | :heavy_minus_sign: | Successful operation | \ No newline at end of file diff --git a/docs/models/operations/DeleteConnectionResponse.md b/docs/models/operations/DeleteConnectionResponse.md index f87d00f04..1fc7d9a24 100644 --- a/docs/models/operations/DeleteConnectionResponse.md +++ b/docs/models/operations/DeleteConnectionResponse.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/operations/DeleteDestinationResponse.md b/docs/models/operations/DeleteDestinationResponse.md index 830b01e4b..a86a8750d 100644 --- a/docs/models/operations/DeleteDestinationResponse.md +++ b/docs/models/operations/DeleteDestinationResponse.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/operations/DeleteSourceResponse.md b/docs/models/operations/DeleteSourceResponse.md index 6aafb6624..d7f0050d8 100644 --- a/docs/models/operations/DeleteSourceResponse.md +++ b/docs/models/operations/DeleteSourceResponse.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/operations/DeleteWorkspaceResponse.md b/docs/models/operations/DeleteWorkspaceResponse.md index ec5bf2f41..c46877e5a 100644 --- a/docs/models/operations/DeleteWorkspaceResponse.md +++ b/docs/models/operations/DeleteWorkspaceResponse.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/operations/GetConnectionResponse.md b/docs/models/operations/GetConnectionResponse.md index 8ce9885db..e7e8a57e8 100644 --- a/docs/models/operations/GetConnectionResponse.md +++ b/docs/models/operations/GetConnectionResponse.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `connectionResponse` | [com.airbyte.api.models.shared.ConnectionResponse](../../models/shared/ConnectionResponse.md) | :heavy_minus_sign: | Get a Connection by the id in the path. | -| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `connectionResponse` | [Optional](../../models/shared/ConnectionResponse.md) | :heavy_minus_sign: | Get a Connection by the id in the path. | +| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/operations/GetDestinationResponse.md b/docs/models/operations/GetDestinationResponse.md index da6363edd..89e90ba10 100644 --- a/docs/models/operations/GetDestinationResponse.md +++ b/docs/models/operations/GetDestinationResponse.md @@ -6,6 +6,6 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | -| `destinationResponse` | [com.airbyte.api.models.shared.DestinationResponse](../../models/shared/DestinationResponse.md) | :heavy_minus_sign: | Get a Destination by the id in the path. | {
"destinationId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"destinationType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
} | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file +| `destinationResponse` | [Optional](../../models/shared/DestinationResponse.md) | :heavy_minus_sign: | Get a Destination by the id in the path. | {
"destinationId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"destinationType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
} | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/models/operations/GetJobRequest.md b/docs/models/operations/GetJobRequest.md index c210ef040..287c42872 100644 --- a/docs/models/operations/GetJobRequest.md +++ b/docs/models/operations/GetJobRequest.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | -| `jobId` | *Long* | :heavy_check_mark: | N/A | \ No newline at end of file +| `jobId` | *long* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/operations/GetJobResponse.md b/docs/models/operations/GetJobResponse.md index 7bd1ff153..53dbe0a69 100644 --- a/docs/models/operations/GetJobResponse.md +++ b/docs/models/operations/GetJobResponse.md @@ -6,6 +6,6 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | -| `jobResponse` | [com.airbyte.api.models.shared.JobResponse](../../models/shared/JobResponse.md) | :heavy_minus_sign: | Get a Job by the id in the path. | {
"id": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"status": "running",
"jobType": "sync",
"startTime": "2023-03-25T01:30:50Z",
"duration": "PT8H6M12S"
} | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file +| `jobResponse` | [Optional](../../models/shared/JobResponse.md) | :heavy_minus_sign: | Get a Job by the id in the path. | {
"id": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"status": "running",
"jobType": "sync",
"startTime": "2023-03-25T01:30:50Z",
"duration": "PT8H6M12S"
} | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/models/operations/GetSourceResponse.md b/docs/models/operations/GetSourceResponse.md index e75120bc1..2436cb419 100644 --- a/docs/models/operations/GetSourceResponse.md +++ b/docs/models/operations/GetSourceResponse.md @@ -6,6 +6,6 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | -| `sourceResponse` | [com.airbyte.api.models.shared.SourceResponse](../../models/shared/SourceResponse.md) | :heavy_minus_sign: | Get a Source by the id in the path. | {
"sourceId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"sourceType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
} | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file +| `sourceResponse` | [Optional](../../models/shared/SourceResponse.md) | :heavy_minus_sign: | Get a Source by the id in the path. | {
"sourceId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"sourceType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
} | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/models/operations/GetStreamPropertiesRequest.md b/docs/models/operations/GetStreamPropertiesRequest.md index 0b7cde123..6c5989dce 100644 --- a/docs/models/operations/GetStreamPropertiesRequest.md +++ b/docs/models/operations/GetStreamPropertiesRequest.md @@ -6,5 +6,5 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | | `destinationId` | *String* | :heavy_check_mark: | ID of the destination | -| `ignoreCache` | *Boolean* | :heavy_minus_sign: | If true pull the latest schema from the source, else pull from cache (default false) | +| `ignoreCache` | *Optional* | :heavy_minus_sign: | If true pull the latest schema from the source, else pull from cache (default false) | | `sourceId` | *String* | :heavy_check_mark: | ID of the source | \ No newline at end of file diff --git a/docs/models/operations/GetStreamPropertiesResponse.md b/docs/models/operations/GetStreamPropertiesResponse.md index 79a32a8b6..7a4c029dc 100644 --- a/docs/models/operations/GetStreamPropertiesResponse.md +++ b/docs/models/operations/GetStreamPropertiesResponse.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `streamPropertiesResponse` | [com.airbyte.api.models.shared.StreamPropertiesResponse](../../models/shared/StreamPropertiesResponse.md) | :heavy_minus_sign: | Get the available streams properties for a source/destination pair. | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `streamPropertiesResponse` | [Optional](../../models/shared/StreamPropertiesResponse.md) | :heavy_minus_sign: | Get the available streams properties for a source/destination pair. | \ No newline at end of file diff --git a/docs/models/operations/GetWorkspaceResponse.md b/docs/models/operations/GetWorkspaceResponse.md index 95953559f..390ea0730 100644 --- a/docs/models/operations/GetWorkspaceResponse.md +++ b/docs/models/operations/GetWorkspaceResponse.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `workspaceResponse` | [com.airbyte.api.models.shared.WorkspaceResponse](../../models/shared/WorkspaceResponse.md) | :heavy_minus_sign: | Get a Workspace by the id in the path. | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `workspaceResponse` | [Optional](../../models/shared/WorkspaceResponse.md) | :heavy_minus_sign: | Get a Workspace by the id in the path. | \ No newline at end of file diff --git a/docs/models/operations/InitiateOAuthResponse.md b/docs/models/operations/InitiateOAuthResponse.md index 67e0e1382..9fb32d821 100644 --- a/docs/models/operations/InitiateOAuthResponse.md +++ b/docs/models/operations/InitiateOAuthResponse.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/operations/ListConnectionsRequest.md b/docs/models/operations/ListConnectionsRequest.md index 98aaf8afa..8c2052585 100644 --- a/docs/models/operations/ListConnectionsRequest.md +++ b/docs/models/operations/ListConnectionsRequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -| `includeDeleted` | *Boolean* | :heavy_minus_sign: | Include deleted connections in the returned results. | -| `limit` | *Integer* | :heavy_minus_sign: | Set the limit on the number of Connections returned. The default is 20. | -| `offset` | *Integer* | :heavy_minus_sign: | Set the offset to start at when returning Connections. The default is 0 | +| `includeDeleted` | *Optional* | :heavy_minus_sign: | Include deleted connections in the returned results. | +| `limit` | *Optional* | :heavy_minus_sign: | Set the limit on the number of Connections returned. The default is 20. | +| `offset` | *Optional* | :heavy_minus_sign: | Set the offset to start at when returning Connections. The default is 0 | | `workspaceIds` | List<*String*> | :heavy_minus_sign: | The UUIDs of the workspaces you wish to list connections for. Empty list will retrieve all allowed workspaces. | \ No newline at end of file diff --git a/docs/models/operations/ListConnectionsResponse.md b/docs/models/operations/ListConnectionsResponse.md index b1d5c1d6f..00a6b8764 100644 --- a/docs/models/operations/ListConnectionsResponse.md +++ b/docs/models/operations/ListConnectionsResponse.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `connectionsResponse` | [com.airbyte.api.models.shared.ConnectionsResponse](../../models/shared/ConnectionsResponse.md) | :heavy_minus_sign: | Successful operation | {
"next": "https://api.airbyte.com/v1/connections?limit=5\u0026offset=10",
"previous": "https://api.airbyte.com/v1/connections?limit=5\u0026offset=0",
"data": [
{
"name": "test-connection"
},
{
"connection_id": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826"
},
{
"sourceId": "49237019-645d-47d4-b45b-5eddf97775ce"
},
{
"destinationId": "al312fs-0ab1-4f72-9ed7-0b8fc27c5826"
},
{
"schedule": {
"scheduleType": "manual"
}
},
{
"status": "active"
},
{
"dataResidency": "auto"
}
]
} | +| `connectionsResponse` | [Optional](../../models/shared/ConnectionsResponse.md) | :heavy_minus_sign: | Successful operation | {
"next": "https://api.airbyte.com/v1/connections?limit=5\u0026offset=10",
"previous": "https://api.airbyte.com/v1/connections?limit=5\u0026offset=0",
"data": [
{
"name": "test-connection"
},
{
"connection_id": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826"
},
{
"sourceId": "49237019-645d-47d4-b45b-5eddf97775ce"
},
{
"destinationId": "al312fs-0ab1-4f72-9ed7-0b8fc27c5826"
},
{
"schedule": {
"scheduleType": "manual"
}
},
{
"status": "active"
},
{
"dataResidency": "auto"
}
]
} | | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/models/operations/ListDestinationsRequest.md b/docs/models/operations/ListDestinationsRequest.md index d999e077c..4cdeb1a38 100644 --- a/docs/models/operations/ListDestinationsRequest.md +++ b/docs/models/operations/ListDestinationsRequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | -| `includeDeleted` | *Boolean* | :heavy_minus_sign: | Include deleted destinations in the returned results. | -| `limit` | *Integer* | :heavy_minus_sign: | Set the limit on the number of destinations returned. The default is 20. | -| `offset` | *Integer* | :heavy_minus_sign: | Set the offset to start at when returning destinations. The default is 0 | +| `includeDeleted` | *Optional* | :heavy_minus_sign: | Include deleted destinations in the returned results. | +| `limit` | *Optional* | :heavy_minus_sign: | Set the limit on the number of destinations returned. The default is 20. | +| `offset` | *Optional* | :heavy_minus_sign: | Set the offset to start at when returning destinations. The default is 0 | | `workspaceIds` | List<*String*> | :heavy_minus_sign: | The UUIDs of the workspaces you wish to list destinations for. Empty list will retrieve all allowed workspaces. | \ No newline at end of file diff --git a/docs/models/operations/ListDestinationsResponse.md b/docs/models/operations/ListDestinationsResponse.md index 9c4b564bb..d8e758b85 100644 --- a/docs/models/operations/ListDestinationsResponse.md +++ b/docs/models/operations/ListDestinationsResponse.md @@ -6,6 +6,6 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | -| `destinationsResponse` | [com.airbyte.api.models.shared.DestinationsResponse](../../models/shared/DestinationsResponse.md) | :heavy_minus_sign: | Successful operation | {
"next": "https://api.airbyte.com/v1/destinations?limit=5\u0026offset=10",
"previous": "https://api.airbyte.com/v1/destinations?limit=5\u0026offset=0",
"data": {
"destinationId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"destinationType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
}
} | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file +| `destinationsResponse` | [Optional](../../models/shared/DestinationsResponse.md) | :heavy_minus_sign: | Successful operation | {
"next": "https://api.airbyte.com/v1/destinations?limit=5\u0026offset=10",
"previous": "https://api.airbyte.com/v1/destinations?limit=5\u0026offset=0",
"data": {
"destinationId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"destinationType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
}
} | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/models/operations/ListJobsRequest.md b/docs/models/operations/ListJobsRequest.md index b74b16530..081d7d4bb 100644 --- a/docs/models/operations/ListJobsRequest.md +++ b/docs/models/operations/ListJobsRequest.md @@ -5,14 +5,14 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | -| `connectionId` | *String* | :heavy_minus_sign: | Filter the Jobs by connectionId. | +| `connectionId` | *Optional* | :heavy_minus_sign: | Filter the Jobs by connectionId. | | `createdAtEnd` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The end date to filter by | | `createdAtStart` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The start date to filter by | -| `jobType` | [com.airbyte.api.models.shared.JobTypeEnum](../../models/shared/JobTypeEnum.md) | :heavy_minus_sign: | Filter the Jobs by jobType. | -| `limit` | *Integer* | :heavy_minus_sign: | Set the limit on the number of Jobs returned. The default is 20 Jobs. | -| `offset` | *Integer* | :heavy_minus_sign: | Set the offset to start at when returning Jobs. The default is 0. | -| `orderBy` | *String* | :heavy_minus_sign: | The field and method to use for ordering. Currently allowed are createdAt and updatedAt. | -| `status` | [com.airbyte.api.models.shared.JobStatusEnum](../../models/shared/JobStatusEnum.md) | :heavy_minus_sign: | The Job status you want to filter by | +| `jobType` | [Optional](../../models/shared/JobTypeEnum.md) | :heavy_minus_sign: | Filter the Jobs by jobType. | +| `limit` | *Optional* | :heavy_minus_sign: | Set the limit on the number of Jobs returned. The default is 20 Jobs. | +| `offset` | *Optional* | :heavy_minus_sign: | Set the offset to start at when returning Jobs. The default is 0. | +| `orderBy` | *Optional* | :heavy_minus_sign: | The field and method to use for ordering. Currently allowed are createdAt and updatedAt. | +| `status` | [Optional](../../models/shared/JobStatusEnum.md) | :heavy_minus_sign: | The Job status you want to filter by | | `updatedAtEnd` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The end date to filter by | | `updatedAtStart` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The start date to filter by | | `workspaceIds` | List<*String*> | :heavy_minus_sign: | The UUIDs of the workspaces you wish to list jobs for. Empty list will retrieve all allowed workspaces. | \ No newline at end of file diff --git a/docs/models/operations/ListJobsResponse.md b/docs/models/operations/ListJobsResponse.md index 0ab26031b..684e13e1f 100644 --- a/docs/models/operations/ListJobsResponse.md +++ b/docs/models/operations/ListJobsResponse.md @@ -6,6 +6,6 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | -| `jobsResponse` | [com.airbyte.api.models.shared.JobsResponse](../../models/shared/JobsResponse.md) | :heavy_minus_sign: | List all the Jobs by connectionId. | {
"next": "https://api.airbyte.com/v1/jobs?limit=5\u0026offset=10",
"previous": "https://api.airbyte.com/v1/jobs?limit=5\u0026offset=0",
"data": [
{
"id": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"status": "running",
"jobType": "sync",
"startTime": "2023-03-25T01:30:50Z"
}
]
} | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file +| `jobsResponse` | [Optional](../../models/shared/JobsResponse.md) | :heavy_minus_sign: | List all the Jobs by connectionId. | {
"next": "https://api.airbyte.com/v1/jobs?limit=5\u0026offset=10",
"previous": "https://api.airbyte.com/v1/jobs?limit=5\u0026offset=0",
"data": [
{
"id": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"status": "running",
"jobType": "sync",
"startTime": "2023-03-25T01:30:50Z"
}
]
} | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/models/operations/ListSourcesRequest.md b/docs/models/operations/ListSourcesRequest.md index 18c920add..387b7169f 100644 --- a/docs/models/operations/ListSourcesRequest.md +++ b/docs/models/operations/ListSourcesRequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -| `includeDeleted` | *Boolean* | :heavy_minus_sign: | Include deleted sources in the returned results. | -| `limit` | *Integer* | :heavy_minus_sign: | Set the limit on the number of sources returned. The default is 20. | -| `offset` | *Integer* | :heavy_minus_sign: | Set the offset to start at when returning sources. The default is 0 | +| `includeDeleted` | *Optional* | :heavy_minus_sign: | Include deleted sources in the returned results. | +| `limit` | *Optional* | :heavy_minus_sign: | Set the limit on the number of sources returned. The default is 20. | +| `offset` | *Optional* | :heavy_minus_sign: | Set the offset to start at when returning sources. The default is 0 | | `workspaceIds` | List<*String*> | :heavy_minus_sign: | The UUIDs of the workspaces you wish to list sources for. Empty list will retrieve all allowed workspaces. | \ No newline at end of file diff --git a/docs/models/operations/ListSourcesResponse.md b/docs/models/operations/ListSourcesResponse.md index 46b769571..a165b25a5 100644 --- a/docs/models/operations/ListSourcesResponse.md +++ b/docs/models/operations/ListSourcesResponse.md @@ -6,6 +6,6 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | -| `sourcesResponse` | [com.airbyte.api.models.shared.SourcesResponse](../../models/shared/SourcesResponse.md) | :heavy_minus_sign: | Successful operation | {
"next": "https://api.airbyte.com/v1/sources?limit=5\u0026offset=10",
"previous": "https://api.airbyte.com/v1/sources?limit=5\u0026offset=0",
"data": {
"sourceId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"sourceType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
}
} | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file +| `sourcesResponse` | [Optional](../../models/shared/SourcesResponse.md) | :heavy_minus_sign: | Successful operation | {
"next": "https://api.airbyte.com/v1/sources?limit=5\u0026offset=10",
"previous": "https://api.airbyte.com/v1/sources?limit=5\u0026offset=0",
"data": {
"sourceId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"sourceType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
}
} | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/models/operations/ListWorkspacesRequest.md b/docs/models/operations/ListWorkspacesRequest.md index c65d1427a..312936233 100644 --- a/docs/models/operations/ListWorkspacesRequest.md +++ b/docs/models/operations/ListWorkspacesRequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| `includeDeleted` | *Boolean* | :heavy_minus_sign: | Include deleted workspaces in the returned results. | -| `limit` | *Integer* | :heavy_minus_sign: | Set the limit on the number of workspaces returned. The default is 20. | -| `offset` | *Integer* | :heavy_minus_sign: | Set the offset to start at when returning workspaces. The default is 0 | +| `includeDeleted` | *Optional* | :heavy_minus_sign: | Include deleted workspaces in the returned results. | +| `limit` | *Optional* | :heavy_minus_sign: | Set the limit on the number of workspaces returned. The default is 20. | +| `offset` | *Optional* | :heavy_minus_sign: | Set the offset to start at when returning workspaces. The default is 0 | | `workspaceIds` | List<*String*> | :heavy_minus_sign: | The UUIDs of the workspaces you wish to fetch. Empty list will retrieve all allowed workspaces. | \ No newline at end of file diff --git a/docs/models/operations/ListWorkspacesResponse.md b/docs/models/operations/ListWorkspacesResponse.md index 04ccc81b5..91621440e 100644 --- a/docs/models/operations/ListWorkspacesResponse.md +++ b/docs/models/operations/ListWorkspacesResponse.md @@ -6,6 +6,6 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `workspacesResponse` | [com.airbyte.api.models.shared.WorkspacesResponse](../../models/shared/WorkspacesResponse.md) | :heavy_minus_sign: | Successful operation | {
"next": "https://api.airbyte.com/v1/workspaces?limit=5\u0026offset=10",
"previous": "https://api.airbyte.com/v1/workspaces?limit=5\u0026offset=0",
"data": {
"workspaceId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Acme Company",
"dataResidency": "auto"
}
} | \ No newline at end of file +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | +| `workspacesResponse` | [Optional](../../models/shared/WorkspacesResponse.md) | :heavy_minus_sign: | Successful operation | {
"next": "https://api.airbyte.com/v1/workspaces?limit=5\u0026offset=10",
"previous": "https://api.airbyte.com/v1/workspaces?limit=5\u0026offset=0",
"data": {
"workspaceId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Acme Company",
"dataResidency": "auto"
}
} | \ No newline at end of file diff --git a/docs/models/operations/PatchConnectionResponse.md b/docs/models/operations/PatchConnectionResponse.md index 2da56bccc..668424edd 100644 --- a/docs/models/operations/PatchConnectionResponse.md +++ b/docs/models/operations/PatchConnectionResponse.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `connectionResponse` | [com.airbyte.api.models.shared.ConnectionResponse](../../models/shared/ConnectionResponse.md) | :heavy_minus_sign: | Update a Connection by the id in the path. | -| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `connectionResponse` | [Optional](../../models/shared/ConnectionResponse.md) | :heavy_minus_sign: | Update a Connection by the id in the path. | +| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/operations/PatchDestinationRequest.md b/docs/models/operations/PatchDestinationRequest.md index 32857ae6c..c8aba7e8a 100644 --- a/docs/models/operations/PatchDestinationRequest.md +++ b/docs/models/operations/PatchDestinationRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | -| `destinationPatchRequest` | [com.airbyte.api.models.shared.DestinationPatchRequest](../../models/shared/DestinationPatchRequest.md) | :heavy_minus_sign: | N/A | -| `destinationId` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `destinationPatchRequest` | [Optional](../../models/shared/DestinationPatchRequest.md) | :heavy_minus_sign: | N/A | +| `destinationId` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/operations/PatchDestinationResponse.md b/docs/models/operations/PatchDestinationResponse.md index 1aba0aa8f..06002c6ca 100644 --- a/docs/models/operations/PatchDestinationResponse.md +++ b/docs/models/operations/PatchDestinationResponse.md @@ -6,6 +6,6 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | -| `destinationResponse` | [com.airbyte.api.models.shared.DestinationResponse](../../models/shared/DestinationResponse.md) | :heavy_minus_sign: | Update a Destination | {
"destinationId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"destinationType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
} | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file +| `destinationResponse` | [Optional](../../models/shared/DestinationResponse.md) | :heavy_minus_sign: | Update a Destination | {
"destinationId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"destinationType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
} | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/models/operations/PatchSourceRequest.md b/docs/models/operations/PatchSourceRequest.md index d62ff48cd..835e5c12d 100644 --- a/docs/models/operations/PatchSourceRequest.md +++ b/docs/models/operations/PatchSourceRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `sourcePatchRequest` | [com.airbyte.api.models.shared.SourcePatchRequest](../../models/shared/SourcePatchRequest.md) | :heavy_minus_sign: | N/A | -| `sourceId` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| `sourcePatchRequest` | [Optional](../../models/shared/SourcePatchRequest.md) | :heavy_minus_sign: | N/A | +| `sourceId` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/operations/PatchSourceResponse.md b/docs/models/operations/PatchSourceResponse.md index bd44667e4..eda5fd104 100644 --- a/docs/models/operations/PatchSourceResponse.md +++ b/docs/models/operations/PatchSourceResponse.md @@ -6,6 +6,6 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | -| `sourceResponse` | [com.airbyte.api.models.shared.SourceResponse](../../models/shared/SourceResponse.md) | :heavy_minus_sign: | Update a Source | {
"sourceId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"sourceType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
} | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file +| `sourceResponse` | [Optional](../../models/shared/SourceResponse.md) | :heavy_minus_sign: | Update a Source | {
"sourceId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"sourceType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
} | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/models/operations/PutDestinationRequest.md b/docs/models/operations/PutDestinationRequest.md index dffd32c29..efda2f742 100644 --- a/docs/models/operations/PutDestinationRequest.md +++ b/docs/models/operations/PutDestinationRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -| `destinationPutRequest` | [com.airbyte.api.models.shared.DestinationPutRequest](../../models/shared/DestinationPutRequest.md) | :heavy_minus_sign: | N/A | -| `destinationId` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `destinationPutRequest` | [Optional](../../models/shared/DestinationPutRequest.md) | :heavy_minus_sign: | N/A | +| `destinationId` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/operations/PutDestinationResponse.md b/docs/models/operations/PutDestinationResponse.md index 71ba571dd..c827a8293 100644 --- a/docs/models/operations/PutDestinationResponse.md +++ b/docs/models/operations/PutDestinationResponse.md @@ -6,6 +6,6 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | -| `destinationResponse` | [com.airbyte.api.models.shared.DestinationResponse](../../models/shared/DestinationResponse.md) | :heavy_minus_sign: | Update a Destination and fully overwrite it | {
"destinationId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"destinationType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
} | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file +| `destinationResponse` | [Optional](../../models/shared/DestinationResponse.md) | :heavy_minus_sign: | Update a Destination and fully overwrite it | {
"destinationId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"destinationType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
} | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/models/operations/PutSourceRequest.md b/docs/models/operations/PutSourceRequest.md index c7916287c..229739ea1 100644 --- a/docs/models/operations/PutSourceRequest.md +++ b/docs/models/operations/PutSourceRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -| `sourcePutRequest` | [com.airbyte.api.models.shared.SourcePutRequest](../../models/shared/SourcePutRequest.md) | :heavy_minus_sign: | N/A | -| `sourceId` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `sourcePutRequest` | [Optional](../../models/shared/SourcePutRequest.md) | :heavy_minus_sign: | N/A | +| `sourceId` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/operations/PutSourceResponse.md b/docs/models/operations/PutSourceResponse.md index c245cc3fc..57705dfd2 100644 --- a/docs/models/operations/PutSourceResponse.md +++ b/docs/models/operations/PutSourceResponse.md @@ -6,6 +6,6 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | -| `sourceResponse` | [com.airbyte.api.models.shared.SourceResponse](../../models/shared/SourceResponse.md) | :heavy_minus_sign: | Update a source and fully overwrite it | {
"sourceId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"sourceType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
} | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file +| `sourceResponse` | [Optional](../../models/shared/SourceResponse.md) | :heavy_minus_sign: | Update a source and fully overwrite it | {
"sourceId": "18dccc91-0ab1-4f72-9ed7-0b8fc27c5826",
"name": "Analytics Team Postgres",
"sourceType": "postgres",
"workspaceId": "871d9b60-11d1-44cb-8c92-c246d53bf87e"
} | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/models/operations/UpdateWorkspaceResponse.md b/docs/models/operations/UpdateWorkspaceResponse.md index 2248ae50c..6de78c9a4 100644 --- a/docs/models/operations/UpdateWorkspaceResponse.md +++ b/docs/models/operations/UpdateWorkspaceResponse.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *Integer* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `workspaceResponse` | [com.airbyte.api.models.shared.WorkspaceResponse](../../models/shared/WorkspaceResponse.md) | :heavy_minus_sign: | Successful operation | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [HttpResponse](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `workspaceResponse` | [Optional](../../models/shared/WorkspaceResponse.md) | :heavy_minus_sign: | Successful operation | \ No newline at end of file diff --git a/docs/models/shared/AESCBCEnvelopeEncryption.md b/docs/models/shared/AESCBCEnvelopeEncryption.md new file mode 100644 index 000000000..02586d81d --- /dev/null +++ b/docs/models/shared/AESCBCEnvelopeEncryption.md @@ -0,0 +1,11 @@ +# AESCBCEnvelopeEncryption + +Staging data will be encrypted using AES-CBC envelope encryption. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| `encryptionType` | [Optional](../../models/shared/DestinationRedshiftEncryptionType.md) | :heavy_minus_sign: | N/A | +| `keyEncryptingKey` | *Optional* | :heavy_minus_sign: | The key, base64-encoded. Must be either 128, 192, or 256 bits. Leave blank to have Airbyte generate an ephemeral key for each sync. | \ No newline at end of file diff --git a/docs/models/shared/APIAccessToken.md b/docs/models/shared/APIAccessToken.md new file mode 100644 index 000000000..29c12c35f --- /dev/null +++ b/docs/models/shared/APIAccessToken.md @@ -0,0 +1,9 @@ +# APIAccessToken + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | The access token to use for accessing your data from Smartsheets. This access token must be generated by a user with at least read access to the data you'd like to replicate. Generate an access token in the Smartsheets main menu by clicking Account > Apps & Integrations > API Access. See the setup guide for information on how to obtain this token. | +| `authType` | [Optional](../../models/shared/SourceSmartsheetsSchemasAuthType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/APIKey.md b/docs/models/shared/APIKey.md new file mode 100644 index 000000000..89a4f765c --- /dev/null +++ b/docs/models/shared/APIKey.md @@ -0,0 +1,9 @@ +# APIKey + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apikey` | *String* | :heavy_check_mark: | Mailchimp API Key. See the docs for information on how to generate this key. | +| `authType` | [com.airbyte.api.models.shared.SourceMailchimpSchemasAuthType](../../models/shared/SourceMailchimpSchemasAuthType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/APIPassword.md b/docs/models/shared/APIPassword.md new file mode 100644 index 000000000..165d0a4f4 --- /dev/null +++ b/docs/models/shared/APIPassword.md @@ -0,0 +1,11 @@ +# APIPassword + +API Password Auth + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `apiPassword` | *String* | :heavy_check_mark: | The API Password for your private application in the `Shopify` store. | +| `authMethod` | [com.airbyte.api.models.shared.SourceShopifySchemasAuthMethod](../../models/shared/SourceShopifySchemasAuthMethod.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/APIToken.md b/docs/models/shared/APIToken.md new file mode 100644 index 000000000..48dd70b28 --- /dev/null +++ b/docs/models/shared/APIToken.md @@ -0,0 +1,9 @@ +# APIToken + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `apiToken` | *String* | :heavy_check_mark: | API Token for making authenticated requests. | +| `authType` | [com.airbyte.api.models.shared.SourceMondaySchemasAuthType](../../models/shared/SourceMondaySchemasAuthType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/AWSEnvironment.md b/docs/models/shared/AWSEnvironment.md new file mode 100644 index 000000000..74c09fa0f --- /dev/null +++ b/docs/models/shared/AWSEnvironment.md @@ -0,0 +1,11 @@ +# AWSEnvironment + +Select the AWS Environment. + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `PRODUCTION` | PRODUCTION | +| `SANDBOX` | SANDBOX | \ No newline at end of file diff --git a/docs/models/shared/AWSRegion.md b/docs/models/shared/AWSRegion.md new file mode 100644 index 000000000..a30462925 --- /dev/null +++ b/docs/models/shared/AWSRegion.md @@ -0,0 +1,31 @@ +# AWSRegion + +Select the AWS Region. + + +## Values + +| Name | Value | +| ----- | ----- | +| `AE` | AE | +| `AU` | AU | +| `BE` | BE | +| `BR` | BR | +| `CA` | CA | +| `DE` | DE | +| `EG` | EG | +| `ES` | ES | +| `FR` | FR | +| `GB` | GB | +| `IN` | IN | +| `IT` | IT | +| `JP` | JP | +| `MX` | MX | +| `NL` | NL | +| `PL` | PL | +| `SA` | SA | +| `SE` | SE | +| `SG` | SG | +| `TR` | TR | +| `UK` | UK | +| `US` | US | \ No newline at end of file diff --git a/docs/models/shared/AWSSellerPartnerAccountType.md b/docs/models/shared/AWSSellerPartnerAccountType.md new file mode 100644 index 000000000..3e2ae7821 --- /dev/null +++ b/docs/models/shared/AWSSellerPartnerAccountType.md @@ -0,0 +1,11 @@ +# AWSSellerPartnerAccountType + +Type of the Account you're going to authorize the Airbyte application by + + +## Values + +| Name | Value | +| -------- | -------- | +| `SELLER` | Seller | +| `VENDOR` | Vendor | \ No newline at end of file diff --git a/docs/models/shared/AccessToken.md b/docs/models/shared/AccessToken.md new file mode 100644 index 000000000..0fd1f6195 --- /dev/null +++ b/docs/models/shared/AccessToken.md @@ -0,0 +1,9 @@ +# AccessToken + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `accessToken` | *String* | :heavy_check_mark: | The access token generated for your developer application. Refer to our documentation for more information. | +| `authMethod` | [Optional](../../models/shared/SourceLinkedinAdsSchemasAuthMethod.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/AccessTokenIsRequiredForAuthenticationRequests.md b/docs/models/shared/AccessTokenIsRequiredForAuthenticationRequests.md new file mode 100644 index 000000000..1850a7009 --- /dev/null +++ b/docs/models/shared/AccessTokenIsRequiredForAuthenticationRequests.md @@ -0,0 +1,8 @@ +# AccessTokenIsRequiredForAuthenticationRequests + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `ACCESS_TOKEN` | access_token | \ No newline at end of file diff --git a/docs/models/shared/AccountNames.md b/docs/models/shared/AccountNames.md new file mode 100644 index 000000000..10d320508 --- /dev/null +++ b/docs/models/shared/AccountNames.md @@ -0,0 +1,11 @@ +# AccountNames + +Account Names Predicates Config. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `name` | *String* | :heavy_check_mark: | Account Name is a string value for comparing with the specified predicate. | +| `operator` | [com.airbyte.api.models.shared.Operator](../../models/shared/Operator.md) | :heavy_check_mark: | An Operator that will be used to filter accounts. The Contains predicate has features for matching words, matching inflectional forms of words, searching using wildcard characters, and searching using proximity. The Equals is used to return all rows where account name is equal(=) to the string that you provided | \ No newline at end of file diff --git a/docs/models/shared/ActionReportTime.md b/docs/models/shared/ActionReportTime.md new file mode 100644 index 000000000..99ef9e602 --- /dev/null +++ b/docs/models/shared/ActionReportTime.md @@ -0,0 +1,11 @@ +# ActionReportTime + +Specifies the principle for conversion reporting. + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `CONVERSION` | conversion | +| `IMPRESSION` | impression | \ No newline at end of file diff --git a/docs/models/shared/AdAnalyticsReportConfiguration.md b/docs/models/shared/AdAnalyticsReportConfiguration.md new file mode 100644 index 000000000..0661e96ad --- /dev/null +++ b/docs/models/shared/AdAnalyticsReportConfiguration.md @@ -0,0 +1,12 @@ +# AdAnalyticsReportConfiguration + +Config for custom ad Analytics Report + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `name` | *String* | :heavy_check_mark: | The name for the custom report. | +| `pivotBy` | [com.airbyte.api.models.shared.PivotCategory](../../models/shared/PivotCategory.md) | :heavy_check_mark: | Choose a category to pivot your analytics report around. This selection will organize your data based on the chosen attribute, allowing you to analyze trends and performance from different perspectives. | +| `timeGranularity` | [com.airbyte.api.models.shared.TimeGranularity](../../models/shared/TimeGranularity.md) | :heavy_check_mark: | Choose how to group the data in your report by time. The options are:
- 'ALL': A single result summarizing the entire time range.
- 'DAILY': Group results by each day.
- 'MONTHLY': Group results by each month.
- 'YEARLY': Group results by each year.
Selecting a time grouping helps you analyze trends and patterns over different time periods. | \ No newline at end of file diff --git a/docs/models/shared/Aha.md b/docs/models/shared/Aha.md new file mode 100644 index 000000000..3eba0fbeb --- /dev/null +++ b/docs/models/shared/Aha.md @@ -0,0 +1,8 @@ +# Aha + + +## Values + +| Name | Value | +| ----- | ----- | +| `AHA` | aha | \ No newline at end of file diff --git a/docs/models/shared/Aircall.md b/docs/models/shared/Aircall.md new file mode 100644 index 000000000..84c6d171c --- /dev/null +++ b/docs/models/shared/Aircall.md @@ -0,0 +1,8 @@ +# Aircall + + +## Values + +| Name | Value | +| --------- | --------- | +| `AIRCALL` | aircall | \ No newline at end of file diff --git a/docs/models/shared/Airtable.md b/docs/models/shared/Airtable.md new file mode 100644 index 000000000..30bbbd2bc --- /dev/null +++ b/docs/models/shared/Airtable.md @@ -0,0 +1,8 @@ +# Airtable + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/Credentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Allow.md b/docs/models/shared/Allow.md new file mode 100644 index 000000000..2a3b53fff --- /dev/null +++ b/docs/models/shared/Allow.md @@ -0,0 +1,10 @@ +# Allow + +Allow SSL mode. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationPostgresMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/AmazonAds.md b/docs/models/shared/AmazonAds.md new file mode 100644 index 000000000..4e345c620 --- /dev/null +++ b/docs/models/shared/AmazonAds.md @@ -0,0 +1,9 @@ +# AmazonAds + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `clientId` | *Optional* | :heavy_minus_sign: | The client ID of your Amazon Ads developer application. See the docs for more information. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The client secret of your Amazon Ads developer application. See the docs for more information. | \ No newline at end of file diff --git a/docs/models/shared/AmazonS3.md b/docs/models/shared/AmazonS3.md new file mode 100644 index 000000000..2808fb0b8 --- /dev/null +++ b/docs/models/shared/AmazonS3.md @@ -0,0 +1,14 @@ +# AmazonS3 + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | +| `dataSourceType` | [com.airbyte.api.models.shared.DestinationDatabricksDataSourceType](../../models/shared/DestinationDatabricksDataSourceType.md) | :heavy_check_mark: | N/A | | +| `fileNamePattern` | *Optional* | :heavy_minus_sign: | The pattern allows you to set the file-name format for the S3 staging file(s) | {date} | +| `s3AccessKeyId` | *String* | :heavy_check_mark: | The Access Key Id granting allow one to access the above S3 staging bucket. Airbyte requires Read and Write permissions to the given bucket. | A012345678910EXAMPLE | +| `s3BucketName` | *String* | :heavy_check_mark: | The name of the S3 bucket to use for intermittent staging of the data. | airbyte.staging | +| `s3BucketPath` | *String* | :heavy_check_mark: | The directory under the S3 bucket where data will be written. | data_sync/test | +| `s3BucketRegion` | [Optional](../../models/shared/DestinationDatabricksS3BucketRegion.md) | :heavy_minus_sign: | The region of the S3 staging bucket to use if utilising a copy strategy. | | +| `s3SecretAccessKey` | *String* | :heavy_check_mark: | The corresponding secret to the above access key id. | a012345678910ABCDEFGH/AbCdEfGhEXAMPLEKEY | \ No newline at end of file diff --git a/docs/models/shared/AmazonSellerPartner.md b/docs/models/shared/AmazonSellerPartner.md new file mode 100644 index 000000000..7b71e166e --- /dev/null +++ b/docs/models/shared/AmazonSellerPartner.md @@ -0,0 +1,9 @@ +# AmazonSellerPartner + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | +| `lwaAppId` | *Optional* | :heavy_minus_sign: | Your Login with Amazon Client ID. | +| `lwaClientSecret` | *Optional* | :heavy_minus_sign: | Your Login with Amazon Client Secret. | \ No newline at end of file diff --git a/docs/models/shared/AmazonSqs.md b/docs/models/shared/AmazonSqs.md new file mode 100644 index 000000000..dbfe4ec54 --- /dev/null +++ b/docs/models/shared/AmazonSqs.md @@ -0,0 +1,8 @@ +# AmazonSqs + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `AMAZON_SQS` | amazon-sqs | \ No newline at end of file diff --git a/docs/models/shared/Amplitude.md b/docs/models/shared/Amplitude.md new file mode 100644 index 000000000..dd2a5ab78 --- /dev/null +++ b/docs/models/shared/Amplitude.md @@ -0,0 +1,8 @@ +# Amplitude + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `AMPLITUDE` | amplitude | \ No newline at end of file diff --git a/docs/models/shared/AndGroup.md b/docs/models/shared/AndGroup.md new file mode 100644 index 000000000..32d55f9e7 --- /dev/null +++ b/docs/models/shared/AndGroup.md @@ -0,0 +1,11 @@ +# AndGroup + +The FilterExpressions in andGroup have an AND relationship. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `expressions` | List<[com.airbyte.api.models.shared.Expression](../../models/shared/Expression.md)> | :heavy_check_mark: | N/A | +| `filterType` | [com.airbyte.api.models.shared.FilterType](../../models/shared/FilterType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/ApiKeyAuth.md b/docs/models/shared/ApiKeyAuth.md new file mode 100644 index 000000000..855c2696e --- /dev/null +++ b/docs/models/shared/ApiKeyAuth.md @@ -0,0 +1,9 @@ +# ApiKeyAuth + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | API Key for the Qdrant instance | +| `mode` | [Optional](../../models/shared/DestinationQdrantSchemasIndexingMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/ApiKeySecret.md b/docs/models/shared/ApiKeySecret.md new file mode 100644 index 000000000..de213aaaf --- /dev/null +++ b/docs/models/shared/ApiKeySecret.md @@ -0,0 +1,12 @@ +# ApiKeySecret + +Use a api key and secret combination to authenticate + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `apiKeyId` | *String* | :heavy_check_mark: | The Key ID to used when accessing an enterprise Elasticsearch instance. | +| `apiKeySecret` | *String* | :heavy_check_mark: | The secret associated with the API Key ID. | +| `method` | [com.airbyte.api.models.shared.DestinationElasticsearchMethod](../../models/shared/DestinationElasticsearchMethod.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/ApifyDataset.md b/docs/models/shared/ApifyDataset.md new file mode 100644 index 000000000..0487f927e --- /dev/null +++ b/docs/models/shared/ApifyDataset.md @@ -0,0 +1,8 @@ +# ApifyDataset + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `APIFY_DATASET` | apify-dataset | \ No newline at end of file diff --git a/docs/models/shared/Appfollow.md b/docs/models/shared/Appfollow.md new file mode 100644 index 000000000..c8c7db8ac --- /dev/null +++ b/docs/models/shared/Appfollow.md @@ -0,0 +1,8 @@ +# Appfollow + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `APPFOLLOW` | appfollow | \ No newline at end of file diff --git a/docs/models/shared/Applications.md b/docs/models/shared/Applications.md new file mode 100644 index 000000000..84e040d43 --- /dev/null +++ b/docs/models/shared/Applications.md @@ -0,0 +1,10 @@ +# Applications + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- | +| `appApiKey` | *String* | :heavy_check_mark: | N/A | +| `appId` | *String* | :heavy_check_mark: | N/A | +| `appName` | *Optional* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Asana.md b/docs/models/shared/Asana.md new file mode 100644 index 000000000..95c5b637a --- /dev/null +++ b/docs/models/shared/Asana.md @@ -0,0 +1,8 @@ +# Asana + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/AsanaCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/AsanaCredentials.md b/docs/models/shared/AsanaCredentials.md new file mode 100644 index 000000000..eeaa5b5b0 --- /dev/null +++ b/docs/models/shared/AsanaCredentials.md @@ -0,0 +1,9 @@ +# AsanaCredentials + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | N/A | +| `clientSecret` | *Optional* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Astra.md b/docs/models/shared/Astra.md new file mode 100644 index 000000000..8d02a749d --- /dev/null +++ b/docs/models/shared/Astra.md @@ -0,0 +1,8 @@ +# Astra + + +## Values + +| Name | Value | +| ------- | ------- | +| `ASTRA` | astra | \ No newline at end of file diff --git a/docs/models/shared/Auth0.md b/docs/models/shared/Auth0.md new file mode 100644 index 000000000..20ff6a468 --- /dev/null +++ b/docs/models/shared/Auth0.md @@ -0,0 +1,8 @@ +# Auth0 + + +## Values + +| Name | Value | +| ------- | ------- | +| `AUTH0` | auth0 | \ No newline at end of file diff --git a/docs/models/shared/AuthMethod.md b/docs/models/shared/AuthMethod.md new file mode 100644 index 000000000..956e3acea --- /dev/null +++ b/docs/models/shared/AuthMethod.md @@ -0,0 +1,8 @@ +# AuthMethod + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/AuthType.md b/docs/models/shared/AuthType.md new file mode 100644 index 000000000..9103a4597 --- /dev/null +++ b/docs/models/shared/AuthType.md @@ -0,0 +1,8 @@ +# AuthType + + +## Values + +| Name | Value | +| -------- | -------- | +| `CLIENT` | Client | \ No newline at end of file diff --git a/docs/models/shared/AuthenticateViaAPIKey.md b/docs/models/shared/AuthenticateViaAPIKey.md new file mode 100644 index 000000000..60ece2fa4 --- /dev/null +++ b/docs/models/shared/AuthenticateViaAPIKey.md @@ -0,0 +1,9 @@ +# AuthenticateViaAPIKey + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | API Key for making authenticated requests. More instruction on how to find this value in our docs | +| `authType` | [com.airbyte.api.models.shared.SourceSalesloftSchemasAuthType](../../models/shared/SourceSalesloftSchemasAuthType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/AuthenticateViaAsanaOauth.md b/docs/models/shared/AuthenticateViaAsanaOauth.md new file mode 100644 index 000000000..e4a7ee3f4 --- /dev/null +++ b/docs/models/shared/AuthenticateViaAsanaOauth.md @@ -0,0 +1,11 @@ +# AuthenticateViaAsanaOauth + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `clientId` | *String* | :heavy_check_mark: | N/A | +| `clientSecret` | *String* | :heavy_check_mark: | N/A | +| `optionTitle` | [Optional](../../models/shared/SourceAsanaCredentialsTitle.md) | :heavy_minus_sign: | OAuth Credentials | +| `refreshToken` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/AuthenticateViaGoogleOauth.md b/docs/models/shared/AuthenticateViaGoogleOauth.md new file mode 100644 index 000000000..e40168fb2 --- /dev/null +++ b/docs/models/shared/AuthenticateViaGoogleOauth.md @@ -0,0 +1,12 @@ +# AuthenticateViaGoogleOauth + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *Optional* | :heavy_minus_sign: | Access Token for making authenticated requests. | +| `authType` | [Optional](../../models/shared/SourceGoogleAnalyticsDataApiAuthType.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your Google Analytics developer application. | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret of your Google Analytics developer application. | +| `refreshToken` | *String* | :heavy_check_mark: | The token for obtaining a new access token. | \ No newline at end of file diff --git a/docs/models/shared/AuthenticateViaLeverApiKey.md b/docs/models/shared/AuthenticateViaLeverApiKey.md new file mode 100644 index 000000000..37f91731c --- /dev/null +++ b/docs/models/shared/AuthenticateViaLeverApiKey.md @@ -0,0 +1,9 @@ +# AuthenticateViaLeverApiKey + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | The Api Key of your Lever Hiring account. | +| `authType` | [Optional](../../models/shared/SourceLeverHiringSchemasAuthType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/AuthenticateViaLeverOAuth.md b/docs/models/shared/AuthenticateViaLeverOAuth.md new file mode 100644 index 000000000..814930abc --- /dev/null +++ b/docs/models/shared/AuthenticateViaLeverOAuth.md @@ -0,0 +1,11 @@ +# AuthenticateViaLeverOAuth + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [Optional](../../models/shared/SourceLeverHiringAuthType.md) | :heavy_minus_sign: | N/A | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your Lever Hiring developer application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your Lever Hiring developer application. | +| `refreshToken` | *String* | :heavy_check_mark: | The token for obtaining new access token. | \ No newline at end of file diff --git a/docs/models/shared/AuthenticateViaMicrosoft.md b/docs/models/shared/AuthenticateViaMicrosoft.md new file mode 100644 index 000000000..c57529d29 --- /dev/null +++ b/docs/models/shared/AuthenticateViaMicrosoft.md @@ -0,0 +1,11 @@ +# AuthenticateViaMicrosoft + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [Optional](../../models/shared/SourceMicrosoftTeamsSchemasAuthType.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your Microsoft Teams developer application. | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret of your Microsoft Teams developer application. | +| `tenantId` | *String* | :heavy_check_mark: | A globally unique identifier (GUID) that is different than your organization name or domain. Follow these steps to obtain: open one of the Teams where you belong inside the Teams Application -> Click on the … next to the Team title -> Click on Get link to team -> Copy the link to the team and grab the tenant ID form the URL | \ No newline at end of file diff --git a/docs/models/shared/AuthenticateViaMicrosoftOAuth.md b/docs/models/shared/AuthenticateViaMicrosoftOAuth.md new file mode 100644 index 000000000..912309199 --- /dev/null +++ b/docs/models/shared/AuthenticateViaMicrosoftOAuth.md @@ -0,0 +1,15 @@ +# AuthenticateViaMicrosoftOAuth + +OAuthCredentials class to hold authentication details for Microsoft OAuth authentication. +This class uses pydantic for data validation and settings management. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [Optional](../../models/shared/SourceMicrosoftOnedriveAuthType.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | Client ID of your Microsoft developer application | +| `clientSecret` | *String* | :heavy_check_mark: | Client Secret of your Microsoft developer application | +| `refreshToken` | *String* | :heavy_check_mark: | Refresh Token of your Microsoft developer application | +| `tenantId` | *String* | :heavy_check_mark: | Tenant ID of the Microsoft OneDrive user | \ No newline at end of file diff --git a/docs/models/shared/AuthenticateViaMicrosoftOAuth20.md b/docs/models/shared/AuthenticateViaMicrosoftOAuth20.md new file mode 100644 index 000000000..c9761a9bd --- /dev/null +++ b/docs/models/shared/AuthenticateViaMicrosoftOAuth20.md @@ -0,0 +1,12 @@ +# AuthenticateViaMicrosoftOAuth20 + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [Optional](../../models/shared/SourceMicrosoftTeamsAuthType.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your Microsoft Teams developer application. | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret of your Microsoft Teams developer application. | +| `refreshToken` | *String* | :heavy_check_mark: | A Refresh Token to renew the expired Access Token. | +| `tenantId` | *String* | :heavy_check_mark: | A globally unique identifier (GUID) that is different than your organization name or domain. Follow these steps to obtain: open one of the Teams where you belong inside the Teams Application -> Click on the … next to the Team title -> Click on Get link to team -> Copy the link to the team and grab the tenant ID form the URL | \ No newline at end of file diff --git a/docs/models/shared/AuthenticateViaOAuth.md b/docs/models/shared/AuthenticateViaOAuth.md new file mode 100644 index 000000000..d0519cded --- /dev/null +++ b/docs/models/shared/AuthenticateViaOAuth.md @@ -0,0 +1,13 @@ +# AuthenticateViaOAuth + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Access Token for making authenticated requests. | +| `authType` | [com.airbyte.api.models.shared.SourceSalesloftAuthType](../../models/shared/SourceSalesloftAuthType.md) | :heavy_check_mark: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your Salesloft developer application. | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret of your Salesloft developer application. | +| `refreshToken` | *String* | :heavy_check_mark: | The token for obtaining a new access token. | +| `tokenExpiryDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | The date-time when the access token should be refreshed. | \ No newline at end of file diff --git a/docs/models/shared/AuthenticateWithPersonalAccessToken.md b/docs/models/shared/AuthenticateWithPersonalAccessToken.md new file mode 100644 index 000000000..4c33861c0 --- /dev/null +++ b/docs/models/shared/AuthenticateWithPersonalAccessToken.md @@ -0,0 +1,9 @@ +# AuthenticateWithPersonalAccessToken + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `optionTitle` | [Optional](../../models/shared/SourceAsanaSchemasCredentialsTitle.md) | :heavy_minus_sign: | PAT Credentials | +| `personalAccessToken` | *String* | :heavy_check_mark: | Asana Personal Access Token (generate yours here). | \ No newline at end of file diff --git a/docs/models/shared/Authentication.md b/docs/models/shared/Authentication.md new file mode 100644 index 000000000..aad298156 --- /dev/null +++ b/docs/models/shared/Authentication.md @@ -0,0 +1,4 @@ +# Authentication + +An HMAC key is a type of credential and can be associated with a service account or a user account in Cloud Storage. Read more here. + diff --git a/docs/models/shared/AuthenticationMechanism.md b/docs/models/shared/AuthenticationMechanism.md new file mode 100644 index 000000000..b07f981c3 --- /dev/null +++ b/docs/models/shared/AuthenticationMechanism.md @@ -0,0 +1,4 @@ +# AuthenticationMechanism + +Choose how to authenticate to Github + diff --git a/docs/models/shared/AuthenticationMethod.md b/docs/models/shared/AuthenticationMethod.md new file mode 100644 index 000000000..b71050039 --- /dev/null +++ b/docs/models/shared/AuthenticationMethod.md @@ -0,0 +1,4 @@ +# AuthenticationMethod + +The type of authentication to be used + diff --git a/docs/models/shared/AuthenticationMode.md b/docs/models/shared/AuthenticationMode.md new file mode 100644 index 000000000..07661dd7b --- /dev/null +++ b/docs/models/shared/AuthenticationMode.md @@ -0,0 +1,4 @@ +# AuthenticationMode + +Choose How to Authenticate to AWS. + diff --git a/docs/models/shared/AuthenticationType.md b/docs/models/shared/AuthenticationType.md new file mode 100644 index 000000000..56f872084 --- /dev/null +++ b/docs/models/shared/AuthenticationType.md @@ -0,0 +1,2 @@ +# AuthenticationType + diff --git a/docs/models/shared/AuthenticationViaGoogleOAuth.md b/docs/models/shared/AuthenticationViaGoogleOAuth.md new file mode 100644 index 000000000..6fecb0557 --- /dev/null +++ b/docs/models/shared/AuthenticationViaGoogleOAuth.md @@ -0,0 +1,12 @@ +# AuthenticationViaGoogleOAuth + +Google API Credentials for connecting to Google Sheets and Google Drive APIs + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your Google Sheets developer application. | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret of your Google Sheets developer application. | +| `refreshToken` | *String* | :heavy_check_mark: | The token for obtaining new access token. | \ No newline at end of file diff --git a/docs/models/shared/AuthenticationWildcard.md b/docs/models/shared/AuthenticationWildcard.md new file mode 100644 index 000000000..e09eb64f3 --- /dev/null +++ b/docs/models/shared/AuthenticationWildcard.md @@ -0,0 +1,4 @@ +# AuthenticationWildcard + +Choose how to authenticate to Mixpanel + diff --git a/docs/models/shared/Authorization.md b/docs/models/shared/Authorization.md new file mode 100644 index 000000000..4ff5a1fb1 --- /dev/null +++ b/docs/models/shared/Authorization.md @@ -0,0 +1,9 @@ +# Authorization + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The client ID of your Google Search Console developer application. Read more here. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The client secret of your Google Search Console developer application. Read more here. | \ No newline at end of file diff --git a/docs/models/shared/AuthorizationMethod.md b/docs/models/shared/AuthorizationMethod.md new file mode 100644 index 000000000..79418b1d3 --- /dev/null +++ b/docs/models/shared/AuthorizationMethod.md @@ -0,0 +1,2 @@ +# AuthorizationMethod + diff --git a/docs/models/shared/AuthorizationType.md b/docs/models/shared/AuthorizationType.md new file mode 100644 index 000000000..12ff4c577 --- /dev/null +++ b/docs/models/shared/AuthorizationType.md @@ -0,0 +1,4 @@ +# AuthorizationType + +Authorization type. + diff --git a/docs/models/shared/Autogenerated.md b/docs/models/shared/Autogenerated.md new file mode 100644 index 000000000..34f2bb008 --- /dev/null +++ b/docs/models/shared/Autogenerated.md @@ -0,0 +1,8 @@ +# Autogenerated + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `headerDefinitionType` | [Optional](../../models/shared/SourceAzureBlobStorageHeaderDefinitionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Avro.md b/docs/models/shared/Avro.md new file mode 100644 index 000000000..92d4caf99 --- /dev/null +++ b/docs/models/shared/Avro.md @@ -0,0 +1,10 @@ +# Avro + +This connector utilises fastavro for Avro parsing. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `filetype` | [Optional](../../models/shared/SourceS3SchemasFiletype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/AvroApacheAvro.md b/docs/models/shared/AvroApacheAvro.md new file mode 100644 index 000000000..c5865c58b --- /dev/null +++ b/docs/models/shared/AvroApacheAvro.md @@ -0,0 +1,9 @@ +# AvroApacheAvro + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `compressionCodec` | [com.airbyte.api.models.shared.CompressionCodec](../../models/shared/CompressionCodec.md) | :heavy_check_mark: | The compression algorithm used to compress data. Default to no compression. | +| `formatType` | [Optional](../../models/shared/DestinationGcsFormatType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/AvroFormat.md b/docs/models/shared/AvroFormat.md new file mode 100644 index 000000000..e68dfaf8e --- /dev/null +++ b/docs/models/shared/AvroFormat.md @@ -0,0 +1,9 @@ +# AvroFormat + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `doubleAsString` | *Optional* | :heavy_minus_sign: | Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. | +| `filetype` | [Optional](../../models/shared/SourceAzureBlobStorageSchemasStreamsFormatFormatFiletype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/AwsCloudtrail.md b/docs/models/shared/AwsCloudtrail.md new file mode 100644 index 000000000..d60636390 --- /dev/null +++ b/docs/models/shared/AwsCloudtrail.md @@ -0,0 +1,8 @@ +# AwsCloudtrail + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `AWS_CLOUDTRAIL` | aws-cloudtrail | \ No newline at end of file diff --git a/docs/models/shared/AwsDatalake.md b/docs/models/shared/AwsDatalake.md new file mode 100644 index 000000000..cee9d7151 --- /dev/null +++ b/docs/models/shared/AwsDatalake.md @@ -0,0 +1,8 @@ +# AwsDatalake + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `AWS_DATALAKE` | aws-datalake | \ No newline at end of file diff --git a/docs/models/shared/Awss3Staging.md b/docs/models/shared/Awss3Staging.md new file mode 100644 index 000000000..8bb2efe6c --- /dev/null +++ b/docs/models/shared/Awss3Staging.md @@ -0,0 +1,18 @@ +# AWSS3Staging + +(recommended) Uploads data to S3 and then uses a COPY to insert the data into Redshift. COPY is recommended for production workloads for better speed and scalability. See AWS docs for more details. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `accessKeyId` | *String* | :heavy_check_mark: | This ID grants access to the above S3 staging bucket. Airbyte requires Read and Write permissions to the given bucket. See AWS docs on how to generate an access key ID and secret access key. | | +| `encryption` | [Optional](../../models/shared/DestinationRedshiftEncryption.md) | :heavy_minus_sign: | How to encrypt the staging data | | +| `fileNamePattern` | *Optional* | :heavy_minus_sign: | The pattern allows you to set the file-name format for the S3 staging file(s) | {date} | +| `method` | [com.airbyte.api.models.shared.DestinationRedshiftMethod](../../models/shared/DestinationRedshiftMethod.md) | :heavy_check_mark: | N/A | | +| `purgeStagingData` | *Optional* | :heavy_minus_sign: | Whether to delete the staging files from S3 after completing the sync. See docs for details. | | +| `s3BucketName` | *String* | :heavy_check_mark: | The name of the staging S3 bucket. | airbyte.staging | +| `s3BucketPath` | *Optional* | :heavy_minus_sign: | The directory under the S3 bucket where data will be written. If not provided, then defaults to the root directory. See path's name recommendations for more details. | data_sync/test | +| `s3BucketRegion` | [Optional](../../models/shared/DestinationRedshiftS3BucketRegion.md) | :heavy_minus_sign: | The region of the S3 staging bucket. | | +| `secretAccessKey` | *String* | :heavy_check_mark: | The corresponding secret to the above access key id. See AWS docs on how to generate an access key ID and secret access key. | | \ No newline at end of file diff --git a/docs/models/shared/AzBlobAzureBlobStorage.md b/docs/models/shared/AzBlobAzureBlobStorage.md new file mode 100644 index 000000000..a08a46bf6 --- /dev/null +++ b/docs/models/shared/AzBlobAzureBlobStorage.md @@ -0,0 +1,11 @@ +# AzBlobAzureBlobStorage + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sasToken` | *Optional* | :heavy_minus_sign: | To access Azure Blob Storage, this connector would need credentials with the proper permissions. One option is a SAS (Shared Access Signature) token. If accessing publicly available data, this field is not necessary. | +| `sharedKey` | *Optional* | :heavy_minus_sign: | To access Azure Blob Storage, this connector would need credentials with the proper permissions. One option is a storage account shared key (aka account key or access key). If accessing publicly available data, this field is not necessary. | +| `storage` | [com.airbyte.api.models.shared.SourceFileSchemasProviderStorage](../../models/shared/SourceFileSchemasProviderStorage.md) | :heavy_check_mark: | N/A | +| `storageAccount` | *String* | :heavy_check_mark: | The globally unique name of the storage account that the desired blob sits within. See here for more details. | \ No newline at end of file diff --git a/docs/models/shared/AzureBlobStorage.md b/docs/models/shared/AzureBlobStorage.md new file mode 100644 index 000000000..c6c425ff0 --- /dev/null +++ b/docs/models/shared/AzureBlobStorage.md @@ -0,0 +1,8 @@ +# AzureBlobStorage + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `AZURE_BLOB_STORAGE` | azure-blob-storage | \ No newline at end of file diff --git a/docs/models/shared/AzureOpenAI.md b/docs/models/shared/AzureOpenAI.md new file mode 100644 index 000000000..f1ef0f134 --- /dev/null +++ b/docs/models/shared/AzureOpenAI.md @@ -0,0 +1,13 @@ +# AzureOpenAI + +Use the Azure-hosted OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiBase` | *String* | :heavy_check_mark: | The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource | https://your-resource-name.openai.azure.com | +| `deployment` | *String* | :heavy_check_mark: | The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource | your-resource-name | +| `mode` | [Optional](../../models/shared/DestinationAstraSchemasEmbeddingMode.md) | :heavy_minus_sign: | N/A | | +| `openaiKey` | *String* | :heavy_check_mark: | The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource | | \ No newline at end of file diff --git a/docs/models/shared/AzureTable.md b/docs/models/shared/AzureTable.md new file mode 100644 index 000000000..5ff1020d6 --- /dev/null +++ b/docs/models/shared/AzureTable.md @@ -0,0 +1,8 @@ +# AzureTable + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `AZURE_TABLE` | azure-table | \ No newline at end of file diff --git a/docs/models/shared/BambooHr.md b/docs/models/shared/BambooHr.md new file mode 100644 index 000000000..463637996 --- /dev/null +++ b/docs/models/shared/BambooHr.md @@ -0,0 +1,8 @@ +# BambooHr + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `BAMBOO_HR` | bamboo-hr | \ No newline at end of file diff --git a/docs/models/shared/BaseURL.md b/docs/models/shared/BaseURL.md new file mode 100644 index 000000000..5287c31d3 --- /dev/null +++ b/docs/models/shared/BaseURL.md @@ -0,0 +1,4 @@ +# BaseURL + +Is your account location is EU based? If yes, the base url to retrieve data will be different. + diff --git a/docs/models/shared/BetweenFilter.md b/docs/models/shared/BetweenFilter.md new file mode 100644 index 000000000..95b7b90e0 --- /dev/null +++ b/docs/models/shared/BetweenFilter.md @@ -0,0 +1,10 @@ +# BetweenFilter + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterName.md) | :heavy_check_mark: | N/A | +| `fromValue` | [com.airbyte.api.models.shared.FromValue](../../models/shared/FromValue.md) | :heavy_check_mark: | N/A | +| `toValue` | [com.airbyte.api.models.shared.ToValue](../../models/shared/ToValue.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Bigquery.md b/docs/models/shared/Bigquery.md new file mode 100644 index 000000000..672a45e17 --- /dev/null +++ b/docs/models/shared/Bigquery.md @@ -0,0 +1,8 @@ +# Bigquery + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `BIGQUERY` | bigquery | \ No newline at end of file diff --git a/docs/models/shared/BingAds.md b/docs/models/shared/BingAds.md new file mode 100644 index 000000000..327876f5f --- /dev/null +++ b/docs/models/shared/BingAds.md @@ -0,0 +1,9 @@ +# BingAds + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your Microsoft Advertising developer application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your Microsoft Advertising developer application. | \ No newline at end of file diff --git a/docs/models/shared/BothUsernameAndPasswordIsRequiredForAuthenticationRequest.md b/docs/models/shared/BothUsernameAndPasswordIsRequiredForAuthenticationRequest.md new file mode 100644 index 000000000..d79709ff1 --- /dev/null +++ b/docs/models/shared/BothUsernameAndPasswordIsRequiredForAuthenticationRequest.md @@ -0,0 +1,8 @@ +# BothUsernameAndPasswordIsRequiredForAuthenticationRequest + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `USERNAME_PASSWORD` | username_password | \ No newline at end of file diff --git a/docs/models/shared/Braintree.md b/docs/models/shared/Braintree.md new file mode 100644 index 000000000..6c094eb8b --- /dev/null +++ b/docs/models/shared/Braintree.md @@ -0,0 +1,8 @@ +# Braintree + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `BRAINTREE` | braintree | \ No newline at end of file diff --git a/docs/models/shared/Braze.md b/docs/models/shared/Braze.md new file mode 100644 index 000000000..81892cd6b --- /dev/null +++ b/docs/models/shared/Braze.md @@ -0,0 +1,8 @@ +# Braze + + +## Values + +| Name | Value | +| ------- | ------- | +| `BRAZE` | braze | \ No newline at end of file diff --git a/docs/models/shared/ByMarkdownHeader.md b/docs/models/shared/ByMarkdownHeader.md new file mode 100644 index 000000000..8508c2ef2 --- /dev/null +++ b/docs/models/shared/ByMarkdownHeader.md @@ -0,0 +1,11 @@ +# ByMarkdownHeader + +Split the text by Markdown headers down to the specified header level. If the chunk size fits multiple sections, they will be combined into a single chunk. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationAstraSchemasProcessingTextSplitterMode.md) | :heavy_minus_sign: | N/A | +| `splitLevel` | *Optional* | :heavy_minus_sign: | Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points | \ No newline at end of file diff --git a/docs/models/shared/ByProgrammingLanguage.md b/docs/models/shared/ByProgrammingLanguage.md new file mode 100644 index 000000000..4afa9c01f --- /dev/null +++ b/docs/models/shared/ByProgrammingLanguage.md @@ -0,0 +1,11 @@ +# ByProgrammingLanguage + +Split the text by suitable delimiters based on the programming language. This is useful for splitting code into chunks. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `language` | [com.airbyte.api.models.shared.DestinationAstraLanguage](../../models/shared/DestinationAstraLanguage.md) | :heavy_check_mark: | Split code in suitable places based on the programming language | +| `mode` | [Optional](../../models/shared/DestinationAstraSchemasProcessingTextSplitterTextSplitterMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/BySeparator.md b/docs/models/shared/BySeparator.md new file mode 100644 index 000000000..e5afdd6df --- /dev/null +++ b/docs/models/shared/BySeparator.md @@ -0,0 +1,12 @@ +# BySeparator + +Split the text by the list of separators until the chunk size is reached, using the earlier mentioned separators where possible. This is useful for splitting text fields by paragraphs, sentences, words, etc. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `keepSeparator` | *Optional* | :heavy_minus_sign: | Whether to keep the separator in the resulting chunks | +| `mode` | [Optional](../../models/shared/DestinationAstraSchemasProcessingMode.md) | :heavy_minus_sign: | N/A | +| `separators` | List<*String*> | :heavy_minus_sign: | List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". | \ No newline at end of file diff --git a/docs/models/shared/Bzip2.md b/docs/models/shared/Bzip2.md new file mode 100644 index 000000000..7150b712f --- /dev/null +++ b/docs/models/shared/Bzip2.md @@ -0,0 +1,8 @@ +# Bzip2 + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `codec` | [Optional](../../models/shared/DestinationGcsSchemasCodec.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/CSVCommaSeparatedValues.md b/docs/models/shared/CSVCommaSeparatedValues.md new file mode 100644 index 000000000..1bb93ef19 --- /dev/null +++ b/docs/models/shared/CSVCommaSeparatedValues.md @@ -0,0 +1,9 @@ +# CSVCommaSeparatedValues + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `flattening` | [Optional](../../models/shared/NormalizationFlattening.md) | :heavy_minus_sign: | Whether the input json data should be normalized (flattened) in the output CSV. Please refer to docs for details. | +| `formatType` | [com.airbyte.api.models.shared.FormatType](../../models/shared/FormatType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/CSVFormat.md b/docs/models/shared/CSVFormat.md new file mode 100644 index 000000000..ac0225094 --- /dev/null +++ b/docs/models/shared/CSVFormat.md @@ -0,0 +1,22 @@ +# CSVFormat + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `delimiter` | *Optional* | :heavy_minus_sign: | The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. | +| `doubleQuote` | *Optional* | :heavy_minus_sign: | Whether two quotes in a quoted CSV value denote a single quote in the data. | +| `encoding` | *Optional* | :heavy_minus_sign: | The character encoding of the CSV data. Leave blank to default to UTF8. See list of python encodings for allowable options. | +| `escapeChar` | *Optional* | :heavy_minus_sign: | The character used for escaping special characters. To disallow escaping, leave this field blank. | +| `falseValues` | List<*String*> | :heavy_minus_sign: | A set of case-sensitive strings that should be interpreted as false values. | +| `filetype` | [Optional](../../models/shared/SourceAzureBlobStorageFiletype.md) | :heavy_minus_sign: | N/A | +| `headerDefinition` | [Optional](../../models/shared/CSVHeaderDefinition.md) | :heavy_minus_sign: | How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. | +| `ignoreErrorsOnFieldsMismatch` | *Optional* | :heavy_minus_sign: | Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. | +| `inferenceType` | [Optional](../../models/shared/InferenceType.md) | :heavy_minus_sign: | How to infer the types of the columns. If none, inference default to strings. | +| `nullValues` | List<*String*> | :heavy_minus_sign: | A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. | +| `quoteChar` | *Optional* | :heavy_minus_sign: | The character used for quoting CSV values. To disallow quoting, make this field blank. | +| `skipRowsAfterHeader` | *Optional* | :heavy_minus_sign: | The number of rows to skip after the header row. | +| `skipRowsBeforeHeader` | *Optional* | :heavy_minus_sign: | The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. | +| `stringsCanBeNull` | *Optional* | :heavy_minus_sign: | Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. | +| `trueValues` | List<*String*> | :heavy_minus_sign: | A set of case-sensitive strings that should be interpreted as true values. | \ No newline at end of file diff --git a/docs/models/shared/CSVHeaderDefinition.md b/docs/models/shared/CSVHeaderDefinition.md new file mode 100644 index 000000000..80be906fe --- /dev/null +++ b/docs/models/shared/CSVHeaderDefinition.md @@ -0,0 +1,4 @@ +# CSVHeaderDefinition + +How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + diff --git a/docs/models/shared/CacheType.md b/docs/models/shared/CacheType.md new file mode 100644 index 000000000..fe5a8e230 --- /dev/null +++ b/docs/models/shared/CacheType.md @@ -0,0 +1,10 @@ +# CacheType + +Redis cache type to store data in. + + +## Values + +| Name | Value | +| ------ | ------ | +| `HASH` | hash | \ No newline at end of file diff --git a/docs/models/shared/Cart.md b/docs/models/shared/Cart.md new file mode 100644 index 000000000..6fb95e23a --- /dev/null +++ b/docs/models/shared/Cart.md @@ -0,0 +1,8 @@ +# Cart + + +## Values + +| Name | Value | +| ------ | ------ | +| `CART` | cart | \ No newline at end of file diff --git a/docs/models/shared/Categories.md b/docs/models/shared/Categories.md new file mode 100644 index 000000000..35effdc64 --- /dev/null +++ b/docs/models/shared/Categories.md @@ -0,0 +1,12 @@ +# Categories + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `ACCESSIBILITY` | accessibility | +| `BEST_PRACTICES` | best-practices | +| `PERFORMANCE` | performance | +| `PWA` | pwa | +| `SEO` | seo | \ No newline at end of file diff --git a/docs/models/shared/CentralAPIRouter.md b/docs/models/shared/CentralAPIRouter.md new file mode 100644 index 000000000..36ce1b568 --- /dev/null +++ b/docs/models/shared/CentralAPIRouter.md @@ -0,0 +1,11 @@ +# CentralAPIRouter + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | +| `authType` | [com.airbyte.api.models.shared.SourceCartAuthType](../../models/shared/SourceCartAuthType.md) | :heavy_check_mark: | N/A | +| `siteId` | *String* | :heavy_check_mark: | You can determine a site provisioning site Id by hitting https://site.com/store/sitemonitor.aspx and reading the response param PSID | +| `userName` | *String* | :heavy_check_mark: | Enter your application's User Name | +| `userSecret` | *String* | :heavy_check_mark: | Enter your application's User Secret | \ No newline at end of file diff --git a/docs/models/shared/Chargebee.md b/docs/models/shared/Chargebee.md new file mode 100644 index 000000000..6ac31a184 --- /dev/null +++ b/docs/models/shared/Chargebee.md @@ -0,0 +1,8 @@ +# Chargebee + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `CHARGEBEE` | chargebee | \ No newline at end of file diff --git a/docs/models/shared/Chartmogul.md b/docs/models/shared/Chartmogul.md new file mode 100644 index 000000000..6dce3fb31 --- /dev/null +++ b/docs/models/shared/Chartmogul.md @@ -0,0 +1,8 @@ +# Chartmogul + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `CHARTMOGUL` | chartmogul | \ No newline at end of file diff --git a/docs/models/shared/ChooseHowToPartitionData.md b/docs/models/shared/ChooseHowToPartitionData.md new file mode 100644 index 000000000..5f29ce703 --- /dev/null +++ b/docs/models/shared/ChooseHowToPartitionData.md @@ -0,0 +1,16 @@ +# ChooseHowToPartitionData + +Partition data by cursor fields when a cursor field is a date + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `NO_PARTITIONING` | NO PARTITIONING | +| `DATE` | DATE | +| `YEAR` | YEAR | +| `MONTH` | MONTH | +| `DAY` | DAY | +| `YEAR_MONTH` | YEAR/MONTH | +| `YEAR_MONTH_DAY` | YEAR/MONTH/DAY | \ No newline at end of file diff --git a/docs/models/shared/ChromaLocalPersistance.md b/docs/models/shared/ChromaLocalPersistance.md new file mode 100644 index 000000000..3a554d7b1 --- /dev/null +++ b/docs/models/shared/ChromaLocalPersistance.md @@ -0,0 +1,12 @@ +# ChromaLocalPersistance + +Chroma is a popular vector store that can be used to store and retrieve embeddings. It will build its index in memory and persist it to disk by the end of the sync. + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `collectionName` | *Optional* | :heavy_minus_sign: | Name of the collection to use. | | +| `destinationPath` | *String* | :heavy_check_mark: | Path to the directory where chroma files will be written. The files will be placed inside that local mount. | /local/my_chroma_db | +| `mode` | [Optional](../../models/shared/DestinationLangchainSchemasIndexingIndexing3Mode.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/ClickWindowDays.md b/docs/models/shared/ClickWindowDays.md new file mode 100644 index 000000000..fa58e4e9b --- /dev/null +++ b/docs/models/shared/ClickWindowDays.md @@ -0,0 +1,15 @@ +# ClickWindowDays + +Number of days to use as the conversion attribution window for a pin click action. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `ZERO` | 0 | +| `ONE` | 1 | +| `SEVEN` | 7 | +| `FOURTEEN` | 14 | +| `THIRTY` | 30 | +| `SIXTY` | 60 | \ No newline at end of file diff --git a/docs/models/shared/Clickhouse.md b/docs/models/shared/Clickhouse.md new file mode 100644 index 000000000..ebb20750e --- /dev/null +++ b/docs/models/shared/Clickhouse.md @@ -0,0 +1,8 @@ +# Clickhouse + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `CLICKHOUSE` | clickhouse | \ No newline at end of file diff --git a/docs/models/shared/ClickupApi.md b/docs/models/shared/ClickupApi.md new file mode 100644 index 000000000..986730edf --- /dev/null +++ b/docs/models/shared/ClickupApi.md @@ -0,0 +1,8 @@ +# ClickupApi + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `CLICKUP_API` | clickup-api | \ No newline at end of file diff --git a/docs/models/shared/Clockify.md b/docs/models/shared/Clockify.md new file mode 100644 index 000000000..fd23aa770 --- /dev/null +++ b/docs/models/shared/Clockify.md @@ -0,0 +1,8 @@ +# Clockify + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `CLOCKIFY` | clockify | \ No newline at end of file diff --git a/docs/models/shared/CloseCom.md b/docs/models/shared/CloseCom.md new file mode 100644 index 000000000..07a4f0fe1 --- /dev/null +++ b/docs/models/shared/CloseCom.md @@ -0,0 +1,8 @@ +# CloseCom + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `CLOSE_COM` | close-com | \ No newline at end of file diff --git a/docs/models/shared/Coda.md b/docs/models/shared/Coda.md new file mode 100644 index 000000000..7fb427c1c --- /dev/null +++ b/docs/models/shared/Coda.md @@ -0,0 +1,8 @@ +# Coda + + +## Values + +| Name | Value | +| ------ | ------ | +| `CODA` | coda | \ No newline at end of file diff --git a/docs/models/shared/Codec.md b/docs/models/shared/Codec.md new file mode 100644 index 000000000..65eb7c147 --- /dev/null +++ b/docs/models/shared/Codec.md @@ -0,0 +1,8 @@ +# Codec + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `NO_COMPRESSION` | no compression | \ No newline at end of file diff --git a/docs/models/shared/Cohere.md b/docs/models/shared/Cohere.md new file mode 100644 index 000000000..dfff5678c --- /dev/null +++ b/docs/models/shared/Cohere.md @@ -0,0 +1,11 @@ +# Cohere + +Use the Cohere API to embed text. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `cohereKey` | *String* | :heavy_check_mark: | N/A | +| `mode` | [Optional](../../models/shared/DestinationAstraMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/CohortReportSettings.md b/docs/models/shared/CohortReportSettings.md new file mode 100644 index 000000000..5eb7a0226 --- /dev/null +++ b/docs/models/shared/CohortReportSettings.md @@ -0,0 +1,10 @@ +# CohortReportSettings + +Optional settings for a cohort report. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `accumulate` | *Optional* | :heavy_minus_sign: | If true, accumulates the result from first touch day to the end day | \ No newline at end of file diff --git a/docs/models/shared/CohortReports.md b/docs/models/shared/CohortReports.md new file mode 100644 index 000000000..e8280f0ce --- /dev/null +++ b/docs/models/shared/CohortReports.md @@ -0,0 +1,4 @@ +# CohortReports + +Cohort reports creates a time series of user retention for the cohort. + diff --git a/docs/models/shared/Cohorts.md b/docs/models/shared/Cohorts.md new file mode 100644 index 000000000..5c6f1fd9c --- /dev/null +++ b/docs/models/shared/Cohorts.md @@ -0,0 +1,10 @@ +# Cohorts + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `dateRange` | [com.airbyte.api.models.shared.DateRange](../../models/shared/DateRange.md) | :heavy_check_mark: | N/A | +| `dimension` | [com.airbyte.api.models.shared.Dimension](../../models/shared/Dimension.md) | :heavy_check_mark: | Dimension used by the cohort. Required and only supports `firstSessionDate` | +| `name` | *Optional* | :heavy_minus_sign: | Assigns a name to this cohort. If not set, cohorts are named by their zero based index cohort_0, cohort_1, etc. | \ No newline at end of file diff --git a/docs/models/shared/CohortsRange.md b/docs/models/shared/CohortsRange.md new file mode 100644 index 000000000..9c38b35b1 --- /dev/null +++ b/docs/models/shared/CohortsRange.md @@ -0,0 +1,10 @@ +# CohortsRange + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| `endOffset` | *long* | :heavy_check_mark: | Specifies the end date of the extended reporting date range for a cohort report. | +| `granularity` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiGranularity](../../models/shared/SourceGoogleAnalyticsDataApiGranularity.md) | :heavy_check_mark: | The granularity used to interpret the startOffset and endOffset for the extended reporting date range for a cohort report. | +| `startOffset` | *Optional* | :heavy_minus_sign: | Specifies the start date of the extended reporting date range for a cohort report. | \ No newline at end of file diff --git a/docs/models/shared/CoinApi.md b/docs/models/shared/CoinApi.md new file mode 100644 index 000000000..230c20cb7 --- /dev/null +++ b/docs/models/shared/CoinApi.md @@ -0,0 +1,8 @@ +# CoinApi + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `COIN_API` | coin-api | \ No newline at end of file diff --git a/docs/models/shared/Coinmarketcap.md b/docs/models/shared/Coinmarketcap.md new file mode 100644 index 000000000..ab17df31d --- /dev/null +++ b/docs/models/shared/Coinmarketcap.md @@ -0,0 +1,8 @@ +# Coinmarketcap + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `COINMARKETCAP` | coinmarketcap | \ No newline at end of file diff --git a/docs/models/shared/Collection.md b/docs/models/shared/Collection.md new file mode 100644 index 000000000..24eefe554 --- /dev/null +++ b/docs/models/shared/Collection.md @@ -0,0 +1,11 @@ +# Collection + +Settings for the Fauna Collection. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `deletions` | [com.airbyte.api.models.shared.DeletionMode](../../models/shared/DeletionMode.md) | :heavy_check_mark: | This only applies to incremental syncs.

Enabling deletion mode informs your destination of deleted documents.

Disabled - Leave this feature disabled, and ignore deleted documents.

Enabled - Enables this feature. When a document is deleted, the connector exports a record with a "deleted at" column containing the time that the document was deleted. | +| `pageSize` | *Optional* | :heavy_minus_sign: | The page size used when reading documents from the database. The larger the page size, the faster the connector processes documents. However, if a page is too large, the connector may fail.

Choose your page size based on how large the documents are.

See the docs. | \ No newline at end of file diff --git a/docs/models/shared/Compression.md b/docs/models/shared/Compression.md new file mode 100644 index 000000000..bc0fac32e --- /dev/null +++ b/docs/models/shared/Compression.md @@ -0,0 +1,4 @@ +# Compression + +Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".csv.gz"). + diff --git a/docs/models/shared/CompressionCodec.md b/docs/models/shared/CompressionCodec.md new file mode 100644 index 000000000..2b729555e --- /dev/null +++ b/docs/models/shared/CompressionCodec.md @@ -0,0 +1,4 @@ +# CompressionCodec + +The compression algorithm used to compress data. Default to no compression. + diff --git a/docs/models/shared/CompressionCodecOptional.md b/docs/models/shared/CompressionCodecOptional.md new file mode 100644 index 000000000..00f807d40 --- /dev/null +++ b/docs/models/shared/CompressionCodecOptional.md @@ -0,0 +1,11 @@ +# CompressionCodecOptional + +The compression algorithm used to compress data. + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `UNCOMPRESSED` | UNCOMPRESSED | +| `GZIP` | GZIP | \ No newline at end of file diff --git a/docs/models/shared/CompressionType.md b/docs/models/shared/CompressionType.md new file mode 100644 index 000000000..f6dd9c65f --- /dev/null +++ b/docs/models/shared/CompressionType.md @@ -0,0 +1,8 @@ +# CompressionType + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `NO_COMPRESSION` | No Compression | \ No newline at end of file diff --git a/docs/models/shared/Configcat.md b/docs/models/shared/Configcat.md new file mode 100644 index 000000000..2390366cb --- /dev/null +++ b/docs/models/shared/Configcat.md @@ -0,0 +1,8 @@ +# Configcat + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `CONFIGCAT` | configcat | \ No newline at end of file diff --git a/docs/models/shared/Confluence.md b/docs/models/shared/Confluence.md new file mode 100644 index 000000000..94c99ddfb --- /dev/null +++ b/docs/models/shared/Confluence.md @@ -0,0 +1,8 @@ +# Confluence + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `CONFLUENCE` | confluence | \ No newline at end of file diff --git a/docs/models/shared/ConnectBy.md b/docs/models/shared/ConnectBy.md new file mode 100644 index 000000000..500ebb06f --- /dev/null +++ b/docs/models/shared/ConnectBy.md @@ -0,0 +1,4 @@ +# ConnectBy + +Connect data that will be used for DB connection + diff --git a/docs/models/shared/ConnectionCreateRequest.md b/docs/models/shared/ConnectionCreateRequest.md index f2a149cfa..6cc945cc7 100644 --- a/docs/models/shared/ConnectionCreateRequest.md +++ b/docs/models/shared/ConnectionCreateRequest.md @@ -5,14 +5,14 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `configurations` | [com.airbyte.api.models.shared.StreamConfigurations](../../models/shared/StreamConfigurations.md) | :heavy_minus_sign: | A list of configured stream options for a connection. | | -| `dataResidency` | [com.airbyte.api.models.shared.GeographyEnum](../../models/shared/GeographyEnum.md) | :heavy_minus_sign: | N/A | | +| `configurations` | [Optional](../../models/shared/StreamConfigurations.md) | :heavy_minus_sign: | A list of configured stream options for a connection. | | +| `dataResidency` | [Optional](../../models/shared/GeographyEnum.md) | :heavy_minus_sign: | N/A | | | `destinationId` | *String* | :heavy_check_mark: | N/A | | -| `name` | *String* | :heavy_minus_sign: | Optional name of the connection | | -| `namespaceDefinition` | [com.airbyte.api.models.shared.NamespaceDefinitionEnum](../../models/shared/NamespaceDefinitionEnum.md) | :heavy_minus_sign: | Define the location where the data will be stored in the destination | | -| `namespaceFormat` | *String* | :heavy_minus_sign: | Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. | ${SOURCE_NAMESPACE} | -| `nonBreakingSchemaUpdatesBehavior` | [com.airbyte.api.models.shared.NonBreakingSchemaUpdatesBehaviorEnum](../../models/shared/NonBreakingSchemaUpdatesBehaviorEnum.md) | :heavy_minus_sign: | Set how Airbyte handles syncs when it detects a non-breaking schema change in the source | | -| `prefix` | *String* | :heavy_minus_sign: | Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”). | | -| `schedule` | [com.airbyte.api.models.shared.ConnectionSchedule](../../models/shared/ConnectionSchedule.md) | :heavy_minus_sign: | schedule for when the the connection should run, per the schedule type | | +| `name` | *Optional* | :heavy_minus_sign: | Optional name of the connection | | +| `namespaceDefinition` | [Optional](../../models/shared/NamespaceDefinitionEnum.md) | :heavy_minus_sign: | Define the location where the data will be stored in the destination | | +| `namespaceFormat` | *Optional* | :heavy_minus_sign: | Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. | ${SOURCE_NAMESPACE} | +| `nonBreakingSchemaUpdatesBehavior` | [Optional](../../models/shared/NonBreakingSchemaUpdatesBehaviorEnum.md) | :heavy_minus_sign: | Set how Airbyte handles syncs when it detects a non-breaking schema change in the source | | +| `prefix` | *Optional* | :heavy_minus_sign: | Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”). | | +| `schedule` | [Optional](../../models/shared/ConnectionSchedule.md) | :heavy_minus_sign: | schedule for when the the connection should run, per the schedule type | | | `sourceId` | *String* | :heavy_check_mark: | N/A | | -| `status` | [com.airbyte.api.models.shared.ConnectionStatusEnum](../../models/shared/ConnectionStatusEnum.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `status` | [Optional](../../models/shared/ConnectionStatusEnum.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/ConnectionPatchRequest.md b/docs/models/shared/ConnectionPatchRequest.md index dca241725..d77192293 100644 --- a/docs/models/shared/ConnectionPatchRequest.md +++ b/docs/models/shared/ConnectionPatchRequest.md @@ -5,12 +5,12 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `configurations` | [com.airbyte.api.models.shared.StreamConfigurations](../../models/shared/StreamConfigurations.md) | :heavy_minus_sign: | A list of configured stream options for a connection. | | -| `dataResidency` | [com.airbyte.api.models.shared.GeographyEnumNoDefault](../../models/shared/GeographyEnumNoDefault.md) | :heavy_minus_sign: | N/A | | -| `name` | *String* | :heavy_minus_sign: | Optional name of the connection | | -| `namespaceDefinition` | [com.airbyte.api.models.shared.NamespaceDefinitionEnumNoDefault](../../models/shared/NamespaceDefinitionEnumNoDefault.md) | :heavy_minus_sign: | Define the location where the data will be stored in the destination | | -| `namespaceFormat` | *String* | :heavy_minus_sign: | Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. | ${SOURCE_NAMESPACE} | -| `nonBreakingSchemaUpdatesBehavior` | [com.airbyte.api.models.shared.NonBreakingSchemaUpdatesBehaviorEnumNoDefault](../../models/shared/NonBreakingSchemaUpdatesBehaviorEnumNoDefault.md) | :heavy_minus_sign: | Set how Airbyte handles syncs when it detects a non-breaking schema change in the source | | -| `prefix` | *String* | :heavy_minus_sign: | Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”). | | -| `schedule` | [com.airbyte.api.models.shared.ConnectionSchedule](../../models/shared/ConnectionSchedule.md) | :heavy_minus_sign: | schedule for when the the connection should run, per the schedule type | | -| `status` | [com.airbyte.api.models.shared.ConnectionStatusEnum](../../models/shared/ConnectionStatusEnum.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `configurations` | [Optional](../../models/shared/StreamConfigurations.md) | :heavy_minus_sign: | A list of configured stream options for a connection. | | +| `dataResidency` | [Optional](../../models/shared/GeographyEnumNoDefault.md) | :heavy_minus_sign: | N/A | | +| `name` | *Optional* | :heavy_minus_sign: | Optional name of the connection | | +| `namespaceDefinition` | [Optional](../../models/shared/NamespaceDefinitionEnumNoDefault.md) | :heavy_minus_sign: | Define the location where the data will be stored in the destination | | +| `namespaceFormat` | *Optional* | :heavy_minus_sign: | Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. | ${SOURCE_NAMESPACE} | +| `nonBreakingSchemaUpdatesBehavior` | [Optional](../../models/shared/NonBreakingSchemaUpdatesBehaviorEnumNoDefault.md) | :heavy_minus_sign: | Set how Airbyte handles syncs when it detects a non-breaking schema change in the source | | +| `prefix` | *Optional* | :heavy_minus_sign: | Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”). | | +| `schedule` | [Optional](../../models/shared/ConnectionSchedule.md) | :heavy_minus_sign: | schedule for when the the connection should run, per the schedule type | | +| `status` | [Optional](../../models/shared/ConnectionStatusEnum.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/ConnectionResponse.md b/docs/models/shared/ConnectionResponse.md index 834f661c4..c29cef52e 100644 --- a/docs/models/shared/ConnectionResponse.md +++ b/docs/models/shared/ConnectionResponse.md @@ -5,18 +5,18 @@ Provides details of a single connection. ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | -| `configurations` | [com.airbyte.api.models.shared.StreamConfigurations](../../models/shared/StreamConfigurations.md) | :heavy_check_mark: | A list of configured stream options for a connection. | -| `connectionId` | *String* | :heavy_check_mark: | N/A | -| `dataResidency` | [com.airbyte.api.models.shared.GeographyEnum](../../models/shared/GeographyEnum.md) | :heavy_check_mark: | N/A | -| `destinationId` | *String* | :heavy_check_mark: | N/A | -| `name` | *String* | :heavy_check_mark: | N/A | -| `namespaceDefinition` | [com.airbyte.api.models.shared.NamespaceDefinitionEnum](../../models/shared/NamespaceDefinitionEnum.md) | :heavy_minus_sign: | Define the location where the data will be stored in the destination | -| `namespaceFormat` | *String* | :heavy_minus_sign: | N/A | -| `nonBreakingSchemaUpdatesBehavior` | [com.airbyte.api.models.shared.NonBreakingSchemaUpdatesBehaviorEnum](../../models/shared/NonBreakingSchemaUpdatesBehaviorEnum.md) | :heavy_minus_sign: | Set how Airbyte handles syncs when it detects a non-breaking schema change in the source | -| `prefix` | *String* | :heavy_minus_sign: | N/A | -| `schedule` | [com.airbyte.api.models.shared.ConnectionScheduleResponse](../../models/shared/ConnectionScheduleResponse.md) | :heavy_check_mark: | schedule for when the the connection should run, per the schedule type | -| `sourceId` | *String* | :heavy_check_mark: | N/A | -| `status` | [com.airbyte.api.models.shared.ConnectionStatusEnum](../../models/shared/ConnectionStatusEnum.md) | :heavy_check_mark: | N/A | -| `workspaceId` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| `configurations` | [com.airbyte.api.models.shared.StreamConfigurations](../../models/shared/StreamConfigurations.md) | :heavy_check_mark: | A list of configured stream options for a connection. | +| `connectionId` | *String* | :heavy_check_mark: | N/A | +| `dataResidency` | [Optional](../../models/shared/GeographyEnum.md) | :heavy_minus_sign: | N/A | +| `destinationId` | *String* | :heavy_check_mark: | N/A | +| `name` | *String* | :heavy_check_mark: | N/A | +| `namespaceDefinition` | [Optional](../../models/shared/NamespaceDefinitionEnum.md) | :heavy_minus_sign: | Define the location where the data will be stored in the destination | +| `namespaceFormat` | *Optional* | :heavy_minus_sign: | N/A | +| `nonBreakingSchemaUpdatesBehavior` | [Optional](../../models/shared/NonBreakingSchemaUpdatesBehaviorEnum.md) | :heavy_minus_sign: | Set how Airbyte handles syncs when it detects a non-breaking schema change in the source | +| `prefix` | *Optional* | :heavy_minus_sign: | N/A | +| `schedule` | [com.airbyte.api.models.shared.ConnectionScheduleResponse](../../models/shared/ConnectionScheduleResponse.md) | :heavy_check_mark: | schedule for when the the connection should run, per the schedule type | +| `sourceId` | *String* | :heavy_check_mark: | N/A | +| `status` | [com.airbyte.api.models.shared.ConnectionStatusEnum](../../models/shared/ConnectionStatusEnum.md) | :heavy_check_mark: | N/A | +| `workspaceId` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/ConnectionSchedule.md b/docs/models/shared/ConnectionSchedule.md index 44ebf0dfd..870d9cbc0 100644 --- a/docs/models/shared/ConnectionSchedule.md +++ b/docs/models/shared/ConnectionSchedule.md @@ -7,5 +7,5 @@ schedule for when the the connection should run, per the schedule type | Field | Type | Required | Description | | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -| `cronExpression` | *String* | :heavy_minus_sign: | N/A | +| `cronExpression` | *Optional* | :heavy_minus_sign: | N/A | | `scheduleType` | [com.airbyte.api.models.shared.ScheduleTypeEnum](../../models/shared/ScheduleTypeEnum.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/ConnectionScheduleResponse.md b/docs/models/shared/ConnectionScheduleResponse.md index 91dc6e9b2..b8582b43c 100644 --- a/docs/models/shared/ConnectionScheduleResponse.md +++ b/docs/models/shared/ConnectionScheduleResponse.md @@ -7,6 +7,6 @@ schedule for when the the connection should run, per the schedule type | Field | Type | Required | Description | | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | -| `basicTiming` | *String* | :heavy_minus_sign: | N/A | -| `cronExpression` | *String* | :heavy_minus_sign: | N/A | +| `basicTiming` | *Optional* | :heavy_minus_sign: | N/A | +| `cronExpression` | *Optional* | :heavy_minus_sign: | N/A | | `scheduleType` | [com.airbyte.api.models.shared.ScheduleTypeWithBasicEnum](../../models/shared/ScheduleTypeWithBasicEnum.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/ConnectionType.md b/docs/models/shared/ConnectionType.md new file mode 100644 index 000000000..90e273bf1 --- /dev/null +++ b/docs/models/shared/ConnectionType.md @@ -0,0 +1,8 @@ +# ConnectionType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `SERVICE_NAME` | service_name | \ No newline at end of file diff --git a/docs/models/shared/ConnectionsResponse.md b/docs/models/shared/ConnectionsResponse.md index 869046266..ce1444a2d 100644 --- a/docs/models/shared/ConnectionsResponse.md +++ b/docs/models/shared/ConnectionsResponse.md @@ -6,5 +6,5 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | | `data` | List<[com.airbyte.api.models.shared.ConnectionResponse](../../models/shared/ConnectionResponse.md)> | :heavy_check_mark: | N/A | -| `next` | *String* | :heavy_minus_sign: | N/A | -| `previous` | *String* | :heavy_minus_sign: | N/A | \ No newline at end of file +| `next` | *Optional* | :heavy_minus_sign: | N/A | +| `previous` | *Optional* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/ContentType.md b/docs/models/shared/ContentType.md new file mode 100644 index 000000000..0fe6a12aa --- /dev/null +++ b/docs/models/shared/ContentType.md @@ -0,0 +1,12 @@ +# ContentType + +Select the content type of the items to retrieve. + + +## Values + +| Name | Value | +| --------- | --------- | +| `ARTICLE` | article | +| `VIDEO` | video | +| `IMAGE` | image | \ No newline at end of file diff --git a/docs/models/shared/ConversionReportTime.md b/docs/models/shared/ConversionReportTime.md new file mode 100644 index 000000000..b3e17a4b0 --- /dev/null +++ b/docs/models/shared/ConversionReportTime.md @@ -0,0 +1,11 @@ +# ConversionReportTime + +The date by which the conversion metrics returned from this endpoint will be reported. There are two dates associated with a conversion event: the date that the user interacted with the ad, and the date that the user completed a conversion event.. + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `TIME_OF_AD_ACTION` | TIME_OF_AD_ACTION | +| `TIME_OF_CONVERSION` | TIME_OF_CONVERSION | \ No newline at end of file diff --git a/docs/models/shared/Convex.md b/docs/models/shared/Convex.md new file mode 100644 index 000000000..98b3c2fa8 --- /dev/null +++ b/docs/models/shared/Convex.md @@ -0,0 +1,8 @@ +# Convex + + +## Values + +| Name | Value | +| -------- | -------- | +| `CONVEX` | convex | \ No newline at end of file diff --git a/docs/models/shared/Country.md b/docs/models/shared/Country.md new file mode 100644 index 000000000..ae184f323 --- /dev/null +++ b/docs/models/shared/Country.md @@ -0,0 +1,39 @@ +# Country + +This parameter allows you to specify the country where the news articles returned by the API were published, the contents of the articles are not necessarily related to the specified country. You have to set as value the 2 letters code of the country you want to filter. + + +## Values + +| Name | Value | +| ----- | ----- | +| `AU` | au | +| `BR` | br | +| `CA` | ca | +| `CN` | cn | +| `EG` | eg | +| `FR` | fr | +| `DE` | de | +| `GR` | gr | +| `HK` | hk | +| `IN` | in | +| `IE` | ie | +| `IL` | il | +| `IT` | it | +| `JP` | jp | +| `NL` | nl | +| `NO` | no | +| `PK` | pk | +| `PE` | pe | +| `PH` | ph | +| `PT` | pt | +| `RO` | ro | +| `RU` | ru | +| `SG` | sg | +| `ES` | es | +| `SE` | se | +| `CH` | ch | +| `TW` | tw | +| `UA` | ua | +| `GB` | gb | +| `US` | us | \ No newline at end of file diff --git a/docs/models/shared/Credential.md b/docs/models/shared/Credential.md new file mode 100644 index 000000000..ecc6924e2 --- /dev/null +++ b/docs/models/shared/Credential.md @@ -0,0 +1,4 @@ +# Credential + +An HMAC key is a type of credential and can be associated with a service account or a user account in Cloud Storage. Read more here. + diff --git a/docs/models/shared/CredentialType.md b/docs/models/shared/CredentialType.md new file mode 100644 index 000000000..e2097bd35 --- /dev/null +++ b/docs/models/shared/CredentialType.md @@ -0,0 +1,8 @@ +# CredentialType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `HMAC_KEY` | HMAC_KEY | \ No newline at end of file diff --git a/docs/models/shared/Credentials.md b/docs/models/shared/Credentials.md new file mode 100644 index 000000000..082a15a7b --- /dev/null +++ b/docs/models/shared/Credentials.md @@ -0,0 +1,9 @@ +# Credentials + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The client ID of the Airtable developer application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The client secret the Airtable developer application. | \ No newline at end of file diff --git a/docs/models/shared/CredentialsTitle.md b/docs/models/shared/CredentialsTitle.md new file mode 100644 index 000000000..9094aed61 --- /dev/null +++ b/docs/models/shared/CredentialsTitle.md @@ -0,0 +1,10 @@ +# CredentialsTitle + +Name of the credentials + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `IAM_ROLE` | IAM Role | \ No newline at end of file diff --git a/docs/models/shared/Csv.md b/docs/models/shared/Csv.md new file mode 100644 index 000000000..783c86fbc --- /dev/null +++ b/docs/models/shared/Csv.md @@ -0,0 +1,20 @@ +# Csv + +This connector utilises PyArrow (Apache Arrow) for CSV parsing. + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `additionalReaderOptions` | *Optional* | :heavy_minus_sign: | Optionally add a valid JSON string here to provide additional options to the csv reader. Mappings must correspond to options detailed here. 'column_types' is used internally to handle schema so overriding that would likely cause problems. | {"timestamp_parsers": ["%m/%d/%Y %H:%M", "%Y/%m/%d %H:%M"], "strings_can_be_null": true, "null_values": ["NA", "NULL"]} | +| `advancedOptions` | *Optional* | :heavy_minus_sign: | Optionally add a valid JSON string here to provide additional Pyarrow ReadOptions. Specify 'column_names' here if your CSV doesn't have header, or if you want to use custom column names. 'block_size' and 'encoding' are already used above, specify them again here will override the values above. | {"column_names": ["column1", "column2"]} | +| `blockSize` | *Optional* | :heavy_minus_sign: | The chunk size in bytes to process at a time in memory from each file. If your data is particularly wide and failing during schema detection, increasing this should solve it. Beware of raising this too high as you could hit OOM errors. | | +| `delimiter` | *Optional* | :heavy_minus_sign: | The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. | | +| `doubleQuote` | *Optional* | :heavy_minus_sign: | Whether two quotes in a quoted CSV value denote a single quote in the data. | | +| `encoding` | *Optional* | :heavy_minus_sign: | The character encoding of the CSV data. Leave blank to default to UTF8. See list of python encodings for allowable options. | | +| `escapeChar` | *Optional* | :heavy_minus_sign: | The character used for escaping special characters. To disallow escaping, leave this field blank. | | +| `filetype` | [Optional](../../models/shared/SourceS3SchemasFormatFileFormatFiletype.md) | :heavy_minus_sign: | N/A | | +| `inferDatatypes` | *Optional* | :heavy_minus_sign: | Configures whether a schema for the source should be inferred from the current data or not. If set to false and a custom schema is set, then the manually enforced schema is used. If a schema is not manually set, and this is set to false, then all fields will be read as strings | | +| `newlinesInValues` | *Optional* | :heavy_minus_sign: | Whether newline characters are allowed in CSV values. Turning this on may affect performance. Leave blank to default to False. | | +| `quoteChar` | *Optional* | :heavy_minus_sign: | The character used for quoting CSV values. To disallow quoting, make this field blank. | | \ No newline at end of file diff --git a/docs/models/shared/CustomQueriesArray.md b/docs/models/shared/CustomQueriesArray.md new file mode 100644 index 000000000..3172ae1c0 --- /dev/null +++ b/docs/models/shared/CustomQueriesArray.md @@ -0,0 +1,9 @@ +# CustomQueriesArray + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `query` | *String* | :heavy_check_mark: | A custom defined GAQL query for building the report. Avoid including the segments.date field; wherever possible, Airbyte will automatically include it for incremental syncs. For more information, refer to Google's documentation. | SELECT segments.ad_destination_type, campaign.advertising_channel_sub_type FROM campaign WHERE campaign.status = 'PAUSED' | +| `tableName` | *String* | :heavy_check_mark: | The table name in your destination database for the chosen query. | | \ No newline at end of file diff --git a/docs/models/shared/CustomReportConfig.md b/docs/models/shared/CustomReportConfig.md new file mode 100644 index 000000000..8b4306fd8 --- /dev/null +++ b/docs/models/shared/CustomReportConfig.md @@ -0,0 +1,11 @@ +# CustomReportConfig + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| `name` | *String* | :heavy_check_mark: | The name of the custom report, this name would be used as stream name | Account Performance | +| `reportAggregation` | *Optional* | :heavy_minus_sign: | A list of available aggregations. | | +| `reportColumns` | List<*String*> | :heavy_check_mark: | A list of available report object columns. You can find it in description of reporting object that you want to add to custom report. | | +| `reportingObject` | [com.airbyte.api.models.shared.ReportingDataObject](../../models/shared/ReportingDataObject.md) | :heavy_check_mark: | The name of the the object derives from the ReportRequest object. You can find it in Bing Ads Api docs - Reporting API - Reporting Data Objects. | | \ No newline at end of file diff --git a/docs/models/shared/CustomerStatus.md b/docs/models/shared/CustomerStatus.md new file mode 100644 index 000000000..f46254417 --- /dev/null +++ b/docs/models/shared/CustomerStatus.md @@ -0,0 +1,14 @@ +# CustomerStatus + +An enumeration. + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `UNKNOWN` | UNKNOWN | +| `ENABLED` | ENABLED | +| `CANCELED` | CANCELED | +| `SUSPENDED` | SUSPENDED | +| `CLOSED` | CLOSED | \ No newline at end of file diff --git a/docs/models/shared/DataCenterLocation.md b/docs/models/shared/DataCenterLocation.md new file mode 100644 index 000000000..49b5c26fe --- /dev/null +++ b/docs/models/shared/DataCenterLocation.md @@ -0,0 +1,15 @@ +# DataCenterLocation + +Please choose the region of your Data Center location. More info by this Link + + +## Values + +| Name | Value | +| ----- | ----- | +| `US` | US | +| `AU` | AU | +| `EU` | EU | +| `IN` | IN | +| `CN` | CN | +| `JP` | JP | \ No newline at end of file diff --git a/docs/models/shared/DataFreshness.md b/docs/models/shared/DataFreshness.md new file mode 100644 index 000000000..37a2bc0b2 --- /dev/null +++ b/docs/models/shared/DataFreshness.md @@ -0,0 +1,11 @@ +# DataFreshness + +If set to 'final', the returned data will include only finalized, stable data. If set to 'all', fresh data will be included. When using Incremental sync mode, we do not recommend setting this parameter to 'all' as it may cause data loss. More information can be found in our full documentation. + + +## Values + +| Name | Value | +| -------- | -------- | +| `FINAL_` | final | +| `ALL` | all | \ No newline at end of file diff --git a/docs/models/shared/DataRegion.md b/docs/models/shared/DataRegion.md new file mode 100644 index 000000000..c9305a9de --- /dev/null +++ b/docs/models/shared/DataRegion.md @@ -0,0 +1,11 @@ +# DataRegion + +Amplitude data region server + + +## Values + +| Name | Value | +| --------------------- | --------------------- | +| `STANDARD_SERVER` | Standard Server | +| `EU_RESIDENCY_SERVER` | EU Residency Server | \ No newline at end of file diff --git a/docs/models/shared/DataSource.md b/docs/models/shared/DataSource.md new file mode 100644 index 000000000..0cd721ce3 --- /dev/null +++ b/docs/models/shared/DataSource.md @@ -0,0 +1,4 @@ +# DataSource + +Storage on which the delta lake is built. + diff --git a/docs/models/shared/DataSourceType.md b/docs/models/shared/DataSourceType.md new file mode 100644 index 000000000..829ee0002 --- /dev/null +++ b/docs/models/shared/DataSourceType.md @@ -0,0 +1,8 @@ +# DataSourceType + + +## Values + +| Name | Value | +| ------------------------ | ------------------------ | +| `MANAGED_TABLES_STORAGE` | MANAGED_TABLES_STORAGE | \ No newline at end of file diff --git a/docs/models/shared/DataType.md b/docs/models/shared/DataType.md new file mode 100644 index 000000000..7774d345a --- /dev/null +++ b/docs/models/shared/DataType.md @@ -0,0 +1,11 @@ +# DataType + +/latest: Latest market ticker quotes and averages for cryptocurrencies and exchanges. /historical: Intervals of historic market data like OHLCV data or data for use in charting libraries. See here. + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `LATEST` | latest | +| `HISTORICAL` | historical | \ No newline at end of file diff --git a/docs/models/shared/Databricks.md b/docs/models/shared/Databricks.md new file mode 100644 index 000000000..7ecd5ea64 --- /dev/null +++ b/docs/models/shared/Databricks.md @@ -0,0 +1,8 @@ +# Databricks + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `DATABRICKS` | databricks | \ No newline at end of file diff --git a/docs/models/shared/Datascope.md b/docs/models/shared/Datascope.md new file mode 100644 index 000000000..6eff41ee6 --- /dev/null +++ b/docs/models/shared/Datascope.md @@ -0,0 +1,8 @@ +# Datascope + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `DATASCOPE` | datascope | \ No newline at end of file diff --git a/docs/models/shared/DatasetLocation.md b/docs/models/shared/DatasetLocation.md new file mode 100644 index 000000000..4c86f1098 --- /dev/null +++ b/docs/models/shared/DatasetLocation.md @@ -0,0 +1,53 @@ +# DatasetLocation + +The location of the dataset. Warning: Changes made after creation will not be applied. Read more here. + + +## Values + +| Name | Value | +| ------------------------- | ------------------------- | +| `US` | US | +| `EU` | EU | +| `ASIA_EAST1` | asia-east1 | +| `ASIA_EAST2` | asia-east2 | +| `ASIA_NORTHEAST1` | asia-northeast1 | +| `ASIA_NORTHEAST2` | asia-northeast2 | +| `ASIA_NORTHEAST3` | asia-northeast3 | +| `ASIA_SOUTH1` | asia-south1 | +| `ASIA_SOUTH2` | asia-south2 | +| `ASIA_SOUTHEAST1` | asia-southeast1 | +| `ASIA_SOUTHEAST2` | asia-southeast2 | +| `AUSTRALIA_SOUTHEAST1` | australia-southeast1 | +| `AUSTRALIA_SOUTHEAST2` | australia-southeast2 | +| `EUROPE_CENTRAL1` | europe-central1 | +| `EUROPE_CENTRAL2` | europe-central2 | +| `EUROPE_NORTH1` | europe-north1 | +| `EUROPE_SOUTHWEST1` | europe-southwest1 | +| `EUROPE_WEST1` | europe-west1 | +| `EUROPE_WEST2` | europe-west2 | +| `EUROPE_WEST3` | europe-west3 | +| `EUROPE_WEST4` | europe-west4 | +| `EUROPE_WEST6` | europe-west6 | +| `EUROPE_WEST7` | europe-west7 | +| `EUROPE_WEST8` | europe-west8 | +| `EUROPE_WEST9` | europe-west9 | +| `EUROPE_WEST12` | europe-west12 | +| `ME_CENTRAL1` | me-central1 | +| `ME_CENTRAL2` | me-central2 | +| `ME_WEST1` | me-west1 | +| `NORTHAMERICA_NORTHEAST1` | northamerica-northeast1 | +| `NORTHAMERICA_NORTHEAST2` | northamerica-northeast2 | +| `SOUTHAMERICA_EAST1` | southamerica-east1 | +| `SOUTHAMERICA_WEST1` | southamerica-west1 | +| `US_CENTRAL1` | us-central1 | +| `US_EAST1` | us-east1 | +| `US_EAST2` | us-east2 | +| `US_EAST3` | us-east3 | +| `US_EAST4` | us-east4 | +| `US_EAST5` | us-east5 | +| `US_SOUTH1` | us-south1 | +| `US_WEST1` | us-west1 | +| `US_WEST2` | us-west2 | +| `US_WEST3` | us-west3 | +| `US_WEST4` | us-west4 | \ No newline at end of file diff --git a/docs/models/shared/DateRange.md b/docs/models/shared/DateRange.md new file mode 100644 index 000000000..83cdc3919 --- /dev/null +++ b/docs/models/shared/DateRange.md @@ -0,0 +1,9 @@ +# DateRange + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `endDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_check_mark: | N/A | 2021-01-01 | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_check_mark: | N/A | 2021-01-01 | \ No newline at end of file diff --git a/docs/models/shared/DefaultVectorizer.md b/docs/models/shared/DefaultVectorizer.md new file mode 100644 index 000000000..03088ad7b --- /dev/null +++ b/docs/models/shared/DefaultVectorizer.md @@ -0,0 +1,17 @@ +# DefaultVectorizer + +The vectorizer to use if new classes need to be created + + +## Values + +| Name | Value | +| ------------------------ | ------------------------ | +| `NONE` | none | +| `TEXT2VEC_COHERE` | text2vec-cohere | +| `TEXT2VEC_HUGGINGFACE` | text2vec-huggingface | +| `TEXT2VEC_OPENAI` | text2vec-openai | +| `TEXT2VEC_PALM` | text2vec-palm | +| `TEXT2VEC_CONTEXTIONARY` | text2vec-contextionary | +| `TEXT2VEC_TRANSFORMERS` | text2vec-transformers | +| `TEXT2VEC_GPT4ALL` | text2vec-gpt4all | \ No newline at end of file diff --git a/docs/models/shared/Deflate.md b/docs/models/shared/Deflate.md new file mode 100644 index 000000000..1398850dd --- /dev/null +++ b/docs/models/shared/Deflate.md @@ -0,0 +1,9 @@ +# Deflate + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| `codec` | [Optional](../../models/shared/DestinationGcsCodec.md) | :heavy_minus_sign: | N/A | +| `compressionLevel` | *Optional* | :heavy_minus_sign: | 0: no compression & fastest, 9: best compression & slowest. | \ No newline at end of file diff --git a/docs/models/shared/DeletionMode.md b/docs/models/shared/DeletionMode.md new file mode 100644 index 000000000..cecbd3436 --- /dev/null +++ b/docs/models/shared/DeletionMode.md @@ -0,0 +1,7 @@ +# DeletionMode + +This only applies to incremental syncs.
+Enabling deletion mode informs your destination of deleted documents.
+Disabled - Leave this feature disabled, and ignore deleted documents.
+Enabled - Enables this feature. When a document is deleted, the connector exports a record with a "deleted at" column containing the time that the document was deleted. + diff --git a/docs/models/shared/Delighted.md b/docs/models/shared/Delighted.md new file mode 100644 index 000000000..26c026d91 --- /dev/null +++ b/docs/models/shared/Delighted.md @@ -0,0 +1,8 @@ +# Delighted + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `DELIGHTED` | delighted | \ No newline at end of file diff --git a/docs/models/shared/DestinationAstra.md b/docs/models/shared/DestinationAstra.md new file mode 100644 index 000000000..1bfbd9d32 --- /dev/null +++ b/docs/models/shared/DestinationAstra.md @@ -0,0 +1,23 @@ +# DestinationAstra + +The configuration model for the Vector DB based destinations. This model is used to generate the UI for the destination configuration, +as well as to provide type safety for the configuration passed to the destination. + +The configuration model is composed of four parts: +* Processing configuration +* Embedding configuration +* Indexing configuration +* Advanced configuration + +Processing, embedding and advanced configuration are provided by this base class, while the indexing configuration is provided by the destination connector in the sub class. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `destinationType` | [com.airbyte.api.models.shared.Astra](../../models/shared/Astra.md) | :heavy_check_mark: | N/A | +| `embedding` | [com.airbyte.api.models.shared.Embedding](../../models/shared/Embedding.md) | :heavy_check_mark: | Embedding configuration | +| `indexing` | [com.airbyte.api.models.shared.Indexing](../../models/shared/Indexing.md) | :heavy_check_mark: | Astra DB gives developers the APIs, real-time data and ecosystem integrations to put accurate RAG and Gen AI apps with fewer hallucinations in production. | +| `omitRawText` | *Optional* | :heavy_minus_sign: | Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. | +| `processing` | [com.airbyte.api.models.shared.ProcessingConfigModel](../../models/shared/ProcessingConfigModel.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationAstraLanguage.md b/docs/models/shared/DestinationAstraLanguage.md new file mode 100644 index 000000000..5d5af1315 --- /dev/null +++ b/docs/models/shared/DestinationAstraLanguage.md @@ -0,0 +1,25 @@ +# DestinationAstraLanguage + +Split code in suitable places based on the programming language + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `CPP` | cpp | +| `GO` | go | +| `JAVA` | java | +| `JS` | js | +| `PHP` | php | +| `PROTO` | proto | +| `PYTHON` | python | +| `RST` | rst | +| `RUBY` | ruby | +| `RUST` | rust | +| `SCALA` | scala | +| `SWIFT` | swift | +| `MARKDOWN` | markdown | +| `LATEX` | latex | +| `HTML` | html | +| `SOL` | sol | \ No newline at end of file diff --git a/docs/models/shared/DestinationAstraMode.md b/docs/models/shared/DestinationAstraMode.md new file mode 100644 index 000000000..036a58049 --- /dev/null +++ b/docs/models/shared/DestinationAstraMode.md @@ -0,0 +1,8 @@ +# DestinationAstraMode + + +## Values + +| Name | Value | +| -------- | -------- | +| `COHERE` | cohere | \ No newline at end of file diff --git a/docs/models/shared/DestinationAstraSchemasEmbeddingEmbedding1Mode.md b/docs/models/shared/DestinationAstraSchemasEmbeddingEmbedding1Mode.md new file mode 100644 index 000000000..b2c17679f --- /dev/null +++ b/docs/models/shared/DestinationAstraSchemasEmbeddingEmbedding1Mode.md @@ -0,0 +1,8 @@ +# DestinationAstraSchemasEmbeddingEmbedding1Mode + + +## Values + +| Name | Value | +| -------- | -------- | +| `OPENAI` | openai | \ No newline at end of file diff --git a/docs/models/shared/DestinationAstraSchemasEmbeddingEmbeddingMode.md b/docs/models/shared/DestinationAstraSchemasEmbeddingEmbeddingMode.md new file mode 100644 index 000000000..9feeb8dc7 --- /dev/null +++ b/docs/models/shared/DestinationAstraSchemasEmbeddingEmbeddingMode.md @@ -0,0 +1,8 @@ +# DestinationAstraSchemasEmbeddingEmbeddingMode + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `OPENAI_COMPATIBLE` | openai_compatible | \ No newline at end of file diff --git a/docs/models/shared/DestinationAstraSchemasEmbeddingMode.md b/docs/models/shared/DestinationAstraSchemasEmbeddingMode.md new file mode 100644 index 000000000..edbb46b40 --- /dev/null +++ b/docs/models/shared/DestinationAstraSchemasEmbeddingMode.md @@ -0,0 +1,8 @@ +# DestinationAstraSchemasEmbeddingMode + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `AZURE_OPENAI` | azure_openai | \ No newline at end of file diff --git a/docs/models/shared/DestinationAstraSchemasMode.md b/docs/models/shared/DestinationAstraSchemasMode.md new file mode 100644 index 000000000..b83aed3df --- /dev/null +++ b/docs/models/shared/DestinationAstraSchemasMode.md @@ -0,0 +1,8 @@ +# DestinationAstraSchemasMode + + +## Values + +| Name | Value | +| ------ | ------ | +| `FAKE` | fake | \ No newline at end of file diff --git a/docs/models/shared/DestinationAstraSchemasProcessingMode.md b/docs/models/shared/DestinationAstraSchemasProcessingMode.md new file mode 100644 index 000000000..95319a70a --- /dev/null +++ b/docs/models/shared/DestinationAstraSchemasProcessingMode.md @@ -0,0 +1,8 @@ +# DestinationAstraSchemasProcessingMode + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `SEPARATOR` | separator | \ No newline at end of file diff --git a/docs/models/shared/DestinationAstraSchemasProcessingTextSplitterMode.md b/docs/models/shared/DestinationAstraSchemasProcessingTextSplitterMode.md new file mode 100644 index 000000000..e2a6cd1ab --- /dev/null +++ b/docs/models/shared/DestinationAstraSchemasProcessingTextSplitterMode.md @@ -0,0 +1,8 @@ +# DestinationAstraSchemasProcessingTextSplitterMode + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `MARKDOWN` | markdown | \ No newline at end of file diff --git a/docs/models/shared/DestinationAstraSchemasProcessingTextSplitterTextSplitterMode.md b/docs/models/shared/DestinationAstraSchemasProcessingTextSplitterTextSplitterMode.md new file mode 100644 index 000000000..fc0b934fd --- /dev/null +++ b/docs/models/shared/DestinationAstraSchemasProcessingTextSplitterTextSplitterMode.md @@ -0,0 +1,8 @@ +# DestinationAstraSchemasProcessingTextSplitterTextSplitterMode + + +## Values + +| Name | Value | +| ------ | ------ | +| `CODE` | code | \ No newline at end of file diff --git a/docs/models/shared/DestinationAwsDatalake.md b/docs/models/shared/DestinationAwsDatalake.md new file mode 100644 index 000000000..9a1e494ca --- /dev/null +++ b/docs/models/shared/DestinationAwsDatalake.md @@ -0,0 +1,20 @@ +# DestinationAwsDatalake + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `awsAccountId` | *Optional* | :heavy_minus_sign: | target aws account id | 111111111111 | +| `bucketName` | *String* | :heavy_check_mark: | The name of the S3 bucket. Read more here. | | +| `bucketPrefix` | *Optional* | :heavy_minus_sign: | S3 prefix | | +| `credentials` | [com.airbyte.api.models.shared.AuthenticationMode](../../models/shared/AuthenticationMode.md) | :heavy_check_mark: | Choose How to Authenticate to AWS. | | +| `destinationType` | [com.airbyte.api.models.shared.AwsDatalake](../../models/shared/AwsDatalake.md) | :heavy_check_mark: | N/A | | +| `format` | [Optional](../../models/shared/OutputFormatWildcard.md) | :heavy_minus_sign: | Format of the data output. | | +| `glueCatalogFloatAsDecimal` | *Optional* | :heavy_minus_sign: | Cast float/double as decimal(38,18). This can help achieve higher accuracy and represent numbers correctly as received from the source. | | +| `lakeformationDatabaseDefaultTagKey` | *Optional* | :heavy_minus_sign: | Add a default tag key to databases created by this destination | pii_level | +| `lakeformationDatabaseDefaultTagValues` | *Optional* | :heavy_minus_sign: | Add default values for the `Tag Key` to databases created by this destination. Comma separate for multiple values. | private,public | +| `lakeformationDatabaseName` | *String* | :heavy_check_mark: | The default database this destination will use to create tables in per stream. Can be changed per connection by customizing the namespace. | | +| `lakeformationGovernedTables` | *Optional* | :heavy_minus_sign: | Whether to create tables as LF governed tables. | | +| `partitioning` | [Optional](../../models/shared/ChooseHowToPartitionData.md) | :heavy_minus_sign: | Partition data by cursor fields when a cursor field is a date | | +| `region` | [Optional](../../models/shared/S3BucketRegion.md) | :heavy_minus_sign: | The region of the S3 bucket. See here for all region codes. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationAwsDatalakeCompressionCodecOptional.md b/docs/models/shared/DestinationAwsDatalakeCompressionCodecOptional.md new file mode 100644 index 000000000..efd427cc3 --- /dev/null +++ b/docs/models/shared/DestinationAwsDatalakeCompressionCodecOptional.md @@ -0,0 +1,13 @@ +# DestinationAwsDatalakeCompressionCodecOptional + +The compression algorithm used to compress data. + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `UNCOMPRESSED` | UNCOMPRESSED | +| `SNAPPY` | SNAPPY | +| `GZIP` | GZIP | +| `ZSTD` | ZSTD | \ No newline at end of file diff --git a/docs/models/shared/DestinationAwsDatalakeCredentialsTitle.md b/docs/models/shared/DestinationAwsDatalakeCredentialsTitle.md new file mode 100644 index 000000000..17c4e73e0 --- /dev/null +++ b/docs/models/shared/DestinationAwsDatalakeCredentialsTitle.md @@ -0,0 +1,10 @@ +# DestinationAwsDatalakeCredentialsTitle + +Name of the credentials + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `IAM_USER` | IAM User | \ No newline at end of file diff --git a/docs/models/shared/DestinationAwsDatalakeFormatTypeWildcard.md b/docs/models/shared/DestinationAwsDatalakeFormatTypeWildcard.md new file mode 100644 index 000000000..b56b21149 --- /dev/null +++ b/docs/models/shared/DestinationAwsDatalakeFormatTypeWildcard.md @@ -0,0 +1,8 @@ +# DestinationAwsDatalakeFormatTypeWildcard + + +## Values + +| Name | Value | +| --------- | --------- | +| `PARQUET` | Parquet | \ No newline at end of file diff --git a/docs/models/shared/DestinationAzureBlobStorage.md b/docs/models/shared/DestinationAzureBlobStorage.md new file mode 100644 index 000000000..37ded2d87 --- /dev/null +++ b/docs/models/shared/DestinationAzureBlobStorage.md @@ -0,0 +1,15 @@ +# DestinationAzureBlobStorage + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `azureBlobStorageAccountKey` | *String* | :heavy_check_mark: | The Azure blob storage account key. | Z8ZkZpteggFx394vm+PJHnGTvdRncaYS+JhLKdj789YNmD+iyGTnG+PV+POiuYNhBg/ACS+LKjd%4FG3FHGN12Nd== | +| `azureBlobStorageAccountName` | *String* | :heavy_check_mark: | The account's name of the Azure Blob Storage. | airbyte5storage | +| `azureBlobStorageContainerName` | *Optional* | :heavy_minus_sign: | The name of the Azure blob storage container. If not exists - will be created automatically. May be empty, then will be created automatically airbytecontainer+timestamp | airbytetescontainername | +| `azureBlobStorageEndpointDomainName` | *Optional* | :heavy_minus_sign: | This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. | blob.core.windows.net | +| `azureBlobStorageOutputBufferSize` | *Optional* | :heavy_minus_sign: | The amount of megabytes to buffer for the output stream to Azure. This will impact memory footprint on workers, but may need adjustment for performance and appropriate block size in Azure. | 5 | +| `azureBlobStorageSpillSize` | *Optional* | :heavy_minus_sign: | The amount of megabytes after which the connector should spill the records in a new blob object. Make sure to configure size greater than individual records. Enter 0 if not applicable | 500 | +| `destinationType` | [com.airbyte.api.models.shared.AzureBlobStorage](../../models/shared/AzureBlobStorage.md) | :heavy_check_mark: | N/A | | +| `format` | [com.airbyte.api.models.shared.OutputFormat](../../models/shared/OutputFormat.md) | :heavy_check_mark: | Output data format | | \ No newline at end of file diff --git a/docs/models/shared/DestinationAzureBlobStorageFormatType.md b/docs/models/shared/DestinationAzureBlobStorageFormatType.md new file mode 100644 index 000000000..c75fa1ef7 --- /dev/null +++ b/docs/models/shared/DestinationAzureBlobStorageFormatType.md @@ -0,0 +1,8 @@ +# DestinationAzureBlobStorageFormatType + + +## Values + +| Name | Value | +| ------- | ------- | +| `JSONL` | JSONL | \ No newline at end of file diff --git a/docs/models/shared/DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON.md b/docs/models/shared/DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON.md new file mode 100644 index 000000000..cdbc19e3f --- /dev/null +++ b/docs/models/shared/DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON.md @@ -0,0 +1,8 @@ +# DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `formatType` | [com.airbyte.api.models.shared.DestinationAzureBlobStorageFormatType](../../models/shared/DestinationAzureBlobStorageFormatType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationBigquery.md b/docs/models/shared/DestinationBigquery.md new file mode 100644 index 000000000..3babb1e6c --- /dev/null +++ b/docs/models/shared/DestinationBigquery.md @@ -0,0 +1,17 @@ +# DestinationBigquery + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `bigQueryClientBufferSizeMb` | *Optional* | :heavy_minus_sign: | Google BigQuery client's chunk (buffer) size (MIN=1, MAX = 15) for each table. The size that will be written by a single RPC. Written data will be buffered and only flushed upon reaching this size or closing the channel. The default 15MB value is used if not set explicitly. Read more here. | 15 | +| `credentialsJson` | *Optional* | :heavy_minus_sign: | The contents of the JSON service account key. Check out the docs if you need help generating this key. Default credentials will be used if this field is left empty. | | +| `datasetId` | *String* | :heavy_check_mark: | The default BigQuery Dataset ID that tables are replicated to if the source does not specify a namespace. Read more here. | | +| `datasetLocation` | [com.airbyte.api.models.shared.DatasetLocation](../../models/shared/DatasetLocation.md) | :heavy_check_mark: | The location of the dataset. Warning: Changes made after creation will not be applied. Read more here. | | +| `destinationType` | [com.airbyte.api.models.shared.Bigquery](../../models/shared/Bigquery.md) | :heavy_check_mark: | N/A | | +| `disableTypeDedupe` | *Optional* | :heavy_minus_sign: | Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions | | +| `loadingMethod` | [Optional](../../models/shared/LoadingMethod.md) | :heavy_minus_sign: | The way data will be uploaded to BigQuery. | | +| `projectId` | *String* | :heavy_check_mark: | The GCP project ID for the project containing the target BigQuery dataset. Read more here. | | +| `rawDataDataset` | *Optional* | :heavy_minus_sign: | The dataset to write raw tables into (default: airbyte_internal) | | +| `transformationPriority` | [Optional](../../models/shared/TransformationQueryRunType.md) | :heavy_minus_sign: | Interactive run type means that the query is executed as soon as possible, and these queries count towards concurrent rate limit and daily limit. Read more about interactive run type here. Batch queries are queued and started as soon as idle resources are available in the BigQuery shared resource pool, which usually occurs within a few minutes. Batch queries don’t count towards your concurrent rate limit. Read more about batch queries here. The default "interactive" value is used if not set explicitly. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationBigqueryCredentialType.md b/docs/models/shared/DestinationBigqueryCredentialType.md new file mode 100644 index 000000000..b0a8623f3 --- /dev/null +++ b/docs/models/shared/DestinationBigqueryCredentialType.md @@ -0,0 +1,8 @@ +# DestinationBigqueryCredentialType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `HMAC_KEY` | HMAC_KEY | \ No newline at end of file diff --git a/docs/models/shared/DestinationBigqueryHMACKey.md b/docs/models/shared/DestinationBigqueryHMACKey.md new file mode 100644 index 000000000..e4c15a213 --- /dev/null +++ b/docs/models/shared/DestinationBigqueryHMACKey.md @@ -0,0 +1,10 @@ +# DestinationBigqueryHMACKey + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentialType` | [com.airbyte.api.models.shared.DestinationBigqueryCredentialType](../../models/shared/DestinationBigqueryCredentialType.md) | :heavy_check_mark: | N/A | | +| `hmacKeyAccessId` | *String* | :heavy_check_mark: | HMAC key access ID. When linked to a service account, this ID is 61 characters long; when linked to a user account, it is 24 characters long. | 1234567890abcdefghij1234 | +| `hmacKeySecret` | *String* | :heavy_check_mark: | The corresponding secret for the access ID. It is a 40-character base-64 encoded string. | 1234567890abcdefghij1234567890ABCDEFGHIJ | \ No newline at end of file diff --git a/docs/models/shared/DestinationBigqueryMethod.md b/docs/models/shared/DestinationBigqueryMethod.md new file mode 100644 index 000000000..4cc0047c4 --- /dev/null +++ b/docs/models/shared/DestinationBigqueryMethod.md @@ -0,0 +1,8 @@ +# DestinationBigqueryMethod + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `STANDARD` | Standard | \ No newline at end of file diff --git a/docs/models/shared/DestinationClickhouse.md b/docs/models/shared/DestinationClickhouse.md new file mode 100644 index 000000000..fc0a9c22f --- /dev/null +++ b/docs/models/shared/DestinationClickhouse.md @@ -0,0 +1,16 @@ +# DestinationClickhouse + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `database` | *String* | :heavy_check_mark: | Name of the database. | | +| `destinationType` | [com.airbyte.api.models.shared.Clickhouse](../../models/shared/Clickhouse.md) | :heavy_check_mark: | N/A | | +| `host` | *String* | :heavy_check_mark: | Hostname of the database. | | +| `jdbcUrlParams` | *Optional* | :heavy_minus_sign: | Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). | | +| `password` | *Optional* | :heavy_minus_sign: | Password associated with the username. | | +| `port` | *Optional* | :heavy_minus_sign: | HTTP port of the database. | 8123 | +| `rawDataSchema` | *Optional* | :heavy_minus_sign: | The schema to write raw tables into (default: airbyte_internal) | | +| `tunnelMethod` | [Optional](../../models/shared/SSHTunnelMethod.md) | :heavy_minus_sign: | Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. | | +| `username` | *String* | :heavy_check_mark: | Username to use to access the database. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationClickhouseSchemasTunnelMethod.md b/docs/models/shared/DestinationClickhouseSchemasTunnelMethod.md new file mode 100644 index 000000000..747b56911 --- /dev/null +++ b/docs/models/shared/DestinationClickhouseSchemasTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationClickhouseSchemasTunnelMethod + +Connect through a jump server tunnel host using username and password authentication + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `SSH_PASSWORD_AUTH` | SSH_PASSWORD_AUTH | \ No newline at end of file diff --git a/docs/models/shared/DestinationClickhouseTunnelMethod.md b/docs/models/shared/DestinationClickhouseTunnelMethod.md new file mode 100644 index 000000000..1eda5de54 --- /dev/null +++ b/docs/models/shared/DestinationClickhouseTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationClickhouseTunnelMethod + +Connect through a jump server tunnel host using username and ssh key + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `SSH_KEY_AUTH` | SSH_KEY_AUTH | \ No newline at end of file diff --git a/docs/models/shared/DestinationConfiguration.md b/docs/models/shared/DestinationConfiguration.md new file mode 100644 index 000000000..2e3c9b547 --- /dev/null +++ b/docs/models/shared/DestinationConfiguration.md @@ -0,0 +1,4 @@ +# DestinationConfiguration + +The values required to configure the destination. + diff --git a/docs/models/shared/DestinationConvex.md b/docs/models/shared/DestinationConvex.md new file mode 100644 index 000000000..15b3c1142 --- /dev/null +++ b/docs/models/shared/DestinationConvex.md @@ -0,0 +1,10 @@ +# DestinationConvex + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | +| `accessKey` | *String* | :heavy_check_mark: | API access key used to send data to a Convex deployment. | | +| `deploymentUrl` | *String* | :heavy_check_mark: | URL of the Convex deployment that is the destination | https://murky-swan-635.convex.cloud | +| `destinationType` | [com.airbyte.api.models.shared.Convex](../../models/shared/Convex.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/DestinationCreateRequest.md b/docs/models/shared/DestinationCreateRequest.md index 1e977f29a..c46a25a76 100644 --- a/docs/models/shared/DestinationCreateRequest.md +++ b/docs/models/shared/DestinationCreateRequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | -| `configuration` | *java.lang.Object* | :heavy_check_mark: | The values required to configure the destination. | {
"user": "charles"
} | -| `definitionId` | *String* | :heavy_minus_sign: | The UUID of the connector definition. One of configuration.destinationType or definitionId must be provided. | | +| `configuration` | [com.airbyte.api.models.shared.DestinationConfiguration](../../models/shared/DestinationConfiguration.md) | :heavy_check_mark: | The values required to configure the destination. | {
"user": "charles"
} | +| `definitionId` | *Optional* | :heavy_minus_sign: | The UUID of the connector definition. One of configuration.destinationType or definitionId must be provided. | | | `name` | *String* | :heavy_check_mark: | Name of the destination e.g. dev-mysql-instance. | | | `workspaceId` | *String* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/DestinationDatabricks.md b/docs/models/shared/DestinationDatabricks.md new file mode 100644 index 000000000..6a3942ee1 --- /dev/null +++ b/docs/models/shared/DestinationDatabricks.md @@ -0,0 +1,18 @@ +# DestinationDatabricks + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| `acceptTerms` | *Optional* | :heavy_minus_sign: | You must agree to the Databricks JDBC Driver Terms & Conditions to use this connector. | | +| `dataSource` | [com.airbyte.api.models.shared.DataSource](../../models/shared/DataSource.md) | :heavy_check_mark: | Storage on which the delta lake is built. | | +| `database` | *Optional* | :heavy_minus_sign: | The name of the catalog. If not specified otherwise, the "hive_metastore" will be used. | | +| `databricksHttpPath` | *String* | :heavy_check_mark: | Databricks Cluster HTTP Path. | sql/protocolvx/o/1234567489/0000-1111111-abcd90 | +| `databricksPersonalAccessToken` | *String* | :heavy_check_mark: | Databricks Personal Access Token for making authenticated requests. | dapi0123456789abcdefghij0123456789AB | +| `databricksPort` | *Optional* | :heavy_minus_sign: | Databricks Cluster Port. | 443 | +| `databricksServerHostname` | *String* | :heavy_check_mark: | Databricks Cluster Server Hostname. | abc-12345678-wxyz.cloud.databricks.com | +| `destinationType` | [com.airbyte.api.models.shared.Databricks](../../models/shared/Databricks.md) | :heavy_check_mark: | N/A | | +| `enableSchemaEvolution` | *Optional* | :heavy_minus_sign: | Support schema evolution for all streams. If "false", the connector might fail when a stream's schema changes. | | +| `purgeStagingData` | *Optional* | :heavy_minus_sign: | Default to 'true'. Switch it to 'false' for debugging purpose. | | +| `schema` | *Optional* | :heavy_minus_sign: | The default schema tables are written. If not specified otherwise, the "default" will be used. | default | \ No newline at end of file diff --git a/docs/models/shared/DestinationDatabricksAzureBlobStorage.md b/docs/models/shared/DestinationDatabricksAzureBlobStorage.md new file mode 100644 index 000000000..82e966234 --- /dev/null +++ b/docs/models/shared/DestinationDatabricksAzureBlobStorage.md @@ -0,0 +1,12 @@ +# DestinationDatabricksAzureBlobStorage + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `azureBlobStorageAccountName` | *String* | :heavy_check_mark: | The account's name of the Azure Blob Storage. | airbyte5storage | +| `azureBlobStorageContainerName` | *String* | :heavy_check_mark: | The name of the Azure blob storage container. | airbytetestcontainername | +| `azureBlobStorageEndpointDomainName` | *Optional* | :heavy_minus_sign: | This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. | blob.core.windows.net | +| `azureBlobStorageSasToken` | *String* | :heavy_check_mark: | Shared access signature (SAS) token to grant limited access to objects in your storage account. | ?sv=2016-05-31&ss=b&srt=sco&sp=rwdl&se=2018-06-27T10:05:50Z&st=2017-06-27T02:05:50Z&spr=https,http&sig=bgqQwoXwxzuD2GJfagRg7VOS8hzNr3QLT7rhS8OFRLQ%3D | +| `dataSourceType` | [com.airbyte.api.models.shared.DestinationDatabricksSchemasDataSourceType](../../models/shared/DestinationDatabricksSchemasDataSourceType.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/DestinationDatabricksDataSourceType.md b/docs/models/shared/DestinationDatabricksDataSourceType.md new file mode 100644 index 000000000..81c5fa220 --- /dev/null +++ b/docs/models/shared/DestinationDatabricksDataSourceType.md @@ -0,0 +1,8 @@ +# DestinationDatabricksDataSourceType + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `S3_STORAGE` | S3_STORAGE | \ No newline at end of file diff --git a/docs/models/shared/DestinationDatabricksS3BucketRegion.md b/docs/models/shared/DestinationDatabricksS3BucketRegion.md new file mode 100644 index 000000000..b06a06aee --- /dev/null +++ b/docs/models/shared/DestinationDatabricksS3BucketRegion.md @@ -0,0 +1,35 @@ +# DestinationDatabricksS3BucketRegion + +The region of the S3 staging bucket to use if utilising a copy strategy. + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `UNKNOWN` | | +| `US_EAST1` | us-east-1 | +| `US_EAST2` | us-east-2 | +| `US_WEST1` | us-west-1 | +| `US_WEST2` | us-west-2 | +| `AF_SOUTH1` | af-south-1 | +| `AP_EAST1` | ap-east-1 | +| `AP_SOUTH1` | ap-south-1 | +| `AP_NORTHEAST1` | ap-northeast-1 | +| `AP_NORTHEAST2` | ap-northeast-2 | +| `AP_NORTHEAST3` | ap-northeast-3 | +| `AP_SOUTHEAST1` | ap-southeast-1 | +| `AP_SOUTHEAST2` | ap-southeast-2 | +| `CA_CENTRAL1` | ca-central-1 | +| `CN_NORTH1` | cn-north-1 | +| `CN_NORTHWEST1` | cn-northwest-1 | +| `EU_CENTRAL1` | eu-central-1 | +| `EU_NORTH1` | eu-north-1 | +| `EU_SOUTH1` | eu-south-1 | +| `EU_WEST1` | eu-west-1 | +| `EU_WEST2` | eu-west-2 | +| `EU_WEST3` | eu-west-3 | +| `SA_EAST1` | sa-east-1 | +| `ME_SOUTH1` | me-south-1 | +| `US_GOV_EAST1` | us-gov-east-1 | +| `US_GOV_WEST1` | us-gov-west-1 | \ No newline at end of file diff --git a/docs/models/shared/DestinationDatabricksSchemasDataSourceType.md b/docs/models/shared/DestinationDatabricksSchemasDataSourceType.md new file mode 100644 index 000000000..2f9cd7bad --- /dev/null +++ b/docs/models/shared/DestinationDatabricksSchemasDataSourceType.md @@ -0,0 +1,8 @@ +# DestinationDatabricksSchemasDataSourceType + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `AZURE_BLOB_STORAGE` | AZURE_BLOB_STORAGE | \ No newline at end of file diff --git a/docs/models/shared/DestinationDevNull.md b/docs/models/shared/DestinationDevNull.md new file mode 100644 index 000000000..e81343e60 --- /dev/null +++ b/docs/models/shared/DestinationDevNull.md @@ -0,0 +1,9 @@ +# DestinationDevNull + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `destinationType` | [com.airbyte.api.models.shared.DevNull](../../models/shared/DevNull.md) | :heavy_check_mark: | N/A | +| `testDestination` | [com.airbyte.api.models.shared.TestDestination](../../models/shared/TestDestination.md) | :heavy_check_mark: | The type of destination to be used | \ No newline at end of file diff --git a/docs/models/shared/DestinationDuckdb.md b/docs/models/shared/DestinationDuckdb.md new file mode 100644 index 000000000..0a79e94f4 --- /dev/null +++ b/docs/models/shared/DestinationDuckdb.md @@ -0,0 +1,11 @@ +# DestinationDuckdb + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `destinationType` | [com.airbyte.api.models.shared.Duckdb](../../models/shared/Duckdb.md) | :heavy_check_mark: | N/A | | +| `destinationPath` | *String* | :heavy_check_mark: | Path to the .duckdb file, or the text 'md:' to connect to MotherDuck. The file will be placed inside that local mount. For more information check out our docs | /local/destination.duckdb | +| `motherduckApiKey` | *Optional* | :heavy_minus_sign: | API key to use for authentication to a MotherDuck database. | | +| `schema` | *Optional* | :heavy_minus_sign: | Database schema name, default for duckdb is 'main'. | main | \ No newline at end of file diff --git a/docs/models/shared/DestinationDynamodb.md b/docs/models/shared/DestinationDynamodb.md new file mode 100644 index 000000000..ad2e0d130 --- /dev/null +++ b/docs/models/shared/DestinationDynamodb.md @@ -0,0 +1,13 @@ +# DestinationDynamodb + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `accessKeyId` | *String* | :heavy_check_mark: | The access key id to access the DynamoDB. Airbyte requires Read and Write permissions to the DynamoDB. | A012345678910EXAMPLE | +| `destinationType` | [com.airbyte.api.models.shared.Dynamodb](../../models/shared/Dynamodb.md) | :heavy_check_mark: | N/A | | +| `dynamodbEndpoint` | *Optional* | :heavy_minus_sign: | This is your DynamoDB endpoint url.(if you are working with AWS DynamoDB, just leave empty). | http://localhost:9000 | +| `dynamodbRegion` | [Optional](../../models/shared/DynamoDBRegion.md) | :heavy_minus_sign: | The region of the DynamoDB. | | +| `dynamodbTableNamePrefix` | *String* | :heavy_check_mark: | The prefix to use when naming DynamoDB tables. | airbyte_sync | +| `secretAccessKey` | *String* | :heavy_check_mark: | The corresponding secret to the access key id. | a012345678910ABCDEFGH/AbCdEfGhEXAMPLEKEY | \ No newline at end of file diff --git a/docs/models/shared/DestinationElasticsearch.md b/docs/models/shared/DestinationElasticsearch.md new file mode 100644 index 000000000..aefe55901 --- /dev/null +++ b/docs/models/shared/DestinationElasticsearch.md @@ -0,0 +1,12 @@ +# DestinationElasticsearch + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `authenticationMethod` | [Optional](../../models/shared/AuthenticationMethod.md) | :heavy_minus_sign: | The type of authentication to be used | +| `caCertificate` | *Optional* | :heavy_minus_sign: | CA certificate | +| `destinationType` | [com.airbyte.api.models.shared.Elasticsearch](../../models/shared/Elasticsearch.md) | :heavy_check_mark: | N/A | +| `endpoint` | *String* | :heavy_check_mark: | The full url of the Elasticsearch server | +| `upsert` | *Optional* | :heavy_minus_sign: | If a primary key identifier is defined in the source, an upsert will be performed using the primary key value as the elasticsearch doc id. Does not support composite primary keys. | \ No newline at end of file diff --git a/docs/models/shared/DestinationElasticsearchMethod.md b/docs/models/shared/DestinationElasticsearchMethod.md new file mode 100644 index 000000000..b1cc20598 --- /dev/null +++ b/docs/models/shared/DestinationElasticsearchMethod.md @@ -0,0 +1,8 @@ +# DestinationElasticsearchMethod + + +## Values + +| Name | Value | +| -------- | -------- | +| `SECRET` | secret | \ No newline at end of file diff --git a/docs/models/shared/DestinationElasticsearchSchemasMethod.md b/docs/models/shared/DestinationElasticsearchSchemasMethod.md new file mode 100644 index 000000000..721349b5b --- /dev/null +++ b/docs/models/shared/DestinationElasticsearchSchemasMethod.md @@ -0,0 +1,8 @@ +# DestinationElasticsearchSchemasMethod + + +## Values + +| Name | Value | +| ------- | ------- | +| `BASIC` | basic | \ No newline at end of file diff --git a/docs/models/shared/DestinationFirestore.md b/docs/models/shared/DestinationFirestore.md new file mode 100644 index 000000000..5aefc685d --- /dev/null +++ b/docs/models/shared/DestinationFirestore.md @@ -0,0 +1,10 @@ +# DestinationFirestore + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentialsJson` | *Optional* | :heavy_minus_sign: | The contents of the JSON service account key. Check out the docs if you need help generating this key. Default credentials will be used if this field is left empty. | +| `destinationType` | [com.airbyte.api.models.shared.Firestore](../../models/shared/Firestore.md) | :heavy_check_mark: | N/A | +| `projectId` | *String* | :heavy_check_mark: | The GCP project ID for the project containing the target BigQuery dataset. | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcs.md b/docs/models/shared/DestinationGcs.md new file mode 100644 index 000000000..a7383ca9b --- /dev/null +++ b/docs/models/shared/DestinationGcs.md @@ -0,0 +1,13 @@ +# DestinationGcs + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credential` | [com.airbyte.api.models.shared.Authentication](../../models/shared/Authentication.md) | :heavy_check_mark: | An HMAC key is a type of credential and can be associated with a service account or a user account in Cloud Storage. Read more here. | | +| `destinationType` | [com.airbyte.api.models.shared.Gcs](../../models/shared/Gcs.md) | :heavy_check_mark: | N/A | | +| `format` | [com.airbyte.api.models.shared.DestinationGcsOutputFormat](../../models/shared/DestinationGcsOutputFormat.md) | :heavy_check_mark: | Output data format. One of the following formats must be selected - AVRO format, PARQUET format, CSV format, or JSONL format. | | +| `gcsBucketName` | *String* | :heavy_check_mark: | You can find the bucket name in the App Engine Admin console Application Settings page, under the label Google Cloud Storage Bucket. Read more here. | airbyte_sync | +| `gcsBucketPath` | *String* | :heavy_check_mark: | GCS Bucket Path string Subdirectory under the above bucket to sync the data into. | data_sync/test | +| `gcsBucketRegion` | [Optional](../../models/shared/GCSBucketRegion.md) | :heavy_minus_sign: | Select a Region of the GCS Bucket. Read more here. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsCSVCommaSeparatedValues.md b/docs/models/shared/DestinationGcsCSVCommaSeparatedValues.md new file mode 100644 index 000000000..33b30f897 --- /dev/null +++ b/docs/models/shared/DestinationGcsCSVCommaSeparatedValues.md @@ -0,0 +1,10 @@ +# DestinationGcsCSVCommaSeparatedValues + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | +| `compression` | [Optional](../../models/shared/Compression.md) | :heavy_minus_sign: | Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".csv.gz"). | +| `flattening` | [Optional](../../models/shared/Normalization.md) | :heavy_minus_sign: | Whether the input JSON data should be normalized (flattened) in the output CSV. Please refer to docs for details. | +| `formatType` | [Optional](../../models/shared/DestinationGcsSchemasFormatType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsCodec.md b/docs/models/shared/DestinationGcsCodec.md new file mode 100644 index 000000000..71336eef8 --- /dev/null +++ b/docs/models/shared/DestinationGcsCodec.md @@ -0,0 +1,8 @@ +# DestinationGcsCodec + + +## Values + +| Name | Value | +| --------- | --------- | +| `DEFLATE` | Deflate | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsCompression.md b/docs/models/shared/DestinationGcsCompression.md new file mode 100644 index 000000000..a98f372af --- /dev/null +++ b/docs/models/shared/DestinationGcsCompression.md @@ -0,0 +1,4 @@ +# DestinationGcsCompression + +Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + diff --git a/docs/models/shared/DestinationGcsCompressionCodec.md b/docs/models/shared/DestinationGcsCompressionCodec.md new file mode 100644 index 000000000..8b1498548 --- /dev/null +++ b/docs/models/shared/DestinationGcsCompressionCodec.md @@ -0,0 +1,16 @@ +# DestinationGcsCompressionCodec + +The compression algorithm used to compress data pages. + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `UNCOMPRESSED` | UNCOMPRESSED | +| `SNAPPY` | SNAPPY | +| `GZIP` | GZIP | +| `LZO` | LZO | +| `BROTLI` | BROTLI | +| `LZ4` | LZ4 | +| `ZSTD` | ZSTD | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsCompressionType.md b/docs/models/shared/DestinationGcsCompressionType.md new file mode 100644 index 000000000..eea42dddb --- /dev/null +++ b/docs/models/shared/DestinationGcsCompressionType.md @@ -0,0 +1,8 @@ +# DestinationGcsCompressionType + + +## Values + +| Name | Value | +| ------ | ------ | +| `GZIP` | GZIP | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsFormatType.md b/docs/models/shared/DestinationGcsFormatType.md new file mode 100644 index 000000000..444a881f4 --- /dev/null +++ b/docs/models/shared/DestinationGcsFormatType.md @@ -0,0 +1,8 @@ +# DestinationGcsFormatType + + +## Values + +| Name | Value | +| ------ | ------ | +| `AVRO` | Avro | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsGZIP.md b/docs/models/shared/DestinationGcsGZIP.md new file mode 100644 index 000000000..cdce3b6ef --- /dev/null +++ b/docs/models/shared/DestinationGcsGZIP.md @@ -0,0 +1,8 @@ +# DestinationGcsGZIP + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `compressionType` | [Optional](../../models/shared/DestinationGcsSchemasFormatCompressionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsJSONLinesNewlineDelimitedJSON.md b/docs/models/shared/DestinationGcsJSONLinesNewlineDelimitedJSON.md new file mode 100644 index 000000000..6854981b0 --- /dev/null +++ b/docs/models/shared/DestinationGcsJSONLinesNewlineDelimitedJSON.md @@ -0,0 +1,9 @@ +# DestinationGcsJSONLinesNewlineDelimitedJSON + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `compression` | [Optional](../../models/shared/DestinationGcsCompression.md) | :heavy_minus_sign: | Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). | +| `formatType` | [Optional](../../models/shared/DestinationGcsSchemasFormatFormatType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsNoCompression.md b/docs/models/shared/DestinationGcsNoCompression.md new file mode 100644 index 000000000..dfd88b607 --- /dev/null +++ b/docs/models/shared/DestinationGcsNoCompression.md @@ -0,0 +1,8 @@ +# DestinationGcsNoCompression + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `compressionType` | [Optional](../../models/shared/CompressionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsOutputFormat.md b/docs/models/shared/DestinationGcsOutputFormat.md new file mode 100644 index 000000000..0d5bf86f5 --- /dev/null +++ b/docs/models/shared/DestinationGcsOutputFormat.md @@ -0,0 +1,4 @@ +# DestinationGcsOutputFormat + +Output data format. One of the following formats must be selected - AVRO format, PARQUET format, CSV format, or JSONL format. + diff --git a/docs/models/shared/DestinationGcsParquetColumnarStorage.md b/docs/models/shared/DestinationGcsParquetColumnarStorage.md new file mode 100644 index 000000000..3789e04f9 --- /dev/null +++ b/docs/models/shared/DestinationGcsParquetColumnarStorage.md @@ -0,0 +1,14 @@ +# DestinationGcsParquetColumnarStorage + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `blockSizeMb` | *Optional* | :heavy_minus_sign: | This is the size of a row group being buffered in memory. It limits the memory usage when writing. Larger values will improve the IO when reading, but consume more memory when writing. Default: 128 MB. | 128 | +| `compressionCodec` | [Optional](../../models/shared/DestinationGcsCompressionCodec.md) | :heavy_minus_sign: | The compression algorithm used to compress data pages. | | +| `dictionaryEncoding` | *Optional* | :heavy_minus_sign: | Default: true. | | +| `dictionaryPageSizeKb` | *Optional* | :heavy_minus_sign: | There is one dictionary page per column per row group when dictionary encoding is used. The dictionary page size works like the page size but for dictionary. Default: 1024 KB. | 1024 | +| `formatType` | [Optional](../../models/shared/DestinationGcsSchemasFormatOutputFormatFormatType.md) | :heavy_minus_sign: | N/A | | +| `maxPaddingSizeMb` | *Optional* | :heavy_minus_sign: | Maximum size allowed as padding to align row groups. This is also the minimum size of a row group. Default: 8 MB. | 8 | +| `pageSizeKb` | *Optional* | :heavy_minus_sign: | The page size is for compression. A block is composed of pages. A page is the smallest unit that must be read fully to access a single record. If this value is too small, the compression will deteriorate. Default: 1024 KB. | 1024 | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsSchemasCodec.md b/docs/models/shared/DestinationGcsSchemasCodec.md new file mode 100644 index 000000000..c68e20118 --- /dev/null +++ b/docs/models/shared/DestinationGcsSchemasCodec.md @@ -0,0 +1,8 @@ +# DestinationGcsSchemasCodec + + +## Values + +| Name | Value | +| ------- | ------- | +| `BZIP2` | bzip2 | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsSchemasCompressionType.md b/docs/models/shared/DestinationGcsSchemasCompressionType.md new file mode 100644 index 000000000..93db8a800 --- /dev/null +++ b/docs/models/shared/DestinationGcsSchemasCompressionType.md @@ -0,0 +1,8 @@ +# DestinationGcsSchemasCompressionType + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `NO_COMPRESSION` | No Compression | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsSchemasFormatCodec.md b/docs/models/shared/DestinationGcsSchemasFormatCodec.md new file mode 100644 index 000000000..ddedc774e --- /dev/null +++ b/docs/models/shared/DestinationGcsSchemasFormatCodec.md @@ -0,0 +1,8 @@ +# DestinationGcsSchemasFormatCodec + + +## Values + +| Name | Value | +| ----- | ----- | +| `XZ` | xz | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsSchemasFormatCompressionType.md b/docs/models/shared/DestinationGcsSchemasFormatCompressionType.md new file mode 100644 index 000000000..5de33ca78 --- /dev/null +++ b/docs/models/shared/DestinationGcsSchemasFormatCompressionType.md @@ -0,0 +1,8 @@ +# DestinationGcsSchemasFormatCompressionType + + +## Values + +| Name | Value | +| ------ | ------ | +| `GZIP` | GZIP | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsSchemasFormatFormatType.md b/docs/models/shared/DestinationGcsSchemasFormatFormatType.md new file mode 100644 index 000000000..0c81676e2 --- /dev/null +++ b/docs/models/shared/DestinationGcsSchemasFormatFormatType.md @@ -0,0 +1,8 @@ +# DestinationGcsSchemasFormatFormatType + + +## Values + +| Name | Value | +| ------- | ------- | +| `JSONL` | JSONL | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsSchemasFormatOutputFormat1Codec.md b/docs/models/shared/DestinationGcsSchemasFormatOutputFormat1Codec.md new file mode 100644 index 000000000..f51cfeabb --- /dev/null +++ b/docs/models/shared/DestinationGcsSchemasFormatOutputFormat1Codec.md @@ -0,0 +1,8 @@ +# DestinationGcsSchemasFormatOutputFormat1Codec + + +## Values + +| Name | Value | +| -------- | -------- | +| `SNAPPY` | snappy | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsSchemasFormatOutputFormatCodec.md b/docs/models/shared/DestinationGcsSchemasFormatOutputFormatCodec.md new file mode 100644 index 000000000..29fcfa6f2 --- /dev/null +++ b/docs/models/shared/DestinationGcsSchemasFormatOutputFormatCodec.md @@ -0,0 +1,8 @@ +# DestinationGcsSchemasFormatOutputFormatCodec + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `ZSTANDARD` | zstandard | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsSchemasFormatOutputFormatFormatType.md b/docs/models/shared/DestinationGcsSchemasFormatOutputFormatFormatType.md new file mode 100644 index 000000000..009afc6ff --- /dev/null +++ b/docs/models/shared/DestinationGcsSchemasFormatOutputFormatFormatType.md @@ -0,0 +1,8 @@ +# DestinationGcsSchemasFormatOutputFormatFormatType + + +## Values + +| Name | Value | +| --------- | --------- | +| `PARQUET` | Parquet | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsSchemasFormatType.md b/docs/models/shared/DestinationGcsSchemasFormatType.md new file mode 100644 index 000000000..182b25821 --- /dev/null +++ b/docs/models/shared/DestinationGcsSchemasFormatType.md @@ -0,0 +1,8 @@ +# DestinationGcsSchemasFormatType + + +## Values + +| Name | Value | +| ----- | ----- | +| `CSV` | CSV | \ No newline at end of file diff --git a/docs/models/shared/DestinationGcsSchemasNoCompression.md b/docs/models/shared/DestinationGcsSchemasNoCompression.md new file mode 100644 index 000000000..1cc6c8dc7 --- /dev/null +++ b/docs/models/shared/DestinationGcsSchemasNoCompression.md @@ -0,0 +1,8 @@ +# DestinationGcsSchemasNoCompression + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| `compressionType` | [Optional](../../models/shared/DestinationGcsSchemasCompressionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationGoogleSheets.md b/docs/models/shared/DestinationGoogleSheets.md new file mode 100644 index 000000000..1a030ada2 --- /dev/null +++ b/docs/models/shared/DestinationGoogleSheets.md @@ -0,0 +1,10 @@ +# DestinationGoogleSheets + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [com.airbyte.api.models.shared.AuthenticationViaGoogleOAuth](../../models/shared/AuthenticationViaGoogleOAuth.md) | :heavy_check_mark: | Google API Credentials for connecting to Google Sheets and Google Drive APIs | | +| `destinationType` | [com.airbyte.api.models.shared.DestinationGoogleSheetsGoogleSheets](../../models/shared/DestinationGoogleSheetsGoogleSheets.md) | :heavy_check_mark: | N/A | | +| `spreadsheetId` | *String* | :heavy_check_mark: | The link to your spreadsheet. See this guide for more details. | https://docs.google.com/spreadsheets/d/1hLd9Qqti3UyLXZB2aFfUWDT7BG/edit | \ No newline at end of file diff --git a/docs/models/shared/DestinationGoogleSheetsGoogleSheets.md b/docs/models/shared/DestinationGoogleSheetsGoogleSheets.md new file mode 100644 index 000000000..a61d07413 --- /dev/null +++ b/docs/models/shared/DestinationGoogleSheetsGoogleSheets.md @@ -0,0 +1,8 @@ +# DestinationGoogleSheetsGoogleSheets + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `GOOGLE_SHEETS` | google-sheets | \ No newline at end of file diff --git a/docs/models/shared/DestinationLangchain.md b/docs/models/shared/DestinationLangchain.md new file mode 100644 index 000000000..085efe9fb --- /dev/null +++ b/docs/models/shared/DestinationLangchain.md @@ -0,0 +1,11 @@ +# DestinationLangchain + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `destinationType` | [com.airbyte.api.models.shared.Langchain](../../models/shared/Langchain.md) | :heavy_check_mark: | N/A | +| `embedding` | [com.airbyte.api.models.shared.DestinationLangchainEmbedding](../../models/shared/DestinationLangchainEmbedding.md) | :heavy_check_mark: | Embedding configuration | +| `indexing` | [com.airbyte.api.models.shared.DestinationLangchainIndexing](../../models/shared/DestinationLangchainIndexing.md) | :heavy_check_mark: | Indexing configuration | +| `processing` | [com.airbyte.api.models.shared.DestinationLangchainProcessingConfigModel](../../models/shared/DestinationLangchainProcessingConfigModel.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationLangchainEmbedding.md b/docs/models/shared/DestinationLangchainEmbedding.md new file mode 100644 index 000000000..722d0c73a --- /dev/null +++ b/docs/models/shared/DestinationLangchainEmbedding.md @@ -0,0 +1,4 @@ +# DestinationLangchainEmbedding + +Embedding configuration + diff --git a/docs/models/shared/DestinationLangchainFake.md b/docs/models/shared/DestinationLangchainFake.md new file mode 100644 index 000000000..c45a94de4 --- /dev/null +++ b/docs/models/shared/DestinationLangchainFake.md @@ -0,0 +1,10 @@ +# DestinationLangchainFake + +Use a fake embedding made out of random vectors with 1536 embedding dimensions. This is useful for testing the data pipeline without incurring any costs. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationLangchainSchemasMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationLangchainIndexing.md b/docs/models/shared/DestinationLangchainIndexing.md new file mode 100644 index 000000000..4769bc654 --- /dev/null +++ b/docs/models/shared/DestinationLangchainIndexing.md @@ -0,0 +1,4 @@ +# DestinationLangchainIndexing + +Indexing configuration + diff --git a/docs/models/shared/DestinationLangchainMode.md b/docs/models/shared/DestinationLangchainMode.md new file mode 100644 index 000000000..511ab5cc6 --- /dev/null +++ b/docs/models/shared/DestinationLangchainMode.md @@ -0,0 +1,8 @@ +# DestinationLangchainMode + + +## Values + +| Name | Value | +| -------- | -------- | +| `OPENAI` | openai | \ No newline at end of file diff --git a/docs/models/shared/DestinationLangchainOpenAI.md b/docs/models/shared/DestinationLangchainOpenAI.md new file mode 100644 index 000000000..a898c3810 --- /dev/null +++ b/docs/models/shared/DestinationLangchainOpenAI.md @@ -0,0 +1,11 @@ +# DestinationLangchainOpenAI + +Use the OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationLangchainMode.md) | :heavy_minus_sign: | N/A | +| `openaiKey` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationLangchainPinecone.md b/docs/models/shared/DestinationLangchainPinecone.md new file mode 100644 index 000000000..3229e904a --- /dev/null +++ b/docs/models/shared/DestinationLangchainPinecone.md @@ -0,0 +1,13 @@ +# DestinationLangchainPinecone + +Pinecone is a popular vector store that can be used to store and retrieve embeddings. It is a managed service and can also be queried from outside of langchain. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `index` | *String* | :heavy_check_mark: | Pinecone index to use | +| `mode` | [Optional](../../models/shared/DestinationLangchainSchemasIndexingMode.md) | :heavy_minus_sign: | N/A | +| `pineconeEnvironment` | *String* | :heavy_check_mark: | Pinecone environment to use | +| `pineconeKey` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationLangchainProcessingConfigModel.md b/docs/models/shared/DestinationLangchainProcessingConfigModel.md new file mode 100644 index 000000000..7414d8b61 --- /dev/null +++ b/docs/models/shared/DestinationLangchainProcessingConfigModel.md @@ -0,0 +1,10 @@ +# DestinationLangchainProcessingConfigModel + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `chunkOverlap` | *Optional* | :heavy_minus_sign: | Size of overlap between chunks in tokens to store in vector store to better capture relevant context | | +| `chunkSize` | *long* | :heavy_check_mark: | Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) | | +| `textFields` | List<*String*> | :heavy_check_mark: | List of fields in the record that should be used to calculate the embedding. All other fields are passed along as meta fields. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. | text | \ No newline at end of file diff --git a/docs/models/shared/DestinationLangchainSchemasIndexingIndexing3Mode.md b/docs/models/shared/DestinationLangchainSchemasIndexingIndexing3Mode.md new file mode 100644 index 000000000..797595958 --- /dev/null +++ b/docs/models/shared/DestinationLangchainSchemasIndexingIndexing3Mode.md @@ -0,0 +1,8 @@ +# DestinationLangchainSchemasIndexingIndexing3Mode + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `CHROMA_LOCAL` | chroma_local | \ No newline at end of file diff --git a/docs/models/shared/DestinationLangchainSchemasIndexingIndexingMode.md b/docs/models/shared/DestinationLangchainSchemasIndexingIndexingMode.md new file mode 100644 index 000000000..f731f628d --- /dev/null +++ b/docs/models/shared/DestinationLangchainSchemasIndexingIndexingMode.md @@ -0,0 +1,8 @@ +# DestinationLangchainSchemasIndexingIndexingMode + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `DOC_ARRAY_HNSW_SEARCH` | DocArrayHnswSearch | \ No newline at end of file diff --git a/docs/models/shared/DestinationLangchainSchemasIndexingMode.md b/docs/models/shared/DestinationLangchainSchemasIndexingMode.md new file mode 100644 index 000000000..1eb68f5e6 --- /dev/null +++ b/docs/models/shared/DestinationLangchainSchemasIndexingMode.md @@ -0,0 +1,8 @@ +# DestinationLangchainSchemasIndexingMode + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `PINECONE` | pinecone | \ No newline at end of file diff --git a/docs/models/shared/DestinationLangchainSchemasMode.md b/docs/models/shared/DestinationLangchainSchemasMode.md new file mode 100644 index 000000000..03ed3c530 --- /dev/null +++ b/docs/models/shared/DestinationLangchainSchemasMode.md @@ -0,0 +1,8 @@ +# DestinationLangchainSchemasMode + + +## Values + +| Name | Value | +| ------ | ------ | +| `FAKE` | fake | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvus.md b/docs/models/shared/DestinationMilvus.md new file mode 100644 index 000000000..0f8de39fc --- /dev/null +++ b/docs/models/shared/DestinationMilvus.md @@ -0,0 +1,23 @@ +# DestinationMilvus + +The configuration model for the Vector DB based destinations. This model is used to generate the UI for the destination configuration, +as well as to provide type safety for the configuration passed to the destination. + +The configuration model is composed of four parts: +* Processing configuration +* Embedding configuration +* Indexing configuration +* Advanced configuration + +Processing, embedding and advanced configuration are provided by this base class, while the indexing configuration is provided by the destination connector in the sub class. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `destinationType` | [com.airbyte.api.models.shared.Milvus](../../models/shared/Milvus.md) | :heavy_check_mark: | N/A | +| `embedding` | [com.airbyte.api.models.shared.DestinationMilvusEmbedding](../../models/shared/DestinationMilvusEmbedding.md) | :heavy_check_mark: | Embedding configuration | +| `indexing` | [com.airbyte.api.models.shared.DestinationMilvusIndexing](../../models/shared/DestinationMilvusIndexing.md) | :heavy_check_mark: | Indexing configuration | +| `omitRawText` | *Optional* | :heavy_minus_sign: | Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. | +| `processing` | [com.airbyte.api.models.shared.DestinationMilvusProcessingConfigModel](../../models/shared/DestinationMilvusProcessingConfigModel.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusAPIToken.md b/docs/models/shared/DestinationMilvusAPIToken.md new file mode 100644 index 000000000..9b231a1fd --- /dev/null +++ b/docs/models/shared/DestinationMilvusAPIToken.md @@ -0,0 +1,11 @@ +# DestinationMilvusAPIToken + +Authenticate using an API token (suitable for Zilliz Cloud) + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationMilvusSchemasIndexingMode.md) | :heavy_minus_sign: | N/A | +| `token` | *String* | :heavy_check_mark: | API Token for the Milvus instance | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusAuthentication.md b/docs/models/shared/DestinationMilvusAuthentication.md new file mode 100644 index 000000000..fb5bd6aeb --- /dev/null +++ b/docs/models/shared/DestinationMilvusAuthentication.md @@ -0,0 +1,4 @@ +# DestinationMilvusAuthentication + +Authentication method + diff --git a/docs/models/shared/DestinationMilvusAzureOpenAI.md b/docs/models/shared/DestinationMilvusAzureOpenAI.md new file mode 100644 index 000000000..7e9681677 --- /dev/null +++ b/docs/models/shared/DestinationMilvusAzureOpenAI.md @@ -0,0 +1,13 @@ +# DestinationMilvusAzureOpenAI + +Use the Azure-hosted OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiBase` | *String* | :heavy_check_mark: | The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource | https://your-resource-name.openai.azure.com | +| `deployment` | *String* | :heavy_check_mark: | The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource | your-resource-name | +| `mode` | [Optional](../../models/shared/DestinationMilvusSchemasEmbeddingEmbeddingMode.md) | :heavy_minus_sign: | N/A | | +| `openaiKey` | *String* | :heavy_check_mark: | The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource | | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusByMarkdownHeader.md b/docs/models/shared/DestinationMilvusByMarkdownHeader.md new file mode 100644 index 000000000..cfaec5dd9 --- /dev/null +++ b/docs/models/shared/DestinationMilvusByMarkdownHeader.md @@ -0,0 +1,11 @@ +# DestinationMilvusByMarkdownHeader + +Split the text by Markdown headers down to the specified header level. If the chunk size fits multiple sections, they will be combined into a single chunk. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationMilvusSchemasProcessingTextSplitterMode.md) | :heavy_minus_sign: | N/A | +| `splitLevel` | *Optional* | :heavy_minus_sign: | Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusByProgrammingLanguage.md b/docs/models/shared/DestinationMilvusByProgrammingLanguage.md new file mode 100644 index 000000000..f4f3f2634 --- /dev/null +++ b/docs/models/shared/DestinationMilvusByProgrammingLanguage.md @@ -0,0 +1,11 @@ +# DestinationMilvusByProgrammingLanguage + +Split the text by suitable delimiters based on the programming language. This is useful for splitting code into chunks. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `language` | [com.airbyte.api.models.shared.DestinationMilvusLanguage](../../models/shared/DestinationMilvusLanguage.md) | :heavy_check_mark: | Split code in suitable places based on the programming language | +| `mode` | [Optional](../../models/shared/DestinationMilvusSchemasProcessingTextSplitterTextSplitterMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusBySeparator.md b/docs/models/shared/DestinationMilvusBySeparator.md new file mode 100644 index 000000000..04bf23bd3 --- /dev/null +++ b/docs/models/shared/DestinationMilvusBySeparator.md @@ -0,0 +1,12 @@ +# DestinationMilvusBySeparator + +Split the text by the list of separators until the chunk size is reached, using the earlier mentioned separators where possible. This is useful for splitting text fields by paragraphs, sentences, words, etc. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `keepSeparator` | *Optional* | :heavy_minus_sign: | Whether to keep the separator in the resulting chunks | +| `mode` | [Optional](../../models/shared/DestinationMilvusSchemasProcessingMode.md) | :heavy_minus_sign: | N/A | +| `separators` | List<*String*> | :heavy_minus_sign: | List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusCohere.md b/docs/models/shared/DestinationMilvusCohere.md new file mode 100644 index 000000000..c4ab68c28 --- /dev/null +++ b/docs/models/shared/DestinationMilvusCohere.md @@ -0,0 +1,11 @@ +# DestinationMilvusCohere + +Use the Cohere API to embed text. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| `cohereKey` | *String* | :heavy_check_mark: | N/A | +| `mode` | [Optional](../../models/shared/DestinationMilvusSchemasMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusEmbedding.md b/docs/models/shared/DestinationMilvusEmbedding.md new file mode 100644 index 000000000..acb214600 --- /dev/null +++ b/docs/models/shared/DestinationMilvusEmbedding.md @@ -0,0 +1,4 @@ +# DestinationMilvusEmbedding + +Embedding configuration + diff --git a/docs/models/shared/DestinationMilvusFake.md b/docs/models/shared/DestinationMilvusFake.md new file mode 100644 index 000000000..3804c6735 --- /dev/null +++ b/docs/models/shared/DestinationMilvusFake.md @@ -0,0 +1,10 @@ +# DestinationMilvusFake + +Use a fake embedding made out of random vectors with 1536 embedding dimensions. This is useful for testing the data pipeline without incurring any costs. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationMilvusSchemasEmbeddingMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusFieldNameMappingConfigModel.md b/docs/models/shared/DestinationMilvusFieldNameMappingConfigModel.md new file mode 100644 index 000000000..91ef7ef44 --- /dev/null +++ b/docs/models/shared/DestinationMilvusFieldNameMappingConfigModel.md @@ -0,0 +1,9 @@ +# DestinationMilvusFieldNameMappingConfigModel + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `fromField` | *String* | :heavy_check_mark: | The field name in the source | +| `toField` | *String* | :heavy_check_mark: | The field name to use in the destination | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusIndexing.md b/docs/models/shared/DestinationMilvusIndexing.md new file mode 100644 index 000000000..7400cdfa3 --- /dev/null +++ b/docs/models/shared/DestinationMilvusIndexing.md @@ -0,0 +1,15 @@ +# DestinationMilvusIndexing + +Indexing configuration + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `auth` | [com.airbyte.api.models.shared.DestinationMilvusAuthentication](../../models/shared/DestinationMilvusAuthentication.md) | :heavy_check_mark: | Authentication method | | +| `collection` | *String* | :heavy_check_mark: | The collection to load data into | | +| `db` | *Optional* | :heavy_minus_sign: | The database to connect to | | +| `host` | *String* | :heavy_check_mark: | The public endpoint of the Milvus instance. | https://my-instance.zone.zillizcloud.com | +| `textField` | *Optional* | :heavy_minus_sign: | The field in the entity that contains the embedded text | | +| `vectorField` | *Optional* | :heavy_minus_sign: | The field in the entity that contains the vector | | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusLanguage.md b/docs/models/shared/DestinationMilvusLanguage.md new file mode 100644 index 000000000..c75ceacc9 --- /dev/null +++ b/docs/models/shared/DestinationMilvusLanguage.md @@ -0,0 +1,25 @@ +# DestinationMilvusLanguage + +Split code in suitable places based on the programming language + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `CPP` | cpp | +| `GO` | go | +| `JAVA` | java | +| `JS` | js | +| `PHP` | php | +| `PROTO` | proto | +| `PYTHON` | python | +| `RST` | rst | +| `RUBY` | ruby | +| `RUST` | rust | +| `SCALA` | scala | +| `SWIFT` | swift | +| `MARKDOWN` | markdown | +| `LATEX` | latex | +| `HTML` | html | +| `SOL` | sol | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusMode.md b/docs/models/shared/DestinationMilvusMode.md new file mode 100644 index 000000000..f395f0845 --- /dev/null +++ b/docs/models/shared/DestinationMilvusMode.md @@ -0,0 +1,8 @@ +# DestinationMilvusMode + + +## Values + +| Name | Value | +| -------- | -------- | +| `OPENAI` | openai | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusOpenAI.md b/docs/models/shared/DestinationMilvusOpenAI.md new file mode 100644 index 000000000..90934855a --- /dev/null +++ b/docs/models/shared/DestinationMilvusOpenAI.md @@ -0,0 +1,11 @@ +# DestinationMilvusOpenAI + +Use the OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationMilvusMode.md) | :heavy_minus_sign: | N/A | +| `openaiKey` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusOpenAICompatible.md b/docs/models/shared/DestinationMilvusOpenAICompatible.md new file mode 100644 index 000000000..145d4cbb2 --- /dev/null +++ b/docs/models/shared/DestinationMilvusOpenAICompatible.md @@ -0,0 +1,14 @@ +# DestinationMilvusOpenAICompatible + +Use a service that's compatible with the OpenAI API to embed text. + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *Optional* | :heavy_minus_sign: | N/A | | +| `baseUrl` | *String* | :heavy_check_mark: | The base URL for your OpenAI-compatible service | https://your-service-name.com | +| `dimensions` | *long* | :heavy_check_mark: | The number of dimensions the embedding model is generating | 1536 | +| `mode` | [Optional](../../models/shared/DestinationMilvusSchemasEmbeddingEmbedding5Mode.md) | :heavy_minus_sign: | N/A | | +| `modelName` | *Optional* | :heavy_minus_sign: | The name of the model to use for embedding | text-embedding-ada-002 | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusProcessingConfigModel.md b/docs/models/shared/DestinationMilvusProcessingConfigModel.md new file mode 100644 index 000000000..0c19030f1 --- /dev/null +++ b/docs/models/shared/DestinationMilvusProcessingConfigModel.md @@ -0,0 +1,13 @@ +# DestinationMilvusProcessingConfigModel + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `chunkOverlap` | *Optional* | :heavy_minus_sign: | Size of overlap between chunks in tokens to store in vector store to better capture relevant context | | +| `chunkSize` | *long* | :heavy_check_mark: | Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) | | +| `fieldNameMappings` | List<[com.airbyte.api.models.shared.DestinationMilvusFieldNameMappingConfigModel](../../models/shared/DestinationMilvusFieldNameMappingConfigModel.md)> | :heavy_minus_sign: | List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. | | +| `metadataFields` | List<*String*> | :heavy_minus_sign: | List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. | age | +| `textFields` | List<*String*> | :heavy_minus_sign: | List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. | text | +| `textSplitter` | [Optional](../../models/shared/DestinationMilvusTextSplitter.md) | :heavy_minus_sign: | Split text fields into chunks based on the specified method. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusSchemasEmbeddingEmbedding5Mode.md b/docs/models/shared/DestinationMilvusSchemasEmbeddingEmbedding5Mode.md new file mode 100644 index 000000000..be70c4895 --- /dev/null +++ b/docs/models/shared/DestinationMilvusSchemasEmbeddingEmbedding5Mode.md @@ -0,0 +1,8 @@ +# DestinationMilvusSchemasEmbeddingEmbedding5Mode + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `OPENAI_COMPATIBLE` | openai_compatible | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusSchemasEmbeddingEmbeddingMode.md b/docs/models/shared/DestinationMilvusSchemasEmbeddingEmbeddingMode.md new file mode 100644 index 000000000..a219263df --- /dev/null +++ b/docs/models/shared/DestinationMilvusSchemasEmbeddingEmbeddingMode.md @@ -0,0 +1,8 @@ +# DestinationMilvusSchemasEmbeddingEmbeddingMode + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `AZURE_OPENAI` | azure_openai | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusSchemasEmbeddingMode.md b/docs/models/shared/DestinationMilvusSchemasEmbeddingMode.md new file mode 100644 index 000000000..d4edec52e --- /dev/null +++ b/docs/models/shared/DestinationMilvusSchemasEmbeddingMode.md @@ -0,0 +1,8 @@ +# DestinationMilvusSchemasEmbeddingMode + + +## Values + +| Name | Value | +| ------ | ------ | +| `FAKE` | fake | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusSchemasIndexingAuthAuthenticationMode.md b/docs/models/shared/DestinationMilvusSchemasIndexingAuthAuthenticationMode.md new file mode 100644 index 000000000..b4ea4e6ca --- /dev/null +++ b/docs/models/shared/DestinationMilvusSchemasIndexingAuthAuthenticationMode.md @@ -0,0 +1,8 @@ +# DestinationMilvusSchemasIndexingAuthAuthenticationMode + + +## Values + +| Name | Value | +| --------- | --------- | +| `NO_AUTH` | no_auth | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusSchemasIndexingAuthMode.md b/docs/models/shared/DestinationMilvusSchemasIndexingAuthMode.md new file mode 100644 index 000000000..fa143c52a --- /dev/null +++ b/docs/models/shared/DestinationMilvusSchemasIndexingAuthMode.md @@ -0,0 +1,8 @@ +# DestinationMilvusSchemasIndexingAuthMode + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `USERNAME_PASSWORD` | username_password | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusSchemasIndexingMode.md b/docs/models/shared/DestinationMilvusSchemasIndexingMode.md new file mode 100644 index 000000000..de56c398f --- /dev/null +++ b/docs/models/shared/DestinationMilvusSchemasIndexingMode.md @@ -0,0 +1,8 @@ +# DestinationMilvusSchemasIndexingMode + + +## Values + +| Name | Value | +| ------- | ------- | +| `TOKEN` | token | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusSchemasMode.md b/docs/models/shared/DestinationMilvusSchemasMode.md new file mode 100644 index 000000000..cecab59c7 --- /dev/null +++ b/docs/models/shared/DestinationMilvusSchemasMode.md @@ -0,0 +1,8 @@ +# DestinationMilvusSchemasMode + + +## Values + +| Name | Value | +| -------- | -------- | +| `COHERE` | cohere | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusSchemasProcessingMode.md b/docs/models/shared/DestinationMilvusSchemasProcessingMode.md new file mode 100644 index 000000000..98fd9d42d --- /dev/null +++ b/docs/models/shared/DestinationMilvusSchemasProcessingMode.md @@ -0,0 +1,8 @@ +# DestinationMilvusSchemasProcessingMode + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `SEPARATOR` | separator | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusSchemasProcessingTextSplitterMode.md b/docs/models/shared/DestinationMilvusSchemasProcessingTextSplitterMode.md new file mode 100644 index 000000000..7d4d3982e --- /dev/null +++ b/docs/models/shared/DestinationMilvusSchemasProcessingTextSplitterMode.md @@ -0,0 +1,8 @@ +# DestinationMilvusSchemasProcessingTextSplitterMode + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `MARKDOWN` | markdown | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusSchemasProcessingTextSplitterTextSplitterMode.md b/docs/models/shared/DestinationMilvusSchemasProcessingTextSplitterTextSplitterMode.md new file mode 100644 index 000000000..90a0a9636 --- /dev/null +++ b/docs/models/shared/DestinationMilvusSchemasProcessingTextSplitterTextSplitterMode.md @@ -0,0 +1,8 @@ +# DestinationMilvusSchemasProcessingTextSplitterTextSplitterMode + + +## Values + +| Name | Value | +| ------ | ------ | +| `CODE` | code | \ No newline at end of file diff --git a/docs/models/shared/DestinationMilvusTextSplitter.md b/docs/models/shared/DestinationMilvusTextSplitter.md new file mode 100644 index 000000000..c73c6be91 --- /dev/null +++ b/docs/models/shared/DestinationMilvusTextSplitter.md @@ -0,0 +1,4 @@ +# DestinationMilvusTextSplitter + +Split text fields into chunks based on the specified method. + diff --git a/docs/models/shared/DestinationMilvusUsernamePassword.md b/docs/models/shared/DestinationMilvusUsernamePassword.md new file mode 100644 index 000000000..fd1e0bad1 --- /dev/null +++ b/docs/models/shared/DestinationMilvusUsernamePassword.md @@ -0,0 +1,12 @@ +# DestinationMilvusUsernamePassword + +Authenticate using username and password (suitable for self-managed Milvus clusters) + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationMilvusSchemasIndexingAuthMode.md) | :heavy_minus_sign: | N/A | +| `password` | *String* | :heavy_check_mark: | Password for the Milvus instance | +| `username` | *String* | :heavy_check_mark: | Username for the Milvus instance | \ No newline at end of file diff --git a/docs/models/shared/DestinationMongodb.md b/docs/models/shared/DestinationMongodb.md new file mode 100644 index 000000000..78282f122 --- /dev/null +++ b/docs/models/shared/DestinationMongodb.md @@ -0,0 +1,12 @@ +# DestinationMongodb + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [com.airbyte.api.models.shared.AuthorizationType](../../models/shared/AuthorizationType.md) | :heavy_check_mark: | Authorization type. | +| `database` | *String* | :heavy_check_mark: | Name of the database. | +| `destinationType` | [com.airbyte.api.models.shared.Mongodb](../../models/shared/Mongodb.md) | :heavy_check_mark: | N/A | +| `instanceType` | [Optional](../../models/shared/MongoDbInstanceType.md) | :heavy_minus_sign: | MongoDb instance to connect to. For MongoDB Atlas and Replica Set TLS connection is used by default. | +| `tunnelMethod` | [Optional](../../models/shared/DestinationMongodbSSHTunnelMethod.md) | :heavy_minus_sign: | Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. | \ No newline at end of file diff --git a/docs/models/shared/DestinationMongodbAuthorization.md b/docs/models/shared/DestinationMongodbAuthorization.md new file mode 100644 index 000000000..52b674989 --- /dev/null +++ b/docs/models/shared/DestinationMongodbAuthorization.md @@ -0,0 +1,8 @@ +# DestinationMongodbAuthorization + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `LOGIN_PASSWORD` | login/password | \ No newline at end of file diff --git a/docs/models/shared/DestinationMongodbInstance.md b/docs/models/shared/DestinationMongodbInstance.md new file mode 100644 index 000000000..5d61affaa --- /dev/null +++ b/docs/models/shared/DestinationMongodbInstance.md @@ -0,0 +1,8 @@ +# DestinationMongodbInstance + + +## Values + +| Name | Value | +| --------- | --------- | +| `REPLICA` | replica | \ No newline at end of file diff --git a/docs/models/shared/DestinationMongodbNoTunnel.md b/docs/models/shared/DestinationMongodbNoTunnel.md new file mode 100644 index 000000000..5b1018e77 --- /dev/null +++ b/docs/models/shared/DestinationMongodbNoTunnel.md @@ -0,0 +1,8 @@ +# DestinationMongodbNoTunnel + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationMongodbTunnelMethod](../../models/shared/DestinationMongodbTunnelMethod.md) | :heavy_check_mark: | No ssh tunnel needed to connect to database | \ No newline at end of file diff --git a/docs/models/shared/DestinationMongodbPasswordAuthentication.md b/docs/models/shared/DestinationMongodbPasswordAuthentication.md new file mode 100644 index 000000000..d52f7e3b5 --- /dev/null +++ b/docs/models/shared/DestinationMongodbPasswordAuthentication.md @@ -0,0 +1,12 @@ +# DestinationMongodbPasswordAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationMongodbSchemasTunnelMethodTunnelMethod](../../models/shared/DestinationMongodbSchemasTunnelMethodTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and password authentication | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host | | +| `tunnelUserPassword` | *String* | :heavy_check_mark: | OS-level password for logging into the jump server host | | \ No newline at end of file diff --git a/docs/models/shared/DestinationMongodbSSHKeyAuthentication.md b/docs/models/shared/DestinationMongodbSSHKeyAuthentication.md new file mode 100644 index 000000000..3310d847f --- /dev/null +++ b/docs/models/shared/DestinationMongodbSSHKeyAuthentication.md @@ -0,0 +1,12 @@ +# DestinationMongodbSSHKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `sshKey` | *String* | :heavy_check_mark: | OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) | | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationMongodbSchemasTunnelMethod](../../models/shared/DestinationMongodbSchemasTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and ssh key | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationMongodbSSHTunnelMethod.md b/docs/models/shared/DestinationMongodbSSHTunnelMethod.md new file mode 100644 index 000000000..940b59b2c --- /dev/null +++ b/docs/models/shared/DestinationMongodbSSHTunnelMethod.md @@ -0,0 +1,4 @@ +# DestinationMongodbSSHTunnelMethod + +Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + diff --git a/docs/models/shared/DestinationMongodbSchemasAuthorization.md b/docs/models/shared/DestinationMongodbSchemasAuthorization.md new file mode 100644 index 000000000..2e45a58e4 --- /dev/null +++ b/docs/models/shared/DestinationMongodbSchemasAuthorization.md @@ -0,0 +1,8 @@ +# DestinationMongodbSchemasAuthorization + + +## Values + +| Name | Value | +| ------ | ------ | +| `NONE` | none | \ No newline at end of file diff --git a/docs/models/shared/DestinationMongodbSchemasInstance.md b/docs/models/shared/DestinationMongodbSchemasInstance.md new file mode 100644 index 000000000..a9ab80841 --- /dev/null +++ b/docs/models/shared/DestinationMongodbSchemasInstance.md @@ -0,0 +1,8 @@ +# DestinationMongodbSchemasInstance + + +## Values + +| Name | Value | +| ------- | ------- | +| `ATLAS` | atlas | \ No newline at end of file diff --git a/docs/models/shared/DestinationMongodbSchemasTunnelMethod.md b/docs/models/shared/DestinationMongodbSchemasTunnelMethod.md new file mode 100644 index 000000000..837533a1b --- /dev/null +++ b/docs/models/shared/DestinationMongodbSchemasTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationMongodbSchemasTunnelMethod + +Connect through a jump server tunnel host using username and ssh key + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `SSH_KEY_AUTH` | SSH_KEY_AUTH | \ No newline at end of file diff --git a/docs/models/shared/DestinationMongodbSchemasTunnelMethodTunnelMethod.md b/docs/models/shared/DestinationMongodbSchemasTunnelMethodTunnelMethod.md new file mode 100644 index 000000000..c787d8ace --- /dev/null +++ b/docs/models/shared/DestinationMongodbSchemasTunnelMethodTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationMongodbSchemasTunnelMethodTunnelMethod + +Connect through a jump server tunnel host using username and password authentication + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `SSH_PASSWORD_AUTH` | SSH_PASSWORD_AUTH | \ No newline at end of file diff --git a/docs/models/shared/DestinationMongodbTunnelMethod.md b/docs/models/shared/DestinationMongodbTunnelMethod.md new file mode 100644 index 000000000..0f7ff8e61 --- /dev/null +++ b/docs/models/shared/DestinationMongodbTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationMongodbTunnelMethod + +No ssh tunnel needed to connect to database + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `NO_TUNNEL` | NO_TUNNEL | \ No newline at end of file diff --git a/docs/models/shared/DestinationMssql.md b/docs/models/shared/DestinationMssql.md new file mode 100644 index 000000000..a0a186959 --- /dev/null +++ b/docs/models/shared/DestinationMssql.md @@ -0,0 +1,17 @@ +# DestinationMssql + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `database` | *String* | :heavy_check_mark: | The name of the MSSQL database. | | +| `destinationType` | [com.airbyte.api.models.shared.Mssql](../../models/shared/Mssql.md) | :heavy_check_mark: | N/A | | +| `host` | *String* | :heavy_check_mark: | The host name of the MSSQL database. | | +| `jdbcUrlParams` | *Optional* | :heavy_minus_sign: | Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). | | +| `password` | *Optional* | :heavy_minus_sign: | The password associated with this username. | | +| `port` | *Optional* | :heavy_minus_sign: | The port of the MSSQL database. | 1433 | +| `schema` | *Optional* | :heavy_minus_sign: | The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". | public | +| `sslMethod` | [Optional](../../models/shared/SSLMethod.md) | :heavy_minus_sign: | The encryption method which is used to communicate with the database. | | +| `tunnelMethod` | [Optional](../../models/shared/DestinationMssqlSSHTunnelMethod.md) | :heavy_minus_sign: | Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. | | +| `username` | *String* | :heavy_check_mark: | The username which is used to access the database. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationMssqlNoTunnel.md b/docs/models/shared/DestinationMssqlNoTunnel.md new file mode 100644 index 000000000..006c913f6 --- /dev/null +++ b/docs/models/shared/DestinationMssqlNoTunnel.md @@ -0,0 +1,8 @@ +# DestinationMssqlNoTunnel + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationMssqlTunnelMethod](../../models/shared/DestinationMssqlTunnelMethod.md) | :heavy_check_mark: | No ssh tunnel needed to connect to database | \ No newline at end of file diff --git a/docs/models/shared/DestinationMssqlPasswordAuthentication.md b/docs/models/shared/DestinationMssqlPasswordAuthentication.md new file mode 100644 index 000000000..b79f510bf --- /dev/null +++ b/docs/models/shared/DestinationMssqlPasswordAuthentication.md @@ -0,0 +1,12 @@ +# DestinationMssqlPasswordAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationMssqlSchemasTunnelMethodTunnelMethod](../../models/shared/DestinationMssqlSchemasTunnelMethodTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and password authentication | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host | | +| `tunnelUserPassword` | *String* | :heavy_check_mark: | OS-level password for logging into the jump server host | | \ No newline at end of file diff --git a/docs/models/shared/DestinationMssqlSSHKeyAuthentication.md b/docs/models/shared/DestinationMssqlSSHKeyAuthentication.md new file mode 100644 index 000000000..c6027290c --- /dev/null +++ b/docs/models/shared/DestinationMssqlSSHKeyAuthentication.md @@ -0,0 +1,12 @@ +# DestinationMssqlSSHKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `sshKey` | *String* | :heavy_check_mark: | OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) | | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationMssqlSchemasTunnelMethod](../../models/shared/DestinationMssqlSchemasTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and ssh key | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationMssqlSSHTunnelMethod.md b/docs/models/shared/DestinationMssqlSSHTunnelMethod.md new file mode 100644 index 000000000..0825a88df --- /dev/null +++ b/docs/models/shared/DestinationMssqlSSHTunnelMethod.md @@ -0,0 +1,4 @@ +# DestinationMssqlSSHTunnelMethod + +Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + diff --git a/docs/models/shared/DestinationMssqlSchemasSslMethod.md b/docs/models/shared/DestinationMssqlSchemasSslMethod.md new file mode 100644 index 000000000..c1b7d5248 --- /dev/null +++ b/docs/models/shared/DestinationMssqlSchemasSslMethod.md @@ -0,0 +1,8 @@ +# DestinationMssqlSchemasSslMethod + + +## Values + +| Name | Value | +| ------------------------------ | ------------------------------ | +| `ENCRYPTED_VERIFY_CERTIFICATE` | encrypted_verify_certificate | \ No newline at end of file diff --git a/docs/models/shared/DestinationMssqlSchemasTunnelMethod.md b/docs/models/shared/DestinationMssqlSchemasTunnelMethod.md new file mode 100644 index 000000000..0712c1168 --- /dev/null +++ b/docs/models/shared/DestinationMssqlSchemasTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationMssqlSchemasTunnelMethod + +Connect through a jump server tunnel host using username and ssh key + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `SSH_KEY_AUTH` | SSH_KEY_AUTH | \ No newline at end of file diff --git a/docs/models/shared/DestinationMssqlSchemasTunnelMethodTunnelMethod.md b/docs/models/shared/DestinationMssqlSchemasTunnelMethodTunnelMethod.md new file mode 100644 index 000000000..83b8b6250 --- /dev/null +++ b/docs/models/shared/DestinationMssqlSchemasTunnelMethodTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationMssqlSchemasTunnelMethodTunnelMethod + +Connect through a jump server tunnel host using username and password authentication + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `SSH_PASSWORD_AUTH` | SSH_PASSWORD_AUTH | \ No newline at end of file diff --git a/docs/models/shared/DestinationMssqlSslMethod.md b/docs/models/shared/DestinationMssqlSslMethod.md new file mode 100644 index 000000000..c7c6ee302 --- /dev/null +++ b/docs/models/shared/DestinationMssqlSslMethod.md @@ -0,0 +1,8 @@ +# DestinationMssqlSslMethod + + +## Values + +| Name | Value | +| ------------------------------------ | ------------------------------------ | +| `ENCRYPTED_TRUST_SERVER_CERTIFICATE` | encrypted_trust_server_certificate | \ No newline at end of file diff --git a/docs/models/shared/DestinationMssqlTunnelMethod.md b/docs/models/shared/DestinationMssqlTunnelMethod.md new file mode 100644 index 000000000..5b9af9357 --- /dev/null +++ b/docs/models/shared/DestinationMssqlTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationMssqlTunnelMethod + +No ssh tunnel needed to connect to database + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `NO_TUNNEL` | NO_TUNNEL | \ No newline at end of file diff --git a/docs/models/shared/DestinationMysql.md b/docs/models/shared/DestinationMysql.md new file mode 100644 index 000000000..030c66a0d --- /dev/null +++ b/docs/models/shared/DestinationMysql.md @@ -0,0 +1,15 @@ +# DestinationMysql + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `database` | *String* | :heavy_check_mark: | Name of the database. | | +| `destinationType` | [com.airbyte.api.models.shared.Mysql](../../models/shared/Mysql.md) | :heavy_check_mark: | N/A | | +| `host` | *String* | :heavy_check_mark: | Hostname of the database. | | +| `jdbcUrlParams` | *Optional* | :heavy_minus_sign: | Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). | | +| `password` | *Optional* | :heavy_minus_sign: | Password associated with the username. | | +| `port` | *Optional* | :heavy_minus_sign: | Port of the database. | 3306 | +| `tunnelMethod` | [Optional](../../models/shared/DestinationMysqlSSHTunnelMethod.md) | :heavy_minus_sign: | Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. | | +| `username` | *String* | :heavy_check_mark: | Username to use to access the database. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationMysqlNoTunnel.md b/docs/models/shared/DestinationMysqlNoTunnel.md new file mode 100644 index 000000000..3cce0af8c --- /dev/null +++ b/docs/models/shared/DestinationMysqlNoTunnel.md @@ -0,0 +1,8 @@ +# DestinationMysqlNoTunnel + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationMysqlTunnelMethod](../../models/shared/DestinationMysqlTunnelMethod.md) | :heavy_check_mark: | No ssh tunnel needed to connect to database | \ No newline at end of file diff --git a/docs/models/shared/DestinationMysqlPasswordAuthentication.md b/docs/models/shared/DestinationMysqlPasswordAuthentication.md new file mode 100644 index 000000000..cde29a41d --- /dev/null +++ b/docs/models/shared/DestinationMysqlPasswordAuthentication.md @@ -0,0 +1,12 @@ +# DestinationMysqlPasswordAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationMysqlSchemasTunnelMethodTunnelMethod](../../models/shared/DestinationMysqlSchemasTunnelMethodTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and password authentication | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host | | +| `tunnelUserPassword` | *String* | :heavy_check_mark: | OS-level password for logging into the jump server host | | \ No newline at end of file diff --git a/docs/models/shared/DestinationMysqlSSHKeyAuthentication.md b/docs/models/shared/DestinationMysqlSSHKeyAuthentication.md new file mode 100644 index 000000000..ae3d57118 --- /dev/null +++ b/docs/models/shared/DestinationMysqlSSHKeyAuthentication.md @@ -0,0 +1,12 @@ +# DestinationMysqlSSHKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `sshKey` | *String* | :heavy_check_mark: | OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) | | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationMysqlSchemasTunnelMethod](../../models/shared/DestinationMysqlSchemasTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and ssh key | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationMysqlSSHTunnelMethod.md b/docs/models/shared/DestinationMysqlSSHTunnelMethod.md new file mode 100644 index 000000000..f834cbdce --- /dev/null +++ b/docs/models/shared/DestinationMysqlSSHTunnelMethod.md @@ -0,0 +1,4 @@ +# DestinationMysqlSSHTunnelMethod + +Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + diff --git a/docs/models/shared/DestinationMysqlSchemasTunnelMethod.md b/docs/models/shared/DestinationMysqlSchemasTunnelMethod.md new file mode 100644 index 000000000..c974e00f0 --- /dev/null +++ b/docs/models/shared/DestinationMysqlSchemasTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationMysqlSchemasTunnelMethod + +Connect through a jump server tunnel host using username and ssh key + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `SSH_KEY_AUTH` | SSH_KEY_AUTH | \ No newline at end of file diff --git a/docs/models/shared/DestinationMysqlSchemasTunnelMethodTunnelMethod.md b/docs/models/shared/DestinationMysqlSchemasTunnelMethodTunnelMethod.md new file mode 100644 index 000000000..42b2ddb43 --- /dev/null +++ b/docs/models/shared/DestinationMysqlSchemasTunnelMethodTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationMysqlSchemasTunnelMethodTunnelMethod + +Connect through a jump server tunnel host using username and password authentication + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `SSH_PASSWORD_AUTH` | SSH_PASSWORD_AUTH | \ No newline at end of file diff --git a/docs/models/shared/DestinationMysqlTunnelMethod.md b/docs/models/shared/DestinationMysqlTunnelMethod.md new file mode 100644 index 000000000..62708bee2 --- /dev/null +++ b/docs/models/shared/DestinationMysqlTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationMysqlTunnelMethod + +No ssh tunnel needed to connect to database + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `NO_TUNNEL` | NO_TUNNEL | \ No newline at end of file diff --git a/docs/models/shared/DestinationOracle.md b/docs/models/shared/DestinationOracle.md new file mode 100644 index 000000000..a8543738a --- /dev/null +++ b/docs/models/shared/DestinationOracle.md @@ -0,0 +1,16 @@ +# DestinationOracle + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `destinationType` | [com.airbyte.api.models.shared.Oracle](../../models/shared/Oracle.md) | :heavy_check_mark: | N/A | | +| `host` | *String* | :heavy_check_mark: | The hostname of the database. | | +| `jdbcUrlParams` | *Optional* | :heavy_minus_sign: | Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). | | +| `password` | *Optional* | :heavy_minus_sign: | The password associated with the username. | | +| `port` | *Optional* | :heavy_minus_sign: | The port of the database. | 1521 | +| `schema` | *Optional* | :heavy_minus_sign: | The default schema is used as the target schema for all statements issued from the connection that do not explicitly specify a schema name. The usual value for this field is "airbyte". In Oracle, schemas and users are the same thing, so the "user" parameter is used as the login credentials and this is used for the default Airbyte message schema. | airbyte | +| `sid` | *String* | :heavy_check_mark: | The System Identifier uniquely distinguishes the instance from any other instance on the same computer. | | +| `tunnelMethod` | [Optional](../../models/shared/DestinationOracleSSHTunnelMethod.md) | :heavy_minus_sign: | Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. | | +| `username` | *String* | :heavy_check_mark: | The username to access the database. This user must have CREATE USER privileges in the database. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationOracleNoTunnel.md b/docs/models/shared/DestinationOracleNoTunnel.md new file mode 100644 index 000000000..209a62de7 --- /dev/null +++ b/docs/models/shared/DestinationOracleNoTunnel.md @@ -0,0 +1,8 @@ +# DestinationOracleNoTunnel + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationOracleTunnelMethod](../../models/shared/DestinationOracleTunnelMethod.md) | :heavy_check_mark: | No ssh tunnel needed to connect to database | \ No newline at end of file diff --git a/docs/models/shared/DestinationOraclePasswordAuthentication.md b/docs/models/shared/DestinationOraclePasswordAuthentication.md new file mode 100644 index 000000000..ed911ae03 --- /dev/null +++ b/docs/models/shared/DestinationOraclePasswordAuthentication.md @@ -0,0 +1,12 @@ +# DestinationOraclePasswordAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationOracleSchemasTunnelMethodTunnelMethod](../../models/shared/DestinationOracleSchemasTunnelMethodTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and password authentication | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host | | +| `tunnelUserPassword` | *String* | :heavy_check_mark: | OS-level password for logging into the jump server host | | \ No newline at end of file diff --git a/docs/models/shared/DestinationOracleSSHKeyAuthentication.md b/docs/models/shared/DestinationOracleSSHKeyAuthentication.md new file mode 100644 index 000000000..f8c9bd9b0 --- /dev/null +++ b/docs/models/shared/DestinationOracleSSHKeyAuthentication.md @@ -0,0 +1,12 @@ +# DestinationOracleSSHKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `sshKey` | *String* | :heavy_check_mark: | OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) | | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationOracleSchemasTunnelMethod](../../models/shared/DestinationOracleSchemasTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and ssh key | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationOracleSSHTunnelMethod.md b/docs/models/shared/DestinationOracleSSHTunnelMethod.md new file mode 100644 index 000000000..283782706 --- /dev/null +++ b/docs/models/shared/DestinationOracleSSHTunnelMethod.md @@ -0,0 +1,4 @@ +# DestinationOracleSSHTunnelMethod + +Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + diff --git a/docs/models/shared/DestinationOracleSchemasTunnelMethod.md b/docs/models/shared/DestinationOracleSchemasTunnelMethod.md new file mode 100644 index 000000000..3fe0a9a8b --- /dev/null +++ b/docs/models/shared/DestinationOracleSchemasTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationOracleSchemasTunnelMethod + +Connect through a jump server tunnel host using username and ssh key + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `SSH_KEY_AUTH` | SSH_KEY_AUTH | \ No newline at end of file diff --git a/docs/models/shared/DestinationOracleSchemasTunnelMethodTunnelMethod.md b/docs/models/shared/DestinationOracleSchemasTunnelMethodTunnelMethod.md new file mode 100644 index 000000000..8dec5356f --- /dev/null +++ b/docs/models/shared/DestinationOracleSchemasTunnelMethodTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationOracleSchemasTunnelMethodTunnelMethod + +Connect through a jump server tunnel host using username and password authentication + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `SSH_PASSWORD_AUTH` | SSH_PASSWORD_AUTH | \ No newline at end of file diff --git a/docs/models/shared/DestinationOracleTunnelMethod.md b/docs/models/shared/DestinationOracleTunnelMethod.md new file mode 100644 index 000000000..4e65054e4 --- /dev/null +++ b/docs/models/shared/DestinationOracleTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationOracleTunnelMethod + +No ssh tunnel needed to connect to database + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `NO_TUNNEL` | NO_TUNNEL | \ No newline at end of file diff --git a/docs/models/shared/DestinationPatchRequest.md b/docs/models/shared/DestinationPatchRequest.md index 71c017e28..d89e68c83 100644 --- a/docs/models/shared/DestinationPatchRequest.md +++ b/docs/models/shared/DestinationPatchRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | -| `configuration` | *java.lang.Object* | :heavy_minus_sign: | The values required to configure the destination. | {
"user": "charles"
} | -| `name` | *String* | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `configuration` | [Optional](../../models/shared/DestinationConfiguration.md) | :heavy_minus_sign: | The values required to configure the destination. | {
"user": "charles"
} | +| `name` | *Optional* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/DestinationPinecone.md b/docs/models/shared/DestinationPinecone.md new file mode 100644 index 000000000..c434f67ee --- /dev/null +++ b/docs/models/shared/DestinationPinecone.md @@ -0,0 +1,23 @@ +# DestinationPinecone + +The configuration model for the Vector DB based destinations. This model is used to generate the UI for the destination configuration, +as well as to provide type safety for the configuration passed to the destination. + +The configuration model is composed of four parts: +* Processing configuration +* Embedding configuration +* Indexing configuration +* Advanced configuration + +Processing, embedding and advanced configuration are provided by this base class, while the indexing configuration is provided by the destination connector in the sub class. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `destinationType` | [com.airbyte.api.models.shared.Pinecone](../../models/shared/Pinecone.md) | :heavy_check_mark: | N/A | +| `embedding` | [com.airbyte.api.models.shared.DestinationPineconeEmbedding](../../models/shared/DestinationPineconeEmbedding.md) | :heavy_check_mark: | Embedding configuration | +| `indexing` | [com.airbyte.api.models.shared.DestinationPineconeIndexing](../../models/shared/DestinationPineconeIndexing.md) | :heavy_check_mark: | Pinecone is a popular vector store that can be used to store and retrieve embeddings. | +| `omitRawText` | *Optional* | :heavy_minus_sign: | Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. | +| `processing` | [com.airbyte.api.models.shared.DestinationPineconeProcessingConfigModel](../../models/shared/DestinationPineconeProcessingConfigModel.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeAzureOpenAI.md b/docs/models/shared/DestinationPineconeAzureOpenAI.md new file mode 100644 index 000000000..7b2f1569f --- /dev/null +++ b/docs/models/shared/DestinationPineconeAzureOpenAI.md @@ -0,0 +1,13 @@ +# DestinationPineconeAzureOpenAI + +Use the Azure-hosted OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiBase` | *String* | :heavy_check_mark: | The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource | https://your-resource-name.openai.azure.com | +| `deployment` | *String* | :heavy_check_mark: | The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource | your-resource-name | +| `mode` | [Optional](../../models/shared/DestinationPineconeSchemasEmbeddingEmbeddingMode.md) | :heavy_minus_sign: | N/A | | +| `openaiKey` | *String* | :heavy_check_mark: | The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource | | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeByMarkdownHeader.md b/docs/models/shared/DestinationPineconeByMarkdownHeader.md new file mode 100644 index 000000000..ec99c96e8 --- /dev/null +++ b/docs/models/shared/DestinationPineconeByMarkdownHeader.md @@ -0,0 +1,11 @@ +# DestinationPineconeByMarkdownHeader + +Split the text by Markdown headers down to the specified header level. If the chunk size fits multiple sections, they will be combined into a single chunk. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationPineconeSchemasProcessingTextSplitterMode.md) | :heavy_minus_sign: | N/A | +| `splitLevel` | *Optional* | :heavy_minus_sign: | Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeByProgrammingLanguage.md b/docs/models/shared/DestinationPineconeByProgrammingLanguage.md new file mode 100644 index 000000000..0a9a37829 --- /dev/null +++ b/docs/models/shared/DestinationPineconeByProgrammingLanguage.md @@ -0,0 +1,11 @@ +# DestinationPineconeByProgrammingLanguage + +Split the text by suitable delimiters based on the programming language. This is useful for splitting code into chunks. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `language` | [com.airbyte.api.models.shared.DestinationPineconeLanguage](../../models/shared/DestinationPineconeLanguage.md) | :heavy_check_mark: | Split code in suitable places based on the programming language | +| `mode` | [Optional](../../models/shared/DestinationPineconeSchemasProcessingTextSplitterTextSplitterMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeBySeparator.md b/docs/models/shared/DestinationPineconeBySeparator.md new file mode 100644 index 000000000..d99431647 --- /dev/null +++ b/docs/models/shared/DestinationPineconeBySeparator.md @@ -0,0 +1,12 @@ +# DestinationPineconeBySeparator + +Split the text by the list of separators until the chunk size is reached, using the earlier mentioned separators where possible. This is useful for splitting text fields by paragraphs, sentences, words, etc. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `keepSeparator` | *Optional* | :heavy_minus_sign: | Whether to keep the separator in the resulting chunks | +| `mode` | [Optional](../../models/shared/DestinationPineconeSchemasProcessingMode.md) | :heavy_minus_sign: | N/A | +| `separators` | List<*String*> | :heavy_minus_sign: | List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeCohere.md b/docs/models/shared/DestinationPineconeCohere.md new file mode 100644 index 000000000..d62e8c2d6 --- /dev/null +++ b/docs/models/shared/DestinationPineconeCohere.md @@ -0,0 +1,11 @@ +# DestinationPineconeCohere + +Use the Cohere API to embed text. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `cohereKey` | *String* | :heavy_check_mark: | N/A | +| `mode` | [Optional](../../models/shared/DestinationPineconeSchemasMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeEmbedding.md b/docs/models/shared/DestinationPineconeEmbedding.md new file mode 100644 index 000000000..65a3f0f08 --- /dev/null +++ b/docs/models/shared/DestinationPineconeEmbedding.md @@ -0,0 +1,4 @@ +# DestinationPineconeEmbedding + +Embedding configuration + diff --git a/docs/models/shared/DestinationPineconeFake.md b/docs/models/shared/DestinationPineconeFake.md new file mode 100644 index 000000000..883917662 --- /dev/null +++ b/docs/models/shared/DestinationPineconeFake.md @@ -0,0 +1,10 @@ +# DestinationPineconeFake + +Use a fake embedding made out of random vectors with 1536 embedding dimensions. This is useful for testing the data pipeline without incurring any costs. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationPineconeSchemasEmbeddingMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeFieldNameMappingConfigModel.md b/docs/models/shared/DestinationPineconeFieldNameMappingConfigModel.md new file mode 100644 index 000000000..47e5bf079 --- /dev/null +++ b/docs/models/shared/DestinationPineconeFieldNameMappingConfigModel.md @@ -0,0 +1,9 @@ +# DestinationPineconeFieldNameMappingConfigModel + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `fromField` | *String* | :heavy_check_mark: | The field name in the source | +| `toField` | *String* | :heavy_check_mark: | The field name to use in the destination | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeIndexing.md b/docs/models/shared/DestinationPineconeIndexing.md new file mode 100644 index 000000000..6e9874238 --- /dev/null +++ b/docs/models/shared/DestinationPineconeIndexing.md @@ -0,0 +1,12 @@ +# DestinationPineconeIndexing + +Pinecone is a popular vector store that can be used to store and retrieve embeddings. + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `index` | *String* | :heavy_check_mark: | Pinecone index in your project to load data into | | +| `pineconeEnvironment` | *String* | :heavy_check_mark: | Pinecone Cloud environment to use | us-west1-gcp | +| `pineconeKey` | *String* | :heavy_check_mark: | The Pinecone API key to use matching the environment (copy from Pinecone console) | | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeLanguage.md b/docs/models/shared/DestinationPineconeLanguage.md new file mode 100644 index 000000000..051bc24c4 --- /dev/null +++ b/docs/models/shared/DestinationPineconeLanguage.md @@ -0,0 +1,25 @@ +# DestinationPineconeLanguage + +Split code in suitable places based on the programming language + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `CPP` | cpp | +| `GO` | go | +| `JAVA` | java | +| `JS` | js | +| `PHP` | php | +| `PROTO` | proto | +| `PYTHON` | python | +| `RST` | rst | +| `RUBY` | ruby | +| `RUST` | rust | +| `SCALA` | scala | +| `SWIFT` | swift | +| `MARKDOWN` | markdown | +| `LATEX` | latex | +| `HTML` | html | +| `SOL` | sol | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeMode.md b/docs/models/shared/DestinationPineconeMode.md new file mode 100644 index 000000000..0637ec29c --- /dev/null +++ b/docs/models/shared/DestinationPineconeMode.md @@ -0,0 +1,8 @@ +# DestinationPineconeMode + + +## Values + +| Name | Value | +| -------- | -------- | +| `OPENAI` | openai | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeOpenAI.md b/docs/models/shared/DestinationPineconeOpenAI.md new file mode 100644 index 000000000..17635cd0a --- /dev/null +++ b/docs/models/shared/DestinationPineconeOpenAI.md @@ -0,0 +1,11 @@ +# DestinationPineconeOpenAI + +Use the OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationPineconeMode.md) | :heavy_minus_sign: | N/A | +| `openaiKey` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeOpenAICompatible.md b/docs/models/shared/DestinationPineconeOpenAICompatible.md new file mode 100644 index 000000000..527d756db --- /dev/null +++ b/docs/models/shared/DestinationPineconeOpenAICompatible.md @@ -0,0 +1,14 @@ +# DestinationPineconeOpenAICompatible + +Use a service that's compatible with the OpenAI API to embed text. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *Optional* | :heavy_minus_sign: | N/A | | +| `baseUrl` | *String* | :heavy_check_mark: | The base URL for your OpenAI-compatible service | https://your-service-name.com | +| `dimensions` | *long* | :heavy_check_mark: | The number of dimensions the embedding model is generating | 1536 | +| `mode` | [Optional](../../models/shared/DestinationPineconeSchemasEmbeddingEmbedding5Mode.md) | :heavy_minus_sign: | N/A | | +| `modelName` | *Optional* | :heavy_minus_sign: | The name of the model to use for embedding | text-embedding-ada-002 | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeProcessingConfigModel.md b/docs/models/shared/DestinationPineconeProcessingConfigModel.md new file mode 100644 index 000000000..2405854d2 --- /dev/null +++ b/docs/models/shared/DestinationPineconeProcessingConfigModel.md @@ -0,0 +1,13 @@ +# DestinationPineconeProcessingConfigModel + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `chunkOverlap` | *Optional* | :heavy_minus_sign: | Size of overlap between chunks in tokens to store in vector store to better capture relevant context | | +| `chunkSize` | *long* | :heavy_check_mark: | Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) | | +| `fieldNameMappings` | List<[com.airbyte.api.models.shared.DestinationPineconeFieldNameMappingConfigModel](../../models/shared/DestinationPineconeFieldNameMappingConfigModel.md)> | :heavy_minus_sign: | List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. | | +| `metadataFields` | List<*String*> | :heavy_minus_sign: | List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. | age | +| `textFields` | List<*String*> | :heavy_minus_sign: | List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. | text | +| `textSplitter` | [Optional](../../models/shared/DestinationPineconeTextSplitter.md) | :heavy_minus_sign: | Split text fields into chunks based on the specified method. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeSchemasEmbeddingEmbedding5Mode.md b/docs/models/shared/DestinationPineconeSchemasEmbeddingEmbedding5Mode.md new file mode 100644 index 000000000..73e71e530 --- /dev/null +++ b/docs/models/shared/DestinationPineconeSchemasEmbeddingEmbedding5Mode.md @@ -0,0 +1,8 @@ +# DestinationPineconeSchemasEmbeddingEmbedding5Mode + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `OPENAI_COMPATIBLE` | openai_compatible | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeSchemasEmbeddingEmbeddingMode.md b/docs/models/shared/DestinationPineconeSchemasEmbeddingEmbeddingMode.md new file mode 100644 index 000000000..9c99b7e64 --- /dev/null +++ b/docs/models/shared/DestinationPineconeSchemasEmbeddingEmbeddingMode.md @@ -0,0 +1,8 @@ +# DestinationPineconeSchemasEmbeddingEmbeddingMode + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `AZURE_OPENAI` | azure_openai | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeSchemasEmbeddingMode.md b/docs/models/shared/DestinationPineconeSchemasEmbeddingMode.md new file mode 100644 index 000000000..93d30bd61 --- /dev/null +++ b/docs/models/shared/DestinationPineconeSchemasEmbeddingMode.md @@ -0,0 +1,8 @@ +# DestinationPineconeSchemasEmbeddingMode + + +## Values + +| Name | Value | +| ------ | ------ | +| `FAKE` | fake | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeSchemasMode.md b/docs/models/shared/DestinationPineconeSchemasMode.md new file mode 100644 index 000000000..0320baad8 --- /dev/null +++ b/docs/models/shared/DestinationPineconeSchemasMode.md @@ -0,0 +1,8 @@ +# DestinationPineconeSchemasMode + + +## Values + +| Name | Value | +| -------- | -------- | +| `COHERE` | cohere | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeSchemasProcessingMode.md b/docs/models/shared/DestinationPineconeSchemasProcessingMode.md new file mode 100644 index 000000000..24c2cea03 --- /dev/null +++ b/docs/models/shared/DestinationPineconeSchemasProcessingMode.md @@ -0,0 +1,8 @@ +# DestinationPineconeSchemasProcessingMode + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `SEPARATOR` | separator | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeSchemasProcessingTextSplitterMode.md b/docs/models/shared/DestinationPineconeSchemasProcessingTextSplitterMode.md new file mode 100644 index 000000000..233d67d81 --- /dev/null +++ b/docs/models/shared/DestinationPineconeSchemasProcessingTextSplitterMode.md @@ -0,0 +1,8 @@ +# DestinationPineconeSchemasProcessingTextSplitterMode + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `MARKDOWN` | markdown | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeSchemasProcessingTextSplitterTextSplitterMode.md b/docs/models/shared/DestinationPineconeSchemasProcessingTextSplitterTextSplitterMode.md new file mode 100644 index 000000000..5b09bd3ea --- /dev/null +++ b/docs/models/shared/DestinationPineconeSchemasProcessingTextSplitterTextSplitterMode.md @@ -0,0 +1,8 @@ +# DestinationPineconeSchemasProcessingTextSplitterTextSplitterMode + + +## Values + +| Name | Value | +| ------ | ------ | +| `CODE` | code | \ No newline at end of file diff --git a/docs/models/shared/DestinationPineconeTextSplitter.md b/docs/models/shared/DestinationPineconeTextSplitter.md new file mode 100644 index 000000000..9705fa033 --- /dev/null +++ b/docs/models/shared/DestinationPineconeTextSplitter.md @@ -0,0 +1,4 @@ +# DestinationPineconeTextSplitter + +Split text fields into chunks based on the specified method. + diff --git a/docs/models/shared/DestinationPostgres.md b/docs/models/shared/DestinationPostgres.md new file mode 100644 index 000000000..210cb6540 --- /dev/null +++ b/docs/models/shared/DestinationPostgres.md @@ -0,0 +1,19 @@ +# DestinationPostgres + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `database` | *String* | :heavy_check_mark: | Name of the database. | | +| `destinationType` | [com.airbyte.api.models.shared.Postgres](../../models/shared/Postgres.md) | :heavy_check_mark: | N/A | | +| `disableTypeDedupe` | *Optional* | :heavy_minus_sign: | Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions | | +| `host` | *String* | :heavy_check_mark: | Hostname of the database. | | +| `jdbcUrlParams` | *Optional* | :heavy_minus_sign: | Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). | | +| `password` | *Optional* | :heavy_minus_sign: | Password associated with the username. | | +| `port` | *Optional* | :heavy_minus_sign: | Port of the database. | 5432 | +| `rawDataSchema` | *Optional* | :heavy_minus_sign: | The schema to write raw tables into | | +| `schema` | *Optional* | :heavy_minus_sign: | The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". | public | +| `sslMode` | [Optional](../../models/shared/SSLModes.md) | :heavy_minus_sign: | SSL connection modes.
disable - Chose this mode to disable encryption of communication between Airbyte and destination database
allow - Chose this mode to enable encryption only when required by the source database
prefer - Chose this mode to allow unencrypted connection only if the source database does not support encryption
require - Chose this mode to always require encryption. If the source database server does not support encryption, connection will fail
verify-ca - Chose this mode to always require encryption and to verify that the source database server has a valid SSL certificate
verify-full - This is the most secure mode. Chose this mode to always require encryption and to verify the identity of the source database server
See more information - in the docs. | | +| `tunnelMethod` | [Optional](../../models/shared/DestinationPostgresSSHTunnelMethod.md) | :heavy_minus_sign: | Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. | | +| `username` | *String* | :heavy_check_mark: | Username to use to access the database. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationPostgresMode.md b/docs/models/shared/DestinationPostgresMode.md new file mode 100644 index 000000000..06ba06b1a --- /dev/null +++ b/docs/models/shared/DestinationPostgresMode.md @@ -0,0 +1,8 @@ +# DestinationPostgresMode + + +## Values + +| Name | Value | +| ------- | ------- | +| `ALLOW` | allow | \ No newline at end of file diff --git a/docs/models/shared/DestinationPostgresNoTunnel.md b/docs/models/shared/DestinationPostgresNoTunnel.md new file mode 100644 index 000000000..c04d1f5e4 --- /dev/null +++ b/docs/models/shared/DestinationPostgresNoTunnel.md @@ -0,0 +1,8 @@ +# DestinationPostgresNoTunnel + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationPostgresTunnelMethod](../../models/shared/DestinationPostgresTunnelMethod.md) | :heavy_check_mark: | No ssh tunnel needed to connect to database | \ No newline at end of file diff --git a/docs/models/shared/DestinationPostgresPasswordAuthentication.md b/docs/models/shared/DestinationPostgresPasswordAuthentication.md new file mode 100644 index 000000000..846a7765c --- /dev/null +++ b/docs/models/shared/DestinationPostgresPasswordAuthentication.md @@ -0,0 +1,12 @@ +# DestinationPostgresPasswordAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationPostgresSchemasTunnelMethodTunnelMethod](../../models/shared/DestinationPostgresSchemasTunnelMethodTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and password authentication | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host | | +| `tunnelUserPassword` | *String* | :heavy_check_mark: | OS-level password for logging into the jump server host | | \ No newline at end of file diff --git a/docs/models/shared/DestinationPostgresSSHKeyAuthentication.md b/docs/models/shared/DestinationPostgresSSHKeyAuthentication.md new file mode 100644 index 000000000..4061036d7 --- /dev/null +++ b/docs/models/shared/DestinationPostgresSSHKeyAuthentication.md @@ -0,0 +1,12 @@ +# DestinationPostgresSSHKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| `sshKey` | *String* | :heavy_check_mark: | OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) | | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationPostgresSchemasTunnelMethod](../../models/shared/DestinationPostgresSchemasTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and ssh key | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationPostgresSSHTunnelMethod.md b/docs/models/shared/DestinationPostgresSSHTunnelMethod.md new file mode 100644 index 000000000..4e741bab9 --- /dev/null +++ b/docs/models/shared/DestinationPostgresSSHTunnelMethod.md @@ -0,0 +1,4 @@ +# DestinationPostgresSSHTunnelMethod + +Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + diff --git a/docs/models/shared/DestinationPostgresSchemasMode.md b/docs/models/shared/DestinationPostgresSchemasMode.md new file mode 100644 index 000000000..53244bed5 --- /dev/null +++ b/docs/models/shared/DestinationPostgresSchemasMode.md @@ -0,0 +1,8 @@ +# DestinationPostgresSchemasMode + + +## Values + +| Name | Value | +| -------- | -------- | +| `PREFER` | prefer | \ No newline at end of file diff --git a/docs/models/shared/DestinationPostgresSchemasSSLModeSSLModes6Mode.md b/docs/models/shared/DestinationPostgresSchemasSSLModeSSLModes6Mode.md new file mode 100644 index 000000000..67fcaacf6 --- /dev/null +++ b/docs/models/shared/DestinationPostgresSchemasSSLModeSSLModes6Mode.md @@ -0,0 +1,8 @@ +# DestinationPostgresSchemasSSLModeSSLModes6Mode + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `VERIFY_FULL` | verify-full | \ No newline at end of file diff --git a/docs/models/shared/DestinationPostgresSchemasSSLModeSSLModesMode.md b/docs/models/shared/DestinationPostgresSchemasSSLModeSSLModesMode.md new file mode 100644 index 000000000..909652250 --- /dev/null +++ b/docs/models/shared/DestinationPostgresSchemasSSLModeSSLModesMode.md @@ -0,0 +1,8 @@ +# DestinationPostgresSchemasSSLModeSSLModesMode + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `VERIFY_CA` | verify-ca | \ No newline at end of file diff --git a/docs/models/shared/DestinationPostgresSchemasSslModeMode.md b/docs/models/shared/DestinationPostgresSchemasSslModeMode.md new file mode 100644 index 000000000..8b1d66e64 --- /dev/null +++ b/docs/models/shared/DestinationPostgresSchemasSslModeMode.md @@ -0,0 +1,8 @@ +# DestinationPostgresSchemasSslModeMode + + +## Values + +| Name | Value | +| --------- | --------- | +| `REQUIRE` | require | \ No newline at end of file diff --git a/docs/models/shared/DestinationPostgresSchemasTunnelMethod.md b/docs/models/shared/DestinationPostgresSchemasTunnelMethod.md new file mode 100644 index 000000000..e52c0cf62 --- /dev/null +++ b/docs/models/shared/DestinationPostgresSchemasTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationPostgresSchemasTunnelMethod + +Connect through a jump server tunnel host using username and ssh key + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `SSH_KEY_AUTH` | SSH_KEY_AUTH | \ No newline at end of file diff --git a/docs/models/shared/DestinationPostgresSchemasTunnelMethodTunnelMethod.md b/docs/models/shared/DestinationPostgresSchemasTunnelMethodTunnelMethod.md new file mode 100644 index 000000000..b463041c3 --- /dev/null +++ b/docs/models/shared/DestinationPostgresSchemasTunnelMethodTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationPostgresSchemasTunnelMethodTunnelMethod + +Connect through a jump server tunnel host using username and password authentication + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `SSH_PASSWORD_AUTH` | SSH_PASSWORD_AUTH | \ No newline at end of file diff --git a/docs/models/shared/DestinationPostgresTunnelMethod.md b/docs/models/shared/DestinationPostgresTunnelMethod.md new file mode 100644 index 000000000..e60d32b9c --- /dev/null +++ b/docs/models/shared/DestinationPostgresTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationPostgresTunnelMethod + +No ssh tunnel needed to connect to database + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `NO_TUNNEL` | NO_TUNNEL | \ No newline at end of file diff --git a/docs/models/shared/DestinationPubsub.md b/docs/models/shared/DestinationPubsub.md new file mode 100644 index 000000000..ffbf9c0c4 --- /dev/null +++ b/docs/models/shared/DestinationPubsub.md @@ -0,0 +1,16 @@ +# DestinationPubsub + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `batchingDelayThreshold` | *Optional* | :heavy_minus_sign: | Number of ms before the buffer is flushed | +| `batchingElementCountThreshold` | *Optional* | :heavy_minus_sign: | Number of messages before the buffer is flushed | +| `batchingEnabled` | *Optional* | :heavy_minus_sign: | If TRUE messages will be buffered instead of sending them one by one | +| `batchingRequestBytesThreshold` | *Optional* | :heavy_minus_sign: | Number of bytes before the buffer is flushed | +| `credentialsJson` | *String* | :heavy_check_mark: | The contents of the JSON service account key. Check out the docs if you need help generating this key. | +| `destinationType` | [com.airbyte.api.models.shared.Pubsub](../../models/shared/Pubsub.md) | :heavy_check_mark: | N/A | +| `orderingEnabled` | *Optional* | :heavy_minus_sign: | If TRUE PubSub publisher will have message ordering enabled. Every message will have an ordering key of stream | +| `projectId` | *String* | :heavy_check_mark: | The GCP project ID for the project containing the target PubSub. | +| `topicId` | *String* | :heavy_check_mark: | The PubSub topic ID in the given GCP project ID. | \ No newline at end of file diff --git a/docs/models/shared/DestinationPutRequest.md b/docs/models/shared/DestinationPutRequest.md index d0cdac851..92e93984c 100644 --- a/docs/models/shared/DestinationPutRequest.md +++ b/docs/models/shared/DestinationPutRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | -| `configuration` | *java.lang.Object* | :heavy_check_mark: | The values required to configure the destination. | {
"user": "charles"
} | -| `name` | *String* | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `configuration` | [com.airbyte.api.models.shared.DestinationConfiguration](../../models/shared/DestinationConfiguration.md) | :heavy_check_mark: | The values required to configure the destination. | {
"user": "charles"
} | +| `name` | *String* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrant.md b/docs/models/shared/DestinationQdrant.md new file mode 100644 index 000000000..da537b43a --- /dev/null +++ b/docs/models/shared/DestinationQdrant.md @@ -0,0 +1,23 @@ +# DestinationQdrant + +The configuration model for the Vector DB based destinations. This model is used to generate the UI for the destination configuration, +as well as to provide type safety for the configuration passed to the destination. + +The configuration model is composed of four parts: +* Processing configuration +* Embedding configuration +* Indexing configuration +* Advanced configuration + +Processing, embedding and advanced configuration are provided by this base class, while the indexing configuration is provided by the destination connector in the sub class. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `destinationType` | [com.airbyte.api.models.shared.Qdrant](../../models/shared/Qdrant.md) | :heavy_check_mark: | N/A | +| `embedding` | [com.airbyte.api.models.shared.DestinationQdrantEmbedding](../../models/shared/DestinationQdrantEmbedding.md) | :heavy_check_mark: | Embedding configuration | +| `indexing` | [com.airbyte.api.models.shared.DestinationQdrantIndexing](../../models/shared/DestinationQdrantIndexing.md) | :heavy_check_mark: | Indexing configuration | +| `omitRawText` | *Optional* | :heavy_minus_sign: | Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. | +| `processing` | [com.airbyte.api.models.shared.DestinationQdrantProcessingConfigModel](../../models/shared/DestinationQdrantProcessingConfigModel.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantAuthenticationMethod.md b/docs/models/shared/DestinationQdrantAuthenticationMethod.md new file mode 100644 index 000000000..2ffc983e0 --- /dev/null +++ b/docs/models/shared/DestinationQdrantAuthenticationMethod.md @@ -0,0 +1,4 @@ +# DestinationQdrantAuthenticationMethod + +Method to authenticate with the Qdrant Instance + diff --git a/docs/models/shared/DestinationQdrantAzureOpenAI.md b/docs/models/shared/DestinationQdrantAzureOpenAI.md new file mode 100644 index 000000000..cfe08f5b4 --- /dev/null +++ b/docs/models/shared/DestinationQdrantAzureOpenAI.md @@ -0,0 +1,13 @@ +# DestinationQdrantAzureOpenAI + +Use the Azure-hosted OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiBase` | *String* | :heavy_check_mark: | The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource | https://your-resource-name.openai.azure.com | +| `deployment` | *String* | :heavy_check_mark: | The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource | your-resource-name | +| `mode` | [Optional](../../models/shared/DestinationQdrantSchemasEmbeddingEmbeddingMode.md) | :heavy_minus_sign: | N/A | | +| `openaiKey` | *String* | :heavy_check_mark: | The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource | | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantByMarkdownHeader.md b/docs/models/shared/DestinationQdrantByMarkdownHeader.md new file mode 100644 index 000000000..1fdaa9143 --- /dev/null +++ b/docs/models/shared/DestinationQdrantByMarkdownHeader.md @@ -0,0 +1,11 @@ +# DestinationQdrantByMarkdownHeader + +Split the text by Markdown headers down to the specified header level. If the chunk size fits multiple sections, they will be combined into a single chunk. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationQdrantSchemasProcessingTextSplitterMode.md) | :heavy_minus_sign: | N/A | +| `splitLevel` | *Optional* | :heavy_minus_sign: | Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantByProgrammingLanguage.md b/docs/models/shared/DestinationQdrantByProgrammingLanguage.md new file mode 100644 index 000000000..9aa3db59d --- /dev/null +++ b/docs/models/shared/DestinationQdrantByProgrammingLanguage.md @@ -0,0 +1,11 @@ +# DestinationQdrantByProgrammingLanguage + +Split the text by suitable delimiters based on the programming language. This is useful for splitting code into chunks. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `language` | [com.airbyte.api.models.shared.DestinationQdrantLanguage](../../models/shared/DestinationQdrantLanguage.md) | :heavy_check_mark: | Split code in suitable places based on the programming language | +| `mode` | [Optional](../../models/shared/DestinationQdrantSchemasProcessingTextSplitterTextSplitterMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantBySeparator.md b/docs/models/shared/DestinationQdrantBySeparator.md new file mode 100644 index 000000000..6d6adc438 --- /dev/null +++ b/docs/models/shared/DestinationQdrantBySeparator.md @@ -0,0 +1,12 @@ +# DestinationQdrantBySeparator + +Split the text by the list of separators until the chunk size is reached, using the earlier mentioned separators where possible. This is useful for splitting text fields by paragraphs, sentences, words, etc. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `keepSeparator` | *Optional* | :heavy_minus_sign: | Whether to keep the separator in the resulting chunks | +| `mode` | [Optional](../../models/shared/DestinationQdrantSchemasProcessingMode.md) | :heavy_minus_sign: | N/A | +| `separators` | List<*String*> | :heavy_minus_sign: | List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantCohere.md b/docs/models/shared/DestinationQdrantCohere.md new file mode 100644 index 000000000..d68fac8a5 --- /dev/null +++ b/docs/models/shared/DestinationQdrantCohere.md @@ -0,0 +1,11 @@ +# DestinationQdrantCohere + +Use the Cohere API to embed text. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| `cohereKey` | *String* | :heavy_check_mark: | N/A | +| `mode` | [Optional](../../models/shared/DestinationQdrantSchemasMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantEmbedding.md b/docs/models/shared/DestinationQdrantEmbedding.md new file mode 100644 index 000000000..b37a38ac9 --- /dev/null +++ b/docs/models/shared/DestinationQdrantEmbedding.md @@ -0,0 +1,4 @@ +# DestinationQdrantEmbedding + +Embedding configuration + diff --git a/docs/models/shared/DestinationQdrantFake.md b/docs/models/shared/DestinationQdrantFake.md new file mode 100644 index 000000000..5fd711442 --- /dev/null +++ b/docs/models/shared/DestinationQdrantFake.md @@ -0,0 +1,10 @@ +# DestinationQdrantFake + +Use a fake embedding made out of random vectors with 1536 embedding dimensions. This is useful for testing the data pipeline without incurring any costs. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationQdrantSchemasEmbeddingMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantFieldNameMappingConfigModel.md b/docs/models/shared/DestinationQdrantFieldNameMappingConfigModel.md new file mode 100644 index 000000000..090215274 --- /dev/null +++ b/docs/models/shared/DestinationQdrantFieldNameMappingConfigModel.md @@ -0,0 +1,9 @@ +# DestinationQdrantFieldNameMappingConfigModel + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `fromField` | *String* | :heavy_check_mark: | The field name in the source | +| `toField` | *String* | :heavy_check_mark: | The field name to use in the destination | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantIndexing.md b/docs/models/shared/DestinationQdrantIndexing.md new file mode 100644 index 000000000..214b030be --- /dev/null +++ b/docs/models/shared/DestinationQdrantIndexing.md @@ -0,0 +1,15 @@ +# DestinationQdrantIndexing + +Indexing configuration + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `authMethod` | [Optional](../../models/shared/DestinationQdrantAuthenticationMethod.md) | :heavy_minus_sign: | Method to authenticate with the Qdrant Instance | +| `collection` | *String* | :heavy_check_mark: | The collection to load data into | +| `distanceMetric` | [Optional](../../models/shared/DistanceMetric.md) | :heavy_minus_sign: | The Distance metric used to measure similarities among vectors. This field is only used if the collection defined in the does not exist yet and is created automatically by the connector. | +| `preferGrpc` | *Optional* | :heavy_minus_sign: | Whether to prefer gRPC over HTTP. Set to true for Qdrant cloud clusters | +| `textField` | *Optional* | :heavy_minus_sign: | The field in the payload that contains the embedded text | +| `url` | *String* | :heavy_check_mark: | Public Endpoint of the Qdrant cluser | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantLanguage.md b/docs/models/shared/DestinationQdrantLanguage.md new file mode 100644 index 000000000..54c14c186 --- /dev/null +++ b/docs/models/shared/DestinationQdrantLanguage.md @@ -0,0 +1,25 @@ +# DestinationQdrantLanguage + +Split code in suitable places based on the programming language + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `CPP` | cpp | +| `GO` | go | +| `JAVA` | java | +| `JS` | js | +| `PHP` | php | +| `PROTO` | proto | +| `PYTHON` | python | +| `RST` | rst | +| `RUBY` | ruby | +| `RUST` | rust | +| `SCALA` | scala | +| `SWIFT` | swift | +| `MARKDOWN` | markdown | +| `LATEX` | latex | +| `HTML` | html | +| `SOL` | sol | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantMode.md b/docs/models/shared/DestinationQdrantMode.md new file mode 100644 index 000000000..ba3d0f126 --- /dev/null +++ b/docs/models/shared/DestinationQdrantMode.md @@ -0,0 +1,8 @@ +# DestinationQdrantMode + + +## Values + +| Name | Value | +| -------- | -------- | +| `OPENAI` | openai | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantNoAuth.md b/docs/models/shared/DestinationQdrantNoAuth.md new file mode 100644 index 000000000..c2a15364b --- /dev/null +++ b/docs/models/shared/DestinationQdrantNoAuth.md @@ -0,0 +1,8 @@ +# DestinationQdrantNoAuth + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationQdrantSchemasIndexingAuthMethodMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantOpenAI.md b/docs/models/shared/DestinationQdrantOpenAI.md new file mode 100644 index 000000000..73d2a769d --- /dev/null +++ b/docs/models/shared/DestinationQdrantOpenAI.md @@ -0,0 +1,11 @@ +# DestinationQdrantOpenAI + +Use the OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationQdrantMode.md) | :heavy_minus_sign: | N/A | +| `openaiKey` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantOpenAICompatible.md b/docs/models/shared/DestinationQdrantOpenAICompatible.md new file mode 100644 index 000000000..41bdde94d --- /dev/null +++ b/docs/models/shared/DestinationQdrantOpenAICompatible.md @@ -0,0 +1,14 @@ +# DestinationQdrantOpenAICompatible + +Use a service that's compatible with the OpenAI API to embed text. + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *Optional* | :heavy_minus_sign: | N/A | | +| `baseUrl` | *String* | :heavy_check_mark: | The base URL for your OpenAI-compatible service | https://your-service-name.com | +| `dimensions` | *long* | :heavy_check_mark: | The number of dimensions the embedding model is generating | 1536 | +| `mode` | [Optional](../../models/shared/DestinationQdrantSchemasEmbeddingEmbedding5Mode.md) | :heavy_minus_sign: | N/A | | +| `modelName` | *Optional* | :heavy_minus_sign: | The name of the model to use for embedding | text-embedding-ada-002 | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantProcessingConfigModel.md b/docs/models/shared/DestinationQdrantProcessingConfigModel.md new file mode 100644 index 000000000..dadd8365b --- /dev/null +++ b/docs/models/shared/DestinationQdrantProcessingConfigModel.md @@ -0,0 +1,13 @@ +# DestinationQdrantProcessingConfigModel + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `chunkOverlap` | *Optional* | :heavy_minus_sign: | Size of overlap between chunks in tokens to store in vector store to better capture relevant context | | +| `chunkSize` | *long* | :heavy_check_mark: | Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) | | +| `fieldNameMappings` | List<[com.airbyte.api.models.shared.DestinationQdrantFieldNameMappingConfigModel](../../models/shared/DestinationQdrantFieldNameMappingConfigModel.md)> | :heavy_minus_sign: | List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. | | +| `metadataFields` | List<*String*> | :heavy_minus_sign: | List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. | age | +| `textFields` | List<*String*> | :heavy_minus_sign: | List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. | text | +| `textSplitter` | [Optional](../../models/shared/DestinationQdrantTextSplitter.md) | :heavy_minus_sign: | Split text fields into chunks based on the specified method. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantSchemasEmbeddingEmbedding5Mode.md b/docs/models/shared/DestinationQdrantSchemasEmbeddingEmbedding5Mode.md new file mode 100644 index 000000000..4a46f5c76 --- /dev/null +++ b/docs/models/shared/DestinationQdrantSchemasEmbeddingEmbedding5Mode.md @@ -0,0 +1,8 @@ +# DestinationQdrantSchemasEmbeddingEmbedding5Mode + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `OPENAI_COMPATIBLE` | openai_compatible | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantSchemasEmbeddingEmbeddingMode.md b/docs/models/shared/DestinationQdrantSchemasEmbeddingEmbeddingMode.md new file mode 100644 index 000000000..3848e5b5d --- /dev/null +++ b/docs/models/shared/DestinationQdrantSchemasEmbeddingEmbeddingMode.md @@ -0,0 +1,8 @@ +# DestinationQdrantSchemasEmbeddingEmbeddingMode + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `AZURE_OPENAI` | azure_openai | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantSchemasEmbeddingMode.md b/docs/models/shared/DestinationQdrantSchemasEmbeddingMode.md new file mode 100644 index 000000000..fa6fc361d --- /dev/null +++ b/docs/models/shared/DestinationQdrantSchemasEmbeddingMode.md @@ -0,0 +1,8 @@ +# DestinationQdrantSchemasEmbeddingMode + + +## Values + +| Name | Value | +| ------ | ------ | +| `FAKE` | fake | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantSchemasIndexingAuthMethodMode.md b/docs/models/shared/DestinationQdrantSchemasIndexingAuthMethodMode.md new file mode 100644 index 000000000..c42b3d00f --- /dev/null +++ b/docs/models/shared/DestinationQdrantSchemasIndexingAuthMethodMode.md @@ -0,0 +1,8 @@ +# DestinationQdrantSchemasIndexingAuthMethodMode + + +## Values + +| Name | Value | +| --------- | --------- | +| `NO_AUTH` | no_auth | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantSchemasIndexingMode.md b/docs/models/shared/DestinationQdrantSchemasIndexingMode.md new file mode 100644 index 000000000..21bfab041 --- /dev/null +++ b/docs/models/shared/DestinationQdrantSchemasIndexingMode.md @@ -0,0 +1,8 @@ +# DestinationQdrantSchemasIndexingMode + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `API_KEY_AUTH` | api_key_auth | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantSchemasMode.md b/docs/models/shared/DestinationQdrantSchemasMode.md new file mode 100644 index 000000000..260cbc1ab --- /dev/null +++ b/docs/models/shared/DestinationQdrantSchemasMode.md @@ -0,0 +1,8 @@ +# DestinationQdrantSchemasMode + + +## Values + +| Name | Value | +| -------- | -------- | +| `COHERE` | cohere | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantSchemasProcessingMode.md b/docs/models/shared/DestinationQdrantSchemasProcessingMode.md new file mode 100644 index 000000000..9da85fc9b --- /dev/null +++ b/docs/models/shared/DestinationQdrantSchemasProcessingMode.md @@ -0,0 +1,8 @@ +# DestinationQdrantSchemasProcessingMode + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `SEPARATOR` | separator | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantSchemasProcessingTextSplitterMode.md b/docs/models/shared/DestinationQdrantSchemasProcessingTextSplitterMode.md new file mode 100644 index 000000000..ad3f286d0 --- /dev/null +++ b/docs/models/shared/DestinationQdrantSchemasProcessingTextSplitterMode.md @@ -0,0 +1,8 @@ +# DestinationQdrantSchemasProcessingTextSplitterMode + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `MARKDOWN` | markdown | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantSchemasProcessingTextSplitterTextSplitterMode.md b/docs/models/shared/DestinationQdrantSchemasProcessingTextSplitterTextSplitterMode.md new file mode 100644 index 000000000..a30d0e69c --- /dev/null +++ b/docs/models/shared/DestinationQdrantSchemasProcessingTextSplitterTextSplitterMode.md @@ -0,0 +1,8 @@ +# DestinationQdrantSchemasProcessingTextSplitterTextSplitterMode + + +## Values + +| Name | Value | +| ------ | ------ | +| `CODE` | code | \ No newline at end of file diff --git a/docs/models/shared/DestinationQdrantTextSplitter.md b/docs/models/shared/DestinationQdrantTextSplitter.md new file mode 100644 index 000000000..610f1900b --- /dev/null +++ b/docs/models/shared/DestinationQdrantTextSplitter.md @@ -0,0 +1,4 @@ +# DestinationQdrantTextSplitter + +Split text fields into chunks based on the specified method. + diff --git a/docs/models/shared/DestinationRedis.md b/docs/models/shared/DestinationRedis.md new file mode 100644 index 000000000..6db48890c --- /dev/null +++ b/docs/models/shared/DestinationRedis.md @@ -0,0 +1,16 @@ +# DestinationRedis + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `cacheType` | [Optional](../../models/shared/CacheType.md) | :heavy_minus_sign: | Redis cache type to store data in. | | +| `destinationType` | [com.airbyte.api.models.shared.Redis](../../models/shared/Redis.md) | :heavy_check_mark: | N/A | | +| `host` | *String* | :heavy_check_mark: | Redis host to connect to. | localhost,127.0.0.1 | +| `password` | *Optional* | :heavy_minus_sign: | Password associated with Redis. | | +| `port` | *Optional* | :heavy_minus_sign: | Port of Redis. | | +| `ssl` | *Optional* | :heavy_minus_sign: | Indicates whether SSL encryption protocol will be used to connect to Redis. It is recommended to use SSL connection if possible. | | +| `sslMode` | [Optional](../../models/shared/DestinationRedisSSLModes.md) | :heavy_minus_sign: | SSL connection modes.
  • verify-full - This is the most secure mode. Always require encryption and verifies the identity of the source database server | | +| `tunnelMethod` | [Optional](../../models/shared/DestinationRedisSSHTunnelMethod.md) | :heavy_minus_sign: | Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. | | +| `username` | *String* | :heavy_check_mark: | Username associated with Redis. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedisDisable.md b/docs/models/shared/DestinationRedisDisable.md new file mode 100644 index 000000000..87db4b861 --- /dev/null +++ b/docs/models/shared/DestinationRedisDisable.md @@ -0,0 +1,10 @@ +# DestinationRedisDisable + +Disable SSL. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationRedisMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedisMode.md b/docs/models/shared/DestinationRedisMode.md new file mode 100644 index 000000000..8c774aebf --- /dev/null +++ b/docs/models/shared/DestinationRedisMode.md @@ -0,0 +1,8 @@ +# DestinationRedisMode + + +## Values + +| Name | Value | +| --------- | --------- | +| `DISABLE` | disable | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedisNoTunnel.md b/docs/models/shared/DestinationRedisNoTunnel.md new file mode 100644 index 000000000..cb3c12c16 --- /dev/null +++ b/docs/models/shared/DestinationRedisNoTunnel.md @@ -0,0 +1,8 @@ +# DestinationRedisNoTunnel + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationRedisTunnelMethod](../../models/shared/DestinationRedisTunnelMethod.md) | :heavy_check_mark: | No ssh tunnel needed to connect to database | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedisPasswordAuthentication.md b/docs/models/shared/DestinationRedisPasswordAuthentication.md new file mode 100644 index 000000000..4e609c255 --- /dev/null +++ b/docs/models/shared/DestinationRedisPasswordAuthentication.md @@ -0,0 +1,12 @@ +# DestinationRedisPasswordAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationRedisSchemasTunnelMethodTunnelMethod](../../models/shared/DestinationRedisSchemasTunnelMethodTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and password authentication | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host | | +| `tunnelUserPassword` | *String* | :heavy_check_mark: | OS-level password for logging into the jump server host | | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedisSSHKeyAuthentication.md b/docs/models/shared/DestinationRedisSSHKeyAuthentication.md new file mode 100644 index 000000000..6b339acc9 --- /dev/null +++ b/docs/models/shared/DestinationRedisSSHKeyAuthentication.md @@ -0,0 +1,12 @@ +# DestinationRedisSSHKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `sshKey` | *String* | :heavy_check_mark: | OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) | | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationRedisSchemasTunnelMethod](../../models/shared/DestinationRedisSchemasTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and ssh key | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedisSSHTunnelMethod.md b/docs/models/shared/DestinationRedisSSHTunnelMethod.md new file mode 100644 index 000000000..fe8184ecb --- /dev/null +++ b/docs/models/shared/DestinationRedisSSHTunnelMethod.md @@ -0,0 +1,4 @@ +# DestinationRedisSSHTunnelMethod + +Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + diff --git a/docs/models/shared/DestinationRedisSSLModes.md b/docs/models/shared/DestinationRedisSSLModes.md new file mode 100644 index 000000000..273b57ab2 --- /dev/null +++ b/docs/models/shared/DestinationRedisSSLModes.md @@ -0,0 +1,5 @@ +# DestinationRedisSSLModes + +SSL connection modes. +
  • verify-full - This is the most secure mode. Always require encryption and verifies the identity of the source database server + diff --git a/docs/models/shared/DestinationRedisSchemasMode.md b/docs/models/shared/DestinationRedisSchemasMode.md new file mode 100644 index 000000000..3f2c0ebce --- /dev/null +++ b/docs/models/shared/DestinationRedisSchemasMode.md @@ -0,0 +1,8 @@ +# DestinationRedisSchemasMode + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `VERIFY_FULL` | verify-full | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedisSchemasTunnelMethod.md b/docs/models/shared/DestinationRedisSchemasTunnelMethod.md new file mode 100644 index 000000000..953c89849 --- /dev/null +++ b/docs/models/shared/DestinationRedisSchemasTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationRedisSchemasTunnelMethod + +Connect through a jump server tunnel host using username and ssh key + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `SSH_KEY_AUTH` | SSH_KEY_AUTH | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedisSchemasTunnelMethodTunnelMethod.md b/docs/models/shared/DestinationRedisSchemasTunnelMethodTunnelMethod.md new file mode 100644 index 000000000..bf2ee076e --- /dev/null +++ b/docs/models/shared/DestinationRedisSchemasTunnelMethodTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationRedisSchemasTunnelMethodTunnelMethod + +Connect through a jump server tunnel host using username and password authentication + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `SSH_PASSWORD_AUTH` | SSH_PASSWORD_AUTH | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedisTunnelMethod.md b/docs/models/shared/DestinationRedisTunnelMethod.md new file mode 100644 index 000000000..3fe661822 --- /dev/null +++ b/docs/models/shared/DestinationRedisTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationRedisTunnelMethod + +No ssh tunnel needed to connect to database + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `NO_TUNNEL` | NO_TUNNEL | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedisVerifyFull.md b/docs/models/shared/DestinationRedisVerifyFull.md new file mode 100644 index 000000000..0e2faa920 --- /dev/null +++ b/docs/models/shared/DestinationRedisVerifyFull.md @@ -0,0 +1,14 @@ +# DestinationRedisVerifyFull + +Verify-full SSL mode. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `caCertificate` | *String* | :heavy_check_mark: | CA certificate | +| `clientCertificate` | *String* | :heavy_check_mark: | Client certificate | +| `clientKey` | *String* | :heavy_check_mark: | Client key | +| `clientKeyPassword` | *Optional* | :heavy_minus_sign: | Password for keystorage. If you do not add it - the password will be generated automatically. | +| `mode` | [Optional](../../models/shared/DestinationRedisSchemasMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedshift.md b/docs/models/shared/DestinationRedshift.md new file mode 100644 index 000000000..221461bf4 --- /dev/null +++ b/docs/models/shared/DestinationRedshift.md @@ -0,0 +1,20 @@ +# DestinationRedshift + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `database` | *String* | :heavy_check_mark: | Name of the database. | | +| `destinationType` | [com.airbyte.api.models.shared.Redshift](../../models/shared/Redshift.md) | :heavy_check_mark: | N/A | | +| `disableTypeDedupe` | *Optional* | :heavy_minus_sign: | Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions | | +| `enableIncrementalFinalTableUpdates` | *Optional* | :heavy_minus_sign: | When enabled your data will load into your final tables incrementally while your data is still being synced. When Disabled (the default), your data loads into your final tables once at the end of a sync. Note that this option only applies if you elect to create Final tables | | +| `host` | *String* | :heavy_check_mark: | Host Endpoint of the Redshift Cluster (must include the cluster-id, region and end with .redshift.amazonaws.com) | | +| `jdbcUrlParams` | *Optional* | :heavy_minus_sign: | Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). | | +| `password` | *String* | :heavy_check_mark: | Password associated with the username. | | +| `port` | *Optional* | :heavy_minus_sign: | Port of the database. | 5439 | +| `rawDataSchema` | *Optional* | :heavy_minus_sign: | The schema to write raw tables into | | +| `schema` | *Optional* | :heavy_minus_sign: | The default schema tables are written to if the source does not specify a namespace. Unless specifically configured, the usual value for this field is "public". | public | +| `tunnelMethod` | [Optional](../../models/shared/DestinationRedshiftSSHTunnelMethod.md) | :heavy_minus_sign: | Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. | | +| `uploadingMethod` | [Optional](../../models/shared/UploadingMethod.md) | :heavy_minus_sign: | The way data will be uploaded to Redshift. | | +| `username` | *String* | :heavy_check_mark: | Username to use to access the database. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedshiftEncryption.md b/docs/models/shared/DestinationRedshiftEncryption.md new file mode 100644 index 000000000..eca933b35 --- /dev/null +++ b/docs/models/shared/DestinationRedshiftEncryption.md @@ -0,0 +1,4 @@ +# DestinationRedshiftEncryption + +How to encrypt the staging data + diff --git a/docs/models/shared/DestinationRedshiftEncryptionType.md b/docs/models/shared/DestinationRedshiftEncryptionType.md new file mode 100644 index 000000000..3f6dc5e93 --- /dev/null +++ b/docs/models/shared/DestinationRedshiftEncryptionType.md @@ -0,0 +1,8 @@ +# DestinationRedshiftEncryptionType + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `AES_CBC_ENVELOPE` | aes_cbc_envelope | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedshiftMethod.md b/docs/models/shared/DestinationRedshiftMethod.md new file mode 100644 index 000000000..86d5ffa30 --- /dev/null +++ b/docs/models/shared/DestinationRedshiftMethod.md @@ -0,0 +1,8 @@ +# DestinationRedshiftMethod + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `S3_STAGING` | S3 Staging | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedshiftNoTunnel.md b/docs/models/shared/DestinationRedshiftNoTunnel.md new file mode 100644 index 000000000..aa5f81bf4 --- /dev/null +++ b/docs/models/shared/DestinationRedshiftNoTunnel.md @@ -0,0 +1,8 @@ +# DestinationRedshiftNoTunnel + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationRedshiftTunnelMethod](../../models/shared/DestinationRedshiftTunnelMethod.md) | :heavy_check_mark: | No ssh tunnel needed to connect to database | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedshiftPasswordAuthentication.md b/docs/models/shared/DestinationRedshiftPasswordAuthentication.md new file mode 100644 index 000000000..28ebb90d1 --- /dev/null +++ b/docs/models/shared/DestinationRedshiftPasswordAuthentication.md @@ -0,0 +1,12 @@ +# DestinationRedshiftPasswordAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationRedshiftSchemasTunnelMethodTunnelMethod](../../models/shared/DestinationRedshiftSchemasTunnelMethodTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and password authentication | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host | | +| `tunnelUserPassword` | *String* | :heavy_check_mark: | OS-level password for logging into the jump server host | | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedshiftS3BucketRegion.md b/docs/models/shared/DestinationRedshiftS3BucketRegion.md new file mode 100644 index 000000000..7dadcf401 --- /dev/null +++ b/docs/models/shared/DestinationRedshiftS3BucketRegion.md @@ -0,0 +1,43 @@ +# DestinationRedshiftS3BucketRegion + +The region of the S3 staging bucket. + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `UNKNOWN` | | +| `AF_SOUTH1` | af-south-1 | +| `AP_EAST1` | ap-east-1 | +| `AP_NORTHEAST1` | ap-northeast-1 | +| `AP_NORTHEAST2` | ap-northeast-2 | +| `AP_NORTHEAST3` | ap-northeast-3 | +| `AP_SOUTH1` | ap-south-1 | +| `AP_SOUTH2` | ap-south-2 | +| `AP_SOUTHEAST1` | ap-southeast-1 | +| `AP_SOUTHEAST2` | ap-southeast-2 | +| `AP_SOUTHEAST3` | ap-southeast-3 | +| `AP_SOUTHEAST4` | ap-southeast-4 | +| `CA_CENTRAL1` | ca-central-1 | +| `CA_WEST1` | ca-west-1 | +| `CN_NORTH1` | cn-north-1 | +| `CN_NORTHWEST1` | cn-northwest-1 | +| `EU_CENTRAL1` | eu-central-1 | +| `EU_CENTRAL2` | eu-central-2 | +| `EU_NORTH1` | eu-north-1 | +| `EU_SOUTH1` | eu-south-1 | +| `EU_SOUTH2` | eu-south-2 | +| `EU_WEST1` | eu-west-1 | +| `EU_WEST2` | eu-west-2 | +| `EU_WEST3` | eu-west-3 | +| `IL_CENTRAL1` | il-central-1 | +| `ME_CENTRAL1` | me-central-1 | +| `ME_SOUTH1` | me-south-1 | +| `SA_EAST1` | sa-east-1 | +| `US_EAST1` | us-east-1 | +| `US_EAST2` | us-east-2 | +| `US_GOV_EAST1` | us-gov-east-1 | +| `US_GOV_WEST1` | us-gov-west-1 | +| `US_WEST1` | us-west-1 | +| `US_WEST2` | us-west-2 | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedshiftSSHKeyAuthentication.md b/docs/models/shared/DestinationRedshiftSSHKeyAuthentication.md new file mode 100644 index 000000000..3baaa50fe --- /dev/null +++ b/docs/models/shared/DestinationRedshiftSSHKeyAuthentication.md @@ -0,0 +1,12 @@ +# DestinationRedshiftSSHKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| `sshKey` | *String* | :heavy_check_mark: | OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) | | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationRedshiftSchemasTunnelMethod](../../models/shared/DestinationRedshiftSchemasTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and ssh key | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedshiftSSHTunnelMethod.md b/docs/models/shared/DestinationRedshiftSSHTunnelMethod.md new file mode 100644 index 000000000..7694ead87 --- /dev/null +++ b/docs/models/shared/DestinationRedshiftSSHTunnelMethod.md @@ -0,0 +1,4 @@ +# DestinationRedshiftSSHTunnelMethod + +Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + diff --git a/docs/models/shared/DestinationRedshiftSchemasMethod.md b/docs/models/shared/DestinationRedshiftSchemasMethod.md new file mode 100644 index 000000000..67a2759b3 --- /dev/null +++ b/docs/models/shared/DestinationRedshiftSchemasMethod.md @@ -0,0 +1,8 @@ +# DestinationRedshiftSchemasMethod + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `STANDARD` | Standard | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedshiftSchemasTunnelMethod.md b/docs/models/shared/DestinationRedshiftSchemasTunnelMethod.md new file mode 100644 index 000000000..2611841ef --- /dev/null +++ b/docs/models/shared/DestinationRedshiftSchemasTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationRedshiftSchemasTunnelMethod + +Connect through a jump server tunnel host using username and ssh key + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `SSH_KEY_AUTH` | SSH_KEY_AUTH | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedshiftSchemasTunnelMethodTunnelMethod.md b/docs/models/shared/DestinationRedshiftSchemasTunnelMethodTunnelMethod.md new file mode 100644 index 000000000..ce1d0b2a0 --- /dev/null +++ b/docs/models/shared/DestinationRedshiftSchemasTunnelMethodTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationRedshiftSchemasTunnelMethodTunnelMethod + +Connect through a jump server tunnel host using username and password authentication + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `SSH_PASSWORD_AUTH` | SSH_PASSWORD_AUTH | \ No newline at end of file diff --git a/docs/models/shared/DestinationRedshiftTunnelMethod.md b/docs/models/shared/DestinationRedshiftTunnelMethod.md new file mode 100644 index 000000000..42199d36c --- /dev/null +++ b/docs/models/shared/DestinationRedshiftTunnelMethod.md @@ -0,0 +1,10 @@ +# DestinationRedshiftTunnelMethod + +No ssh tunnel needed to connect to database + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `NO_TUNNEL` | NO_TUNNEL | \ No newline at end of file diff --git a/docs/models/shared/DestinationResponse.md b/docs/models/shared/DestinationResponse.md index 3f10cbf42..e21e9da25 100644 --- a/docs/models/shared/DestinationResponse.md +++ b/docs/models/shared/DestinationResponse.md @@ -5,10 +5,10 @@ Provides details of a single destination. ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | -| `configuration` | *java.lang.Object* | :heavy_check_mark: | The values required to configure the destination. | {
    "user": "charles"
    } | -| `destinationId` | *String* | :heavy_check_mark: | N/A | | -| `destinationType` | *String* | :heavy_check_mark: | N/A | | -| `name` | *String* | :heavy_check_mark: | N/A | | -| `workspaceId` | *String* | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `configuration` | [com.airbyte.api.models.shared.DestinationConfiguration](../../models/shared/DestinationConfiguration.md) | :heavy_check_mark: | The values required to configure the destination. | {
    "user": "charles"
    } | +| `destinationId` | *String* | :heavy_check_mark: | N/A | | +| `destinationType` | *String* | :heavy_check_mark: | N/A | | +| `name` | *String* | :heavy_check_mark: | N/A | | +| `workspaceId` | *String* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3.md b/docs/models/shared/DestinationS3.md new file mode 100644 index 000000000..56771acb9 --- /dev/null +++ b/docs/models/shared/DestinationS3.md @@ -0,0 +1,17 @@ +# DestinationS3 + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessKeyId` | *Optional* | :heavy_minus_sign: | The access key ID to access the S3 bucket. Airbyte requires Read and Write permissions to the given bucket. Read more here. | A012345678910EXAMPLE | +| `destinationType` | [com.airbyte.api.models.shared.S3](../../models/shared/S3.md) | :heavy_check_mark: | N/A | | +| `fileNamePattern` | *Optional* | :heavy_minus_sign: | The pattern allows you to set the file-name format for the S3 staging file(s) | {date} | +| `format` | [com.airbyte.api.models.shared.DestinationS3OutputFormat](../../models/shared/DestinationS3OutputFormat.md) | :heavy_check_mark: | Format of the data output. See here for more details | | +| `s3BucketName` | *String* | :heavy_check_mark: | The name of the S3 bucket. Read more here. | airbyte_sync | +| `s3BucketPath` | *String* | :heavy_check_mark: | Directory under the S3 bucket where data will be written. Read more here | data_sync/test | +| `s3BucketRegion` | [Optional](../../models/shared/DestinationS3S3BucketRegion.md) | :heavy_minus_sign: | The region of the S3 bucket. See here for all region codes. | | +| `s3Endpoint` | *Optional* | :heavy_minus_sign: | Your S3 endpoint url. Read more here | http://localhost:9000 | +| `s3PathFormat` | *Optional* | :heavy_minus_sign: | Format string on how data will be organized inside the S3 bucket directory. Read more here | ${NAMESPACE}/${STREAM_NAME}/${YEAR}_${MONTH}_${DAY}_${EPOCH}_ | +| `secretAccessKey` | *Optional* | :heavy_minus_sign: | The corresponding secret to the access key ID. Read more here | a012345678910ABCDEFGH/AbCdEfGhEXAMPLEKEY | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3AvroApacheAvro.md b/docs/models/shared/DestinationS3AvroApacheAvro.md new file mode 100644 index 000000000..c08b73d2b --- /dev/null +++ b/docs/models/shared/DestinationS3AvroApacheAvro.md @@ -0,0 +1,9 @@ +# DestinationS3AvroApacheAvro + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| `compressionCodec` | [com.airbyte.api.models.shared.DestinationS3CompressionCodec](../../models/shared/DestinationS3CompressionCodec.md) | :heavy_check_mark: | The compression algorithm used to compress data. Default to no compression. | +| `formatType` | [Optional](../../models/shared/DestinationS3SchemasFormatFormatType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3Bzip2.md b/docs/models/shared/DestinationS3Bzip2.md new file mode 100644 index 000000000..69f66dce4 --- /dev/null +++ b/docs/models/shared/DestinationS3Bzip2.md @@ -0,0 +1,8 @@ +# DestinationS3Bzip2 + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `codec` | [Optional](../../models/shared/DestinationS3SchemasFormatCodec.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3CSVCommaSeparatedValues.md b/docs/models/shared/DestinationS3CSVCommaSeparatedValues.md new file mode 100644 index 000000000..d220757d5 --- /dev/null +++ b/docs/models/shared/DestinationS3CSVCommaSeparatedValues.md @@ -0,0 +1,10 @@ +# DestinationS3CSVCommaSeparatedValues + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | +| `compression` | [Optional](../../models/shared/DestinationS3Compression.md) | :heavy_minus_sign: | Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".csv.gz"). | +| `flattening` | [Optional](../../models/shared/DestinationS3Flattening.md) | :heavy_minus_sign: | Whether the input json data should be normalized (flattened) in the output CSV. Please refer to docs for details. | +| `formatType` | [Optional](../../models/shared/DestinationS3FormatType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3Codec.md b/docs/models/shared/DestinationS3Codec.md new file mode 100644 index 000000000..66531dd30 --- /dev/null +++ b/docs/models/shared/DestinationS3Codec.md @@ -0,0 +1,8 @@ +# DestinationS3Codec + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `NO_COMPRESSION` | no compression | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3Compression.md b/docs/models/shared/DestinationS3Compression.md new file mode 100644 index 000000000..9a369652d --- /dev/null +++ b/docs/models/shared/DestinationS3Compression.md @@ -0,0 +1,4 @@ +# DestinationS3Compression + +Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".csv.gz"). + diff --git a/docs/models/shared/DestinationS3CompressionCodec.md b/docs/models/shared/DestinationS3CompressionCodec.md new file mode 100644 index 000000000..f1ab4af9d --- /dev/null +++ b/docs/models/shared/DestinationS3CompressionCodec.md @@ -0,0 +1,4 @@ +# DestinationS3CompressionCodec + +The compression algorithm used to compress data. Default to no compression. + diff --git a/docs/models/shared/DestinationS3CompressionType.md b/docs/models/shared/DestinationS3CompressionType.md new file mode 100644 index 000000000..c01c2b509 --- /dev/null +++ b/docs/models/shared/DestinationS3CompressionType.md @@ -0,0 +1,8 @@ +# DestinationS3CompressionType + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `NO_COMPRESSION` | No Compression | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3Deflate.md b/docs/models/shared/DestinationS3Deflate.md new file mode 100644 index 000000000..dd76bc46f --- /dev/null +++ b/docs/models/shared/DestinationS3Deflate.md @@ -0,0 +1,9 @@ +# DestinationS3Deflate + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `codec` | [Optional](../../models/shared/DestinationS3SchemasCodec.md) | :heavy_minus_sign: | N/A | +| `compressionLevel` | *Optional* | :heavy_minus_sign: | 0: no compression & fastest, 9: best compression & slowest. | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3Flattening.md b/docs/models/shared/DestinationS3Flattening.md new file mode 100644 index 000000000..e3838f1bc --- /dev/null +++ b/docs/models/shared/DestinationS3Flattening.md @@ -0,0 +1,11 @@ +# DestinationS3Flattening + +Whether the input json data should be normalized (flattened) in the output CSV. Please refer to docs for details. + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `NO_FLATTENING` | No flattening | +| `ROOT_LEVEL_FLATTENING` | Root level flattening | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3FormatType.md b/docs/models/shared/DestinationS3FormatType.md new file mode 100644 index 000000000..1457ed486 --- /dev/null +++ b/docs/models/shared/DestinationS3FormatType.md @@ -0,0 +1,8 @@ +# DestinationS3FormatType + + +## Values + +| Name | Value | +| ----- | ----- | +| `CSV` | CSV | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3GZIP.md b/docs/models/shared/DestinationS3GZIP.md new file mode 100644 index 000000000..154c884ef --- /dev/null +++ b/docs/models/shared/DestinationS3GZIP.md @@ -0,0 +1,8 @@ +# DestinationS3GZIP + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | +| `compressionType` | [Optional](../../models/shared/DestinationS3SchemasCompressionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3Glue.md b/docs/models/shared/DestinationS3Glue.md new file mode 100644 index 000000000..c59758a95 --- /dev/null +++ b/docs/models/shared/DestinationS3Glue.md @@ -0,0 +1,19 @@ +# DestinationS3Glue + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessKeyId` | *Optional* | :heavy_minus_sign: | The access key ID to access the S3 bucket. Airbyte requires Read and Write permissions to the given bucket. Read more here. | A012345678910EXAMPLE | +| `destinationType` | [com.airbyte.api.models.shared.S3Glue](../../models/shared/S3Glue.md) | :heavy_check_mark: | N/A | | +| `fileNamePattern` | *Optional* | :heavy_minus_sign: | The pattern allows you to set the file-name format for the S3 staging file(s) | {date} | +| `format` | [com.airbyte.api.models.shared.DestinationS3GlueOutputFormat](../../models/shared/DestinationS3GlueOutputFormat.md) | :heavy_check_mark: | Format of the data output. See here for more details | | +| `glueDatabase` | *String* | :heavy_check_mark: | Name of the glue database for creating the tables, leave blank if no integration | airbyte_database | +| `glueSerializationLibrary` | [Optional](../../models/shared/SerializationLibrary.md) | :heavy_minus_sign: | The library that your query engine will use for reading and writing data in your lake. | | +| `s3BucketName` | *String* | :heavy_check_mark: | The name of the S3 bucket. Read more here. | airbyte_sync | +| `s3BucketPath` | *String* | :heavy_check_mark: | Directory under the S3 bucket where data will be written. Read more here | data_sync/test | +| `s3BucketRegion` | [Optional](../../models/shared/DestinationS3GlueS3BucketRegion.md) | :heavy_minus_sign: | The region of the S3 bucket. See here for all region codes. | | +| `s3Endpoint` | *Optional* | :heavy_minus_sign: | Your S3 endpoint url. Read more here | http://localhost:9000 | +| `s3PathFormat` | *Optional* | :heavy_minus_sign: | Format string on how data will be organized inside the S3 bucket directory. Read more here | ${NAMESPACE}/${STREAM_NAME}/${YEAR}_${MONTH}_${DAY}_${EPOCH}_ | +| `secretAccessKey` | *Optional* | :heavy_minus_sign: | The corresponding secret to the access key ID. Read more here | a012345678910ABCDEFGH/AbCdEfGhEXAMPLEKEY | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3GlueCompression.md b/docs/models/shared/DestinationS3GlueCompression.md new file mode 100644 index 000000000..1e9361507 --- /dev/null +++ b/docs/models/shared/DestinationS3GlueCompression.md @@ -0,0 +1,4 @@ +# DestinationS3GlueCompression + +Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + diff --git a/docs/models/shared/DestinationS3GlueCompressionType.md b/docs/models/shared/DestinationS3GlueCompressionType.md new file mode 100644 index 000000000..2f422c234 --- /dev/null +++ b/docs/models/shared/DestinationS3GlueCompressionType.md @@ -0,0 +1,8 @@ +# DestinationS3GlueCompressionType + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `NO_COMPRESSION` | No Compression | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3GlueFormatType.md b/docs/models/shared/DestinationS3GlueFormatType.md new file mode 100644 index 000000000..f1aa22172 --- /dev/null +++ b/docs/models/shared/DestinationS3GlueFormatType.md @@ -0,0 +1,8 @@ +# DestinationS3GlueFormatType + + +## Values + +| Name | Value | +| ------- | ------- | +| `JSONL` | JSONL | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3GlueGZIP.md b/docs/models/shared/DestinationS3GlueGZIP.md new file mode 100644 index 000000000..c8560df8b --- /dev/null +++ b/docs/models/shared/DestinationS3GlueGZIP.md @@ -0,0 +1,8 @@ +# DestinationS3GlueGZIP + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `compressionType` | [Optional](../../models/shared/DestinationS3GlueSchemasCompressionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3GlueJSONLinesNewlineDelimitedJSON.md b/docs/models/shared/DestinationS3GlueJSONLinesNewlineDelimitedJSON.md new file mode 100644 index 000000000..f33e71a01 --- /dev/null +++ b/docs/models/shared/DestinationS3GlueJSONLinesNewlineDelimitedJSON.md @@ -0,0 +1,10 @@ +# DestinationS3GlueJSONLinesNewlineDelimitedJSON + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| `compression` | [Optional](../../models/shared/DestinationS3GlueCompression.md) | :heavy_minus_sign: | Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). | +| `flattening` | [Optional](../../models/shared/Flattening.md) | :heavy_minus_sign: | Whether the input json data should be normalized (flattened) in the output JSON Lines. Please refer to docs for details. | +| `formatType` | [Optional](../../models/shared/DestinationS3GlueFormatType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3GlueNoCompression.md b/docs/models/shared/DestinationS3GlueNoCompression.md new file mode 100644 index 000000000..f954e31c1 --- /dev/null +++ b/docs/models/shared/DestinationS3GlueNoCompression.md @@ -0,0 +1,8 @@ +# DestinationS3GlueNoCompression + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `compressionType` | [Optional](../../models/shared/DestinationS3GlueCompressionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3GlueOutputFormat.md b/docs/models/shared/DestinationS3GlueOutputFormat.md new file mode 100644 index 000000000..376489ebe --- /dev/null +++ b/docs/models/shared/DestinationS3GlueOutputFormat.md @@ -0,0 +1,4 @@ +# DestinationS3GlueOutputFormat + +Format of the data output. See here for more details + diff --git a/docs/models/shared/DestinationS3GlueS3BucketRegion.md b/docs/models/shared/DestinationS3GlueS3BucketRegion.md new file mode 100644 index 000000000..9914611c6 --- /dev/null +++ b/docs/models/shared/DestinationS3GlueS3BucketRegion.md @@ -0,0 +1,43 @@ +# DestinationS3GlueS3BucketRegion + +The region of the S3 bucket. See here for all region codes. + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `UNKNOWN` | | +| `AF_SOUTH1` | af-south-1 | +| `AP_EAST1` | ap-east-1 | +| `AP_NORTHEAST1` | ap-northeast-1 | +| `AP_NORTHEAST2` | ap-northeast-2 | +| `AP_NORTHEAST3` | ap-northeast-3 | +| `AP_SOUTH1` | ap-south-1 | +| `AP_SOUTH2` | ap-south-2 | +| `AP_SOUTHEAST1` | ap-southeast-1 | +| `AP_SOUTHEAST2` | ap-southeast-2 | +| `AP_SOUTHEAST3` | ap-southeast-3 | +| `AP_SOUTHEAST4` | ap-southeast-4 | +| `CA_CENTRAL1` | ca-central-1 | +| `CA_WEST1` | ca-west-1 | +| `CN_NORTH1` | cn-north-1 | +| `CN_NORTHWEST1` | cn-northwest-1 | +| `EU_CENTRAL1` | eu-central-1 | +| `EU_CENTRAL2` | eu-central-2 | +| `EU_NORTH1` | eu-north-1 | +| `EU_SOUTH1` | eu-south-1 | +| `EU_SOUTH2` | eu-south-2 | +| `EU_WEST1` | eu-west-1 | +| `EU_WEST2` | eu-west-2 | +| `EU_WEST3` | eu-west-3 | +| `IL_CENTRAL1` | il-central-1 | +| `ME_CENTRAL1` | me-central-1 | +| `ME_SOUTH1` | me-south-1 | +| `SA_EAST1` | sa-east-1 | +| `US_EAST1` | us-east-1 | +| `US_EAST2` | us-east-2 | +| `US_GOV_EAST1` | us-gov-east-1 | +| `US_GOV_WEST1` | us-gov-west-1 | +| `US_WEST1` | us-west-1 | +| `US_WEST2` | us-west-2 | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3GlueSchemasCompressionType.md b/docs/models/shared/DestinationS3GlueSchemasCompressionType.md new file mode 100644 index 000000000..f04b3e8a0 --- /dev/null +++ b/docs/models/shared/DestinationS3GlueSchemasCompressionType.md @@ -0,0 +1,8 @@ +# DestinationS3GlueSchemasCompressionType + + +## Values + +| Name | Value | +| ------ | ------ | +| `GZIP` | GZIP | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3JSONLinesNewlineDelimitedJSON.md b/docs/models/shared/DestinationS3JSONLinesNewlineDelimitedJSON.md new file mode 100644 index 000000000..3a05f45cb --- /dev/null +++ b/docs/models/shared/DestinationS3JSONLinesNewlineDelimitedJSON.md @@ -0,0 +1,10 @@ +# DestinationS3JSONLinesNewlineDelimitedJSON + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| `compression` | [Optional](../../models/shared/DestinationS3SchemasCompression.md) | :heavy_minus_sign: | Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). | +| `flattening` | [Optional](../../models/shared/DestinationS3SchemasFlattening.md) | :heavy_minus_sign: | Whether the input json data should be normalized (flattened) in the output JSON Lines. Please refer to docs for details. | +| `formatType` | [Optional](../../models/shared/DestinationS3SchemasFormatType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3NoCompression.md b/docs/models/shared/DestinationS3NoCompression.md new file mode 100644 index 000000000..f8d638af5 --- /dev/null +++ b/docs/models/shared/DestinationS3NoCompression.md @@ -0,0 +1,8 @@ +# DestinationS3NoCompression + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| `compressionType` | [Optional](../../models/shared/DestinationS3CompressionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3OutputFormat.md b/docs/models/shared/DestinationS3OutputFormat.md new file mode 100644 index 000000000..24b417573 --- /dev/null +++ b/docs/models/shared/DestinationS3OutputFormat.md @@ -0,0 +1,4 @@ +# DestinationS3OutputFormat + +Format of the data output. See here for more details + diff --git a/docs/models/shared/DestinationS3ParquetColumnarStorage.md b/docs/models/shared/DestinationS3ParquetColumnarStorage.md new file mode 100644 index 000000000..fb7852520 --- /dev/null +++ b/docs/models/shared/DestinationS3ParquetColumnarStorage.md @@ -0,0 +1,14 @@ +# DestinationS3ParquetColumnarStorage + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `blockSizeMb` | *Optional* | :heavy_minus_sign: | This is the size of a row group being buffered in memory. It limits the memory usage when writing. Larger values will improve the IO when reading, but consume more memory when writing. Default: 128 MB. | 128 | +| `compressionCodec` | [Optional](../../models/shared/DestinationS3SchemasCompressionCodec.md) | :heavy_minus_sign: | The compression algorithm used to compress data pages. | | +| `dictionaryEncoding` | *Optional* | :heavy_minus_sign: | Default: true. | | +| `dictionaryPageSizeKb` | *Optional* | :heavy_minus_sign: | There is one dictionary page per column per row group when dictionary encoding is used. The dictionary page size works like the page size but for dictionary. Default: 1024 KB. | 1024 | +| `formatType` | [Optional](../../models/shared/DestinationS3SchemasFormatOutputFormatFormatType.md) | :heavy_minus_sign: | N/A | | +| `maxPaddingSizeMb` | *Optional* | :heavy_minus_sign: | Maximum size allowed as padding to align row groups. This is also the minimum size of a row group. Default: 8 MB. | 8 | +| `pageSizeKb` | *Optional* | :heavy_minus_sign: | The page size is for compression. A block is composed of pages. A page is the smallest unit that must be read fully to access a single record. If this value is too small, the compression will deteriorate. Default: 1024 KB. | 1024 | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3S3BucketRegion.md b/docs/models/shared/DestinationS3S3BucketRegion.md new file mode 100644 index 000000000..9d78ba895 --- /dev/null +++ b/docs/models/shared/DestinationS3S3BucketRegion.md @@ -0,0 +1,43 @@ +# DestinationS3S3BucketRegion + +The region of the S3 bucket. See here for all region codes. + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `UNKNOWN` | | +| `AF_SOUTH1` | af-south-1 | +| `AP_EAST1` | ap-east-1 | +| `AP_NORTHEAST1` | ap-northeast-1 | +| `AP_NORTHEAST2` | ap-northeast-2 | +| `AP_NORTHEAST3` | ap-northeast-3 | +| `AP_SOUTH1` | ap-south-1 | +| `AP_SOUTH2` | ap-south-2 | +| `AP_SOUTHEAST1` | ap-southeast-1 | +| `AP_SOUTHEAST2` | ap-southeast-2 | +| `AP_SOUTHEAST3` | ap-southeast-3 | +| `AP_SOUTHEAST4` | ap-southeast-4 | +| `CA_CENTRAL1` | ca-central-1 | +| `CA_WEST1` | ca-west-1 | +| `CN_NORTH1` | cn-north-1 | +| `CN_NORTHWEST1` | cn-northwest-1 | +| `EU_CENTRAL1` | eu-central-1 | +| `EU_CENTRAL2` | eu-central-2 | +| `EU_NORTH1` | eu-north-1 | +| `EU_SOUTH1` | eu-south-1 | +| `EU_SOUTH2` | eu-south-2 | +| `EU_WEST1` | eu-west-1 | +| `EU_WEST2` | eu-west-2 | +| `EU_WEST3` | eu-west-3 | +| `IL_CENTRAL1` | il-central-1 | +| `ME_CENTRAL1` | me-central-1 | +| `ME_SOUTH1` | me-south-1 | +| `SA_EAST1` | sa-east-1 | +| `US_EAST1` | us-east-1 | +| `US_EAST2` | us-east-2 | +| `US_GOV_EAST1` | us-gov-east-1 | +| `US_GOV_WEST1` | us-gov-west-1 | +| `US_WEST1` | us-west-1 | +| `US_WEST2` | us-west-2 | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3SchemasCodec.md b/docs/models/shared/DestinationS3SchemasCodec.md new file mode 100644 index 000000000..e44c530bb --- /dev/null +++ b/docs/models/shared/DestinationS3SchemasCodec.md @@ -0,0 +1,8 @@ +# DestinationS3SchemasCodec + + +## Values + +| Name | Value | +| --------- | --------- | +| `DEFLATE` | Deflate | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3SchemasCompression.md b/docs/models/shared/DestinationS3SchemasCompression.md new file mode 100644 index 000000000..7c09acf6e --- /dev/null +++ b/docs/models/shared/DestinationS3SchemasCompression.md @@ -0,0 +1,4 @@ +# DestinationS3SchemasCompression + +Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + diff --git a/docs/models/shared/DestinationS3SchemasCompressionCodec.md b/docs/models/shared/DestinationS3SchemasCompressionCodec.md new file mode 100644 index 000000000..317f217db --- /dev/null +++ b/docs/models/shared/DestinationS3SchemasCompressionCodec.md @@ -0,0 +1,16 @@ +# DestinationS3SchemasCompressionCodec + +The compression algorithm used to compress data pages. + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `UNCOMPRESSED` | UNCOMPRESSED | +| `SNAPPY` | SNAPPY | +| `GZIP` | GZIP | +| `LZO` | LZO | +| `BROTLI` | BROTLI | +| `LZ4` | LZ4 | +| `ZSTD` | ZSTD | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3SchemasCompressionType.md b/docs/models/shared/DestinationS3SchemasCompressionType.md new file mode 100644 index 000000000..e0b1d5062 --- /dev/null +++ b/docs/models/shared/DestinationS3SchemasCompressionType.md @@ -0,0 +1,8 @@ +# DestinationS3SchemasCompressionType + + +## Values + +| Name | Value | +| ------ | ------ | +| `GZIP` | GZIP | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3SchemasFlattening.md b/docs/models/shared/DestinationS3SchemasFlattening.md new file mode 100644 index 000000000..7b930b9ca --- /dev/null +++ b/docs/models/shared/DestinationS3SchemasFlattening.md @@ -0,0 +1,11 @@ +# DestinationS3SchemasFlattening + +Whether the input json data should be normalized (flattened) in the output JSON Lines. Please refer to docs for details. + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `NO_FLATTENING` | No flattening | +| `ROOT_LEVEL_FLATTENING` | Root level flattening | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3SchemasFormatCodec.md b/docs/models/shared/DestinationS3SchemasFormatCodec.md new file mode 100644 index 000000000..e3e45595f --- /dev/null +++ b/docs/models/shared/DestinationS3SchemasFormatCodec.md @@ -0,0 +1,8 @@ +# DestinationS3SchemasFormatCodec + + +## Values + +| Name | Value | +| ------- | ------- | +| `BZIP2` | bzip2 | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3SchemasFormatCompressionType.md b/docs/models/shared/DestinationS3SchemasFormatCompressionType.md new file mode 100644 index 000000000..478dc9e40 --- /dev/null +++ b/docs/models/shared/DestinationS3SchemasFormatCompressionType.md @@ -0,0 +1,8 @@ +# DestinationS3SchemasFormatCompressionType + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `NO_COMPRESSION` | No Compression | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3SchemasFormatFormatType.md b/docs/models/shared/DestinationS3SchemasFormatFormatType.md new file mode 100644 index 000000000..ffab2e3bc --- /dev/null +++ b/docs/models/shared/DestinationS3SchemasFormatFormatType.md @@ -0,0 +1,8 @@ +# DestinationS3SchemasFormatFormatType + + +## Values + +| Name | Value | +| ------ | ------ | +| `AVRO` | Avro | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3SchemasFormatNoCompression.md b/docs/models/shared/DestinationS3SchemasFormatNoCompression.md new file mode 100644 index 000000000..e43e77bfd --- /dev/null +++ b/docs/models/shared/DestinationS3SchemasFormatNoCompression.md @@ -0,0 +1,8 @@ +# DestinationS3SchemasFormatNoCompression + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| `codec` | [Optional](../../models/shared/DestinationS3Codec.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3SchemasFormatOutputFormat3Codec.md b/docs/models/shared/DestinationS3SchemasFormatOutputFormat3Codec.md new file mode 100644 index 000000000..369d4328a --- /dev/null +++ b/docs/models/shared/DestinationS3SchemasFormatOutputFormat3Codec.md @@ -0,0 +1,8 @@ +# DestinationS3SchemasFormatOutputFormat3Codec + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `ZSTANDARD` | zstandard | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3SchemasFormatOutputFormat3CompressionCodecCodec.md b/docs/models/shared/DestinationS3SchemasFormatOutputFormat3CompressionCodecCodec.md new file mode 100644 index 000000000..b5a52b531 --- /dev/null +++ b/docs/models/shared/DestinationS3SchemasFormatOutputFormat3CompressionCodecCodec.md @@ -0,0 +1,8 @@ +# DestinationS3SchemasFormatOutputFormat3CompressionCodecCodec + + +## Values + +| Name | Value | +| -------- | -------- | +| `SNAPPY` | snappy | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3SchemasFormatOutputFormatCodec.md b/docs/models/shared/DestinationS3SchemasFormatOutputFormatCodec.md new file mode 100644 index 000000000..91a11d0d0 --- /dev/null +++ b/docs/models/shared/DestinationS3SchemasFormatOutputFormatCodec.md @@ -0,0 +1,8 @@ +# DestinationS3SchemasFormatOutputFormatCodec + + +## Values + +| Name | Value | +| ----- | ----- | +| `XZ` | xz | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3SchemasFormatOutputFormatCompressionType.md b/docs/models/shared/DestinationS3SchemasFormatOutputFormatCompressionType.md new file mode 100644 index 000000000..34318d84d --- /dev/null +++ b/docs/models/shared/DestinationS3SchemasFormatOutputFormatCompressionType.md @@ -0,0 +1,8 @@ +# DestinationS3SchemasFormatOutputFormatCompressionType + + +## Values + +| Name | Value | +| ------ | ------ | +| `GZIP` | GZIP | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3SchemasFormatOutputFormatFormatType.md b/docs/models/shared/DestinationS3SchemasFormatOutputFormatFormatType.md new file mode 100644 index 000000000..f41164afa --- /dev/null +++ b/docs/models/shared/DestinationS3SchemasFormatOutputFormatFormatType.md @@ -0,0 +1,8 @@ +# DestinationS3SchemasFormatOutputFormatFormatType + + +## Values + +| Name | Value | +| --------- | --------- | +| `PARQUET` | Parquet | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3SchemasFormatType.md b/docs/models/shared/DestinationS3SchemasFormatType.md new file mode 100644 index 000000000..b7c72b6e7 --- /dev/null +++ b/docs/models/shared/DestinationS3SchemasFormatType.md @@ -0,0 +1,8 @@ +# DestinationS3SchemasFormatType + + +## Values + +| Name | Value | +| ------- | ------- | +| `JSONL` | JSONL | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3SchemasGZIP.md b/docs/models/shared/DestinationS3SchemasGZIP.md new file mode 100644 index 000000000..8a0f181d9 --- /dev/null +++ b/docs/models/shared/DestinationS3SchemasGZIP.md @@ -0,0 +1,8 @@ +# DestinationS3SchemasGZIP + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `compressionType` | [Optional](../../models/shared/DestinationS3SchemasFormatOutputFormatCompressionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3SchemasNoCompression.md b/docs/models/shared/DestinationS3SchemasNoCompression.md new file mode 100644 index 000000000..1b05c0366 --- /dev/null +++ b/docs/models/shared/DestinationS3SchemasNoCompression.md @@ -0,0 +1,8 @@ +# DestinationS3SchemasNoCompression + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `compressionType` | [Optional](../../models/shared/DestinationS3SchemasFormatCompressionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3Snappy.md b/docs/models/shared/DestinationS3Snappy.md new file mode 100644 index 000000000..1fbccf536 --- /dev/null +++ b/docs/models/shared/DestinationS3Snappy.md @@ -0,0 +1,8 @@ +# DestinationS3Snappy + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `codec` | [Optional](../../models/shared/DestinationS3SchemasFormatOutputFormat3CompressionCodecCodec.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3Xz.md b/docs/models/shared/DestinationS3Xz.md new file mode 100644 index 000000000..72581a140 --- /dev/null +++ b/docs/models/shared/DestinationS3Xz.md @@ -0,0 +1,9 @@ +# DestinationS3Xz + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `codec` | [Optional](../../models/shared/DestinationS3SchemasFormatOutputFormatCodec.md) | :heavy_minus_sign: | N/A | +| `compressionLevel` | *Optional* | :heavy_minus_sign: | See here for details. | \ No newline at end of file diff --git a/docs/models/shared/DestinationS3Zstandard.md b/docs/models/shared/DestinationS3Zstandard.md new file mode 100644 index 000000000..ada70509e --- /dev/null +++ b/docs/models/shared/DestinationS3Zstandard.md @@ -0,0 +1,10 @@ +# DestinationS3Zstandard + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `codec` | [Optional](../../models/shared/DestinationS3SchemasFormatOutputFormat3Codec.md) | :heavy_minus_sign: | N/A | +| `compressionLevel` | *Optional* | :heavy_minus_sign: | Negative levels are 'fast' modes akin to lz4 or snappy, levels above 9 are generally for archival purposes, and levels above 18 use a lot of memory. | +| `includeChecksum` | *Optional* | :heavy_minus_sign: | If true, include a checksum with each data block. | \ No newline at end of file diff --git a/docs/models/shared/DestinationSftpJson.md b/docs/models/shared/DestinationSftpJson.md new file mode 100644 index 000000000..8442cad81 --- /dev/null +++ b/docs/models/shared/DestinationSftpJson.md @@ -0,0 +1,13 @@ +# DestinationSftpJson + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `destinationType` | [com.airbyte.api.models.shared.SftpJson](../../models/shared/SftpJson.md) | :heavy_check_mark: | N/A | | +| `destinationPath` | *String* | :heavy_check_mark: | Path to the directory where json files will be written. | /json_data | +| `host` | *String* | :heavy_check_mark: | Hostname of the SFTP server. | | +| `password` | *String* | :heavy_check_mark: | Password associated with the username. | | +| `port` | *Optional* | :heavy_minus_sign: | Port of the SFTP server. | 22 | +| `username` | *String* | :heavy_check_mark: | Username to use to access the SFTP server. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationSnowflake.md b/docs/models/shared/DestinationSnowflake.md new file mode 100644 index 000000000..f04d20b8f --- /dev/null +++ b/docs/models/shared/DestinationSnowflake.md @@ -0,0 +1,20 @@ +# DestinationSnowflake + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/AuthorizationMethod.md) | :heavy_minus_sign: | N/A | | +| `database` | *String* | :heavy_check_mark: | Enter the name of the database you want to sync data into | AIRBYTE_DATABASE | +| `destinationType` | [com.airbyte.api.models.shared.DestinationSnowflakeSnowflake](../../models/shared/DestinationSnowflakeSnowflake.md) | :heavy_check_mark: | N/A | | +| `disableTypeDedupe` | *Optional* | :heavy_minus_sign: | Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions | | +| `enableIncrementalFinalTableUpdates` | *Optional* | :heavy_minus_sign: | When enabled your data will load into your final tables incrementally while your data is still being synced. When Disabled (the default), your data loads into your final tables once at the end of a sync. Note that this option only applies if you elect to create Final tables | | +| `host` | *String* | :heavy_check_mark: | Enter your Snowflake account's locator (in the format ...snowflakecomputing.com) | accountname.us-east-2.aws.snowflakecomputing.com | +| `jdbcUrlParams` | *Optional* | :heavy_minus_sign: | Enter the additional properties to pass to the JDBC URL string when connecting to the database (formatted as key=value pairs separated by the symbol &). Example: key1=value1&key2=value2&key3=value3 | | +| `rawDataSchema` | *Optional* | :heavy_minus_sign: | The schema to write raw tables into (default: airbyte_internal) | | +| `retentionPeriodDays` | *Optional* | :heavy_minus_sign: | The number of days of Snowflake Time Travel to enable on the tables. See Snowflake's documentation for more information. Setting a nonzero value will incur increased storage costs in your Snowflake instance. | | +| `role` | *String* | :heavy_check_mark: | Enter the role that you want to use to access Snowflake | AIRBYTE_ROLE | +| `schema` | *String* | :heavy_check_mark: | Enter the name of the default schema | AIRBYTE_SCHEMA | +| `username` | *String* | :heavy_check_mark: | Enter the name of the user you want to use to access the database | AIRBYTE_USER | +| `warehouse` | *String* | :heavy_check_mark: | Enter the name of the warehouse that you want to sync data into | AIRBYTE_WAREHOUSE | \ No newline at end of file diff --git a/docs/models/shared/DestinationSnowflakeAuthType.md b/docs/models/shared/DestinationSnowflakeAuthType.md new file mode 100644 index 000000000..6044c963a --- /dev/null +++ b/docs/models/shared/DestinationSnowflakeAuthType.md @@ -0,0 +1,8 @@ +# DestinationSnowflakeAuthType + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `USERNAME_AND_PASSWORD` | Username and Password | \ No newline at end of file diff --git a/docs/models/shared/DestinationSnowflakeOAuth20.md b/docs/models/shared/DestinationSnowflakeOAuth20.md new file mode 100644 index 000000000..4089d4de5 --- /dev/null +++ b/docs/models/shared/DestinationSnowflakeOAuth20.md @@ -0,0 +1,12 @@ +# DestinationSnowflakeOAuth20 + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Enter you application's Access Token | +| `authType` | [Optional](../../models/shared/DestinationSnowflakeSchemasAuthType.md) | :heavy_minus_sign: | N/A | +| `clientId` | *Optional* | :heavy_minus_sign: | Enter your application's Client ID | +| `clientSecret` | *Optional* | :heavy_minus_sign: | Enter your application's Client secret | +| `refreshToken` | *String* | :heavy_check_mark: | Enter your application's Refresh Token | \ No newline at end of file diff --git a/docs/models/shared/DestinationSnowflakeSchemasAuthType.md b/docs/models/shared/DestinationSnowflakeSchemasAuthType.md new file mode 100644 index 000000000..3d1da085d --- /dev/null +++ b/docs/models/shared/DestinationSnowflakeSchemasAuthType.md @@ -0,0 +1,8 @@ +# DestinationSnowflakeSchemasAuthType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `O_AUTH20` | OAuth2.0 | \ No newline at end of file diff --git a/docs/models/shared/DestinationSnowflakeSchemasCredentialsAuthType.md b/docs/models/shared/DestinationSnowflakeSchemasCredentialsAuthType.md new file mode 100644 index 000000000..b2fefb2f5 --- /dev/null +++ b/docs/models/shared/DestinationSnowflakeSchemasCredentialsAuthType.md @@ -0,0 +1,8 @@ +# DestinationSnowflakeSchemasCredentialsAuthType + + +## Values + +| Name | Value | +| ------------------------- | ------------------------- | +| `KEY_PAIR_AUTHENTICATION` | Key Pair Authentication | \ No newline at end of file diff --git a/docs/models/shared/DestinationSnowflakeSnowflake.md b/docs/models/shared/DestinationSnowflakeSnowflake.md new file mode 100644 index 000000000..5fc7b64db --- /dev/null +++ b/docs/models/shared/DestinationSnowflakeSnowflake.md @@ -0,0 +1,8 @@ +# DestinationSnowflakeSnowflake + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `SNOWFLAKE` | snowflake | \ No newline at end of file diff --git a/docs/models/shared/DestinationTeradata.md b/docs/models/shared/DestinationTeradata.md new file mode 100644 index 000000000..8e9256087 --- /dev/null +++ b/docs/models/shared/DestinationTeradata.md @@ -0,0 +1,15 @@ +# DestinationTeradata + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `destinationType` | [com.airbyte.api.models.shared.Teradata](../../models/shared/Teradata.md) | :heavy_check_mark: | N/A | | +| `host` | *String* | :heavy_check_mark: | Hostname of the database. | | +| `jdbcUrlParams` | *Optional* | :heavy_minus_sign: | Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). | | +| `password` | *Optional* | :heavy_minus_sign: | Password associated with the username. | | +| `schema` | *Optional* | :heavy_minus_sign: | The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". | airbyte_td | +| `ssl` | *Optional* | :heavy_minus_sign: | Encrypt data using SSL. When activating SSL, please select one of the connection modes. | | +| `sslMode` | [Optional](../../models/shared/DestinationTeradataSSLModes.md) | :heavy_minus_sign: | SSL connection modes.
    disable - Chose this mode to disable encryption of communication between Airbyte and destination database
    allow - Chose this mode to enable encryption only when required by the destination database
    prefer - Chose this mode to allow unencrypted connection only if the destination database does not support encryption
    require - Chose this mode to always require encryption. If the destination database server does not support encryption, connection will fail
    verify-ca - Chose this mode to always require encryption and to verify that the destination database server has a valid SSL certificate
    verify-full - This is the most secure mode. Chose this mode to always require encryption and to verify the identity of the destination database server
    See more information - in the docs. | | +| `username` | *String* | :heavy_check_mark: | Username to use to access the database. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationTeradataAllow.md b/docs/models/shared/DestinationTeradataAllow.md new file mode 100644 index 000000000..f0f60c5f2 --- /dev/null +++ b/docs/models/shared/DestinationTeradataAllow.md @@ -0,0 +1,10 @@ +# DestinationTeradataAllow + +Allow SSL mode. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationTeradataSchemasMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationTeradataDisable.md b/docs/models/shared/DestinationTeradataDisable.md new file mode 100644 index 000000000..1ba50fd69 --- /dev/null +++ b/docs/models/shared/DestinationTeradataDisable.md @@ -0,0 +1,10 @@ +# DestinationTeradataDisable + +Disable SSL. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationTeradataMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationTeradataMode.md b/docs/models/shared/DestinationTeradataMode.md new file mode 100644 index 000000000..4d5925963 --- /dev/null +++ b/docs/models/shared/DestinationTeradataMode.md @@ -0,0 +1,8 @@ +# DestinationTeradataMode + + +## Values + +| Name | Value | +| --------- | --------- | +| `DISABLE` | disable | \ No newline at end of file diff --git a/docs/models/shared/DestinationTeradataPrefer.md b/docs/models/shared/DestinationTeradataPrefer.md new file mode 100644 index 000000000..2a5e24774 --- /dev/null +++ b/docs/models/shared/DestinationTeradataPrefer.md @@ -0,0 +1,10 @@ +# DestinationTeradataPrefer + +Prefer SSL mode. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationTeradataSchemasSslModeMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationTeradataRequire.md b/docs/models/shared/DestinationTeradataRequire.md new file mode 100644 index 000000000..2f4e0696c --- /dev/null +++ b/docs/models/shared/DestinationTeradataRequire.md @@ -0,0 +1,10 @@ +# DestinationTeradataRequire + +Require SSL mode. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationTeradataSchemasSSLModeSSLModesMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationTeradataSSLModes.md b/docs/models/shared/DestinationTeradataSSLModes.md new file mode 100644 index 000000000..7fbbede4f --- /dev/null +++ b/docs/models/shared/DestinationTeradataSSLModes.md @@ -0,0 +1,11 @@ +# DestinationTeradataSSLModes + +SSL connection modes. + disable - Chose this mode to disable encryption of communication between Airbyte and destination database + allow - Chose this mode to enable encryption only when required by the destination database + prefer - Chose this mode to allow unencrypted connection only if the destination database does not support encryption + require - Chose this mode to always require encryption. If the destination database server does not support encryption, connection will fail + verify-ca - Chose this mode to always require encryption and to verify that the destination database server has a valid SSL certificate + verify-full - This is the most secure mode. Chose this mode to always require encryption and to verify the identity of the destination database server + See more information - in the docs. + diff --git a/docs/models/shared/DestinationTeradataSchemasMode.md b/docs/models/shared/DestinationTeradataSchemasMode.md new file mode 100644 index 000000000..2b0e05692 --- /dev/null +++ b/docs/models/shared/DestinationTeradataSchemasMode.md @@ -0,0 +1,8 @@ +# DestinationTeradataSchemasMode + + +## Values + +| Name | Value | +| ------- | ------- | +| `ALLOW` | allow | \ No newline at end of file diff --git a/docs/models/shared/DestinationTeradataSchemasSSLModeSSLModes5Mode.md b/docs/models/shared/DestinationTeradataSchemasSSLModeSSLModes5Mode.md new file mode 100644 index 000000000..40e6f4467 --- /dev/null +++ b/docs/models/shared/DestinationTeradataSchemasSSLModeSSLModes5Mode.md @@ -0,0 +1,8 @@ +# DestinationTeradataSchemasSSLModeSSLModes5Mode + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `VERIFY_CA` | verify-ca | \ No newline at end of file diff --git a/docs/models/shared/DestinationTeradataSchemasSSLModeSSLModes6Mode.md b/docs/models/shared/DestinationTeradataSchemasSSLModeSSLModes6Mode.md new file mode 100644 index 000000000..4b62311ba --- /dev/null +++ b/docs/models/shared/DestinationTeradataSchemasSSLModeSSLModes6Mode.md @@ -0,0 +1,8 @@ +# DestinationTeradataSchemasSSLModeSSLModes6Mode + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `VERIFY_FULL` | verify-full | \ No newline at end of file diff --git a/docs/models/shared/DestinationTeradataSchemasSSLModeSSLModesMode.md b/docs/models/shared/DestinationTeradataSchemasSSLModeSSLModesMode.md new file mode 100644 index 000000000..620be0f27 --- /dev/null +++ b/docs/models/shared/DestinationTeradataSchemasSSLModeSSLModesMode.md @@ -0,0 +1,8 @@ +# DestinationTeradataSchemasSSLModeSSLModesMode + + +## Values + +| Name | Value | +| --------- | --------- | +| `REQUIRE` | require | \ No newline at end of file diff --git a/docs/models/shared/DestinationTeradataSchemasSslModeMode.md b/docs/models/shared/DestinationTeradataSchemasSslModeMode.md new file mode 100644 index 000000000..1f934f8fd --- /dev/null +++ b/docs/models/shared/DestinationTeradataSchemasSslModeMode.md @@ -0,0 +1,8 @@ +# DestinationTeradataSchemasSslModeMode + + +## Values + +| Name | Value | +| -------- | -------- | +| `PREFER` | prefer | \ No newline at end of file diff --git a/docs/models/shared/DestinationTeradataVerifyCa.md b/docs/models/shared/DestinationTeradataVerifyCa.md new file mode 100644 index 000000000..e743684e9 --- /dev/null +++ b/docs/models/shared/DestinationTeradataVerifyCa.md @@ -0,0 +1,11 @@ +# DestinationTeradataVerifyCa + +Verify-ca SSL mode. + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationTeradataSchemasSSLModeSSLModes5Mode.md) | :heavy_minus_sign: | N/A | +| `sslCaCertificate` | *String* | :heavy_check_mark: | Specifies the file name of a PEM file that contains Certificate Authority (CA) certificates for use with SSLMODE=verify-ca.
    See more information - in the docs. | \ No newline at end of file diff --git a/docs/models/shared/DestinationTeradataVerifyFull.md b/docs/models/shared/DestinationTeradataVerifyFull.md new file mode 100644 index 000000000..404317587 --- /dev/null +++ b/docs/models/shared/DestinationTeradataVerifyFull.md @@ -0,0 +1,11 @@ +# DestinationTeradataVerifyFull + +Verify-full SSL mode. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `mode` | [Optional](../../models/shared/DestinationTeradataSchemasSSLModeSSLModes6Mode.md) | :heavy_minus_sign: | N/A | +| `sslCaCertificate` | *String* | :heavy_check_mark: | Specifies the file name of a PEM file that contains Certificate Authority (CA) certificates for use with SSLMODE=verify-full.
    See more information - in the docs. | \ No newline at end of file diff --git a/docs/models/shared/DestinationTypesense.md b/docs/models/shared/DestinationTypesense.md new file mode 100644 index 000000000..8b42ff378 --- /dev/null +++ b/docs/models/shared/DestinationTypesense.md @@ -0,0 +1,14 @@ +# DestinationTypesense + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Typesense API Key | +| `batchSize` | *Optional* | :heavy_minus_sign: | How many documents should be imported together. Default 1000 | +| `destinationType` | [com.airbyte.api.models.shared.Typesense](../../models/shared/Typesense.md) | :heavy_check_mark: | N/A | +| `host` | *String* | :heavy_check_mark: | Hostname of the Typesense instance without protocol. | +| `path` | *Optional* | :heavy_minus_sign: | Path of the Typesense instance. Default is none | +| `port` | *Optional* | :heavy_minus_sign: | Port of the Typesense instance. Ex: 8108, 80, 443. Default is 443 | +| `protocol` | *Optional* | :heavy_minus_sign: | Protocol of the Typesense instance. Ex: http or https. Default is https | \ No newline at end of file diff --git a/docs/models/shared/DestinationVectara.md b/docs/models/shared/DestinationVectara.md new file mode 100644 index 000000000..e0e007799 --- /dev/null +++ b/docs/models/shared/DestinationVectara.md @@ -0,0 +1,17 @@ +# DestinationVectara + +Configuration to connect to the Vectara instance + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `corpusName` | *String* | :heavy_check_mark: | The Name of Corpus to load data into | | +| `customerId` | *String* | :heavy_check_mark: | Your customer id as it is in the authenticaion url | | +| `destinationType` | [com.airbyte.api.models.shared.Vectara](../../models/shared/Vectara.md) | :heavy_check_mark: | N/A | | +| `metadataFields` | List<*String*> | :heavy_minus_sign: | List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. | age | +| `oauth2` | [com.airbyte.api.models.shared.OAuth20Credentials](../../models/shared/OAuth20Credentials.md) | :heavy_check_mark: | OAuth2.0 credentials used to authenticate admin actions (creating/deleting corpora) | | +| `parallelize` | *Optional* | :heavy_minus_sign: | Parallelize indexing into Vectara with multiple threads | | +| `textFields` | List<*String*> | :heavy_minus_sign: | List of fields in the record that should be in the section of the document. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. | text | +| `titleField` | *Optional* | :heavy_minus_sign: | A field that will be used to populate the `title` of each document. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. | document_key | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviate.md b/docs/models/shared/DestinationWeaviate.md new file mode 100644 index 000000000..bafd83430 --- /dev/null +++ b/docs/models/shared/DestinationWeaviate.md @@ -0,0 +1,23 @@ +# DestinationWeaviate + +The configuration model for the Vector DB based destinations. This model is used to generate the UI for the destination configuration, +as well as to provide type safety for the configuration passed to the destination. + +The configuration model is composed of four parts: +* Processing configuration +* Embedding configuration +* Indexing configuration +* Advanced configuration + +Processing, embedding and advanced configuration are provided by this base class, while the indexing configuration is provided by the destination connector in the sub class. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `destinationType` | [com.airbyte.api.models.shared.Weaviate](../../models/shared/Weaviate.md) | :heavy_check_mark: | N/A | +| `embedding` | [com.airbyte.api.models.shared.DestinationWeaviateEmbedding](../../models/shared/DestinationWeaviateEmbedding.md) | :heavy_check_mark: | Embedding configuration | +| `indexing` | [com.airbyte.api.models.shared.DestinationWeaviateIndexing](../../models/shared/DestinationWeaviateIndexing.md) | :heavy_check_mark: | Indexing configuration | +| `omitRawText` | *Optional* | :heavy_minus_sign: | Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. | +| `processing` | [com.airbyte.api.models.shared.DestinationWeaviateProcessingConfigModel](../../models/shared/DestinationWeaviateProcessingConfigModel.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateAPIToken.md b/docs/models/shared/DestinationWeaviateAPIToken.md new file mode 100644 index 000000000..143e673f5 --- /dev/null +++ b/docs/models/shared/DestinationWeaviateAPIToken.md @@ -0,0 +1,11 @@ +# DestinationWeaviateAPIToken + +Authenticate using an API token (suitable for Weaviate Cloud) + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationWeaviateSchemasIndexingMode.md) | :heavy_minus_sign: | N/A | +| `token` | *String* | :heavy_check_mark: | API Token for the Weaviate instance | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateAuthentication.md b/docs/models/shared/DestinationWeaviateAuthentication.md new file mode 100644 index 000000000..8ad3b53ad --- /dev/null +++ b/docs/models/shared/DestinationWeaviateAuthentication.md @@ -0,0 +1,4 @@ +# DestinationWeaviateAuthentication + +Authentication method + diff --git a/docs/models/shared/DestinationWeaviateAzureOpenAI.md b/docs/models/shared/DestinationWeaviateAzureOpenAI.md new file mode 100644 index 000000000..9cb7d05af --- /dev/null +++ b/docs/models/shared/DestinationWeaviateAzureOpenAI.md @@ -0,0 +1,13 @@ +# DestinationWeaviateAzureOpenAI + +Use the Azure-hosted OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `apiBase` | *String* | :heavy_check_mark: | The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource | https://your-resource-name.openai.azure.com | +| `deployment` | *String* | :heavy_check_mark: | The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource | your-resource-name | +| `mode` | [Optional](../../models/shared/DestinationWeaviateSchemasMode.md) | :heavy_minus_sign: | N/A | | +| `openaiKey` | *String* | :heavy_check_mark: | The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource | | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateByMarkdownHeader.md b/docs/models/shared/DestinationWeaviateByMarkdownHeader.md new file mode 100644 index 000000000..b7be22269 --- /dev/null +++ b/docs/models/shared/DestinationWeaviateByMarkdownHeader.md @@ -0,0 +1,11 @@ +# DestinationWeaviateByMarkdownHeader + +Split the text by Markdown headers down to the specified header level. If the chunk size fits multiple sections, they will be combined into a single chunk. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationWeaviateSchemasProcessingTextSplitterMode.md) | :heavy_minus_sign: | N/A | +| `splitLevel` | *Optional* | :heavy_minus_sign: | Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateByProgrammingLanguage.md b/docs/models/shared/DestinationWeaviateByProgrammingLanguage.md new file mode 100644 index 000000000..83ede9ac9 --- /dev/null +++ b/docs/models/shared/DestinationWeaviateByProgrammingLanguage.md @@ -0,0 +1,11 @@ +# DestinationWeaviateByProgrammingLanguage + +Split the text by suitable delimiters based on the programming language. This is useful for splitting code into chunks. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `language` | [com.airbyte.api.models.shared.DestinationWeaviateLanguage](../../models/shared/DestinationWeaviateLanguage.md) | :heavy_check_mark: | Split code in suitable places based on the programming language | +| `mode` | [Optional](../../models/shared/DestinationWeaviateSchemasProcessingTextSplitterTextSplitterMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateBySeparator.md b/docs/models/shared/DestinationWeaviateBySeparator.md new file mode 100644 index 000000000..81201fff4 --- /dev/null +++ b/docs/models/shared/DestinationWeaviateBySeparator.md @@ -0,0 +1,12 @@ +# DestinationWeaviateBySeparator + +Split the text by the list of separators until the chunk size is reached, using the earlier mentioned separators where possible. This is useful for splitting text fields by paragraphs, sentences, words, etc. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `keepSeparator` | *Optional* | :heavy_minus_sign: | Whether to keep the separator in the resulting chunks | +| `mode` | [Optional](../../models/shared/DestinationWeaviateSchemasProcessingMode.md) | :heavy_minus_sign: | N/A | +| `separators` | List<*String*> | :heavy_minus_sign: | List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateCohere.md b/docs/models/shared/DestinationWeaviateCohere.md new file mode 100644 index 000000000..204dbb7ef --- /dev/null +++ b/docs/models/shared/DestinationWeaviateCohere.md @@ -0,0 +1,11 @@ +# DestinationWeaviateCohere + +Use the Cohere API to embed text. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `cohereKey` | *String* | :heavy_check_mark: | N/A | +| `mode` | [Optional](../../models/shared/DestinationWeaviateSchemasEmbeddingEmbeddingMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateEmbedding.md b/docs/models/shared/DestinationWeaviateEmbedding.md new file mode 100644 index 000000000..0adfc74b0 --- /dev/null +++ b/docs/models/shared/DestinationWeaviateEmbedding.md @@ -0,0 +1,4 @@ +# DestinationWeaviateEmbedding + +Embedding configuration + diff --git a/docs/models/shared/DestinationWeaviateFake.md b/docs/models/shared/DestinationWeaviateFake.md new file mode 100644 index 000000000..8a5e7cfe5 --- /dev/null +++ b/docs/models/shared/DestinationWeaviateFake.md @@ -0,0 +1,10 @@ +# DestinationWeaviateFake + +Use a fake embedding made out of random vectors with 1536 embedding dimensions. This is useful for testing the data pipeline without incurring any costs. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationWeaviateSchemasEmbeddingEmbedding6Mode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateFieldNameMappingConfigModel.md b/docs/models/shared/DestinationWeaviateFieldNameMappingConfigModel.md new file mode 100644 index 000000000..7ddb7fb7f --- /dev/null +++ b/docs/models/shared/DestinationWeaviateFieldNameMappingConfigModel.md @@ -0,0 +1,9 @@ +# DestinationWeaviateFieldNameMappingConfigModel + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `fromField` | *String* | :heavy_check_mark: | The field name in the source | +| `toField` | *String* | :heavy_check_mark: | The field name to use in the destination | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateIndexing.md b/docs/models/shared/DestinationWeaviateIndexing.md new file mode 100644 index 000000000..60a2e8c4d --- /dev/null +++ b/docs/models/shared/DestinationWeaviateIndexing.md @@ -0,0 +1,16 @@ +# DestinationWeaviateIndexing + +Indexing configuration + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `additionalHeaders` | List<[com.airbyte.api.models.shared.Header](../../models/shared/Header.md)> | :heavy_minus_sign: | Additional HTTP headers to send with every request. | {
    "header_key": "X-OpenAI-Api-Key",
    "value": "my-openai-api-key"
    } | +| `auth` | [com.airbyte.api.models.shared.DestinationWeaviateAuthentication](../../models/shared/DestinationWeaviateAuthentication.md) | :heavy_check_mark: | Authentication method | | +| `batchSize` | *Optional* | :heavy_minus_sign: | The number of records to send to Weaviate in each batch | | +| `defaultVectorizer` | [Optional](../../models/shared/DefaultVectorizer.md) | :heavy_minus_sign: | The vectorizer to use if new classes need to be created | | +| `host` | *String* | :heavy_check_mark: | The public endpoint of the Weaviate cluster. | https://my-cluster.weaviate.network | +| `tenantId` | *Optional* | :heavy_minus_sign: | The tenant ID to use for multi tenancy | | +| `textField` | *Optional* | :heavy_minus_sign: | The field in the object that contains the embedded text | | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateLanguage.md b/docs/models/shared/DestinationWeaviateLanguage.md new file mode 100644 index 000000000..e9fc9bd7d --- /dev/null +++ b/docs/models/shared/DestinationWeaviateLanguage.md @@ -0,0 +1,25 @@ +# DestinationWeaviateLanguage + +Split code in suitable places based on the programming language + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `CPP` | cpp | +| `GO` | go | +| `JAVA` | java | +| `JS` | js | +| `PHP` | php | +| `PROTO` | proto | +| `PYTHON` | python | +| `RST` | rst | +| `RUBY` | ruby | +| `RUST` | rust | +| `SCALA` | scala | +| `SWIFT` | swift | +| `MARKDOWN` | markdown | +| `LATEX` | latex | +| `HTML` | html | +| `SOL` | sol | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateMode.md b/docs/models/shared/DestinationWeaviateMode.md new file mode 100644 index 000000000..7eb197ac7 --- /dev/null +++ b/docs/models/shared/DestinationWeaviateMode.md @@ -0,0 +1,8 @@ +# DestinationWeaviateMode + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `NO_EMBEDDING` | no_embedding | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateOpenAI.md b/docs/models/shared/DestinationWeaviateOpenAI.md new file mode 100644 index 000000000..8986dab6d --- /dev/null +++ b/docs/models/shared/DestinationWeaviateOpenAI.md @@ -0,0 +1,11 @@ +# DestinationWeaviateOpenAI + +Use the OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationWeaviateSchemasEmbeddingMode.md) | :heavy_minus_sign: | N/A | +| `openaiKey` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateOpenAICompatible.md b/docs/models/shared/DestinationWeaviateOpenAICompatible.md new file mode 100644 index 000000000..4e3c8afc1 --- /dev/null +++ b/docs/models/shared/DestinationWeaviateOpenAICompatible.md @@ -0,0 +1,14 @@ +# DestinationWeaviateOpenAICompatible + +Use a service that's compatible with the OpenAI API to embed text. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *Optional* | :heavy_minus_sign: | N/A | | +| `baseUrl` | *String* | :heavy_check_mark: | The base URL for your OpenAI-compatible service | https://your-service-name.com | +| `dimensions` | *long* | :heavy_check_mark: | The number of dimensions the embedding model is generating | 1536 | +| `mode` | [Optional](../../models/shared/DestinationWeaviateSchemasEmbeddingEmbedding7Mode.md) | :heavy_minus_sign: | N/A | | +| `modelName` | *Optional* | :heavy_minus_sign: | The name of the model to use for embedding | text-embedding-ada-002 | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateProcessingConfigModel.md b/docs/models/shared/DestinationWeaviateProcessingConfigModel.md new file mode 100644 index 000000000..ec52de8ea --- /dev/null +++ b/docs/models/shared/DestinationWeaviateProcessingConfigModel.md @@ -0,0 +1,13 @@ +# DestinationWeaviateProcessingConfigModel + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `chunkOverlap` | *Optional* | :heavy_minus_sign: | Size of overlap between chunks in tokens to store in vector store to better capture relevant context | | +| `chunkSize` | *long* | :heavy_check_mark: | Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) | | +| `fieldNameMappings` | List<[com.airbyte.api.models.shared.DestinationWeaviateFieldNameMappingConfigModel](../../models/shared/DestinationWeaviateFieldNameMappingConfigModel.md)> | :heavy_minus_sign: | List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. | | +| `metadataFields` | List<*String*> | :heavy_minus_sign: | List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. | age | +| `textFields` | List<*String*> | :heavy_minus_sign: | List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. | text | +| `textSplitter` | [Optional](../../models/shared/DestinationWeaviateTextSplitter.md) | :heavy_minus_sign: | Split text fields into chunks based on the specified method. | | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding5Mode.md b/docs/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding5Mode.md new file mode 100644 index 000000000..f132dc8e7 --- /dev/null +++ b/docs/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding5Mode.md @@ -0,0 +1,8 @@ +# DestinationWeaviateSchemasEmbeddingEmbedding5Mode + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `FROM_FIELD` | from_field | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding6Mode.md b/docs/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding6Mode.md new file mode 100644 index 000000000..60f38acfa --- /dev/null +++ b/docs/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding6Mode.md @@ -0,0 +1,8 @@ +# DestinationWeaviateSchemasEmbeddingEmbedding6Mode + + +## Values + +| Name | Value | +| ------ | ------ | +| `FAKE` | fake | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding7Mode.md b/docs/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding7Mode.md new file mode 100644 index 000000000..cb17a39fa --- /dev/null +++ b/docs/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding7Mode.md @@ -0,0 +1,8 @@ +# DestinationWeaviateSchemasEmbeddingEmbedding7Mode + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `OPENAI_COMPATIBLE` | openai_compatible | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateSchemasEmbeddingEmbeddingMode.md b/docs/models/shared/DestinationWeaviateSchemasEmbeddingEmbeddingMode.md new file mode 100644 index 000000000..5e3b2f99b --- /dev/null +++ b/docs/models/shared/DestinationWeaviateSchemasEmbeddingEmbeddingMode.md @@ -0,0 +1,8 @@ +# DestinationWeaviateSchemasEmbeddingEmbeddingMode + + +## Values + +| Name | Value | +| -------- | -------- | +| `COHERE` | cohere | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateSchemasEmbeddingMode.md b/docs/models/shared/DestinationWeaviateSchemasEmbeddingMode.md new file mode 100644 index 000000000..4bc8f4786 --- /dev/null +++ b/docs/models/shared/DestinationWeaviateSchemasEmbeddingMode.md @@ -0,0 +1,8 @@ +# DestinationWeaviateSchemasEmbeddingMode + + +## Values + +| Name | Value | +| -------- | -------- | +| `OPENAI` | openai | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateSchemasIndexingAuthAuthenticationMode.md b/docs/models/shared/DestinationWeaviateSchemasIndexingAuthAuthenticationMode.md new file mode 100644 index 000000000..b5ba340a7 --- /dev/null +++ b/docs/models/shared/DestinationWeaviateSchemasIndexingAuthAuthenticationMode.md @@ -0,0 +1,8 @@ +# DestinationWeaviateSchemasIndexingAuthAuthenticationMode + + +## Values + +| Name | Value | +| --------- | --------- | +| `NO_AUTH` | no_auth | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateSchemasIndexingAuthMode.md b/docs/models/shared/DestinationWeaviateSchemasIndexingAuthMode.md new file mode 100644 index 000000000..55665da85 --- /dev/null +++ b/docs/models/shared/DestinationWeaviateSchemasIndexingAuthMode.md @@ -0,0 +1,8 @@ +# DestinationWeaviateSchemasIndexingAuthMode + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `USERNAME_PASSWORD` | username_password | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateSchemasIndexingMode.md b/docs/models/shared/DestinationWeaviateSchemasIndexingMode.md new file mode 100644 index 000000000..308bbf1b2 --- /dev/null +++ b/docs/models/shared/DestinationWeaviateSchemasIndexingMode.md @@ -0,0 +1,8 @@ +# DestinationWeaviateSchemasIndexingMode + + +## Values + +| Name | Value | +| ------- | ------- | +| `TOKEN` | token | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateSchemasMode.md b/docs/models/shared/DestinationWeaviateSchemasMode.md new file mode 100644 index 000000000..843e13c94 --- /dev/null +++ b/docs/models/shared/DestinationWeaviateSchemasMode.md @@ -0,0 +1,8 @@ +# DestinationWeaviateSchemasMode + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `AZURE_OPENAI` | azure_openai | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateSchemasProcessingMode.md b/docs/models/shared/DestinationWeaviateSchemasProcessingMode.md new file mode 100644 index 000000000..7bdf9f7dd --- /dev/null +++ b/docs/models/shared/DestinationWeaviateSchemasProcessingMode.md @@ -0,0 +1,8 @@ +# DestinationWeaviateSchemasProcessingMode + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `SEPARATOR` | separator | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateSchemasProcessingTextSplitterMode.md b/docs/models/shared/DestinationWeaviateSchemasProcessingTextSplitterMode.md new file mode 100644 index 000000000..e92d9b49a --- /dev/null +++ b/docs/models/shared/DestinationWeaviateSchemasProcessingTextSplitterMode.md @@ -0,0 +1,8 @@ +# DestinationWeaviateSchemasProcessingTextSplitterMode + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `MARKDOWN` | markdown | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateSchemasProcessingTextSplitterTextSplitterMode.md b/docs/models/shared/DestinationWeaviateSchemasProcessingTextSplitterTextSplitterMode.md new file mode 100644 index 000000000..f7cc3e074 --- /dev/null +++ b/docs/models/shared/DestinationWeaviateSchemasProcessingTextSplitterTextSplitterMode.md @@ -0,0 +1,8 @@ +# DestinationWeaviateSchemasProcessingTextSplitterTextSplitterMode + + +## Values + +| Name | Value | +| ------ | ------ | +| `CODE` | code | \ No newline at end of file diff --git a/docs/models/shared/DestinationWeaviateTextSplitter.md b/docs/models/shared/DestinationWeaviateTextSplitter.md new file mode 100644 index 000000000..bf6f2c183 --- /dev/null +++ b/docs/models/shared/DestinationWeaviateTextSplitter.md @@ -0,0 +1,4 @@ +# DestinationWeaviateTextSplitter + +Split text fields into chunks based on the specified method. + diff --git a/docs/models/shared/DestinationWeaviateUsernamePassword.md b/docs/models/shared/DestinationWeaviateUsernamePassword.md new file mode 100644 index 000000000..db0b7fb4d --- /dev/null +++ b/docs/models/shared/DestinationWeaviateUsernamePassword.md @@ -0,0 +1,12 @@ +# DestinationWeaviateUsernamePassword + +Authenticate using username and password (suitable for self-managed Weaviate clusters) + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationWeaviateSchemasIndexingAuthMode.md) | :heavy_minus_sign: | N/A | +| `password` | *String* | :heavy_check_mark: | Password for the Weaviate cluster | +| `username` | *String* | :heavy_check_mark: | Username for the Weaviate cluster | \ No newline at end of file diff --git a/docs/models/shared/DestinationsResponse.md b/docs/models/shared/DestinationsResponse.md index f230464a9..d2b57ae21 100644 --- a/docs/models/shared/DestinationsResponse.md +++ b/docs/models/shared/DestinationsResponse.md @@ -6,5 +6,5 @@ | Field | Type | Required | Description | | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | | `data` | List<[com.airbyte.api.models.shared.DestinationResponse](../../models/shared/DestinationResponse.md)> | :heavy_check_mark: | N/A | -| `next` | *String* | :heavy_minus_sign: | N/A | -| `previous` | *String* | :heavy_minus_sign: | N/A | \ No newline at end of file +| `next` | *Optional* | :heavy_minus_sign: | N/A | +| `previous` | *Optional* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DetailType.md b/docs/models/shared/DetailType.md new file mode 100644 index 000000000..677fc1b0b --- /dev/null +++ b/docs/models/shared/DetailType.md @@ -0,0 +1,11 @@ +# DetailType + +Select the granularity of the information about each item. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `SIMPLE` | simple | +| `COMPLETE` | complete | \ No newline at end of file diff --git a/docs/models/shared/DetectChangesWithXminSystemColumn.md b/docs/models/shared/DetectChangesWithXminSystemColumn.md new file mode 100644 index 000000000..81d975c48 --- /dev/null +++ b/docs/models/shared/DetectChangesWithXminSystemColumn.md @@ -0,0 +1,10 @@ +# DetectChangesWithXminSystemColumn + +Recommended - Incrementally reads new inserts and updates via Postgres Xmin system column. Only recommended for tables up to 500GB. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `method` | [com.airbyte.api.models.shared.SourcePostgresMethod](../../models/shared/SourcePostgresMethod.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DevNull.md b/docs/models/shared/DevNull.md new file mode 100644 index 000000000..4b1d8ea4a --- /dev/null +++ b/docs/models/shared/DevNull.md @@ -0,0 +1,8 @@ +# DevNull + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `DEV_NULL` | dev-null | \ No newline at end of file diff --git a/docs/models/shared/Dimension.md b/docs/models/shared/Dimension.md new file mode 100644 index 000000000..05a6f6052 --- /dev/null +++ b/docs/models/shared/Dimension.md @@ -0,0 +1,10 @@ +# Dimension + +Dimension used by the cohort. Required and only supports `firstSessionDate` + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `FIRST_SESSION_DATE` | firstSessionDate | \ No newline at end of file diff --git a/docs/models/shared/DimensionsFilter.md b/docs/models/shared/DimensionsFilter.md new file mode 100644 index 000000000..4278bc955 --- /dev/null +++ b/docs/models/shared/DimensionsFilter.md @@ -0,0 +1,4 @@ +# DimensionsFilter + +Dimensions filter + diff --git a/docs/models/shared/Disable.md b/docs/models/shared/Disable.md new file mode 100644 index 000000000..b6e34497a --- /dev/null +++ b/docs/models/shared/Disable.md @@ -0,0 +1,10 @@ +# Disable + +Disable SSL. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/Mode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Disabled.md b/docs/models/shared/Disabled.md new file mode 100644 index 000000000..006259f3f --- /dev/null +++ b/docs/models/shared/Disabled.md @@ -0,0 +1,8 @@ +# Disabled + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `deletionMode` | [com.airbyte.api.models.shared.SourceFaunaDeletionMode](../../models/shared/SourceFaunaDeletionMode.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/DistanceMetric.md b/docs/models/shared/DistanceMetric.md new file mode 100644 index 000000000..587a12918 --- /dev/null +++ b/docs/models/shared/DistanceMetric.md @@ -0,0 +1,12 @@ +# DistanceMetric + +The Distance metric used to measure similarities among vectors. This field is only used if the collection defined in the does not exist yet and is created automatically by the connector. + + +## Values + +| Name | Value | +| ----- | ----- | +| `DOT` | dot | +| `COS` | cos | +| `EUC` | euc | \ No newline at end of file diff --git a/docs/models/shared/Dixa.md b/docs/models/shared/Dixa.md new file mode 100644 index 000000000..6b3926ca5 --- /dev/null +++ b/docs/models/shared/Dixa.md @@ -0,0 +1,8 @@ +# Dixa + + +## Values + +| Name | Value | +| ------ | ------ | +| `DIXA` | dixa | \ No newline at end of file diff --git a/docs/models/shared/DocArrayHnswSearch.md b/docs/models/shared/DocArrayHnswSearch.md new file mode 100644 index 000000000..544111f0b --- /dev/null +++ b/docs/models/shared/DocArrayHnswSearch.md @@ -0,0 +1,11 @@ +# DocArrayHnswSearch + +DocArrayHnswSearch is a lightweight Document Index implementation provided by Docarray that runs fully locally and is best suited for small- to medium-sized datasets. It stores vectors on disk in hnswlib, and stores all other data in SQLite. + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `destinationPath` | *String* | :heavy_check_mark: | Path to the directory where hnswlib and meta data files will be written. The files will be placed inside that local mount. All files in the specified destination directory will be deleted on each run. | /local/my_hnswlib_index | +| `mode` | [Optional](../../models/shared/DestinationLangchainSchemasIndexingIndexingMode.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/Dockerhub.md b/docs/models/shared/Dockerhub.md new file mode 100644 index 000000000..02d32a561 --- /dev/null +++ b/docs/models/shared/Dockerhub.md @@ -0,0 +1,8 @@ +# Dockerhub + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `DOCKERHUB` | dockerhub | \ No newline at end of file diff --git a/docs/models/shared/DocumentFileTypeFormatExperimental.md b/docs/models/shared/DocumentFileTypeFormatExperimental.md new file mode 100644 index 000000000..804b44aa1 --- /dev/null +++ b/docs/models/shared/DocumentFileTypeFormatExperimental.md @@ -0,0 +1,13 @@ +# DocumentFileTypeFormatExperimental + +Extract text from document formats (.pdf, .docx, .md, .pptx) and emit as one record per file. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filetype` | [Optional](../../models/shared/SourceAzureBlobStorageSchemasStreamsFormatFiletype.md) | :heavy_minus_sign: | N/A | +| `processing` | [Optional](../../models/shared/Processing.md) | :heavy_minus_sign: | Processing configuration | +| `skipUnprocessableFiles` | *Optional* | :heavy_minus_sign: | If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. | +| `strategy` | [Optional](../../models/shared/ParsingStrategy.md) | :heavy_minus_sign: | The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf | \ No newline at end of file diff --git a/docs/models/shared/DoubleValue.md b/docs/models/shared/DoubleValue.md new file mode 100644 index 000000000..f8d95b55a --- /dev/null +++ b/docs/models/shared/DoubleValue.md @@ -0,0 +1,9 @@ +# DoubleValue + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiValueType](../../models/shared/SourceGoogleAnalyticsDataApiValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Dremio.md b/docs/models/shared/Dremio.md new file mode 100644 index 000000000..f81178755 --- /dev/null +++ b/docs/models/shared/Dremio.md @@ -0,0 +1,8 @@ +# Dremio + + +## Values + +| Name | Value | +| -------- | -------- | +| `DREMIO` | dremio | \ No newline at end of file diff --git a/docs/models/shared/Duckdb.md b/docs/models/shared/Duckdb.md new file mode 100644 index 000000000..9f7ee42ba --- /dev/null +++ b/docs/models/shared/Duckdb.md @@ -0,0 +1,8 @@ +# Duckdb + + +## Values + +| Name | Value | +| -------- | -------- | +| `DUCKDB` | duckdb | \ No newline at end of file diff --git a/docs/models/shared/DynamoDBRegion.md b/docs/models/shared/DynamoDBRegion.md new file mode 100644 index 000000000..8edcad69a --- /dev/null +++ b/docs/models/shared/DynamoDBRegion.md @@ -0,0 +1,43 @@ +# DynamoDBRegion + +The region of the DynamoDB. + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `UNKNOWN` | | +| `AF_SOUTH1` | af-south-1 | +| `AP_EAST1` | ap-east-1 | +| `AP_NORTHEAST1` | ap-northeast-1 | +| `AP_NORTHEAST2` | ap-northeast-2 | +| `AP_NORTHEAST3` | ap-northeast-3 | +| `AP_SOUTH1` | ap-south-1 | +| `AP_SOUTH2` | ap-south-2 | +| `AP_SOUTHEAST1` | ap-southeast-1 | +| `AP_SOUTHEAST2` | ap-southeast-2 | +| `AP_SOUTHEAST3` | ap-southeast-3 | +| `AP_SOUTHEAST4` | ap-southeast-4 | +| `CA_CENTRAL1` | ca-central-1 | +| `CA_WEST1` | ca-west-1 | +| `CN_NORTH1` | cn-north-1 | +| `CN_NORTHWEST1` | cn-northwest-1 | +| `EU_CENTRAL1` | eu-central-1 | +| `EU_CENTRAL2` | eu-central-2 | +| `EU_NORTH1` | eu-north-1 | +| `EU_SOUTH1` | eu-south-1 | +| `EU_SOUTH2` | eu-south-2 | +| `EU_WEST1` | eu-west-1 | +| `EU_WEST2` | eu-west-2 | +| `EU_WEST3` | eu-west-3 | +| `IL_CENTRAL1` | il-central-1 | +| `ME_CENTRAL1` | me-central-1 | +| `ME_SOUTH1` | me-south-1 | +| `SA_EAST1` | sa-east-1 | +| `US_EAST1` | us-east-1 | +| `US_EAST2` | us-east-2 | +| `US_GOV_EAST1` | us-gov-east-1 | +| `US_GOV_WEST1` | us-gov-west-1 | +| `US_WEST1` | us-west-1 | +| `US_WEST2` | us-west-2 | \ No newline at end of file diff --git a/docs/models/shared/Dynamodb.md b/docs/models/shared/Dynamodb.md new file mode 100644 index 000000000..58f01eb49 --- /dev/null +++ b/docs/models/shared/Dynamodb.md @@ -0,0 +1,8 @@ +# Dynamodb + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `DYNAMODB` | dynamodb | \ No newline at end of file diff --git a/docs/models/shared/EUBasedAccount.md b/docs/models/shared/EUBasedAccount.md new file mode 100644 index 000000000..446057163 --- /dev/null +++ b/docs/models/shared/EUBasedAccount.md @@ -0,0 +1,8 @@ +# EUBasedAccount + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `urlBase` | [Optional](../../models/shared/UrlBase.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Elasticsearch.md b/docs/models/shared/Elasticsearch.md new file mode 100644 index 000000000..0a4ad2e19 --- /dev/null +++ b/docs/models/shared/Elasticsearch.md @@ -0,0 +1,8 @@ +# Elasticsearch + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `ELASTICSEARCH` | elasticsearch | \ No newline at end of file diff --git a/docs/models/shared/Emailoctopus.md b/docs/models/shared/Emailoctopus.md new file mode 100644 index 000000000..e9caadcc6 --- /dev/null +++ b/docs/models/shared/Emailoctopus.md @@ -0,0 +1,8 @@ +# Emailoctopus + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `EMAILOCTOPUS` | emailoctopus | \ No newline at end of file diff --git a/docs/models/shared/Embedding.md b/docs/models/shared/Embedding.md new file mode 100644 index 000000000..8e1c83dec --- /dev/null +++ b/docs/models/shared/Embedding.md @@ -0,0 +1,4 @@ +# Embedding + +Embedding configuration + diff --git a/docs/models/shared/Enabled.md b/docs/models/shared/Enabled.md new file mode 100644 index 000000000..fc3650807 --- /dev/null +++ b/docs/models/shared/Enabled.md @@ -0,0 +1,9 @@ +# Enabled + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `column` | *Optional* | :heavy_minus_sign: | Name of the "deleted at" column. | +| `deletionMode` | [com.airbyte.api.models.shared.SourceFaunaSchemasDeletionMode](../../models/shared/SourceFaunaSchemasDeletionMode.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/EncryptedTrustServerCertificate.md b/docs/models/shared/EncryptedTrustServerCertificate.md new file mode 100644 index 000000000..d58b6d00c --- /dev/null +++ b/docs/models/shared/EncryptedTrustServerCertificate.md @@ -0,0 +1,10 @@ +# EncryptedTrustServerCertificate + +Use the certificate provided by the server without verification. (For testing purposes only!) + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `sslMethod` | [Optional](../../models/shared/DestinationMssqlSslMethod.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/EncryptedVerifyCertificate.md b/docs/models/shared/EncryptedVerifyCertificate.md new file mode 100644 index 000000000..103f66dcd --- /dev/null +++ b/docs/models/shared/EncryptedVerifyCertificate.md @@ -0,0 +1,11 @@ +# EncryptedVerifyCertificate + +Verify and use the certificate provided by the server. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `hostNameInCertificate` | *Optional* | :heavy_minus_sign: | Specifies the host name of the server. The value of this property must match the subject property of the certificate. | +| `sslMethod` | [Optional](../../models/shared/DestinationMssqlSchemasSslMethod.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Encryption.md b/docs/models/shared/Encryption.md new file mode 100644 index 000000000..dbc59de5f --- /dev/null +++ b/docs/models/shared/Encryption.md @@ -0,0 +1,4 @@ +# Encryption + +The encryption method with is used when communicating with the database. + diff --git a/docs/models/shared/EncryptionAlgorithm.md b/docs/models/shared/EncryptionAlgorithm.md new file mode 100644 index 000000000..f8187a778 --- /dev/null +++ b/docs/models/shared/EncryptionAlgorithm.md @@ -0,0 +1,12 @@ +# EncryptionAlgorithm + +This parameter defines what encryption algorithm is used. + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `AES256` | AES256 | +| `RC456` | RC4_56 | +| `THREE_DES168` | 3DES168 | \ No newline at end of file diff --git a/docs/models/shared/EncryptionMethod.md b/docs/models/shared/EncryptionMethod.md new file mode 100644 index 000000000..cef120384 --- /dev/null +++ b/docs/models/shared/EncryptionMethod.md @@ -0,0 +1,8 @@ +# EncryptionMethod + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `CLIENT_NNE` | client_nne | \ No newline at end of file diff --git a/docs/models/shared/EncryptionType.md b/docs/models/shared/EncryptionType.md new file mode 100644 index 000000000..65b395567 --- /dev/null +++ b/docs/models/shared/EncryptionType.md @@ -0,0 +1,8 @@ +# EncryptionType + + +## Values + +| Name | Value | +| ------ | ------ | +| `NONE` | none | \ No newline at end of file diff --git a/docs/models/shared/EngagementWindowDays.md b/docs/models/shared/EngagementWindowDays.md new file mode 100644 index 000000000..3e30ab4db --- /dev/null +++ b/docs/models/shared/EngagementWindowDays.md @@ -0,0 +1,15 @@ +# EngagementWindowDays + +Number of days to use as the conversion attribution window for an engagement action. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `ZERO` | 0 | +| `ONE` | 1 | +| `SEVEN` | 7 | +| `FOURTEEN` | 14 | +| `THIRTY` | 30 | +| `SIXTY` | 60 | \ No newline at end of file diff --git a/docs/models/shared/Environment.md b/docs/models/shared/Environment.md new file mode 100644 index 000000000..4158acd63 --- /dev/null +++ b/docs/models/shared/Environment.md @@ -0,0 +1,12 @@ +# Environment + +The environment to use. Either sandbox or production. + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `SANDBOX` | sandbox | +| `PRODUCTION` | production | \ No newline at end of file diff --git a/docs/models/shared/ExchangeRates.md b/docs/models/shared/ExchangeRates.md new file mode 100644 index 000000000..a991b7fc7 --- /dev/null +++ b/docs/models/shared/ExchangeRates.md @@ -0,0 +1,8 @@ +# ExchangeRates + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `EXCHANGE_RATES` | exchange-rates | \ No newline at end of file diff --git a/docs/models/shared/Expression.md b/docs/models/shared/Expression.md new file mode 100644 index 000000000..93dfeba46 --- /dev/null +++ b/docs/models/shared/Expression.md @@ -0,0 +1,9 @@ +# Expression + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `fieldName` | *String* | :heavy_check_mark: | N/A | +| `filter` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/FacebookMarketing.md b/docs/models/shared/FacebookMarketing.md new file mode 100644 index 000000000..6cf552818 --- /dev/null +++ b/docs/models/shared/FacebookMarketing.md @@ -0,0 +1,9 @@ +# FacebookMarketing + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client Id for your OAuth app | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret for your OAuth app | \ No newline at end of file diff --git a/docs/models/shared/Fake.md b/docs/models/shared/Fake.md new file mode 100644 index 000000000..e86fb1c15 --- /dev/null +++ b/docs/models/shared/Fake.md @@ -0,0 +1,10 @@ +# Fake + +Use a fake embedding made out of random vectors with 1536 embedding dimensions. This is useful for testing the data pipeline without incurring any costs. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationAstraSchemasMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Faker.md b/docs/models/shared/Faker.md new file mode 100644 index 000000000..96c80a879 --- /dev/null +++ b/docs/models/shared/Faker.md @@ -0,0 +1,8 @@ +# Faker + + +## Values + +| Name | Value | +| ------- | ------- | +| `FAKER` | faker | \ No newline at end of file diff --git a/docs/models/shared/Fauna.md b/docs/models/shared/Fauna.md new file mode 100644 index 000000000..eabd6a6ba --- /dev/null +++ b/docs/models/shared/Fauna.md @@ -0,0 +1,8 @@ +# Fauna + + +## Values + +| Name | Value | +| ------- | ------- | +| `FAUNA` | fauna | \ No newline at end of file diff --git a/docs/models/shared/FieldNameMappingConfigModel.md b/docs/models/shared/FieldNameMappingConfigModel.md new file mode 100644 index 000000000..91cb079dc --- /dev/null +++ b/docs/models/shared/FieldNameMappingConfigModel.md @@ -0,0 +1,9 @@ +# FieldNameMappingConfigModel + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `fromField` | *String* | :heavy_check_mark: | The field name in the source | +| `toField` | *String* | :heavy_check_mark: | The field name to use in the destination | \ No newline at end of file diff --git a/docs/models/shared/File.md b/docs/models/shared/File.md new file mode 100644 index 000000000..c6751f227 --- /dev/null +++ b/docs/models/shared/File.md @@ -0,0 +1,8 @@ +# File + + +## Values + +| Name | Value | +| ------ | ------ | +| `FILE` | file | \ No newline at end of file diff --git a/docs/models/shared/FileBasedStreamConfig.md b/docs/models/shared/FileBasedStreamConfig.md new file mode 100644 index 000000000..3505baca9 --- /dev/null +++ b/docs/models/shared/FileBasedStreamConfig.md @@ -0,0 +1,16 @@ +# FileBasedStreamConfig + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `daysToSyncIfHistoryIsFull` | *Optional* | :heavy_minus_sign: | When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. | +| `format` | [com.airbyte.api.models.shared.Format](../../models/shared/Format.md) | :heavy_check_mark: | The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. | +| `globs` | List<*String*> | :heavy_minus_sign: | The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look here. | +| `inputSchema` | *Optional* | :heavy_minus_sign: | The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. | +| `legacyPrefix` | *Optional* | :heavy_minus_sign: | The path prefix configured in v3 versions of the S3 connector. This option is deprecated in favor of a single glob. | +| `name` | *String* | :heavy_check_mark: | The name of the stream. | +| `primaryKey` | *Optional* | :heavy_minus_sign: | The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. | +| `schemaless` | *Optional* | :heavy_minus_sign: | When enabled, syncs will not validate or structure records against the stream's schema. | +| `validationPolicy` | [Optional](../../models/shared/ValidationPolicy.md) | :heavy_minus_sign: | The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. | \ No newline at end of file diff --git a/docs/models/shared/FileFormat.md b/docs/models/shared/FileFormat.md new file mode 100644 index 000000000..6ba7f6b25 --- /dev/null +++ b/docs/models/shared/FileFormat.md @@ -0,0 +1,18 @@ +# FileFormat + +The Format of the file which should be replicated (Warning: some formats may be experimental, please refer to the docs). + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `CSV` | csv | +| `JSON` | json | +| `JSONL` | jsonl | +| `EXCEL` | excel | +| `EXCEL_BINARY` | excel_binary | +| `FWF` | fwf | +| `FEATHER` | feather | +| `PARQUET` | parquet | +| `YAML` | yaml | \ No newline at end of file diff --git a/docs/models/shared/FileType.md b/docs/models/shared/FileType.md new file mode 100644 index 000000000..927790b90 --- /dev/null +++ b/docs/models/shared/FileType.md @@ -0,0 +1,11 @@ +# FileType + +The file type you want to sync. Currently only 'csv' and 'json' files are supported. + + +## Values + +| Name | Value | +| ------ | ------ | +| `CSV` | csv | +| `JSON` | json | \ No newline at end of file diff --git a/docs/models/shared/Filter.md b/docs/models/shared/Filter.md new file mode 100644 index 000000000..22efe3c48 --- /dev/null +++ b/docs/models/shared/Filter.md @@ -0,0 +1,12 @@ +# Filter + +A primitive filter. In the same FilterExpression, all of the filter's field names need to be either all dimensions. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `fieldName` | *String* | :heavy_check_mark: | N/A | +| `filter` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasFilter](../../models/shared/SourceGoogleAnalyticsDataApiSchemasFilter.md) | :heavy_check_mark: | N/A | +| `filterType` | [Optional](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/FilterName.md b/docs/models/shared/FilterName.md new file mode 100644 index 000000000..877540016 --- /dev/null +++ b/docs/models/shared/FilterName.md @@ -0,0 +1,8 @@ +# FilterName + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `STRING_FILTER` | stringFilter | \ No newline at end of file diff --git a/docs/models/shared/FilterType.md b/docs/models/shared/FilterType.md new file mode 100644 index 000000000..3519f8871 --- /dev/null +++ b/docs/models/shared/FilterType.md @@ -0,0 +1,8 @@ +# FilterType + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `AND_GROUP` | andGroup | \ No newline at end of file diff --git a/docs/models/shared/Firebolt.md b/docs/models/shared/Firebolt.md new file mode 100644 index 000000000..c525c9086 --- /dev/null +++ b/docs/models/shared/Firebolt.md @@ -0,0 +1,8 @@ +# Firebolt + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `FIREBOLT` | firebolt | \ No newline at end of file diff --git a/docs/models/shared/Firestore.md b/docs/models/shared/Firestore.md new file mode 100644 index 000000000..8e7a137fc --- /dev/null +++ b/docs/models/shared/Firestore.md @@ -0,0 +1,8 @@ +# Firestore + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `FIRESTORE` | firestore | \ No newline at end of file diff --git a/docs/models/shared/Flattening.md b/docs/models/shared/Flattening.md new file mode 100644 index 000000000..d0897beeb --- /dev/null +++ b/docs/models/shared/Flattening.md @@ -0,0 +1,11 @@ +# Flattening + +Whether the input json data should be normalized (flattened) in the output JSON Lines. Please refer to docs for details. + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `NO_FLATTENING` | No flattening | +| `ROOT_LEVEL_FLATTENING` | Root level flattening | \ No newline at end of file diff --git a/docs/models/shared/Format.md b/docs/models/shared/Format.md new file mode 100644 index 000000000..11f3cf1ab --- /dev/null +++ b/docs/models/shared/Format.md @@ -0,0 +1,4 @@ +# Format + +The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + diff --git a/docs/models/shared/FormatType.md b/docs/models/shared/FormatType.md new file mode 100644 index 000000000..f6ce398f1 --- /dev/null +++ b/docs/models/shared/FormatType.md @@ -0,0 +1,8 @@ +# FormatType + + +## Values + +| Name | Value | +| ----- | ----- | +| `CSV` | CSV | \ No newline at end of file diff --git a/docs/models/shared/FormatTypeWildcard.md b/docs/models/shared/FormatTypeWildcard.md new file mode 100644 index 000000000..7d5eb24d4 --- /dev/null +++ b/docs/models/shared/FormatTypeWildcard.md @@ -0,0 +1,8 @@ +# FormatTypeWildcard + + +## Values + +| Name | Value | +| ------- | ------- | +| `JSONL` | JSONL | \ No newline at end of file diff --git a/docs/models/shared/Freshcaller.md b/docs/models/shared/Freshcaller.md new file mode 100644 index 000000000..b1a7c0151 --- /dev/null +++ b/docs/models/shared/Freshcaller.md @@ -0,0 +1,8 @@ +# Freshcaller + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `FRESHCALLER` | freshcaller | \ No newline at end of file diff --git a/docs/models/shared/Freshdesk.md b/docs/models/shared/Freshdesk.md new file mode 100644 index 000000000..0cc179385 --- /dev/null +++ b/docs/models/shared/Freshdesk.md @@ -0,0 +1,8 @@ +# Freshdesk + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `FRESHDESK` | freshdesk | \ No newline at end of file diff --git a/docs/models/shared/Freshsales.md b/docs/models/shared/Freshsales.md new file mode 100644 index 000000000..be9136a03 --- /dev/null +++ b/docs/models/shared/Freshsales.md @@ -0,0 +1,8 @@ +# Freshsales + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `FRESHSALES` | freshsales | \ No newline at end of file diff --git a/docs/models/shared/FromCSV.md b/docs/models/shared/FromCSV.md new file mode 100644 index 000000000..3fa0118a9 --- /dev/null +++ b/docs/models/shared/FromCSV.md @@ -0,0 +1,8 @@ +# FromCSV + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `headerDefinitionType` | [Optional](../../models/shared/HeaderDefinitionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/FromField.md b/docs/models/shared/FromField.md new file mode 100644 index 000000000..c98676c3f --- /dev/null +++ b/docs/models/shared/FromField.md @@ -0,0 +1,12 @@ +# FromField + +Use a field in the record as the embedding. This is useful if you already have an embedding for your data and want to store it in the vector store. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `dimensions` | *long* | :heavy_check_mark: | The number of dimensions the embedding model is generating | 1536 | +| `fieldName` | *String* | :heavy_check_mark: | Name of the field in the record that contains the embedding | embedding | +| `mode` | [Optional](../../models/shared/DestinationWeaviateSchemasEmbeddingEmbedding5Mode.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/FromValue.md b/docs/models/shared/FromValue.md new file mode 100644 index 000000000..455fa618d --- /dev/null +++ b/docs/models/shared/FromValue.md @@ -0,0 +1,2 @@ +# FromValue + diff --git a/docs/models/shared/GCSBucketRegion.md b/docs/models/shared/GCSBucketRegion.md new file mode 100644 index 000000000..95c75188b --- /dev/null +++ b/docs/models/shared/GCSBucketRegion.md @@ -0,0 +1,44 @@ +# GCSBucketRegion + +Select a Region of the GCS Bucket. Read more here. + + +## Values + +| Name | Value | +| ------------------------- | ------------------------- | +| `NORTHAMERICA_NORTHEAST1` | northamerica-northeast1 | +| `NORTHAMERICA_NORTHEAST2` | northamerica-northeast2 | +| `US_CENTRAL1` | us-central1 | +| `US_EAST1` | us-east1 | +| `US_EAST4` | us-east4 | +| `US_WEST1` | us-west1 | +| `US_WEST2` | us-west2 | +| `US_WEST3` | us-west3 | +| `US_WEST4` | us-west4 | +| `SOUTHAMERICA_EAST1` | southamerica-east1 | +| `SOUTHAMERICA_WEST1` | southamerica-west1 | +| `EUROPE_CENTRAL2` | europe-central2 | +| `EUROPE_NORTH1` | europe-north1 | +| `EUROPE_WEST1` | europe-west1 | +| `EUROPE_WEST2` | europe-west2 | +| `EUROPE_WEST3` | europe-west3 | +| `EUROPE_WEST4` | europe-west4 | +| `EUROPE_WEST6` | europe-west6 | +| `ASIA_EAST1` | asia-east1 | +| `ASIA_EAST2` | asia-east2 | +| `ASIA_NORTHEAST1` | asia-northeast1 | +| `ASIA_NORTHEAST2` | asia-northeast2 | +| `ASIA_NORTHEAST3` | asia-northeast3 | +| `ASIA_SOUTH1` | asia-south1 | +| `ASIA_SOUTH2` | asia-south2 | +| `ASIA_SOUTHEAST1` | asia-southeast1 | +| `ASIA_SOUTHEAST2` | asia-southeast2 | +| `AUSTRALIA_SOUTHEAST1` | australia-southeast1 | +| `AUSTRALIA_SOUTHEAST2` | australia-southeast2 | +| `ASIA` | asia | +| `EU` | eu | +| `US` | us | +| `ASIA1` | asia1 | +| `EUR4` | eur4 | +| `NAM4` | nam4 | \ No newline at end of file diff --git a/docs/models/shared/GCSGoogleCloudStorage.md b/docs/models/shared/GCSGoogleCloudStorage.md new file mode 100644 index 000000000..24fcb3a82 --- /dev/null +++ b/docs/models/shared/GCSGoogleCloudStorage.md @@ -0,0 +1,9 @@ +# GCSGoogleCloudStorage + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `serviceAccountJson` | *Optional* | :heavy_minus_sign: | In order to access private Buckets stored on Google Cloud, this connector would need a service account json credentials with the proper permissions as described here. Please generate the credentials.json file and copy/paste its content to this field (expecting JSON formats). If accessing publicly available data, this field is not necessary. | +| `storage` | [com.airbyte.api.models.shared.SourceFileStorage](../../models/shared/SourceFileStorage.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/GCSStaging.md b/docs/models/shared/GCSStaging.md new file mode 100644 index 000000000..c17412bf1 --- /dev/null +++ b/docs/models/shared/GCSStaging.md @@ -0,0 +1,14 @@ +# GCSStaging + +(recommended) Writes large batches of records to a file, uploads the file to GCS, then uses COPY INTO to load your data into BigQuery. Provides best-in-class speed, reliability and scalability. Read more about GCS Staging here. + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credential` | [com.airbyte.api.models.shared.Credential](../../models/shared/Credential.md) | :heavy_check_mark: | An HMAC key is a type of credential and can be associated with a service account or a user account in Cloud Storage. Read more here. | | +| `gcsBucketName` | *String* | :heavy_check_mark: | The name of the GCS bucket. Read more here. | airbyte_sync | +| `gcsBucketPath` | *String* | :heavy_check_mark: | Directory under the GCS bucket where data will be written. | data_sync/test | +| `keepFilesInGcsBucket` | [Optional](../../models/shared/GCSTmpFilesAfterwardProcessing.md) | :heavy_minus_sign: | This upload method is supposed to temporary store records in GCS bucket. By this select you can chose if these records should be removed from GCS when migration has finished. The default "Delete all tmp files from GCS" value is used if not set explicitly. | | +| `method` | [com.airbyte.api.models.shared.Method](../../models/shared/Method.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/GCSTmpFilesAfterwardProcessing.md b/docs/models/shared/GCSTmpFilesAfterwardProcessing.md new file mode 100644 index 000000000..f9eba8d80 --- /dev/null +++ b/docs/models/shared/GCSTmpFilesAfterwardProcessing.md @@ -0,0 +1,11 @@ +# GCSTmpFilesAfterwardProcessing + +This upload method is supposed to temporary store records in GCS bucket. By this select you can chose if these records should be removed from GCS when migration has finished. The default "Delete all tmp files from GCS" value is used if not set explicitly. + + +## Values + +| Name | Value | +| ------------------------------- | ------------------------------- | +| `DELETE_ALL_TMP_FILES_FROM_GCS` | Delete all tmp files from GCS | +| `KEEP_ALL_TMP_FILES_IN_GCS` | Keep all tmp files in GCS | \ No newline at end of file diff --git a/docs/models/shared/GainsightPx.md b/docs/models/shared/GainsightPx.md new file mode 100644 index 000000000..d0e8a3b62 --- /dev/null +++ b/docs/models/shared/GainsightPx.md @@ -0,0 +1,8 @@ +# GainsightPx + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `GAINSIGHT_PX` | gainsight-px | \ No newline at end of file diff --git a/docs/models/shared/Gcs.md b/docs/models/shared/Gcs.md new file mode 100644 index 000000000..c0a977182 --- /dev/null +++ b/docs/models/shared/Gcs.md @@ -0,0 +1,8 @@ +# Gcs + + +## Values + +| Name | Value | +| ----- | ----- | +| `GCS` | gcs | \ No newline at end of file diff --git a/docs/models/shared/Getlago.md b/docs/models/shared/Getlago.md new file mode 100644 index 000000000..257455322 --- /dev/null +++ b/docs/models/shared/Getlago.md @@ -0,0 +1,8 @@ +# Getlago + + +## Values + +| Name | Value | +| --------- | --------- | +| `GETLAGO` | getlago | \ No newline at end of file diff --git a/docs/models/shared/Github.md b/docs/models/shared/Github.md new file mode 100644 index 000000000..2c13ef8c0 --- /dev/null +++ b/docs/models/shared/Github.md @@ -0,0 +1,8 @@ +# Github + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/GithubCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/GithubCredentials.md b/docs/models/shared/GithubCredentials.md new file mode 100644 index 000000000..18bbc71ef --- /dev/null +++ b/docs/models/shared/GithubCredentials.md @@ -0,0 +1,9 @@ +# GithubCredentials + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | OAuth Client Id | +| `clientSecret` | *Optional* | :heavy_minus_sign: | OAuth Client secret | \ No newline at end of file diff --git a/docs/models/shared/Gitlab.md b/docs/models/shared/Gitlab.md new file mode 100644 index 000000000..13cce363b --- /dev/null +++ b/docs/models/shared/Gitlab.md @@ -0,0 +1,8 @@ +# Gitlab + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/GitlabCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/GitlabCredentials.md b/docs/models/shared/GitlabCredentials.md new file mode 100644 index 000000000..720874f40 --- /dev/null +++ b/docs/models/shared/GitlabCredentials.md @@ -0,0 +1,9 @@ +# GitlabCredentials + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | +| `clientId` | *Optional* | :heavy_minus_sign: | The API ID of the Gitlab developer application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The API Secret the Gitlab developer application. | \ No newline at end of file diff --git a/docs/models/shared/Glassfrog.md b/docs/models/shared/Glassfrog.md new file mode 100644 index 000000000..9e4cec0fd --- /dev/null +++ b/docs/models/shared/Glassfrog.md @@ -0,0 +1,8 @@ +# Glassfrog + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `GLASSFROG` | glassfrog | \ No newline at end of file diff --git a/docs/models/shared/GlobalAccount.md b/docs/models/shared/GlobalAccount.md new file mode 100644 index 000000000..93b003d55 --- /dev/null +++ b/docs/models/shared/GlobalAccount.md @@ -0,0 +1,8 @@ +# GlobalAccount + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `urlBase` | [Optional](../../models/shared/SourceSurveySparrowUrlBase.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Gnews.md b/docs/models/shared/Gnews.md new file mode 100644 index 000000000..0a35a15e5 --- /dev/null +++ b/docs/models/shared/Gnews.md @@ -0,0 +1,8 @@ +# Gnews + + +## Values + +| Name | Value | +| ------- | ------- | +| `GNEWS` | gnews | \ No newline at end of file diff --git a/docs/models/shared/GoogleAds.md b/docs/models/shared/GoogleAds.md new file mode 100644 index 000000000..235939b9e --- /dev/null +++ b/docs/models/shared/GoogleAds.md @@ -0,0 +1,8 @@ +# GoogleAds + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/GoogleAdsCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/GoogleAdsCredentials.md b/docs/models/shared/GoogleAdsCredentials.md new file mode 100644 index 000000000..0abe51f5b --- /dev/null +++ b/docs/models/shared/GoogleAdsCredentials.md @@ -0,0 +1,10 @@ +# GoogleAdsCredentials + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your Google Ads developer application. For detailed instructions on finding this value, refer to our documentation. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your Google Ads developer application. For detailed instructions on finding this value, refer to our documentation. | +| `developerToken` | *Optional* | :heavy_minus_sign: | The Developer Token granted by Google to use their APIs. For detailed instructions on finding this value, refer to our documentation. | \ No newline at end of file diff --git a/docs/models/shared/GoogleAnalyticsDataApi.md b/docs/models/shared/GoogleAnalyticsDataApi.md new file mode 100644 index 000000000..3d543667c --- /dev/null +++ b/docs/models/shared/GoogleAnalyticsDataApi.md @@ -0,0 +1,8 @@ +# GoogleAnalyticsDataApi + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/GoogleAnalyticsDataApiCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/GoogleAnalyticsDataApiCredentials.md b/docs/models/shared/GoogleAnalyticsDataApiCredentials.md new file mode 100644 index 000000000..57ed4ed20 --- /dev/null +++ b/docs/models/shared/GoogleAnalyticsDataApiCredentials.md @@ -0,0 +1,9 @@ +# GoogleAnalyticsDataApiCredentials + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your Google Analytics developer application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your Google Analytics developer application. | \ No newline at end of file diff --git a/docs/models/shared/GoogleAnalyticsV4ServiceAccountOnly.md b/docs/models/shared/GoogleAnalyticsV4ServiceAccountOnly.md new file mode 100644 index 000000000..bdac6184b --- /dev/null +++ b/docs/models/shared/GoogleAnalyticsV4ServiceAccountOnly.md @@ -0,0 +1,8 @@ +# GoogleAnalyticsV4ServiceAccountOnly + + +## Values + +| Name | Value | +| ------------------------------------------ | ------------------------------------------ | +| `GOOGLE_ANALYTICS_V4_SERVICE_ACCOUNT_ONLY` | google-analytics-v4-service-account-only | \ No newline at end of file diff --git a/docs/models/shared/GoogleCredentials.md b/docs/models/shared/GoogleCredentials.md new file mode 100644 index 000000000..7f6de0883 --- /dev/null +++ b/docs/models/shared/GoogleCredentials.md @@ -0,0 +1,12 @@ +# GoogleCredentials + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *Optional* | :heavy_minus_sign: | The Access Token for making authenticated requests. For detailed instructions on finding this value, refer to our documentation. | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your Google Ads developer application. For detailed instructions on finding this value, refer to our documentation. | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret of your Google Ads developer application. For detailed instructions on finding this value, refer to our documentation. | +| `developerToken` | *String* | :heavy_check_mark: | The Developer Token granted by Google to use their APIs. For detailed instructions on finding this value, refer to our documentation. | +| `refreshToken` | *String* | :heavy_check_mark: | The token used to obtain a new Access Token. For detailed instructions on finding this value, refer to our documentation. | \ No newline at end of file diff --git a/docs/models/shared/GoogleDirectory.md b/docs/models/shared/GoogleDirectory.md new file mode 100644 index 000000000..021eda699 --- /dev/null +++ b/docs/models/shared/GoogleDirectory.md @@ -0,0 +1,8 @@ +# GoogleDirectory + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `GOOGLE_DIRECTORY` | google-directory | \ No newline at end of file diff --git a/docs/models/shared/GoogleDrive.md b/docs/models/shared/GoogleDrive.md new file mode 100644 index 000000000..d8ae22b51 --- /dev/null +++ b/docs/models/shared/GoogleDrive.md @@ -0,0 +1,8 @@ +# GoogleDrive + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/GoogleDriveCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/GoogleDriveCredentials.md b/docs/models/shared/GoogleDriveCredentials.md new file mode 100644 index 000000000..d1df20459 --- /dev/null +++ b/docs/models/shared/GoogleDriveCredentials.md @@ -0,0 +1,9 @@ +# GoogleDriveCredentials + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | Client ID for the Google Drive API | +| `clientSecret` | *Optional* | :heavy_minus_sign: | Client Secret for the Google Drive API | \ No newline at end of file diff --git a/docs/models/shared/GooglePagespeedInsights.md b/docs/models/shared/GooglePagespeedInsights.md new file mode 100644 index 000000000..33eae40c5 --- /dev/null +++ b/docs/models/shared/GooglePagespeedInsights.md @@ -0,0 +1,8 @@ +# GooglePagespeedInsights + + +## Values + +| Name | Value | +| --------------------------- | --------------------------- | +| `GOOGLE_PAGESPEED_INSIGHTS` | google-pagespeed-insights | \ No newline at end of file diff --git a/docs/models/shared/GoogleSearchConsole.md b/docs/models/shared/GoogleSearchConsole.md new file mode 100644 index 000000000..a9bbf81a2 --- /dev/null +++ b/docs/models/shared/GoogleSearchConsole.md @@ -0,0 +1,8 @@ +# GoogleSearchConsole + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `authorization` | [Optional](../../models/shared/Authorization.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/GoogleSheets.md b/docs/models/shared/GoogleSheets.md new file mode 100644 index 000000000..5680bc1c8 --- /dev/null +++ b/docs/models/shared/GoogleSheets.md @@ -0,0 +1,8 @@ +# GoogleSheets + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/GoogleSheetsCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/GoogleSheetsCredentials.md b/docs/models/shared/GoogleSheetsCredentials.md new file mode 100644 index 000000000..c7c039b5b --- /dev/null +++ b/docs/models/shared/GoogleSheetsCredentials.md @@ -0,0 +1,9 @@ +# GoogleSheetsCredentials + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | Enter your Google application's Client ID. See Google's documentation for more information. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | Enter your Google application's Client Secret. See Google's documentation for more information. | \ No newline at end of file diff --git a/docs/models/shared/GoogleWebfonts.md b/docs/models/shared/GoogleWebfonts.md new file mode 100644 index 000000000..35c74e67b --- /dev/null +++ b/docs/models/shared/GoogleWebfonts.md @@ -0,0 +1,8 @@ +# GoogleWebfonts + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `GOOGLE_WEBFONTS` | google-webfonts | \ No newline at end of file diff --git a/docs/models/shared/Granularity.md b/docs/models/shared/Granularity.md new file mode 100644 index 000000000..967797e97 --- /dev/null +++ b/docs/models/shared/Granularity.md @@ -0,0 +1,14 @@ +# Granularity + +Chosen granularity for API + + +## Values + +| Name | Value | +| ------- | ------- | +| `TOTAL` | TOTAL | +| `DAY` | DAY | +| `HOUR` | HOUR | +| `WEEK` | WEEK | +| `MONTH` | MONTH | \ No newline at end of file diff --git a/docs/models/shared/GranularityForGeoLocationRegion.md b/docs/models/shared/GranularityForGeoLocationRegion.md new file mode 100644 index 000000000..5c7b9c4a7 --- /dev/null +++ b/docs/models/shared/GranularityForGeoLocationRegion.md @@ -0,0 +1,12 @@ +# GranularityForGeoLocationRegion + +The granularity used for geo location data in reports. + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `COUNTRY` | country | +| `REGION` | region | +| `SUBREGION` | subregion | \ No newline at end of file diff --git a/docs/models/shared/GranularityForPeriodicReports.md b/docs/models/shared/GranularityForPeriodicReports.md new file mode 100644 index 000000000..0006c33e2 --- /dev/null +++ b/docs/models/shared/GranularityForPeriodicReports.md @@ -0,0 +1,12 @@ +# GranularityForPeriodicReports + +The granularity used for periodic data in reports. See the docs. + + +## Values + +| Name | Value | +| --------- | --------- | +| `DAILY` | daily | +| `WEEKLY` | weekly | +| `MONTHLY` | monthly | \ No newline at end of file diff --git a/docs/models/shared/Greenhouse.md b/docs/models/shared/Greenhouse.md new file mode 100644 index 000000000..31bd148e0 --- /dev/null +++ b/docs/models/shared/Greenhouse.md @@ -0,0 +1,8 @@ +# Greenhouse + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `GREENHOUSE` | greenhouse | \ No newline at end of file diff --git a/docs/models/shared/Gridly.md b/docs/models/shared/Gridly.md new file mode 100644 index 000000000..26536b754 --- /dev/null +++ b/docs/models/shared/Gridly.md @@ -0,0 +1,8 @@ +# Gridly + + +## Values + +| Name | Value | +| -------- | -------- | +| `GRIDLY` | gridly | \ No newline at end of file diff --git a/docs/models/shared/Gzip.md b/docs/models/shared/Gzip.md new file mode 100644 index 000000000..f02bd11c6 --- /dev/null +++ b/docs/models/shared/Gzip.md @@ -0,0 +1,8 @@ +# Gzip + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| `compressionType` | [Optional](../../models/shared/DestinationGcsCompressionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/HMACKey.md b/docs/models/shared/HMACKey.md new file mode 100644 index 000000000..301d4956b --- /dev/null +++ b/docs/models/shared/HMACKey.md @@ -0,0 +1,10 @@ +# HMACKey + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `credentialType` | [Optional](../../models/shared/CredentialType.md) | :heavy_minus_sign: | N/A | | +| `hmacKeyAccessId` | *String* | :heavy_check_mark: | When linked to a service account, this ID is 61 characters long; when linked to a user account, it is 24 characters long. Read more here. | 1234567890abcdefghij1234 | +| `hmacKeySecret` | *String* | :heavy_check_mark: | The corresponding secret for the access ID. It is a 40-character base-64 encoded string. Read more here. | 1234567890abcdefghij1234567890ABCDEFGHIJ | \ No newline at end of file diff --git a/docs/models/shared/HTTPSPublicWeb.md b/docs/models/shared/HTTPSPublicWeb.md new file mode 100644 index 000000000..e1b6618d8 --- /dev/null +++ b/docs/models/shared/HTTPSPublicWeb.md @@ -0,0 +1,9 @@ +# HTTPSPublicWeb + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `storage` | [com.airbyte.api.models.shared.Storage](../../models/shared/Storage.md) | :heavy_check_mark: | N/A | +| `userAgent` | *Optional* | :heavy_minus_sign: | Add User-Agent to request | \ No newline at end of file diff --git a/docs/models/shared/Harvest.md b/docs/models/shared/Harvest.md new file mode 100644 index 000000000..2aa6f6f52 --- /dev/null +++ b/docs/models/shared/Harvest.md @@ -0,0 +1,8 @@ +# Harvest + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/HarvestCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/HarvestCredentials.md b/docs/models/shared/HarvestCredentials.md new file mode 100644 index 000000000..5eb291e49 --- /dev/null +++ b/docs/models/shared/HarvestCredentials.md @@ -0,0 +1,9 @@ +# HarvestCredentials + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your Harvest developer application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your Harvest developer application. | \ No newline at end of file diff --git a/docs/models/shared/Header.md b/docs/models/shared/Header.md new file mode 100644 index 000000000..cf2b4b258 --- /dev/null +++ b/docs/models/shared/Header.md @@ -0,0 +1,9 @@ +# Header + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `headerKey` | *String* | :heavy_check_mark: | N/A | +| `value` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/HeaderDefinitionType.md b/docs/models/shared/HeaderDefinitionType.md new file mode 100644 index 000000000..d3a04e749 --- /dev/null +++ b/docs/models/shared/HeaderDefinitionType.md @@ -0,0 +1,8 @@ +# HeaderDefinitionType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `FROM_CSV` | From CSV | \ No newline at end of file diff --git a/docs/models/shared/Hubplanner.md b/docs/models/shared/Hubplanner.md new file mode 100644 index 000000000..47c132db3 --- /dev/null +++ b/docs/models/shared/Hubplanner.md @@ -0,0 +1,8 @@ +# Hubplanner + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `HUBPLANNER` | hubplanner | \ No newline at end of file diff --git a/docs/models/shared/Hubspot.md b/docs/models/shared/Hubspot.md new file mode 100644 index 000000000..08e9782e0 --- /dev/null +++ b/docs/models/shared/Hubspot.md @@ -0,0 +1,8 @@ +# Hubspot + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/HubspotCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/HubspotCredentials.md b/docs/models/shared/HubspotCredentials.md new file mode 100644 index 000000000..c063a4a06 --- /dev/null +++ b/docs/models/shared/HubspotCredentials.md @@ -0,0 +1,9 @@ +# HubspotCredentials + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your HubSpot developer application. See the Hubspot docs if you need help finding this ID. | 123456789000 | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The client secret for your HubSpot developer application. See the Hubspot docs if you need help finding this secret. | secret | \ No newline at end of file diff --git a/docs/models/shared/IAMRole.md b/docs/models/shared/IAMRole.md new file mode 100644 index 000000000..0125381e9 --- /dev/null +++ b/docs/models/shared/IAMRole.md @@ -0,0 +1,9 @@ +# IAMRole + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `credentialsTitle` | [Optional](../../models/shared/CredentialsTitle.md) | :heavy_minus_sign: | Name of the credentials | +| `roleArn` | *String* | :heavy_check_mark: | Will assume this role to write data to s3 | \ No newline at end of file diff --git a/docs/models/shared/IAMUser.md b/docs/models/shared/IAMUser.md new file mode 100644 index 000000000..f785961c2 --- /dev/null +++ b/docs/models/shared/IAMUser.md @@ -0,0 +1,10 @@ +# IAMUser + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `awsAccessKeyId` | *String* | :heavy_check_mark: | AWS User Access Key Id | +| `awsSecretAccessKey` | *String* | :heavy_check_mark: | Secret Access Key | +| `credentialsTitle` | [Optional](../../models/shared/DestinationAwsDatalakeCredentialsTitle.md) | :heavy_minus_sign: | Name of the credentials | \ No newline at end of file diff --git a/docs/models/shared/In.md b/docs/models/shared/In.md new file mode 100644 index 000000000..63864fa14 --- /dev/null +++ b/docs/models/shared/In.md @@ -0,0 +1,10 @@ +# In + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `TITLE` | title | +| `DESCRIPTION` | description | +| `CONTENT` | content | \ No newline at end of file diff --git a/docs/models/shared/InListFilter.md b/docs/models/shared/InListFilter.md new file mode 100644 index 000000000..80c56385c --- /dev/null +++ b/docs/models/shared/InListFilter.md @@ -0,0 +1,10 @@ +# InListFilter + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| `caseSensitive` | *Optional* | :heavy_minus_sign: | N/A | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiFilterName](../../models/shared/SourceGoogleAnalyticsDataApiFilterName.md) | :heavy_check_mark: | N/A | +| `values` | List<*String*> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Indexing.md b/docs/models/shared/Indexing.md new file mode 100644 index 000000000..136c880f1 --- /dev/null +++ b/docs/models/shared/Indexing.md @@ -0,0 +1,13 @@ +# Indexing + +Astra DB gives developers the APIs, real-time data and ecosystem integrations to put accurate RAG and Gen AI apps with fewer hallucinations in production. + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `astraDbAppToken` | *String* | :heavy_check_mark: | The application token authorizes a user to connect to a specific Astra DB database. It is created when the user clicks the Generate Token button on the Overview tab of the Database page in the Astra UI. | | +| `astraDbEndpoint` | *String* | :heavy_check_mark: | The endpoint specifies which Astra DB database queries are sent to. It can be copied from the Database Details section of the Overview tab of the Database page in the Astra UI. | https://8292d414-dd1b-4c33-8431-e838bedc04f7-us-east1.apps.astra.datastax.com | +| `astraDbKeyspace` | *String* | :heavy_check_mark: | Keyspaces (or Namespaces) serve as containers for organizing data within a database. You can create a new keyspace uisng the Data Explorer tab in the Astra UI. The keyspace default_keyspace is created for you when you create a Vector Database in Astra DB. | | +| `collection` | *String* | :heavy_check_mark: | Collections hold data. They are analagous to tables in traditional Cassandra terminology. This tool will create the collection with the provided name automatically if it does not already exist. Alternatively, you can create one thorugh the Data Explorer tab in the Astra UI. | | \ No newline at end of file diff --git a/docs/models/shared/InferenceType.md b/docs/models/shared/InferenceType.md new file mode 100644 index 000000000..258891c27 --- /dev/null +++ b/docs/models/shared/InferenceType.md @@ -0,0 +1,11 @@ +# InferenceType + +How to infer the types of the columns. If none, inference default to strings. + + +## Values + +| Name | Value | +| ---------------------- | ---------------------- | +| `NONE` | None | +| `PRIMITIVE_TYPES_ONLY` | Primitive Types Only | \ No newline at end of file diff --git a/docs/models/shared/InitiateOauthRequest.md b/docs/models/shared/InitiateOauthRequest.md index 6a384d84d..cbc87b1b4 100644 --- a/docs/models/shared/InitiateOauthRequest.md +++ b/docs/models/shared/InitiateOauthRequest.md @@ -7,7 +7,7 @@ POST body for initiating OAuth via the public API | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -| `oAuthInputConfiguration` | [com.airbyte.api.models.shared.OAuthInputConfiguration](../../models/shared/OAuthInputConfiguration.md) | :heavy_minus_sign: | Arbitrary vars to pass for OAuth depending on what the source/destination spec requires. | {
    "host": "test.snowflake.com"
    } | +| `oAuthInputConfiguration` | [Optional](../../models/shared/OAuthInputConfiguration.md) | :heavy_minus_sign: | Arbitrary vars to pass for OAuth depending on what the source/destination spec requires. | {
    "host": "test.snowflake.com"
    } | | `redirectUrl` | *String* | :heavy_check_mark: | The URL to redirect the user to with the OAuth secret stored in the secret_id query string parameter after authentication is complete. | | | `sourceType` | [com.airbyte.api.models.shared.OAuthActorNames](../../models/shared/OAuthActorNames.md) | :heavy_check_mark: | N/A | | | `workspaceId` | *String* | :heavy_check_mark: | The workspace to create the secret and eventually the full source. | | \ No newline at end of file diff --git a/docs/models/shared/InsightConfig.md b/docs/models/shared/InsightConfig.md new file mode 100644 index 000000000..5ff4fec2f --- /dev/null +++ b/docs/models/shared/InsightConfig.md @@ -0,0 +1,20 @@ +# InsightConfig + +Config for custom insights + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `actionBreakdowns` | List<[com.airbyte.api.models.shared.ValidActionBreakdowns](../../models/shared/ValidActionBreakdowns.md)> | :heavy_minus_sign: | A list of chosen action_breakdowns for action_breakdowns | | +| `actionReportTime` | [Optional](../../models/shared/SourceFacebookMarketingActionReportTime.md) | :heavy_minus_sign: | Determines the report time of action stats. For example, if a person saw the ad on Jan 1st but converted on Jan 2nd, when you query the API with action_report_time=impression, you see a conversion on Jan 1st. When you query the API with action_report_time=conversion, you see a conversion on Jan 2nd. | | +| `breakdowns` | List<[com.airbyte.api.models.shared.ValidBreakdowns](../../models/shared/ValidBreakdowns.md)> | :heavy_minus_sign: | A list of chosen breakdowns for breakdowns | | +| `endDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The date until which you'd like to replicate data for this stream, in the format YYYY-MM-DDT00:00:00Z. All data generated between the start date and this end date will be replicated. Not setting this option will result in always syncing the latest data. | 2017-01-26T00:00:00Z | +| `fields` | List<[com.airbyte.api.models.shared.SourceFacebookMarketingValidEnums](../../models/shared/SourceFacebookMarketingValidEnums.md)> | :heavy_minus_sign: | A list of chosen fields for fields parameter | | +| `insightsJobTimeout` | *Optional* | :heavy_minus_sign: | The insights job timeout | | +| `insightsLookbackWindow` | *Optional* | :heavy_minus_sign: | The attribution window | | +| `level` | [Optional](../../models/shared/Level.md) | :heavy_minus_sign: | Chosen level for API | | +| `name` | *String* | :heavy_check_mark: | The name value of insight | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The date from which you'd like to replicate data for this stream, in the format YYYY-MM-DDT00:00:00Z. | 2017-01-25T00:00:00Z | +| `timeIncrement` | *Optional* | :heavy_minus_sign: | Time window in days by which to aggregate statistics. The sync will be chunked into N day intervals, where N is the number of days you specified. For example, if you set this value to 7, then all statistics will be reported as 7-day aggregates by starting from the start_date. If the start and end dates are October 1st and October 30th, then the connector will output 5 records: 01 - 06, 07 - 13, 14 - 20, 21 - 27, and 28 - 30 (3 days only). | | \ No newline at end of file diff --git a/docs/models/shared/Insightly.md b/docs/models/shared/Insightly.md new file mode 100644 index 000000000..e4d6de35d --- /dev/null +++ b/docs/models/shared/Insightly.md @@ -0,0 +1,8 @@ +# Insightly + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `INSIGHTLY` | insightly | \ No newline at end of file diff --git a/docs/models/shared/Instagram.md b/docs/models/shared/Instagram.md new file mode 100644 index 000000000..8a4f3b7f8 --- /dev/null +++ b/docs/models/shared/Instagram.md @@ -0,0 +1,9 @@ +# Instagram + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID for your Oauth application | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret for your Oauth application | \ No newline at end of file diff --git a/docs/models/shared/Instance.md b/docs/models/shared/Instance.md new file mode 100644 index 000000000..3adce6491 --- /dev/null +++ b/docs/models/shared/Instance.md @@ -0,0 +1,8 @@ +# Instance + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `STANDALONE` | standalone | \ No newline at end of file diff --git a/docs/models/shared/Instatus.md b/docs/models/shared/Instatus.md new file mode 100644 index 000000000..94fab686a --- /dev/null +++ b/docs/models/shared/Instatus.md @@ -0,0 +1,8 @@ +# Instatus + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `INSTATUS` | instatus | \ No newline at end of file diff --git a/docs/models/shared/Int64Value.md b/docs/models/shared/Int64Value.md new file mode 100644 index 000000000..2c07e13b3 --- /dev/null +++ b/docs/models/shared/Int64Value.md @@ -0,0 +1,9 @@ +# Int64Value + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.ValueType](../../models/shared/ValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Intercom.md b/docs/models/shared/Intercom.md new file mode 100644 index 000000000..3f5fa83d0 --- /dev/null +++ b/docs/models/shared/Intercom.md @@ -0,0 +1,9 @@ +# Intercom + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | Client Id for your Intercom application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | Client Secret for your Intercom application. | \ No newline at end of file diff --git a/docs/models/shared/InvalidCDCPositionBehaviorAdvanced.md b/docs/models/shared/InvalidCDCPositionBehaviorAdvanced.md new file mode 100644 index 000000000..ffd8d6edf --- /dev/null +++ b/docs/models/shared/InvalidCDCPositionBehaviorAdvanced.md @@ -0,0 +1,11 @@ +# InvalidCDCPositionBehaviorAdvanced + +Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `FAIL_SYNC` | Fail sync | +| `RE_SYNC_DATA` | Re-sync data | \ No newline at end of file diff --git a/docs/models/shared/Ip2whois.md b/docs/models/shared/Ip2whois.md new file mode 100644 index 000000000..9b98faf80 --- /dev/null +++ b/docs/models/shared/Ip2whois.md @@ -0,0 +1,8 @@ +# Ip2whois + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `IP2WHOIS` | ip2whois | \ No newline at end of file diff --git a/docs/models/shared/IssuesStreamExpandWith.md b/docs/models/shared/IssuesStreamExpandWith.md new file mode 100644 index 000000000..003666760 --- /dev/null +++ b/docs/models/shared/IssuesStreamExpandWith.md @@ -0,0 +1,10 @@ +# IssuesStreamExpandWith + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `RENDERED_FIELDS` | renderedFields | +| `TRANSITIONS` | transitions | +| `CHANGELOG` | changelog | \ No newline at end of file diff --git a/docs/models/shared/Iterable.md b/docs/models/shared/Iterable.md new file mode 100644 index 000000000..fc9181f80 --- /dev/null +++ b/docs/models/shared/Iterable.md @@ -0,0 +1,8 @@ +# Iterable + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `ITERABLE` | iterable | \ No newline at end of file diff --git a/docs/models/shared/JSONLinesNewlineDelimitedJSON.md b/docs/models/shared/JSONLinesNewlineDelimitedJSON.md new file mode 100644 index 000000000..e1440a8dd --- /dev/null +++ b/docs/models/shared/JSONLinesNewlineDelimitedJSON.md @@ -0,0 +1,9 @@ +# JSONLinesNewlineDelimitedJSON + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `compressionCodec` | [Optional](../../models/shared/CompressionCodecOptional.md) | :heavy_minus_sign: | The compression algorithm used to compress data. | +| `formatType` | [Optional](../../models/shared/FormatTypeWildcard.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Jira.md b/docs/models/shared/Jira.md new file mode 100644 index 000000000..4135383c5 --- /dev/null +++ b/docs/models/shared/Jira.md @@ -0,0 +1,8 @@ +# Jira + + +## Values + +| Name | Value | +| ------ | ------ | +| `JIRA` | jira | \ No newline at end of file diff --git a/docs/models/shared/JobResponse.md b/docs/models/shared/JobResponse.md index acf0a883e..bef3c79b1 100644 --- a/docs/models/shared/JobResponse.md +++ b/docs/models/shared/JobResponse.md @@ -7,12 +7,12 @@ Provides details of a single job. | Field | Type | Required | Description | | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | -| `bytesSynced` | *Long* | :heavy_minus_sign: | N/A | +| `bytesSynced` | *Optional* | :heavy_minus_sign: | N/A | | `connectionId` | *String* | :heavy_check_mark: | N/A | -| `duration` | *String* | :heavy_minus_sign: | Duration of a sync in ISO_8601 format | -| `jobId` | *Long* | :heavy_check_mark: | N/A | +| `duration` | *Optional* | :heavy_minus_sign: | Duration of a sync in ISO_8601 format | +| `jobId` | *long* | :heavy_check_mark: | N/A | | `jobType` | [com.airbyte.api.models.shared.JobTypeEnum](../../models/shared/JobTypeEnum.md) | :heavy_check_mark: | Enum that describes the different types of jobs that the platform runs. | -| `lastUpdatedAt` | *String* | :heavy_minus_sign: | N/A | -| `rowsSynced` | *Long* | :heavy_minus_sign: | N/A | +| `lastUpdatedAt` | *Optional* | :heavy_minus_sign: | N/A | +| `rowsSynced` | *Optional* | :heavy_minus_sign: | N/A | | `startTime` | *String* | :heavy_check_mark: | N/A | | `status` | [com.airbyte.api.models.shared.JobStatusEnum](../../models/shared/JobStatusEnum.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/JobsResponse.md b/docs/models/shared/JobsResponse.md index 0a8c0406a..a63d444de 100644 --- a/docs/models/shared/JobsResponse.md +++ b/docs/models/shared/JobsResponse.md @@ -6,5 +6,5 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | | `data` | List<[com.airbyte.api.models.shared.JobResponse](../../models/shared/JobResponse.md)> | :heavy_check_mark: | N/A | -| `next` | *String* | :heavy_minus_sign: | N/A | -| `previous` | *String* | :heavy_minus_sign: | N/A | \ No newline at end of file +| `next` | *Optional* | :heavy_minus_sign: | N/A | +| `previous` | *Optional* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Jsonl.md b/docs/models/shared/Jsonl.md new file mode 100644 index 000000000..605fc98d5 --- /dev/null +++ b/docs/models/shared/Jsonl.md @@ -0,0 +1,13 @@ +# Jsonl + +This connector uses PyArrow for JSON Lines (jsonl) file parsing. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `blockSize` | *Optional* | :heavy_minus_sign: | The chunk size in bytes to process at a time in memory from each file. If your data is particularly wide and failing during schema detection, increasing this should solve it. Beware of raising this too high as you could hit OOM errors. | | +| `filetype` | [Optional](../../models/shared/SourceS3SchemasFormatFiletype.md) | :heavy_minus_sign: | N/A | | +| `newlinesInValues` | *Optional* | :heavy_minus_sign: | Whether newline characters are allowed in JSON values. Turning this on may affect performance. Leave blank to default to False. | | +| `unexpectedFieldBehavior` | [Optional](../../models/shared/UnexpectedFieldBehavior.md) | :heavy_minus_sign: | How JSON fields outside of explicit_schema (if given) are treated. Check PyArrow documentation for details | ignore | \ No newline at end of file diff --git a/docs/models/shared/JsonlFormat.md b/docs/models/shared/JsonlFormat.md new file mode 100644 index 000000000..bd2318983 --- /dev/null +++ b/docs/models/shared/JsonlFormat.md @@ -0,0 +1,8 @@ +# JsonlFormat + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filetype` | [Optional](../../models/shared/SourceAzureBlobStorageSchemasFiletype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/K6Cloud.md b/docs/models/shared/K6Cloud.md new file mode 100644 index 000000000..5a98778c3 --- /dev/null +++ b/docs/models/shared/K6Cloud.md @@ -0,0 +1,8 @@ +# K6Cloud + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `K6_CLOUD` | k6-cloud | \ No newline at end of file diff --git a/docs/models/shared/KeyPairAuthentication.md b/docs/models/shared/KeyPairAuthentication.md new file mode 100644 index 000000000..adf6fc18d --- /dev/null +++ b/docs/models/shared/KeyPairAuthentication.md @@ -0,0 +1,10 @@ +# KeyPairAuthentication + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [Optional](../../models/shared/DestinationSnowflakeSchemasCredentialsAuthType.md) | :heavy_minus_sign: | N/A | +| `privateKey` | *String* | :heavy_check_mark: | RSA Private key to use for Snowflake connection. See the docs for more information on how to obtain this key. | +| `privateKeyPassword` | *Optional* | :heavy_minus_sign: | Passphrase for private key | \ No newline at end of file diff --git a/docs/models/shared/Klarna.md b/docs/models/shared/Klarna.md new file mode 100644 index 000000000..582b30e4d --- /dev/null +++ b/docs/models/shared/Klarna.md @@ -0,0 +1,8 @@ +# Klarna + + +## Values + +| Name | Value | +| -------- | -------- | +| `KLARNA` | klarna | \ No newline at end of file diff --git a/docs/models/shared/Klaviyo.md b/docs/models/shared/Klaviyo.md new file mode 100644 index 000000000..82b777531 --- /dev/null +++ b/docs/models/shared/Klaviyo.md @@ -0,0 +1,8 @@ +# Klaviyo + + +## Values + +| Name | Value | +| --------- | --------- | +| `KLAVIYO` | klaviyo | \ No newline at end of file diff --git a/docs/models/shared/Kyve.md b/docs/models/shared/Kyve.md new file mode 100644 index 000000000..b05a54857 --- /dev/null +++ b/docs/models/shared/Kyve.md @@ -0,0 +1,8 @@ +# Kyve + + +## Values + +| Name | Value | +| ------ | ------ | +| `KYVE` | kyve | \ No newline at end of file diff --git a/docs/models/shared/Langchain.md b/docs/models/shared/Langchain.md new file mode 100644 index 000000000..922757709 --- /dev/null +++ b/docs/models/shared/Langchain.md @@ -0,0 +1,8 @@ +# Langchain + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `LANGCHAIN` | langchain | \ No newline at end of file diff --git a/docs/models/shared/Language.md b/docs/models/shared/Language.md new file mode 100644 index 000000000..9c81cdc3a --- /dev/null +++ b/docs/models/shared/Language.md @@ -0,0 +1,29 @@ +# Language + + +## Values + +| Name | Value | +| ----- | ----- | +| `AR` | ar | +| `ZH` | zh | +| `NL` | nl | +| `EN` | en | +| `FR` | fr | +| `DE` | de | +| `EL` | el | +| `HE` | he | +| `HI` | hi | +| `IT` | it | +| `JA` | ja | +| `ML` | ml | +| `MR` | mr | +| `NO` | no | +| `PT` | pt | +| `RO` | ro | +| `RU` | ru | +| `ES` | es | +| `SV` | sv | +| `TA` | ta | +| `TE` | te | +| `UK` | uk | \ No newline at end of file diff --git a/docs/models/shared/Launchdarkly.md b/docs/models/shared/Launchdarkly.md new file mode 100644 index 000000000..0bf73130d --- /dev/null +++ b/docs/models/shared/Launchdarkly.md @@ -0,0 +1,8 @@ +# Launchdarkly + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `LAUNCHDARKLY` | launchdarkly | \ No newline at end of file diff --git a/docs/models/shared/Lemlist.md b/docs/models/shared/Lemlist.md new file mode 100644 index 000000000..8f477e3f4 --- /dev/null +++ b/docs/models/shared/Lemlist.md @@ -0,0 +1,8 @@ +# Lemlist + + +## Values + +| Name | Value | +| --------- | --------- | +| `LEMLIST` | lemlist | \ No newline at end of file diff --git a/docs/models/shared/Level.md b/docs/models/shared/Level.md new file mode 100644 index 000000000..f8b60083e --- /dev/null +++ b/docs/models/shared/Level.md @@ -0,0 +1,13 @@ +# Level + +Chosen level for API + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `AD` | ad | +| `ADSET` | adset | +| `CAMPAIGN` | campaign | +| `ACCOUNT` | account | \ No newline at end of file diff --git a/docs/models/shared/LeverHiring.md b/docs/models/shared/LeverHiring.md new file mode 100644 index 000000000..8271056fc --- /dev/null +++ b/docs/models/shared/LeverHiring.md @@ -0,0 +1,8 @@ +# LeverHiring + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/LeverHiringCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/LeverHiringCredentials.md b/docs/models/shared/LeverHiringCredentials.md new file mode 100644 index 000000000..a0263caaa --- /dev/null +++ b/docs/models/shared/LeverHiringCredentials.md @@ -0,0 +1,9 @@ +# LeverHiringCredentials + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your Lever Hiring developer application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your Lever Hiring developer application. | \ No newline at end of file diff --git a/docs/models/shared/LinkedinAds.md b/docs/models/shared/LinkedinAds.md new file mode 100644 index 000000000..81868ad99 --- /dev/null +++ b/docs/models/shared/LinkedinAds.md @@ -0,0 +1,8 @@ +# LinkedinAds + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/LinkedinAdsCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/LinkedinAdsCredentials.md b/docs/models/shared/LinkedinAdsCredentials.md new file mode 100644 index 000000000..eba96ec0b --- /dev/null +++ b/docs/models/shared/LinkedinAdsCredentials.md @@ -0,0 +1,9 @@ +# LinkedinAdsCredentials + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The client ID of your developer application. Refer to our documentation for more information. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The client secret of your developer application. Refer to our documentation for more information. | \ No newline at end of file diff --git a/docs/models/shared/LinkedinPages.md b/docs/models/shared/LinkedinPages.md new file mode 100644 index 000000000..59ae600d3 --- /dev/null +++ b/docs/models/shared/LinkedinPages.md @@ -0,0 +1,8 @@ +# LinkedinPages + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `LINKEDIN_PAGES` | linkedin-pages | \ No newline at end of file diff --git a/docs/models/shared/Linnworks.md b/docs/models/shared/Linnworks.md new file mode 100644 index 000000000..5e0766b80 --- /dev/null +++ b/docs/models/shared/Linnworks.md @@ -0,0 +1,8 @@ +# Linnworks + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `LINNWORKS` | linnworks | \ No newline at end of file diff --git a/docs/models/shared/LoadingMethod.md b/docs/models/shared/LoadingMethod.md new file mode 100644 index 000000000..d05071e5a --- /dev/null +++ b/docs/models/shared/LoadingMethod.md @@ -0,0 +1,4 @@ +# LoadingMethod + +The way data will be uploaded to BigQuery. + diff --git a/docs/models/shared/Local.md b/docs/models/shared/Local.md new file mode 100644 index 000000000..65ab2ae5d --- /dev/null +++ b/docs/models/shared/Local.md @@ -0,0 +1,10 @@ +# Local + +Process files locally, supporting `fast` and `ocr` modes. This is the default option. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/SourceAzureBlobStorageMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/LoginPassword.md b/docs/models/shared/LoginPassword.md new file mode 100644 index 000000000..4a8f41716 --- /dev/null +++ b/docs/models/shared/LoginPassword.md @@ -0,0 +1,12 @@ +# LoginPassword + +Login/Password. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `authorization` | [com.airbyte.api.models.shared.DestinationMongodbAuthorization](../../models/shared/DestinationMongodbAuthorization.md) | :heavy_check_mark: | N/A | +| `password` | *String* | :heavy_check_mark: | Password associated with the username. | +| `username` | *String* | :heavy_check_mark: | Username to use to access the database. | \ No newline at end of file diff --git a/docs/models/shared/Lokalise.md b/docs/models/shared/Lokalise.md new file mode 100644 index 000000000..2d47c90d2 --- /dev/null +++ b/docs/models/shared/Lokalise.md @@ -0,0 +1,8 @@ +# Lokalise + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `LOKALISE` | lokalise | \ No newline at end of file diff --git a/docs/models/shared/Mailchimp.md b/docs/models/shared/Mailchimp.md new file mode 100644 index 000000000..7dd44f6d6 --- /dev/null +++ b/docs/models/shared/Mailchimp.md @@ -0,0 +1,8 @@ +# Mailchimp + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/MailchimpCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/MailchimpCredentials.md b/docs/models/shared/MailchimpCredentials.md new file mode 100644 index 000000000..7b706afb9 --- /dev/null +++ b/docs/models/shared/MailchimpCredentials.md @@ -0,0 +1,9 @@ +# MailchimpCredentials + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your OAuth application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your OAuth application. | \ No newline at end of file diff --git a/docs/models/shared/Mailgun.md b/docs/models/shared/Mailgun.md new file mode 100644 index 000000000..ee6720ee0 --- /dev/null +++ b/docs/models/shared/Mailgun.md @@ -0,0 +1,8 @@ +# Mailgun + + +## Values + +| Name | Value | +| --------- | --------- | +| `MAILGUN` | mailgun | \ No newline at end of file diff --git a/docs/models/shared/MailjetSms.md b/docs/models/shared/MailjetSms.md new file mode 100644 index 000000000..abe483354 --- /dev/null +++ b/docs/models/shared/MailjetSms.md @@ -0,0 +1,8 @@ +# MailjetSms + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `MAILJET_SMS` | mailjet-sms | \ No newline at end of file diff --git a/docs/models/shared/Marketo.md b/docs/models/shared/Marketo.md new file mode 100644 index 000000000..f62c35fef --- /dev/null +++ b/docs/models/shared/Marketo.md @@ -0,0 +1,8 @@ +# Marketo + + +## Values + +| Name | Value | +| --------- | --------- | +| `MARKETO` | marketo | \ No newline at end of file diff --git a/docs/models/shared/Metabase.md b/docs/models/shared/Metabase.md new file mode 100644 index 000000000..447f6ffd6 --- /dev/null +++ b/docs/models/shared/Metabase.md @@ -0,0 +1,8 @@ +# Metabase + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `METABASE` | metabase | \ No newline at end of file diff --git a/docs/models/shared/Method.md b/docs/models/shared/Method.md new file mode 100644 index 000000000..5601d5135 --- /dev/null +++ b/docs/models/shared/Method.md @@ -0,0 +1,8 @@ +# Method + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `GCS_STAGING` | GCS Staging | \ No newline at end of file diff --git a/docs/models/shared/MetricsFilter.md b/docs/models/shared/MetricsFilter.md new file mode 100644 index 000000000..4974fb73a --- /dev/null +++ b/docs/models/shared/MetricsFilter.md @@ -0,0 +1,4 @@ +# MetricsFilter + +Metrics filter + diff --git a/docs/models/shared/MicrosoftOnedrive.md b/docs/models/shared/MicrosoftOnedrive.md new file mode 100644 index 000000000..48793bc73 --- /dev/null +++ b/docs/models/shared/MicrosoftOnedrive.md @@ -0,0 +1,8 @@ +# MicrosoftOnedrive + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/MicrosoftOnedriveCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/MicrosoftOnedriveCredentials.md b/docs/models/shared/MicrosoftOnedriveCredentials.md new file mode 100644 index 000000000..b75f7f19f --- /dev/null +++ b/docs/models/shared/MicrosoftOnedriveCredentials.md @@ -0,0 +1,9 @@ +# MicrosoftOnedriveCredentials + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | Client ID of your Microsoft developer application | +| `clientSecret` | *Optional* | :heavy_minus_sign: | Client Secret of your Microsoft developer application | \ No newline at end of file diff --git a/docs/models/shared/MicrosoftSharepoint.md b/docs/models/shared/MicrosoftSharepoint.md new file mode 100644 index 000000000..35ac4e796 --- /dev/null +++ b/docs/models/shared/MicrosoftSharepoint.md @@ -0,0 +1,8 @@ +# MicrosoftSharepoint + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/MicrosoftSharepointCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/MicrosoftSharepointCredentials.md b/docs/models/shared/MicrosoftSharepointCredentials.md new file mode 100644 index 000000000..87d174b0d --- /dev/null +++ b/docs/models/shared/MicrosoftSharepointCredentials.md @@ -0,0 +1,9 @@ +# MicrosoftSharepointCredentials + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | Client ID of your Microsoft developer application | +| `clientSecret` | *Optional* | :heavy_minus_sign: | Client Secret of your Microsoft developer application | \ No newline at end of file diff --git a/docs/models/shared/MicrosoftTeams.md b/docs/models/shared/MicrosoftTeams.md new file mode 100644 index 000000000..424783969 --- /dev/null +++ b/docs/models/shared/MicrosoftTeams.md @@ -0,0 +1,8 @@ +# MicrosoftTeams + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/MicrosoftTeamsCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/MicrosoftTeamsCredentials.md b/docs/models/shared/MicrosoftTeamsCredentials.md new file mode 100644 index 000000000..54f83afd7 --- /dev/null +++ b/docs/models/shared/MicrosoftTeamsCredentials.md @@ -0,0 +1,9 @@ +# MicrosoftTeamsCredentials + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your Microsoft Teams developer application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your Microsoft Teams developer application. | \ No newline at end of file diff --git a/docs/models/shared/Milvus.md b/docs/models/shared/Milvus.md new file mode 100644 index 000000000..892de6910 --- /dev/null +++ b/docs/models/shared/Milvus.md @@ -0,0 +1,8 @@ +# Milvus + + +## Values + +| Name | Value | +| -------- | -------- | +| `MILVUS` | milvus | \ No newline at end of file diff --git a/docs/models/shared/Mixpanel.md b/docs/models/shared/Mixpanel.md new file mode 100644 index 000000000..1283cf76e --- /dev/null +++ b/docs/models/shared/Mixpanel.md @@ -0,0 +1,8 @@ +# Mixpanel + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `MIXPANEL` | mixpanel | \ No newline at end of file diff --git a/docs/models/shared/Mode.md b/docs/models/shared/Mode.md new file mode 100644 index 000000000..873122da4 --- /dev/null +++ b/docs/models/shared/Mode.md @@ -0,0 +1,8 @@ +# Mode + + +## Values + +| Name | Value | +| --------- | --------- | +| `DISABLE` | disable | \ No newline at end of file diff --git a/docs/models/shared/Monday.md b/docs/models/shared/Monday.md new file mode 100644 index 000000000..e0f45e78b --- /dev/null +++ b/docs/models/shared/Monday.md @@ -0,0 +1,8 @@ +# Monday + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/MondayCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/MondayCredentials.md b/docs/models/shared/MondayCredentials.md new file mode 100644 index 000000000..7b7a2eb38 --- /dev/null +++ b/docs/models/shared/MondayCredentials.md @@ -0,0 +1,9 @@ +# MondayCredentials + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your OAuth application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your OAuth application. | \ No newline at end of file diff --git a/docs/models/shared/MongoDBAtlas.md b/docs/models/shared/MongoDBAtlas.md new file mode 100644 index 000000000..b0acb928c --- /dev/null +++ b/docs/models/shared/MongoDBAtlas.md @@ -0,0 +1,9 @@ +# MongoDBAtlas + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| `clusterUrl` | *String* | :heavy_check_mark: | URL of a cluster to connect to. | +| `instance` | [Optional](../../models/shared/DestinationMongodbSchemasInstance.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/MongoDbInstanceType.md b/docs/models/shared/MongoDbInstanceType.md new file mode 100644 index 000000000..86e63c5d2 --- /dev/null +++ b/docs/models/shared/MongoDbInstanceType.md @@ -0,0 +1,4 @@ +# MongoDbInstanceType + +MongoDb instance to connect to. For MongoDB Atlas and Replica Set TLS connection is used by default. + diff --git a/docs/models/shared/Mongodb.md b/docs/models/shared/Mongodb.md new file mode 100644 index 000000000..6a1acad70 --- /dev/null +++ b/docs/models/shared/Mongodb.md @@ -0,0 +1,8 @@ +# Mongodb + + +## Values + +| Name | Value | +| --------- | --------- | +| `MONGODB` | mongodb | \ No newline at end of file diff --git a/docs/models/shared/MongodbInternalPoc.md b/docs/models/shared/MongodbInternalPoc.md new file mode 100644 index 000000000..b6a77eb48 --- /dev/null +++ b/docs/models/shared/MongodbInternalPoc.md @@ -0,0 +1,8 @@ +# MongodbInternalPoc + + +## Values + +| Name | Value | +| ---------------------- | ---------------------- | +| `MONGODB_INTERNAL_POC` | mongodb-internal-poc | \ No newline at end of file diff --git a/docs/models/shared/MongodbV2.md b/docs/models/shared/MongodbV2.md new file mode 100644 index 000000000..7279a444f --- /dev/null +++ b/docs/models/shared/MongodbV2.md @@ -0,0 +1,8 @@ +# MongodbV2 + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `MONGODB_V2` | mongodb-v2 | \ No newline at end of file diff --git a/docs/models/shared/Mssql.md b/docs/models/shared/Mssql.md new file mode 100644 index 000000000..2d488099b --- /dev/null +++ b/docs/models/shared/Mssql.md @@ -0,0 +1,8 @@ +# Mssql + + +## Values + +| Name | Value | +| ------- | ------- | +| `MSSQL` | mssql | \ No newline at end of file diff --git a/docs/models/shared/MyHours.md b/docs/models/shared/MyHours.md new file mode 100644 index 000000000..c700f8b29 --- /dev/null +++ b/docs/models/shared/MyHours.md @@ -0,0 +1,8 @@ +# MyHours + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `MY_HOURS` | my-hours | \ No newline at end of file diff --git a/docs/models/shared/Mysql.md b/docs/models/shared/Mysql.md new file mode 100644 index 000000000..db32cab2d --- /dev/null +++ b/docs/models/shared/Mysql.md @@ -0,0 +1,8 @@ +# Mysql + + +## Values + +| Name | Value | +| ------- | ------- | +| `MYSQL` | mysql | \ No newline at end of file diff --git a/docs/models/shared/NativeNetworkEncryptionNNE.md b/docs/models/shared/NativeNetworkEncryptionNNE.md new file mode 100644 index 000000000..eaf40d33e --- /dev/null +++ b/docs/models/shared/NativeNetworkEncryptionNNE.md @@ -0,0 +1,11 @@ +# NativeNetworkEncryptionNNE + +The native network encryption gives you the ability to encrypt database connections, without the configuration overhead of TCP/IP and SSL/TLS and without the need to open and listen on different ports. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| `encryptionAlgorithm` | [Optional](../../models/shared/EncryptionAlgorithm.md) | :heavy_minus_sign: | This parameter defines what encryption algorithm is used. | +| `encryptionMethod` | [com.airbyte.api.models.shared.EncryptionMethod](../../models/shared/EncryptionMethod.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Netsuite.md b/docs/models/shared/Netsuite.md new file mode 100644 index 000000000..64970d982 --- /dev/null +++ b/docs/models/shared/Netsuite.md @@ -0,0 +1,8 @@ +# Netsuite + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `NETSUITE` | netsuite | \ No newline at end of file diff --git a/docs/models/shared/NoAuth.md b/docs/models/shared/NoAuth.md new file mode 100644 index 000000000..b703e3ea5 --- /dev/null +++ b/docs/models/shared/NoAuth.md @@ -0,0 +1,10 @@ +# NoAuth + +Do not authenticate (suitable for locally running test clusters, do not use for clusters with public IP addresses) + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationMilvusSchemasIndexingAuthAuthenticationMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/NoAuthentication.md b/docs/models/shared/NoAuthentication.md new file mode 100644 index 000000000..7e4ccbd13 --- /dev/null +++ b/docs/models/shared/NoAuthentication.md @@ -0,0 +1,10 @@ +# NoAuthentication + +Do not authenticate (suitable for locally running test clusters, do not use for clusters with public IP addresses) + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationWeaviateSchemasIndexingAuthAuthenticationMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/NoCompression.md b/docs/models/shared/NoCompression.md new file mode 100644 index 000000000..1d5c70da8 --- /dev/null +++ b/docs/models/shared/NoCompression.md @@ -0,0 +1,8 @@ +# NoCompression + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `codec` | [Optional](../../models/shared/Codec.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/NoEncryption.md b/docs/models/shared/NoEncryption.md new file mode 100644 index 000000000..6939226aa --- /dev/null +++ b/docs/models/shared/NoEncryption.md @@ -0,0 +1,10 @@ +# NoEncryption + +Staging data will be stored in plaintext. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `encryptionType` | [Optional](../../models/shared/EncryptionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/NoExternalEmbedding.md b/docs/models/shared/NoExternalEmbedding.md new file mode 100644 index 000000000..044b91490 --- /dev/null +++ b/docs/models/shared/NoExternalEmbedding.md @@ -0,0 +1,10 @@ +# NoExternalEmbedding + +Do not calculate and pass embeddings to Weaviate. Suitable for clusters with configured vectorizers to calculate embeddings within Weaviate or for classes that should only support regular text search. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationWeaviateMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/NoTunnel.md b/docs/models/shared/NoTunnel.md new file mode 100644 index 000000000..0b7c68d6e --- /dev/null +++ b/docs/models/shared/NoTunnel.md @@ -0,0 +1,8 @@ +# NoTunnel + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `tunnelMethod` | [com.airbyte.api.models.shared.TunnelMethod](../../models/shared/TunnelMethod.md) | :heavy_check_mark: | No ssh tunnel needed to connect to database | \ No newline at end of file diff --git a/docs/models/shared/None.md b/docs/models/shared/None.md new file mode 100644 index 000000000..31c78fbcb --- /dev/null +++ b/docs/models/shared/None.md @@ -0,0 +1,10 @@ +# None + +None. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| `authorization` | [com.airbyte.api.models.shared.DestinationMongodbSchemasAuthorization](../../models/shared/DestinationMongodbSchemasAuthorization.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Normalization.md b/docs/models/shared/Normalization.md new file mode 100644 index 000000000..15f4beb20 --- /dev/null +++ b/docs/models/shared/Normalization.md @@ -0,0 +1,11 @@ +# Normalization + +Whether the input JSON data should be normalized (flattened) in the output CSV. Please refer to docs for details. + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `NO_FLATTENING` | No flattening | +| `ROOT_LEVEL_FLATTENING` | Root level flattening | \ No newline at end of file diff --git a/docs/models/shared/NormalizationFlattening.md b/docs/models/shared/NormalizationFlattening.md new file mode 100644 index 000000000..3a1c2086c --- /dev/null +++ b/docs/models/shared/NormalizationFlattening.md @@ -0,0 +1,11 @@ +# NormalizationFlattening + +Whether the input json data should be normalized (flattened) in the output CSV. Please refer to docs for details. + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `NO_FLATTENING` | No flattening | +| `ROOT_LEVEL_FLATTENING` | Root level flattening | \ No newline at end of file diff --git a/docs/models/shared/NotExpression.md b/docs/models/shared/NotExpression.md new file mode 100644 index 000000000..b1e2b09ae --- /dev/null +++ b/docs/models/shared/NotExpression.md @@ -0,0 +1,11 @@ +# NotExpression + +The FilterExpression is NOT of notExpression. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `expression` | [Optional](../../models/shared/SourceGoogleAnalyticsDataApiSchemasExpression.md) | :heavy_minus_sign: | N/A | +| `filterType` | [Optional](../../models/shared/SourceGoogleAnalyticsDataApiSchemasFilterType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Notion.md b/docs/models/shared/Notion.md new file mode 100644 index 000000000..d417e01cc --- /dev/null +++ b/docs/models/shared/Notion.md @@ -0,0 +1,8 @@ +# Notion + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/NotionCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/NotionCredentials.md b/docs/models/shared/NotionCredentials.md new file mode 100644 index 000000000..679dcd119 --- /dev/null +++ b/docs/models/shared/NotionCredentials.md @@ -0,0 +1,9 @@ +# NotionCredentials + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your Notion integration. See our docs for more information. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your Notion integration. See our docs for more information. | \ No newline at end of file diff --git a/docs/models/shared/Nullable.md b/docs/models/shared/Nullable.md new file mode 100644 index 000000000..26aca9b42 --- /dev/null +++ b/docs/models/shared/Nullable.md @@ -0,0 +1,10 @@ +# Nullable + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `TITLE` | title | +| `DESCRIPTION` | description | +| `CONTENT` | content | \ No newline at end of file diff --git a/docs/models/shared/NumericFilter.md b/docs/models/shared/NumericFilter.md new file mode 100644 index 000000000..18c91d11b --- /dev/null +++ b/docs/models/shared/NumericFilter.md @@ -0,0 +1,10 @@ +# NumericFilter + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasFilterName.md) | :heavy_check_mark: | N/A | +| `operation` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasValidEnums](../../models/shared/SourceGoogleAnalyticsDataApiSchemasValidEnums.md)> | :heavy_check_mark: | N/A | +| `value` | [com.airbyte.api.models.shared.Value](../../models/shared/Value.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Nytimes.md b/docs/models/shared/Nytimes.md new file mode 100644 index 000000000..c464bb9e2 --- /dev/null +++ b/docs/models/shared/Nytimes.md @@ -0,0 +1,8 @@ +# Nytimes + + +## Values + +| Name | Value | +| --------- | --------- | +| `NYTIMES` | nytimes | \ No newline at end of file diff --git a/docs/models/shared/OAuth.md b/docs/models/shared/OAuth.md new file mode 100644 index 000000000..ddc01e193 --- /dev/null +++ b/docs/models/shared/OAuth.md @@ -0,0 +1,11 @@ +# OAuth + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | OAuth access token | +| `clientId` | *Optional* | :heavy_minus_sign: | OAuth Client Id | +| `clientSecret` | *Optional* | :heavy_minus_sign: | OAuth Client secret | +| `optionTitle` | [Optional](../../models/shared/OptionTitle.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/OAuth20.md b/docs/models/shared/OAuth20.md new file mode 100644 index 000000000..306802b22 --- /dev/null +++ b/docs/models/shared/OAuth20.md @@ -0,0 +1,11 @@ +# OAuth20 + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `authMethod` | [com.airbyte.api.models.shared.SourcePinterestAuthMethod](../../models/shared/SourcePinterestAuthMethod.md) | :heavy_check_mark: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your OAuth application | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret of your OAuth application. | +| `refreshToken` | *String* | :heavy_check_mark: | Refresh Token to obtain new Access Token, when it's expired. | \ No newline at end of file diff --git a/docs/models/shared/OAuth20Credentials.md b/docs/models/shared/OAuth20Credentials.md new file mode 100644 index 000000000..3bcef4124 --- /dev/null +++ b/docs/models/shared/OAuth20Credentials.md @@ -0,0 +1,11 @@ +# OAuth20Credentials + +OAuth2.0 credentials used to authenticate admin actions (creating/deleting corpora) + + +## Fields + +| Field | Type | Required | Description | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `clientId` | *String* | :heavy_check_mark: | OAuth2.0 client id | +| `clientSecret` | *String* | :heavy_check_mark: | OAuth2.0 client secret | \ No newline at end of file diff --git a/docs/models/shared/OAuth2AccessToken.md b/docs/models/shared/OAuth2AccessToken.md new file mode 100644 index 000000000..869eb374f --- /dev/null +++ b/docs/models/shared/OAuth2AccessToken.md @@ -0,0 +1,9 @@ +# OAuth2AccessToken + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Also called API Access Token The access token used to call the Auth0 Management API Token. It's a JWT that contains specific grant permissions knowns as scopes. | | +| `authType` | [com.airbyte.api.models.shared.SourceAuth0SchemasCredentialsAuthenticationMethod](../../models/shared/SourceAuth0SchemasCredentialsAuthenticationMethod.md) | :heavy_check_mark: | N/A | oauth2_access_token | \ No newline at end of file diff --git a/docs/models/shared/OAuth2ConfidentialApplication.md b/docs/models/shared/OAuth2ConfidentialApplication.md new file mode 100644 index 000000000..8b9e55e43 --- /dev/null +++ b/docs/models/shared/OAuth2ConfidentialApplication.md @@ -0,0 +1,11 @@ +# OAuth2ConfidentialApplication + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `audience` | *String* | :heavy_check_mark: | The audience for the token, which is your API. You can find this in the Identifier field on your API's settings tab | https://dev-yourOrg.us.auth0.com/api/v2/ | +| `authType` | [com.airbyte.api.models.shared.SourceAuth0SchemasAuthenticationMethod](../../models/shared/SourceAuth0SchemasAuthenticationMethod.md) | :heavy_check_mark: | N/A | | +| `clientId` | *String* | :heavy_check_mark: | Your application's Client ID. You can find this value on the application's settings tab after you login the admin portal. | Client_ID | +| `clientSecret` | *String* | :heavy_check_mark: | Your application's Client Secret. You can find this value on the application's settings tab after you login the admin portal. | Client_Secret | \ No newline at end of file diff --git a/docs/models/shared/OAuthActorNames.md b/docs/models/shared/OAuthActorNames.md index 0983d85cd..a98ed275b 100644 --- a/docs/models/shared/OAuthActorNames.md +++ b/docs/models/shared/OAuthActorNames.md @@ -25,6 +25,7 @@ | `LEVER_HIRING` | lever-hiring | | `LINKEDIN_ADS` | linkedin-ads | | `MAILCHIMP` | mailchimp | +| `MICROSOFT_ONEDRIVE` | microsoft-onedrive | | `MICROSOFT_SHAREPOINT` | microsoft-sharepoint | | `MICROSOFT_TEAMS` | microsoft-teams | | `MONDAY` | monday | diff --git a/docs/models/shared/OAuthCredentialsConfiguration.md b/docs/models/shared/OAuthCredentialsConfiguration.md new file mode 100644 index 000000000..37f3eeb68 --- /dev/null +++ b/docs/models/shared/OAuthCredentialsConfiguration.md @@ -0,0 +1,4 @@ +# OAuthCredentialsConfiguration + +The values required to configure the source. + diff --git a/docs/models/shared/OauthAuthentication.md b/docs/models/shared/OauthAuthentication.md new file mode 100644 index 000000000..8e7bc90ed --- /dev/null +++ b/docs/models/shared/OauthAuthentication.md @@ -0,0 +1,11 @@ +# OauthAuthentication + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `authType` | [com.airbyte.api.models.shared.SourceSquareAuthType](../../models/shared/SourceSquareAuthType.md) | :heavy_check_mark: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The Square-issued ID of your application | +| `clientSecret` | *String* | :heavy_check_mark: | The Square-issued application secret for your application | +| `refreshToken` | *String* | :heavy_check_mark: | A refresh token generated using the above client ID and secret | \ No newline at end of file diff --git a/docs/models/shared/Okta.md b/docs/models/shared/Okta.md new file mode 100644 index 000000000..7c1d3440d --- /dev/null +++ b/docs/models/shared/Okta.md @@ -0,0 +1,8 @@ +# Okta + + +## Values + +| Name | Value | +| ------ | ------ | +| `OKTA` | okta | \ No newline at end of file diff --git a/docs/models/shared/Omnisend.md b/docs/models/shared/Omnisend.md new file mode 100644 index 000000000..805af26f1 --- /dev/null +++ b/docs/models/shared/Omnisend.md @@ -0,0 +1,8 @@ +# Omnisend + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `OMNISEND` | omnisend | \ No newline at end of file diff --git a/docs/models/shared/Onesignal.md b/docs/models/shared/Onesignal.md new file mode 100644 index 000000000..7d1574bc8 --- /dev/null +++ b/docs/models/shared/Onesignal.md @@ -0,0 +1,8 @@ +# Onesignal + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `ONESIGNAL` | onesignal | \ No newline at end of file diff --git a/docs/models/shared/OpenAI.md b/docs/models/shared/OpenAI.md new file mode 100644 index 000000000..270bc7d3b --- /dev/null +++ b/docs/models/shared/OpenAI.md @@ -0,0 +1,11 @@ +# OpenAI + +Use the OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationAstraSchemasEmbeddingEmbedding1Mode.md) | :heavy_minus_sign: | N/A | +| `openaiKey` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/OpenAICompatible.md b/docs/models/shared/OpenAICompatible.md new file mode 100644 index 000000000..a26ab5064 --- /dev/null +++ b/docs/models/shared/OpenAICompatible.md @@ -0,0 +1,14 @@ +# OpenAICompatible + +Use a service that's compatible with the OpenAI API to embed text. + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *Optional* | :heavy_minus_sign: | N/A | | +| `baseUrl` | *String* | :heavy_check_mark: | The base URL for your OpenAI-compatible service | https://your-service-name.com | +| `dimensions` | *long* | :heavy_check_mark: | The number of dimensions the embedding model is generating | 1536 | +| `mode` | [Optional](../../models/shared/DestinationAstraSchemasEmbeddingEmbeddingMode.md) | :heavy_minus_sign: | N/A | | +| `modelName` | *Optional* | :heavy_minus_sign: | The name of the model to use for embedding | text-embedding-ada-002 | \ No newline at end of file diff --git a/docs/models/shared/Operator.md b/docs/models/shared/Operator.md new file mode 100644 index 000000000..d2fe7228d --- /dev/null +++ b/docs/models/shared/Operator.md @@ -0,0 +1,11 @@ +# Operator + +An Operator that will be used to filter accounts. The Contains predicate has features for matching words, matching inflectional forms of words, searching using wildcard characters, and searching using proximity. The Equals is used to return all rows where account name is equal(=) to the string that you provided + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `CONTAINS` | Contains | +| `EQUALS_` | Equals | \ No newline at end of file diff --git a/docs/models/shared/OptionTitle.md b/docs/models/shared/OptionTitle.md new file mode 100644 index 000000000..7158ec24f --- /dev/null +++ b/docs/models/shared/OptionTitle.md @@ -0,0 +1,8 @@ +# OptionTitle + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `O_AUTH_CREDENTIALS` | OAuth Credentials | \ No newline at end of file diff --git a/docs/models/shared/OptionsList.md b/docs/models/shared/OptionsList.md new file mode 100644 index 000000000..2614a1f98 --- /dev/null +++ b/docs/models/shared/OptionsList.md @@ -0,0 +1,9 @@ +# OptionsList + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `optionName` | *String* | :heavy_check_mark: | N/A | +| `optionValue` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/OrGroup.md b/docs/models/shared/OrGroup.md new file mode 100644 index 000000000..3d3fab508 --- /dev/null +++ b/docs/models/shared/OrGroup.md @@ -0,0 +1,11 @@ +# OrGroup + +The FilterExpressions in orGroup have an OR relationship. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `expressions` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiExpression](../../models/shared/SourceGoogleAnalyticsDataApiExpression.md)> | :heavy_check_mark: | N/A | +| `filterType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiFilterType](../../models/shared/SourceGoogleAnalyticsDataApiFilterType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Oracle.md b/docs/models/shared/Oracle.md new file mode 100644 index 000000000..857aa2755 --- /dev/null +++ b/docs/models/shared/Oracle.md @@ -0,0 +1,8 @@ +# Oracle + + +## Values + +| Name | Value | +| -------- | -------- | +| `ORACLE` | oracle | \ No newline at end of file diff --git a/docs/models/shared/Orb.md b/docs/models/shared/Orb.md new file mode 100644 index 000000000..c05d1613f --- /dev/null +++ b/docs/models/shared/Orb.md @@ -0,0 +1,8 @@ +# Orb + + +## Values + +| Name | Value | +| ----- | ----- | +| `ORB` | orb | \ No newline at end of file diff --git a/docs/models/shared/Orbit.md b/docs/models/shared/Orbit.md new file mode 100644 index 000000000..ae74911e7 --- /dev/null +++ b/docs/models/shared/Orbit.md @@ -0,0 +1,8 @@ +# Orbit + + +## Values + +| Name | Value | +| ------- | ------- | +| `ORBIT` | orbit | \ No newline at end of file diff --git a/docs/models/shared/OriginDatacenterOfTheSurveyMonkeyAccount.md b/docs/models/shared/OriginDatacenterOfTheSurveyMonkeyAccount.md new file mode 100644 index 000000000..1c83fac8b --- /dev/null +++ b/docs/models/shared/OriginDatacenterOfTheSurveyMonkeyAccount.md @@ -0,0 +1,12 @@ +# OriginDatacenterOfTheSurveyMonkeyAccount + +Depending on the originating datacenter of the SurveyMonkey account, the API access URL may be different. + + +## Values + +| Name | Value | +| -------- | -------- | +| `USA` | USA | +| `EUROPE` | Europe | +| `CANADA` | Canada | \ No newline at end of file diff --git a/docs/models/shared/OutbrainAmplify.md b/docs/models/shared/OutbrainAmplify.md new file mode 100644 index 000000000..d259d6c2a --- /dev/null +++ b/docs/models/shared/OutbrainAmplify.md @@ -0,0 +1,8 @@ +# OutbrainAmplify + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `OUTBRAIN_AMPLIFY` | outbrain-amplify | \ No newline at end of file diff --git a/docs/models/shared/OutputFormat.md b/docs/models/shared/OutputFormat.md new file mode 100644 index 000000000..6f964dae0 --- /dev/null +++ b/docs/models/shared/OutputFormat.md @@ -0,0 +1,4 @@ +# OutputFormat + +Output data format + diff --git a/docs/models/shared/OutputFormatWildcard.md b/docs/models/shared/OutputFormatWildcard.md new file mode 100644 index 000000000..8b035b395 --- /dev/null +++ b/docs/models/shared/OutputFormatWildcard.md @@ -0,0 +1,4 @@ +# OutputFormatWildcard + +Format of the data output. + diff --git a/docs/models/shared/Outreach.md b/docs/models/shared/Outreach.md new file mode 100644 index 000000000..6132bab36 --- /dev/null +++ b/docs/models/shared/Outreach.md @@ -0,0 +1,8 @@ +# Outreach + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `OUTREACH` | outreach | \ No newline at end of file diff --git a/docs/models/shared/Parquet.md b/docs/models/shared/Parquet.md new file mode 100644 index 000000000..f0184b1bf --- /dev/null +++ b/docs/models/shared/Parquet.md @@ -0,0 +1,13 @@ +# Parquet + +This connector utilises PyArrow (Apache Arrow) for Parquet parsing. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `batchSize` | *Optional* | :heavy_minus_sign: | Maximum number of records per batch read from the input files. Batches may be smaller if there aren’t enough rows in the file. This option can help avoid out-of-memory errors if your data is particularly wide. | +| `bufferSize` | *Optional* | :heavy_minus_sign: | Perform read buffering when deserializing individual column chunks. By default every group column will be loaded fully to memory. This option can help avoid out-of-memory errors if your data is particularly wide. | +| `columns` | List<*String*> | :heavy_minus_sign: | If you only want to sync a subset of the columns from the file(s), add the columns you want here as a comma-delimited list. Leave it empty to sync all columns. | +| `filetype` | [Optional](../../models/shared/SourceS3Filetype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/ParquetColumnarStorage.md b/docs/models/shared/ParquetColumnarStorage.md new file mode 100644 index 000000000..df6e36d27 --- /dev/null +++ b/docs/models/shared/ParquetColumnarStorage.md @@ -0,0 +1,9 @@ +# ParquetColumnarStorage + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `compressionCodec` | [Optional](../../models/shared/DestinationAwsDatalakeCompressionCodecOptional.md) | :heavy_minus_sign: | The compression algorithm used to compress data. | +| `formatType` | [Optional](../../models/shared/DestinationAwsDatalakeFormatTypeWildcard.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/ParquetFormat.md b/docs/models/shared/ParquetFormat.md new file mode 100644 index 000000000..8d9f8263c --- /dev/null +++ b/docs/models/shared/ParquetFormat.md @@ -0,0 +1,9 @@ +# ParquetFormat + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `decimalAsFloat` | *Optional* | :heavy_minus_sign: | Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. | +| `filetype` | [Optional](../../models/shared/SourceAzureBlobStorageSchemasStreamsFiletype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/ParsingStrategy.md b/docs/models/shared/ParsingStrategy.md new file mode 100644 index 000000000..e7197aaee --- /dev/null +++ b/docs/models/shared/ParsingStrategy.md @@ -0,0 +1,13 @@ +# ParsingStrategy + +The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `AUTO` | auto | +| `FAST` | fast | +| `OCR_ONLY` | ocr_only | +| `HI_RES` | hi_res | \ No newline at end of file diff --git a/docs/models/shared/PasswordAuthentication.md b/docs/models/shared/PasswordAuthentication.md new file mode 100644 index 000000000..a4e75d18e --- /dev/null +++ b/docs/models/shared/PasswordAuthentication.md @@ -0,0 +1,12 @@ +# PasswordAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationClickhouseSchemasTunnelMethod](../../models/shared/DestinationClickhouseSchemasTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and password authentication | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host | | +| `tunnelUserPassword` | *String* | :heavy_check_mark: | OS-level password for logging into the jump server host | | \ No newline at end of file diff --git a/docs/models/shared/PaypalTransaction.md b/docs/models/shared/PaypalTransaction.md new file mode 100644 index 000000000..07f15b769 --- /dev/null +++ b/docs/models/shared/PaypalTransaction.md @@ -0,0 +1,8 @@ +# PaypalTransaction + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `PAYPAL_TRANSACTION` | paypal-transaction | \ No newline at end of file diff --git a/docs/models/shared/Paystack.md b/docs/models/shared/Paystack.md new file mode 100644 index 000000000..1840e9b86 --- /dev/null +++ b/docs/models/shared/Paystack.md @@ -0,0 +1,8 @@ +# Paystack + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `PAYSTACK` | paystack | \ No newline at end of file diff --git a/docs/models/shared/Pendo.md b/docs/models/shared/Pendo.md new file mode 100644 index 000000000..9c517d2a0 --- /dev/null +++ b/docs/models/shared/Pendo.md @@ -0,0 +1,8 @@ +# Pendo + + +## Values + +| Name | Value | +| ------- | ------- | +| `PENDO` | pendo | \ No newline at end of file diff --git a/docs/models/shared/PeriodUsedForMostPopularStreams.md b/docs/models/shared/PeriodUsedForMostPopularStreams.md new file mode 100644 index 000000000..477512dfc --- /dev/null +++ b/docs/models/shared/PeriodUsedForMostPopularStreams.md @@ -0,0 +1,12 @@ +# PeriodUsedForMostPopularStreams + +Period of time (in days) + + +## Values + +| Name | Value | +| -------- | -------- | +| `ONE` | 1 | +| `SEVEN` | 7 | +| `THIRTY` | 30 | \ No newline at end of file diff --git a/docs/models/shared/Persistiq.md b/docs/models/shared/Persistiq.md new file mode 100644 index 000000000..de11536fa --- /dev/null +++ b/docs/models/shared/Persistiq.md @@ -0,0 +1,8 @@ +# Persistiq + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `PERSISTIQ` | persistiq | \ No newline at end of file diff --git a/docs/models/shared/PersonalAccessToken.md b/docs/models/shared/PersonalAccessToken.md new file mode 100644 index 000000000..f7ce247f1 --- /dev/null +++ b/docs/models/shared/PersonalAccessToken.md @@ -0,0 +1,9 @@ +# PersonalAccessToken + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | The Personal Access Token for the Airtable account. See the Support Guide for more information on how to obtain this token. | key1234567890 | +| `authMethod` | [Optional](../../models/shared/SourceAirtableAuthMethod.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/PexelsApi.md b/docs/models/shared/PexelsApi.md new file mode 100644 index 000000000..984f41164 --- /dev/null +++ b/docs/models/shared/PexelsApi.md @@ -0,0 +1,8 @@ +# PexelsApi + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `PEXELS_API` | pexels-api | \ No newline at end of file diff --git a/docs/models/shared/Pinecone.md b/docs/models/shared/Pinecone.md new file mode 100644 index 000000000..c1b254b07 --- /dev/null +++ b/docs/models/shared/Pinecone.md @@ -0,0 +1,8 @@ +# Pinecone + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `PINECONE` | pinecone | \ No newline at end of file diff --git a/docs/models/shared/Pinterest.md b/docs/models/shared/Pinterest.md new file mode 100644 index 000000000..744d7e3b1 --- /dev/null +++ b/docs/models/shared/Pinterest.md @@ -0,0 +1,8 @@ +# Pinterest + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/PinterestCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/PinterestCredentials.md b/docs/models/shared/PinterestCredentials.md new file mode 100644 index 000000000..186937379 --- /dev/null +++ b/docs/models/shared/PinterestCredentials.md @@ -0,0 +1,9 @@ +# PinterestCredentials + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your OAuth application | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your OAuth application. | \ No newline at end of file diff --git a/docs/models/shared/Pipedrive.md b/docs/models/shared/Pipedrive.md new file mode 100644 index 000000000..4c918bb25 --- /dev/null +++ b/docs/models/shared/Pipedrive.md @@ -0,0 +1,8 @@ +# Pipedrive + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `PIPEDRIVE` | pipedrive | \ No newline at end of file diff --git a/docs/models/shared/PivotCategory.md b/docs/models/shared/PivotCategory.md new file mode 100644 index 000000000..f34c352fe --- /dev/null +++ b/docs/models/shared/PivotCategory.md @@ -0,0 +1,30 @@ +# PivotCategory + +Choose a category to pivot your analytics report around. This selection will organize your data based on the chosen attribute, allowing you to analyze trends and performance from different perspectives. + + +## Values + +| Name | Value | +| -------------------------------- | -------------------------------- | +| `COMPANY` | COMPANY | +| `ACCOUNT` | ACCOUNT | +| `SHARE` | SHARE | +| `CAMPAIGN` | CAMPAIGN | +| `CREATIVE` | CREATIVE | +| `CAMPAIGN_GROUP` | CAMPAIGN_GROUP | +| `CONVERSION` | CONVERSION | +| `CONVERSATION_NODE` | CONVERSATION_NODE | +| `CONVERSATION_NODE_OPTION_INDEX` | CONVERSATION_NODE_OPTION_INDEX | +| `SERVING_LOCATION` | SERVING_LOCATION | +| `CARD_INDEX` | CARD_INDEX | +| `MEMBER_COMPANY_SIZE` | MEMBER_COMPANY_SIZE | +| `MEMBER_INDUSTRY` | MEMBER_INDUSTRY | +| `MEMBER_SENIORITY` | MEMBER_SENIORITY | +| `MEMBER_JOB_TITLE` | MEMBER_JOB_TITLE | +| `MEMBER_JOB_FUNCTION` | MEMBER_JOB_FUNCTION | +| `MEMBER_COUNTRY_V2` | MEMBER_COUNTRY_V2 | +| `MEMBER_REGION_V2` | MEMBER_REGION_V2 | +| `MEMBER_COMPANY` | MEMBER_COMPANY | +| `PLACEMENT_NAME` | PLACEMENT_NAME | +| `IMPRESSION_DEVICE_TYPE` | IMPRESSION_DEVICE_TYPE | \ No newline at end of file diff --git a/docs/models/shared/Pocket.md b/docs/models/shared/Pocket.md new file mode 100644 index 000000000..c61e15b99 --- /dev/null +++ b/docs/models/shared/Pocket.md @@ -0,0 +1,8 @@ +# Pocket + + +## Values + +| Name | Value | +| -------- | -------- | +| `POCKET` | pocket | \ No newline at end of file diff --git a/docs/models/shared/Pokeapi.md b/docs/models/shared/Pokeapi.md new file mode 100644 index 000000000..8d8974125 --- /dev/null +++ b/docs/models/shared/Pokeapi.md @@ -0,0 +1,8 @@ +# Pokeapi + + +## Values + +| Name | Value | +| --------- | --------- | +| `POKEAPI` | pokeapi | \ No newline at end of file diff --git a/docs/models/shared/PokemonName.md b/docs/models/shared/PokemonName.md new file mode 100644 index 000000000..923c5aa91 --- /dev/null +++ b/docs/models/shared/PokemonName.md @@ -0,0 +1,907 @@ +# PokemonName + +Pokemon requested from the API. + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `BULBASAUR` | bulbasaur | +| `IVYSAUR` | ivysaur | +| `VENUSAUR` | venusaur | +| `CHARMANDER` | charmander | +| `CHARMELEON` | charmeleon | +| `CHARIZARD` | charizard | +| `SQUIRTLE` | squirtle | +| `WARTORTLE` | wartortle | +| `BLASTOISE` | blastoise | +| `CATERPIE` | caterpie | +| `METAPOD` | metapod | +| `BUTTERFREE` | butterfree | +| `WEEDLE` | weedle | +| `KAKUNA` | kakuna | +| `BEEDRILL` | beedrill | +| `PIDGEY` | pidgey | +| `PIDGEOTTO` | pidgeotto | +| `PIDGEOT` | pidgeot | +| `RATTATA` | rattata | +| `RATICATE` | raticate | +| `SPEAROW` | spearow | +| `FEAROW` | fearow | +| `EKANS` | ekans | +| `ARBOK` | arbok | +| `PIKACHU` | pikachu | +| `RAICHU` | raichu | +| `SANDSHREW` | sandshrew | +| `SANDSLASH` | sandslash | +| `NIDORANF` | nidoranf | +| `NIDORINA` | nidorina | +| `NIDOQUEEN` | nidoqueen | +| `NIDORANM` | nidoranm | +| `NIDORINO` | nidorino | +| `NIDOKING` | nidoking | +| `CLEFAIRY` | clefairy | +| `CLEFABLE` | clefable | +| `VULPIX` | vulpix | +| `NINETALES` | ninetales | +| `JIGGLYPUFF` | jigglypuff | +| `WIGGLYTUFF` | wigglytuff | +| `ZUBAT` | zubat | +| `GOLBAT` | golbat | +| `ODDISH` | oddish | +| `GLOOM` | gloom | +| `VILEPLUME` | vileplume | +| `PARAS` | paras | +| `PARASECT` | parasect | +| `VENONAT` | venonat | +| `VENOMOTH` | venomoth | +| `DIGLETT` | diglett | +| `DUGTRIO` | dugtrio | +| `MEOWTH` | meowth | +| `PERSIAN` | persian | +| `PSYDUCK` | psyduck | +| `GOLDUCK` | golduck | +| `MANKEY` | mankey | +| `PRIMEAPE` | primeape | +| `GROWLITHE` | growlithe | +| `ARCANINE` | arcanine | +| `POLIWAG` | poliwag | +| `POLIWHIRL` | poliwhirl | +| `POLIWRATH` | poliwrath | +| `ABRA` | abra | +| `KADABRA` | kadabra | +| `ALAKAZAM` | alakazam | +| `MACHOP` | machop | +| `MACHOKE` | machoke | +| `MACHAMP` | machamp | +| `BELLSPROUT` | bellsprout | +| `WEEPINBELL` | weepinbell | +| `VICTREEBEL` | victreebel | +| `TENTACOOL` | tentacool | +| `TENTACRUEL` | tentacruel | +| `GEODUDE` | geodude | +| `GRAVELER` | graveler | +| `GOLEM` | golem | +| `PONYTA` | ponyta | +| `RAPIDASH` | rapidash | +| `SLOWPOKE` | slowpoke | +| `SLOWBRO` | slowbro | +| `MAGNEMITE` | magnemite | +| `MAGNETON` | magneton | +| `FARFETCHD` | farfetchd | +| `DODUO` | doduo | +| `DODRIO` | dodrio | +| `SEEL` | seel | +| `DEWGONG` | dewgong | +| `GRIMER` | grimer | +| `MUK` | muk | +| `SHELLDER` | shellder | +| `CLOYSTER` | cloyster | +| `GASTLY` | gastly | +| `HAUNTER` | haunter | +| `GENGAR` | gengar | +| `ONIX` | onix | +| `DROWZEE` | drowzee | +| `HYPNO` | hypno | +| `KRABBY` | krabby | +| `KINGLER` | kingler | +| `VOLTORB` | voltorb | +| `ELECTRODE` | electrode | +| `EXEGGCUTE` | exeggcute | +| `EXEGGUTOR` | exeggutor | +| `CUBONE` | cubone | +| `MAROWAK` | marowak | +| `HITMONLEE` | hitmonlee | +| `HITMONCHAN` | hitmonchan | +| `LICKITUNG` | lickitung | +| `KOFFING` | koffing | +| `WEEZING` | weezing | +| `RHYHORN` | rhyhorn | +| `RHYDON` | rhydon | +| `CHANSEY` | chansey | +| `TANGELA` | tangela | +| `KANGASKHAN` | kangaskhan | +| `HORSEA` | horsea | +| `SEADRA` | seadra | +| `GOLDEEN` | goldeen | +| `SEAKING` | seaking | +| `STARYU` | staryu | +| `STARMIE` | starmie | +| `MRMIME` | mrmime | +| `SCYTHER` | scyther | +| `JYNX` | jynx | +| `ELECTABUZZ` | electabuzz | +| `MAGMAR` | magmar | +| `PINSIR` | pinsir | +| `TAUROS` | tauros | +| `MAGIKARP` | magikarp | +| `GYARADOS` | gyarados | +| `LAPRAS` | lapras | +| `DITTO` | ditto | +| `EEVEE` | eevee | +| `VAPOREON` | vaporeon | +| `JOLTEON` | jolteon | +| `FLAREON` | flareon | +| `PORYGON` | porygon | +| `OMANYTE` | omanyte | +| `OMASTAR` | omastar | +| `KABUTO` | kabuto | +| `KABUTOPS` | kabutops | +| `AERODACTYL` | aerodactyl | +| `SNORLAX` | snorlax | +| `ARTICUNO` | articuno | +| `ZAPDOS` | zapdos | +| `MOLTRES` | moltres | +| `DRATINI` | dratini | +| `DRAGONAIR` | dragonair | +| `DRAGONITE` | dragonite | +| `MEWTWO` | mewtwo | +| `MEW` | mew | +| `CHIKORITA` | chikorita | +| `BAYLEEF` | bayleef | +| `MEGANIUM` | meganium | +| `CYNDAQUIL` | cyndaquil | +| `QUILAVA` | quilava | +| `TYPHLOSION` | typhlosion | +| `TOTODILE` | totodile | +| `CROCONAW` | croconaw | +| `FERALIGATR` | feraligatr | +| `SENTRET` | sentret | +| `FURRET` | furret | +| `HOOTHOOT` | hoothoot | +| `NOCTOWL` | noctowl | +| `LEDYBA` | ledyba | +| `LEDIAN` | ledian | +| `SPINARAK` | spinarak | +| `ARIADOS` | ariados | +| `CROBAT` | crobat | +| `CHINCHOU` | chinchou | +| `LANTURN` | lanturn | +| `PICHU` | pichu | +| `CLEFFA` | cleffa | +| `IGGLYBUFF` | igglybuff | +| `TOGEPI` | togepi | +| `TOGETIC` | togetic | +| `NATU` | natu | +| `XATU` | xatu | +| `MAREEP` | mareep | +| `FLAAFFY` | flaaffy | +| `AMPHAROS` | ampharos | +| `BELLOSSOM` | bellossom | +| `MARILL` | marill | +| `AZUMARILL` | azumarill | +| `SUDOWOODO` | sudowoodo | +| `POLITOED` | politoed | +| `HOPPIP` | hoppip | +| `SKIPLOOM` | skiploom | +| `JUMPLUFF` | jumpluff | +| `AIPOM` | aipom | +| `SUNKERN` | sunkern | +| `SUNFLORA` | sunflora | +| `YANMA` | yanma | +| `WOOPER` | wooper | +| `QUAGSIRE` | quagsire | +| `ESPEON` | espeon | +| `UMBREON` | umbreon | +| `MURKROW` | murkrow | +| `SLOWKING` | slowking | +| `MISDREAVUS` | misdreavus | +| `UNOWN` | unown | +| `WOBBUFFET` | wobbuffet | +| `GIRAFARIG` | girafarig | +| `PINECO` | pineco | +| `FORRETRESS` | forretress | +| `DUNSPARCE` | dunsparce | +| `GLIGAR` | gligar | +| `STEELIX` | steelix | +| `SNUBBULL` | snubbull | +| `GRANBULL` | granbull | +| `QWILFISH` | qwilfish | +| `SCIZOR` | scizor | +| `SHUCKLE` | shuckle | +| `HERACROSS` | heracross | +| `SNEASEL` | sneasel | +| `TEDDIURSA` | teddiursa | +| `URSARING` | ursaring | +| `SLUGMA` | slugma | +| `MAGCARGO` | magcargo | +| `SWINUB` | swinub | +| `PILOSWINE` | piloswine | +| `CORSOLA` | corsola | +| `REMORAID` | remoraid | +| `OCTILLERY` | octillery | +| `DELIBIRD` | delibird | +| `MANTINE` | mantine | +| `SKARMORY` | skarmory | +| `HOUNDOUR` | houndour | +| `HOUNDOOM` | houndoom | +| `KINGDRA` | kingdra | +| `PHANPY` | phanpy | +| `DONPHAN` | donphan | +| `PORYGON2` | porygon2 | +| `STANTLER` | stantler | +| `SMEARGLE` | smeargle | +| `TYROGUE` | tyrogue | +| `HITMONTOP` | hitmontop | +| `SMOOCHUM` | smoochum | +| `ELEKID` | elekid | +| `MAGBY` | magby | +| `MILTANK` | miltank | +| `BLISSEY` | blissey | +| `RAIKOU` | raikou | +| `ENTEI` | entei | +| `SUICUNE` | suicune | +| `LARVITAR` | larvitar | +| `PUPITAR` | pupitar | +| `TYRANITAR` | tyranitar | +| `LUGIA` | lugia | +| `HO_OH` | ho-oh | +| `CELEBI` | celebi | +| `TREECKO` | treecko | +| `GROVYLE` | grovyle | +| `SCEPTILE` | sceptile | +| `TORCHIC` | torchic | +| `COMBUSKEN` | combusken | +| `BLAZIKEN` | blaziken | +| `MUDKIP` | mudkip | +| `MARSHTOMP` | marshtomp | +| `SWAMPERT` | swampert | +| `POOCHYENA` | poochyena | +| `MIGHTYENA` | mightyena | +| `ZIGZAGOON` | zigzagoon | +| `LINOONE` | linoone | +| `WURMPLE` | wurmple | +| `SILCOON` | silcoon | +| `BEAUTIFLY` | beautifly | +| `CASCOON` | cascoon | +| `DUSTOX` | dustox | +| `LOTAD` | lotad | +| `LOMBRE` | lombre | +| `LUDICOLO` | ludicolo | +| `SEEDOT` | seedot | +| `NUZLEAF` | nuzleaf | +| `SHIFTRY` | shiftry | +| `TAILLOW` | taillow | +| `SWELLOW` | swellow | +| `WINGULL` | wingull | +| `PELIPPER` | pelipper | +| `RALTS` | ralts | +| `KIRLIA` | kirlia | +| `GARDEVOIR` | gardevoir | +| `SURSKIT` | surskit | +| `MASQUERAIN` | masquerain | +| `SHROOMISH` | shroomish | +| `BRELOOM` | breloom | +| `SLAKOTH` | slakoth | +| `VIGOROTH` | vigoroth | +| `SLAKING` | slaking | +| `NINCADA` | nincada | +| `NINJASK` | ninjask | +| `SHEDINJA` | shedinja | +| `WHISMUR` | whismur | +| `LOUDRED` | loudred | +| `EXPLOUD` | exploud | +| `MAKUHITA` | makuhita | +| `HARIYAMA` | hariyama | +| `AZURILL` | azurill | +| `NOSEPASS` | nosepass | +| `SKITTY` | skitty | +| `DELCATTY` | delcatty | +| `SABLEYE` | sableye | +| `MAWILE` | mawile | +| `ARON` | aron | +| `LAIRON` | lairon | +| `AGGRON` | aggron | +| `MEDITITE` | meditite | +| `MEDICHAM` | medicham | +| `ELECTRIKE` | electrike | +| `MANECTRIC` | manectric | +| `PLUSLE` | plusle | +| `MINUN` | minun | +| `VOLBEAT` | volbeat | +| `ILLUMISE` | illumise | +| `ROSELIA` | roselia | +| `GULPIN` | gulpin | +| `SWALOT` | swalot | +| `CARVANHA` | carvanha | +| `SHARPEDO` | sharpedo | +| `WAILMER` | wailmer | +| `WAILORD` | wailord | +| `NUMEL` | numel | +| `CAMERUPT` | camerupt | +| `TORKOAL` | torkoal | +| `SPOINK` | spoink | +| `GRUMPIG` | grumpig | +| `SPINDA` | spinda | +| `TRAPINCH` | trapinch | +| `VIBRAVA` | vibrava | +| `FLYGON` | flygon | +| `CACNEA` | cacnea | +| `CACTURNE` | cacturne | +| `SWABLU` | swablu | +| `ALTARIA` | altaria | +| `ZANGOOSE` | zangoose | +| `SEVIPER` | seviper | +| `LUNATONE` | lunatone | +| `SOLROCK` | solrock | +| `BARBOACH` | barboach | +| `WHISCASH` | whiscash | +| `CORPHISH` | corphish | +| `CRAWDAUNT` | crawdaunt | +| `BALTOY` | baltoy | +| `CLAYDOL` | claydol | +| `LILEEP` | lileep | +| `CRADILY` | cradily | +| `ANORITH` | anorith | +| `ARMALDO` | armaldo | +| `FEEBAS` | feebas | +| `MILOTIC` | milotic | +| `CASTFORM` | castform | +| `KECLEON` | kecleon | +| `SHUPPET` | shuppet | +| `BANETTE` | banette | +| `DUSKULL` | duskull | +| `DUSCLOPS` | dusclops | +| `TROPIUS` | tropius | +| `CHIMECHO` | chimecho | +| `ABSOL` | absol | +| `WYNAUT` | wynaut | +| `SNORUNT` | snorunt | +| `GLALIE` | glalie | +| `SPHEAL` | spheal | +| `SEALEO` | sealeo | +| `WALREIN` | walrein | +| `CLAMPERL` | clamperl | +| `HUNTAIL` | huntail | +| `GOREBYSS` | gorebyss | +| `RELICANTH` | relicanth | +| `LUVDISC` | luvdisc | +| `BAGON` | bagon | +| `SHELGON` | shelgon | +| `SALAMENCE` | salamence | +| `BELDUM` | beldum | +| `METANG` | metang | +| `METAGROSS` | metagross | +| `REGIROCK` | regirock | +| `REGICE` | regice | +| `REGISTEEL` | registeel | +| `LATIAS` | latias | +| `LATIOS` | latios | +| `KYOGRE` | kyogre | +| `GROUDON` | groudon | +| `RAYQUAZA` | rayquaza | +| `JIRACHI` | jirachi | +| `DEOXYS` | deoxys | +| `TURTWIG` | turtwig | +| `GROTLE` | grotle | +| `TORTERRA` | torterra | +| `CHIMCHAR` | chimchar | +| `MONFERNO` | monferno | +| `INFERNAPE` | infernape | +| `PIPLUP` | piplup | +| `PRINPLUP` | prinplup | +| `EMPOLEON` | empoleon | +| `STARLY` | starly | +| `STARAVIA` | staravia | +| `STARAPTOR` | staraptor | +| `BIDOOF` | bidoof | +| `BIBAREL` | bibarel | +| `KRICKETOT` | kricketot | +| `KRICKETUNE` | kricketune | +| `SHINX` | shinx | +| `LUXIO` | luxio | +| `LUXRAY` | luxray | +| `BUDEW` | budew | +| `ROSERADE` | roserade | +| `CRANIDOS` | cranidos | +| `RAMPARDOS` | rampardos | +| `SHIELDON` | shieldon | +| `BASTIODON` | bastiodon | +| `BURMY` | burmy | +| `WORMADAM` | wormadam | +| `MOTHIM` | mothim | +| `COMBEE` | combee | +| `VESPIQUEN` | vespiquen | +| `PACHIRISU` | pachirisu | +| `BUIZEL` | buizel | +| `FLOATZEL` | floatzel | +| `CHERUBI` | cherubi | +| `CHERRIM` | cherrim | +| `SHELLOS` | shellos | +| `GASTRODON` | gastrodon | +| `AMBIPOM` | ambipom | +| `DRIFLOON` | drifloon | +| `DRIFBLIM` | drifblim | +| `BUNEARY` | buneary | +| `LOPUNNY` | lopunny | +| `MISMAGIUS` | mismagius | +| `HONCHKROW` | honchkrow | +| `GLAMEOW` | glameow | +| `PURUGLY` | purugly | +| `CHINGLING` | chingling | +| `STUNKY` | stunky | +| `SKUNTANK` | skuntank | +| `BRONZOR` | bronzor | +| `BRONZONG` | bronzong | +| `BONSLY` | bonsly | +| `MIMEJR` | mimejr | +| `HAPPINY` | happiny | +| `CHATOT` | chatot | +| `SPIRITOMB` | spiritomb | +| `GIBLE` | gible | +| `GABITE` | gabite | +| `GARCHOMP` | garchomp | +| `MUNCHLAX` | munchlax | +| `RIOLU` | riolu | +| `LUCARIO` | lucario | +| `HIPPOPOTAS` | hippopotas | +| `HIPPOWDON` | hippowdon | +| `SKORUPI` | skorupi | +| `DRAPION` | drapion | +| `CROAGUNK` | croagunk | +| `TOXICROAK` | toxicroak | +| `CARNIVINE` | carnivine | +| `FINNEON` | finneon | +| `LUMINEON` | lumineon | +| `MANTYKE` | mantyke | +| `SNOVER` | snover | +| `ABOMASNOW` | abomasnow | +| `WEAVILE` | weavile | +| `MAGNEZONE` | magnezone | +| `LICKILICKY` | lickilicky | +| `RHYPERIOR` | rhyperior | +| `TANGROWTH` | tangrowth | +| `ELECTIVIRE` | electivire | +| `MAGMORTAR` | magmortar | +| `TOGEKISS` | togekiss | +| `YANMEGA` | yanmega | +| `LEAFEON` | leafeon | +| `GLACEON` | glaceon | +| `GLISCOR` | gliscor | +| `MAMOSWINE` | mamoswine | +| `PORYGON_Z` | porygon-z | +| `GALLADE` | gallade | +| `PROBOPASS` | probopass | +| `DUSKNOIR` | dusknoir | +| `FROSLASS` | froslass | +| `ROTOM` | rotom | +| `UXIE` | uxie | +| `MESPRIT` | mesprit | +| `AZELF` | azelf | +| `DIALGA` | dialga | +| `PALKIA` | palkia | +| `HEATRAN` | heatran | +| `REGIGIGAS` | regigigas | +| `GIRATINA` | giratina | +| `CRESSELIA` | cresselia | +| `PHIONE` | phione | +| `MANAPHY` | manaphy | +| `DARKRAI` | darkrai | +| `SHAYMIN` | shaymin | +| `ARCEUS` | arceus | +| `VICTINI` | victini | +| `SNIVY` | snivy | +| `SERVINE` | servine | +| `SERPERIOR` | serperior | +| `TEPIG` | tepig | +| `PIGNITE` | pignite | +| `EMBOAR` | emboar | +| `OSHAWOTT` | oshawott | +| `DEWOTT` | dewott | +| `SAMUROTT` | samurott | +| `PATRAT` | patrat | +| `WATCHOG` | watchog | +| `LILLIPUP` | lillipup | +| `HERDIER` | herdier | +| `STOUTLAND` | stoutland | +| `PURRLOIN` | purrloin | +| `LIEPARD` | liepard | +| `PANSAGE` | pansage | +| `SIMISAGE` | simisage | +| `PANSEAR` | pansear | +| `SIMISEAR` | simisear | +| `PANPOUR` | panpour | +| `SIMIPOUR` | simipour | +| `MUNNA` | munna | +| `MUSHARNA` | musharna | +| `PIDOVE` | pidove | +| `TRANQUILL` | tranquill | +| `UNFEZANT` | unfezant | +| `BLITZLE` | blitzle | +| `ZEBSTRIKA` | zebstrika | +| `ROGGENROLA` | roggenrola | +| `BOLDORE` | boldore | +| `GIGALITH` | gigalith | +| `WOOBAT` | woobat | +| `SWOOBAT` | swoobat | +| `DRILBUR` | drilbur | +| `EXCADRILL` | excadrill | +| `AUDINO` | audino | +| `TIMBURR` | timburr | +| `GURDURR` | gurdurr | +| `CONKELDURR` | conkeldurr | +| `TYMPOLE` | tympole | +| `PALPITOAD` | palpitoad | +| `SEISMITOAD` | seismitoad | +| `THROH` | throh | +| `SAWK` | sawk | +| `SEWADDLE` | sewaddle | +| `SWADLOON` | swadloon | +| `LEAVANNY` | leavanny | +| `VENIPEDE` | venipede | +| `WHIRLIPEDE` | whirlipede | +| `SCOLIPEDE` | scolipede | +| `COTTONEE` | cottonee | +| `WHIMSICOTT` | whimsicott | +| `PETILIL` | petilil | +| `LILLIGANT` | lilligant | +| `BASCULIN` | basculin | +| `SANDILE` | sandile | +| `KROKOROK` | krokorok | +| `KROOKODILE` | krookodile | +| `DARUMAKA` | darumaka | +| `DARMANITAN` | darmanitan | +| `MARACTUS` | maractus | +| `DWEBBLE` | dwebble | +| `CRUSTLE` | crustle | +| `SCRAGGY` | scraggy | +| `SCRAFTY` | scrafty | +| `SIGILYPH` | sigilyph | +| `YAMASK` | yamask | +| `COFAGRIGUS` | cofagrigus | +| `TIRTOUGA` | tirtouga | +| `CARRACOSTA` | carracosta | +| `ARCHEN` | archen | +| `ARCHEOPS` | archeops | +| `TRUBBISH` | trubbish | +| `GARBODOR` | garbodor | +| `ZORUA` | zorua | +| `ZOROARK` | zoroark | +| `MINCCINO` | minccino | +| `CINCCINO` | cinccino | +| `GOTHITA` | gothita | +| `GOTHORITA` | gothorita | +| `GOTHITELLE` | gothitelle | +| `SOLOSIS` | solosis | +| `DUOSION` | duosion | +| `REUNICLUS` | reuniclus | +| `DUCKLETT` | ducklett | +| `SWANNA` | swanna | +| `VANILLITE` | vanillite | +| `VANILLISH` | vanillish | +| `VANILLUXE` | vanilluxe | +| `DEERLING` | deerling | +| `SAWSBUCK` | sawsbuck | +| `EMOLGA` | emolga | +| `KARRABLAST` | karrablast | +| `ESCAVALIER` | escavalier | +| `FOONGUS` | foongus | +| `AMOONGUSS` | amoonguss | +| `FRILLISH` | frillish | +| `JELLICENT` | jellicent | +| `ALOMOMOLA` | alomomola | +| `JOLTIK` | joltik | +| `GALVANTULA` | galvantula | +| `FERROSEED` | ferroseed | +| `FERROTHORN` | ferrothorn | +| `KLINK` | klink | +| `KLANG` | klang | +| `KLINKLANG` | klinklang | +| `TYNAMO` | tynamo | +| `EELEKTRIK` | eelektrik | +| `EELEKTROSS` | eelektross | +| `ELGYEM` | elgyem | +| `BEHEEYEM` | beheeyem | +| `LITWICK` | litwick | +| `LAMPENT` | lampent | +| `CHANDELURE` | chandelure | +| `AXEW` | axew | +| `FRAXURE` | fraxure | +| `HAXORUS` | haxorus | +| `CUBCHOO` | cubchoo | +| `BEARTIC` | beartic | +| `CRYOGONAL` | cryogonal | +| `SHELMET` | shelmet | +| `ACCELGOR` | accelgor | +| `STUNFISK` | stunfisk | +| `MIENFOO` | mienfoo | +| `MIENSHAO` | mienshao | +| `DRUDDIGON` | druddigon | +| `GOLETT` | golett | +| `GOLURK` | golurk | +| `PAWNIARD` | pawniard | +| `BISHARP` | bisharp | +| `BOUFFALANT` | bouffalant | +| `RUFFLET` | rufflet | +| `BRAVIARY` | braviary | +| `VULLABY` | vullaby | +| `MANDIBUZZ` | mandibuzz | +| `HEATMOR` | heatmor | +| `DURANT` | durant | +| `DEINO` | deino | +| `ZWEILOUS` | zweilous | +| `HYDREIGON` | hydreigon | +| `LARVESTA` | larvesta | +| `VOLCARONA` | volcarona | +| `COBALION` | cobalion | +| `TERRAKION` | terrakion | +| `VIRIZION` | virizion | +| `TORNADUS` | tornadus | +| `THUNDURUS` | thundurus | +| `RESHIRAM` | reshiram | +| `ZEKROM` | zekrom | +| `LANDORUS` | landorus | +| `KYUREM` | kyurem | +| `KELDEO` | keldeo | +| `MELOETTA` | meloetta | +| `GENESECT` | genesect | +| `CHESPIN` | chespin | +| `QUILLADIN` | quilladin | +| `CHESNAUGHT` | chesnaught | +| `FENNEKIN` | fennekin | +| `BRAIXEN` | braixen | +| `DELPHOX` | delphox | +| `FROAKIE` | froakie | +| `FROGADIER` | frogadier | +| `GRENINJA` | greninja | +| `BUNNELBY` | bunnelby | +| `DIGGERSBY` | diggersby | +| `FLETCHLING` | fletchling | +| `FLETCHINDER` | fletchinder | +| `TALONFLAME` | talonflame | +| `SCATTERBUG` | scatterbug | +| `SPEWPA` | spewpa | +| `VIVILLON` | vivillon | +| `LITLEO` | litleo | +| `PYROAR` | pyroar | +| `FLABEBE` | flabebe | +| `FLOETTE` | floette | +| `FLORGES` | florges | +| `SKIDDO` | skiddo | +| `GOGOAT` | gogoat | +| `PANCHAM` | pancham | +| `PANGORO` | pangoro | +| `FURFROU` | furfrou | +| `ESPURR` | espurr | +| `MEOWSTIC` | meowstic | +| `HONEDGE` | honedge | +| `DOUBLADE` | doublade | +| `AEGISLASH` | aegislash | +| `SPRITZEE` | spritzee | +| `AROMATISSE` | aromatisse | +| `SWIRLIX` | swirlix | +| `SLURPUFF` | slurpuff | +| `INKAY` | inkay | +| `MALAMAR` | malamar | +| `BINACLE` | binacle | +| `BARBARACLE` | barbaracle | +| `SKRELP` | skrelp | +| `DRAGALGE` | dragalge | +| `CLAUNCHER` | clauncher | +| `CLAWITZER` | clawitzer | +| `HELIOPTILE` | helioptile | +| `HELIOLISK` | heliolisk | +| `TYRUNT` | tyrunt | +| `TYRANTRUM` | tyrantrum | +| `AMAURA` | amaura | +| `AURORUS` | aurorus | +| `SYLVEON` | sylveon | +| `HAWLUCHA` | hawlucha | +| `DEDENNE` | dedenne | +| `CARBINK` | carbink | +| `GOOMY` | goomy | +| `SLIGGOO` | sliggoo | +| `GOODRA` | goodra | +| `KLEFKI` | klefki | +| `PHANTUMP` | phantump | +| `TREVENANT` | trevenant | +| `PUMPKABOO` | pumpkaboo | +| `GOURGEIST` | gourgeist | +| `BERGMITE` | bergmite | +| `AVALUGG` | avalugg | +| `NOIBAT` | noibat | +| `NOIVERN` | noivern | +| `XERNEAS` | xerneas | +| `YVELTAL` | yveltal | +| `ZYGARDE` | zygarde | +| `DIANCIE` | diancie | +| `HOOPA` | hoopa | +| `VOLCANION` | volcanion | +| `ROWLET` | rowlet | +| `DARTRIX` | dartrix | +| `DECIDUEYE` | decidueye | +| `LITTEN` | litten | +| `TORRACAT` | torracat | +| `INCINEROAR` | incineroar | +| `POPPLIO` | popplio | +| `BRIONNE` | brionne | +| `PRIMARINA` | primarina | +| `PIKIPEK` | pikipek | +| `TRUMBEAK` | trumbeak | +| `TOUCANNON` | toucannon | +| `YUNGOOS` | yungoos | +| `GUMSHOOS` | gumshoos | +| `GRUBBIN` | grubbin | +| `CHARJABUG` | charjabug | +| `VIKAVOLT` | vikavolt | +| `CRABRAWLER` | crabrawler | +| `CRABOMINABLE` | crabominable | +| `ORICORIO` | oricorio | +| `CUTIEFLY` | cutiefly | +| `RIBOMBEE` | ribombee | +| `ROCKRUFF` | rockruff | +| `LYCANROC` | lycanroc | +| `WISHIWASHI` | wishiwashi | +| `MAREANIE` | mareanie | +| `TOXAPEX` | toxapex | +| `MUDBRAY` | mudbray | +| `MUDSDALE` | mudsdale | +| `DEWPIDER` | dewpider | +| `ARAQUANID` | araquanid | +| `FOMANTIS` | fomantis | +| `LURANTIS` | lurantis | +| `MORELULL` | morelull | +| `SHIINOTIC` | shiinotic | +| `SALANDIT` | salandit | +| `SALAZZLE` | salazzle | +| `STUFFUL` | stufful | +| `BEWEAR` | bewear | +| `BOUNSWEET` | bounsweet | +| `STEENEE` | steenee | +| `TSAREENA` | tsareena | +| `COMFEY` | comfey | +| `ORANGURU` | oranguru | +| `PASSIMIAN` | passimian | +| `WIMPOD` | wimpod | +| `GOLISOPOD` | golisopod | +| `SANDYGAST` | sandygast | +| `PALOSSAND` | palossand | +| `PYUKUMUKU` | pyukumuku | +| `TYPENULL` | typenull | +| `SILVALLY` | silvally | +| `MINIOR` | minior | +| `KOMALA` | komala | +| `TURTONATOR` | turtonator | +| `TOGEDEMARU` | togedemaru | +| `MIMIKYU` | mimikyu | +| `BRUXISH` | bruxish | +| `DRAMPA` | drampa | +| `DHELMISE` | dhelmise | +| `JANGMO_O` | jangmo-o | +| `HAKAMO_O` | hakamo-o | +| `KOMMO_O` | kommo-o | +| `TAPUKOKO` | tapukoko | +| `TAPULELE` | tapulele | +| `TAPUBULU` | tapubulu | +| `TAPUFINI` | tapufini | +| `COSMOG` | cosmog | +| `COSMOEM` | cosmoem | +| `SOLGALEO` | solgaleo | +| `LUNALA` | lunala | +| `NIHILEGO` | nihilego | +| `BUZZWOLE` | buzzwole | +| `PHEROMOSA` | pheromosa | +| `XURKITREE` | xurkitree | +| `CELESTEELA` | celesteela | +| `KARTANA` | kartana | +| `GUZZLORD` | guzzlord | +| `NECROZMA` | necrozma | +| `MAGEARNA` | magearna | +| `MARSHADOW` | marshadow | +| `POIPOLE` | poipole | +| `NAGANADEL` | naganadel | +| `STAKATAKA` | stakataka | +| `BLACEPHALON` | blacephalon | +| `ZERAORA` | zeraora | +| `MELTAN` | meltan | +| `MELMETAL` | melmetal | +| `GROOKEY` | grookey | +| `THWACKEY` | thwackey | +| `RILLABOOM` | rillaboom | +| `SCORBUNNY` | scorbunny | +| `RABOOT` | raboot | +| `CINDERACE` | cinderace | +| `SOBBLE` | sobble | +| `DRIZZILE` | drizzile | +| `INTELEON` | inteleon | +| `SKWOVET` | skwovet | +| `GREEDENT` | greedent | +| `ROOKIDEE` | rookidee | +| `CORVISQUIRE` | corvisquire | +| `CORVIKNIGHT` | corviknight | +| `BLIPBUG` | blipbug | +| `DOTTLER` | dottler | +| `ORBEETLE` | orbeetle | +| `NICKIT` | nickit | +| `THIEVUL` | thievul | +| `GOSSIFLEUR` | gossifleur | +| `ELDEGOSS` | eldegoss | +| `WOOLOO` | wooloo | +| `DUBWOOL` | dubwool | +| `CHEWTLE` | chewtle | +| `DREDNAW` | drednaw | +| `YAMPER` | yamper | +| `BOLTUND` | boltund | +| `ROLYCOLY` | rolycoly | +| `CARKOL` | carkol | +| `COALOSSAL` | coalossal | +| `APPLIN` | applin | +| `FLAPPLE` | flapple | +| `APPLETUN` | appletun | +| `SILICOBRA` | silicobra | +| `SANDACONDA` | sandaconda | +| `CRAMORANT` | cramorant | +| `ARROKUDA` | arrokuda | +| `BARRASKEWDA` | barraskewda | +| `TOXEL` | toxel | +| `TOXTRICITY` | toxtricity | +| `SIZZLIPEDE` | sizzlipede | +| `CENTISKORCH` | centiskorch | +| `CLOBBOPUS` | clobbopus | +| `GRAPPLOCT` | grapploct | +| `SINISTEA` | sinistea | +| `POLTEAGEIST` | polteageist | +| `HATENNA` | hatenna | +| `HATTREM` | hattrem | +| `HATTERENE` | hatterene | +| `IMPIDIMP` | impidimp | +| `MORGREM` | morgrem | +| `GRIMMSNARL` | grimmsnarl | +| `OBSTAGOON` | obstagoon | +| `PERRSERKER` | perrserker | +| `CURSOLA` | cursola | +| `SIRFETCHD` | sirfetchd | +| `MRRIME` | mrrime | +| `RUNERIGUS` | runerigus | +| `MILCERY` | milcery | +| `ALCREMIE` | alcremie | +| `FALINKS` | falinks | +| `PINCURCHIN` | pincurchin | +| `SNOM` | snom | +| `FROSMOTH` | frosmoth | +| `STONJOURNER` | stonjourner | +| `EISCUE` | eiscue | +| `INDEEDEE` | indeedee | +| `MORPEKO` | morpeko | +| `CUFANT` | cufant | +| `COPPERAJAH` | copperajah | +| `DRACOZOLT` | dracozolt | +| `ARCTOZOLT` | arctozolt | +| `DRACOVISH` | dracovish | +| `ARCTOVISH` | arctovish | +| `DURALUDON` | duraludon | +| `DREEPY` | dreepy | +| `DRAKLOAK` | drakloak | +| `DRAGAPULT` | dragapult | +| `ZACIAN` | zacian | +| `ZAMAZENTA` | zamazenta | +| `ETERNATUS` | eternatus | +| `KUBFU` | kubfu | +| `URSHIFU` | urshifu | +| `ZARUDE` | zarude | +| `REGIELEKI` | regieleki | +| `REGIDRAGO` | regidrago | +| `GLASTRIER` | glastrier | +| `SPECTRIER` | spectrier | +| `CALYREX` | calyrex | \ No newline at end of file diff --git a/docs/models/shared/PolygonStockApi.md b/docs/models/shared/PolygonStockApi.md new file mode 100644 index 000000000..95fa34bd5 --- /dev/null +++ b/docs/models/shared/PolygonStockApi.md @@ -0,0 +1,8 @@ +# PolygonStockApi + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `POLYGON_STOCK_API` | polygon-stock-api | \ No newline at end of file diff --git a/docs/models/shared/Postgres.md b/docs/models/shared/Postgres.md new file mode 100644 index 000000000..801ff8efd --- /dev/null +++ b/docs/models/shared/Postgres.md @@ -0,0 +1,8 @@ +# Postgres + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `POSTGRES` | postgres | \ No newline at end of file diff --git a/docs/models/shared/Posthog.md b/docs/models/shared/Posthog.md new file mode 100644 index 000000000..fd59eb4bd --- /dev/null +++ b/docs/models/shared/Posthog.md @@ -0,0 +1,8 @@ +# Posthog + + +## Values + +| Name | Value | +| --------- | --------- | +| `POSTHOG` | posthog | \ No newline at end of file diff --git a/docs/models/shared/Postmarkapp.md b/docs/models/shared/Postmarkapp.md new file mode 100644 index 000000000..bf329c08c --- /dev/null +++ b/docs/models/shared/Postmarkapp.md @@ -0,0 +1,8 @@ +# Postmarkapp + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `POSTMARKAPP` | postmarkapp | \ No newline at end of file diff --git a/docs/models/shared/Prefer.md b/docs/models/shared/Prefer.md new file mode 100644 index 000000000..da02cde60 --- /dev/null +++ b/docs/models/shared/Prefer.md @@ -0,0 +1,10 @@ +# Prefer + +Prefer SSL mode. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationPostgresSchemasMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Preferred.md b/docs/models/shared/Preferred.md new file mode 100644 index 000000000..428c431d4 --- /dev/null +++ b/docs/models/shared/Preferred.md @@ -0,0 +1,10 @@ +# Preferred + +Automatically attempt SSL connection. If the MySQL server does not support SSL, continue with a regular connection. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `mode` | [com.airbyte.api.models.shared.SourceMysqlMode](../../models/shared/SourceMysqlMode.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Prestashop.md b/docs/models/shared/Prestashop.md new file mode 100644 index 000000000..6577cefb6 --- /dev/null +++ b/docs/models/shared/Prestashop.md @@ -0,0 +1,8 @@ +# Prestashop + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `PRESTASHOP` | prestashop | \ No newline at end of file diff --git a/docs/models/shared/PrivateApp.md b/docs/models/shared/PrivateApp.md new file mode 100644 index 000000000..2e29613cc --- /dev/null +++ b/docs/models/shared/PrivateApp.md @@ -0,0 +1,9 @@ +# PrivateApp + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | HubSpot Access token. See the Hubspot docs if you need help finding this token. | +| `credentialsTitle` | [com.airbyte.api.models.shared.SourceHubspotSchemasAuthType](../../models/shared/SourceHubspotSchemasAuthType.md) | :heavy_check_mark: | Name of the credentials set | \ No newline at end of file diff --git a/docs/models/shared/PrivateToken.md b/docs/models/shared/PrivateToken.md new file mode 100644 index 000000000..783312e48 --- /dev/null +++ b/docs/models/shared/PrivateToken.md @@ -0,0 +1,9 @@ +# PrivateToken + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Log into your Gitlab account and then generate a personal Access Token. | +| `authType` | [Optional](../../models/shared/SourceGitlabSchemasAuthType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Processing.md b/docs/models/shared/Processing.md new file mode 100644 index 000000000..9ab838503 --- /dev/null +++ b/docs/models/shared/Processing.md @@ -0,0 +1,4 @@ +# Processing + +Processing configuration + diff --git a/docs/models/shared/ProcessingConfigModel.md b/docs/models/shared/ProcessingConfigModel.md new file mode 100644 index 000000000..6c349c56a --- /dev/null +++ b/docs/models/shared/ProcessingConfigModel.md @@ -0,0 +1,13 @@ +# ProcessingConfigModel + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `chunkOverlap` | *Optional* | :heavy_minus_sign: | Size of overlap between chunks in tokens to store in vector store to better capture relevant context | | +| `chunkSize` | *long* | :heavy_check_mark: | Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) | | +| `fieldNameMappings` | List<[com.airbyte.api.models.shared.FieldNameMappingConfigModel](../../models/shared/FieldNameMappingConfigModel.md)> | :heavy_minus_sign: | List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. | | +| `metadataFields` | List<*String*> | :heavy_minus_sign: | List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. | age | +| `textFields` | List<*String*> | :heavy_minus_sign: | List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. | text | +| `textSplitter` | [Optional](../../models/shared/TextSplitter.md) | :heavy_minus_sign: | Split text fields into chunks based on the specified method. | | \ No newline at end of file diff --git a/docs/models/shared/ProductCatalog.md b/docs/models/shared/ProductCatalog.md new file mode 100644 index 000000000..530dd00a5 --- /dev/null +++ b/docs/models/shared/ProductCatalog.md @@ -0,0 +1,11 @@ +# ProductCatalog + +Product Catalog version of your Chargebee site. Instructions on how to find your version you may find here under `API Version` section. If left blank, the product catalog version will be set to 2.0. + + +## Values + +| Name | Value | +| ------ | ------ | +| `ONE0` | 1.0 | +| `TWO0` | 2.0 | \ No newline at end of file diff --git a/docs/models/shared/ProjectSecret.md b/docs/models/shared/ProjectSecret.md new file mode 100644 index 000000000..e1b48219b --- /dev/null +++ b/docs/models/shared/ProjectSecret.md @@ -0,0 +1,9 @@ +# ProjectSecret + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiSecret` | *String* | :heavy_check_mark: | Mixpanel project secret. See the docs for more information on how to obtain this. | +| `optionTitle` | [Optional](../../models/shared/SourceMixpanelSchemasOptionTitle.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Pubsub.md b/docs/models/shared/Pubsub.md new file mode 100644 index 000000000..12d6eb8ca --- /dev/null +++ b/docs/models/shared/Pubsub.md @@ -0,0 +1,8 @@ +# Pubsub + + +## Values + +| Name | Value | +| -------- | -------- | +| `PUBSUB` | pubsub | \ No newline at end of file diff --git a/docs/models/shared/PunkApi.md b/docs/models/shared/PunkApi.md new file mode 100644 index 000000000..2da25c0ed --- /dev/null +++ b/docs/models/shared/PunkApi.md @@ -0,0 +1,8 @@ +# PunkApi + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `PUNK_API` | punk-api | \ No newline at end of file diff --git a/docs/models/shared/Pypi.md b/docs/models/shared/Pypi.md new file mode 100644 index 000000000..5f119a2d3 --- /dev/null +++ b/docs/models/shared/Pypi.md @@ -0,0 +1,8 @@ +# Pypi + + +## Values + +| Name | Value | +| ------ | ------ | +| `PYPI` | pypi | \ No newline at end of file diff --git a/docs/models/shared/Qdrant.md b/docs/models/shared/Qdrant.md new file mode 100644 index 000000000..bf7f1ca7b --- /dev/null +++ b/docs/models/shared/Qdrant.md @@ -0,0 +1,8 @@ +# Qdrant + + +## Values + +| Name | Value | +| -------- | -------- | +| `QDRANT` | qdrant | \ No newline at end of file diff --git a/docs/models/shared/Qualaroo.md b/docs/models/shared/Qualaroo.md new file mode 100644 index 000000000..3d61e397a --- /dev/null +++ b/docs/models/shared/Qualaroo.md @@ -0,0 +1,8 @@ +# Qualaroo + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `QUALAROO` | qualaroo | \ No newline at end of file diff --git a/docs/models/shared/Quickbooks.md b/docs/models/shared/Quickbooks.md new file mode 100644 index 000000000..b096585e9 --- /dev/null +++ b/docs/models/shared/Quickbooks.md @@ -0,0 +1,8 @@ +# Quickbooks + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `QUICKBOOKS` | quickbooks | \ No newline at end of file diff --git a/docs/models/shared/Railz.md b/docs/models/shared/Railz.md new file mode 100644 index 000000000..f110acc02 --- /dev/null +++ b/docs/models/shared/Railz.md @@ -0,0 +1,8 @@ +# Railz + + +## Values + +| Name | Value | +| ------- | ------- | +| `RAILZ` | railz | \ No newline at end of file diff --git a/docs/models/shared/ReadChangesUsingBinaryLogCDC.md b/docs/models/shared/ReadChangesUsingBinaryLogCDC.md new file mode 100644 index 000000000..f4a35e1b8 --- /dev/null +++ b/docs/models/shared/ReadChangesUsingBinaryLogCDC.md @@ -0,0 +1,13 @@ +# ReadChangesUsingBinaryLogCDC + +Recommended - Incrementally reads new inserts, updates, and deletes using the MySQL binary log. This must be enabled on your database. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `initialWaitingSeconds` | *Optional* | :heavy_minus_sign: | The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 1200 seconds. Read about initial waiting time. | +| `invalidCdcCursorPositionBehavior` | [Optional](../../models/shared/SourceMysqlInvalidCDCPositionBehaviorAdvanced.md) | :heavy_minus_sign: | Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. | +| `method` | [com.airbyte.api.models.shared.SourceMysqlMethod](../../models/shared/SourceMysqlMethod.md) | :heavy_check_mark: | N/A | +| `serverTimeZone` | *Optional* | :heavy_minus_sign: | Enter the configured MySQL server timezone. This should only be done if the configured timezone in your MySQL instance does not conform to IANNA standard. | \ No newline at end of file diff --git a/docs/models/shared/ReadChangesUsingChangeDataCaptureCDC.md b/docs/models/shared/ReadChangesUsingChangeDataCaptureCDC.md new file mode 100644 index 000000000..63fd6b6c0 --- /dev/null +++ b/docs/models/shared/ReadChangesUsingChangeDataCaptureCDC.md @@ -0,0 +1,13 @@ +# ReadChangesUsingChangeDataCaptureCDC + +Recommended - Incrementally reads new inserts, updates, and deletes using the SQL Server's change data capture feature. This must be enabled on your database. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `initialWaitingSeconds` | *Optional* | :heavy_minus_sign: | The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 2400 seconds. Read about initial waiting time. | +| `invalidCdcCursorPositionBehavior` | [Optional](../../models/shared/SourceMssqlInvalidCDCPositionBehaviorAdvanced.md) | :heavy_minus_sign: | Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. | +| `method` | [com.airbyte.api.models.shared.SourceMssqlMethod](../../models/shared/SourceMssqlMethod.md) | :heavy_check_mark: | N/A | +| `queueSize` | *Optional* | :heavy_minus_sign: | The size of the internal queue. This may interfere with memory consumption and efficiency of the connector, please be careful. | \ No newline at end of file diff --git a/docs/models/shared/Recharge.md b/docs/models/shared/Recharge.md new file mode 100644 index 000000000..1e6c05095 --- /dev/null +++ b/docs/models/shared/Recharge.md @@ -0,0 +1,8 @@ +# Recharge + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `RECHARGE` | recharge | \ No newline at end of file diff --git a/docs/models/shared/RecommendedManagedTables.md b/docs/models/shared/RecommendedManagedTables.md new file mode 100644 index 000000000..6cf55ad5f --- /dev/null +++ b/docs/models/shared/RecommendedManagedTables.md @@ -0,0 +1,8 @@ +# RecommendedManagedTables + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `dataSourceType` | [com.airbyte.api.models.shared.DataSourceType](../../models/shared/DataSourceType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Recreation.md b/docs/models/shared/Recreation.md new file mode 100644 index 000000000..07ff3f225 --- /dev/null +++ b/docs/models/shared/Recreation.md @@ -0,0 +1,8 @@ +# Recreation + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `RECREATION` | recreation | \ No newline at end of file diff --git a/docs/models/shared/Recruitee.md b/docs/models/shared/Recruitee.md new file mode 100644 index 000000000..eeec56830 --- /dev/null +++ b/docs/models/shared/Recruitee.md @@ -0,0 +1,8 @@ +# Recruitee + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `RECRUITEE` | recruitee | \ No newline at end of file diff --git a/docs/models/shared/Recurly.md b/docs/models/shared/Recurly.md new file mode 100644 index 000000000..718d9a2ce --- /dev/null +++ b/docs/models/shared/Recurly.md @@ -0,0 +1,8 @@ +# Recurly + + +## Values + +| Name | Value | +| --------- | --------- | +| `RECURLY` | recurly | \ No newline at end of file diff --git a/docs/models/shared/Redis.md b/docs/models/shared/Redis.md new file mode 100644 index 000000000..63ce30271 --- /dev/null +++ b/docs/models/shared/Redis.md @@ -0,0 +1,8 @@ +# Redis + + +## Values + +| Name | Value | +| ------- | ------- | +| `REDIS` | redis | \ No newline at end of file diff --git a/docs/models/shared/Redshift.md b/docs/models/shared/Redshift.md new file mode 100644 index 000000000..067671da2 --- /dev/null +++ b/docs/models/shared/Redshift.md @@ -0,0 +1,8 @@ +# Redshift + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `REDSHIFT` | redshift | \ No newline at end of file diff --git a/docs/models/shared/Region.md b/docs/models/shared/Region.md new file mode 100644 index 000000000..90849942d --- /dev/null +++ b/docs/models/shared/Region.md @@ -0,0 +1,12 @@ +# Region + +Region to pull data from (EU/NA/FE). See docs for more details. + + +## Values + +| Name | Value | +| ----- | ----- | +| `NA` | NA | +| `EU` | EU | +| `FE` | FE | \ No newline at end of file diff --git a/docs/models/shared/ReplicaSet.md b/docs/models/shared/ReplicaSet.md new file mode 100644 index 000000000..41c3f9325 --- /dev/null +++ b/docs/models/shared/ReplicaSet.md @@ -0,0 +1,10 @@ +# ReplicaSet + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `instance` | [Optional](../../models/shared/DestinationMongodbInstance.md) | :heavy_minus_sign: | N/A | | +| `replicaSet` | *Optional* | :heavy_minus_sign: | A replica set name. | | +| `serverAddresses` | *String* | :heavy_check_mark: | The members of a replica set. Please specify `host`:`port` of each member seperated by comma. | host1:27017,host2:27017,host3:27017 | \ No newline at end of file diff --git a/docs/models/shared/ReportConfig.md b/docs/models/shared/ReportConfig.md new file mode 100644 index 000000000..551a85992 --- /dev/null +++ b/docs/models/shared/ReportConfig.md @@ -0,0 +1,19 @@ +# ReportConfig + +Config for custom report + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `attributionTypes` | List<[com.airbyte.api.models.shared.SourcePinterestValidEnums](../../models/shared/SourcePinterestValidEnums.md)> | :heavy_minus_sign: | List of types of attribution for the conversion report | | +| `clickWindowDays` | [Optional](../../models/shared/ClickWindowDays.md) | :heavy_minus_sign: | Number of days to use as the conversion attribution window for a pin click action. | | +| `columns` | List<[com.airbyte.api.models.shared.SourcePinterestSchemasValidEnums](../../models/shared/SourcePinterestSchemasValidEnums.md)> | :heavy_check_mark: | A list of chosen columns | | +| `conversionReportTime` | [Optional](../../models/shared/ConversionReportTime.md) | :heavy_minus_sign: | The date by which the conversion metrics returned from this endpoint will be reported. There are two dates associated with a conversion event: the date that the user interacted with the ad, and the date that the user completed a conversion event.. | | +| `engagementWindowDays` | [Optional](../../models/shared/EngagementWindowDays.md) | :heavy_minus_sign: | Number of days to use as the conversion attribution window for an engagement action. | | +| `granularity` | [Optional](../../models/shared/Granularity.md) | :heavy_minus_sign: | Chosen granularity for API | | +| `level` | [Optional](../../models/shared/SourcePinterestLevel.md) | :heavy_minus_sign: | Chosen level for API | | +| `name` | *String* | :heavy_check_mark: | The name value of report | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | A date in the format YYYY-MM-DD. If you have not set a date, it would be defaulted to latest allowed date by report api (913 days from today). | 2022-07-28 | +| `viewWindowDays` | [Optional](../../models/shared/ViewWindowDays.md) | :heavy_minus_sign: | Number of days to use as the conversion attribution window for a view action. | | \ No newline at end of file diff --git a/docs/models/shared/ReportOptions.md b/docs/models/shared/ReportOptions.md new file mode 100644 index 000000000..68a164a17 --- /dev/null +++ b/docs/models/shared/ReportOptions.md @@ -0,0 +1,9 @@ +# ReportOptions + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `optionsList` | List<[com.airbyte.api.models.shared.OptionsList](../../models/shared/OptionsList.md)> | :heavy_check_mark: | List of options | +| `streamName` | [com.airbyte.api.models.shared.StreamName](../../models/shared/StreamName.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/ReportRecordTypes.md b/docs/models/shared/ReportRecordTypes.md new file mode 100644 index 000000000..c2ad5dce0 --- /dev/null +++ b/docs/models/shared/ReportRecordTypes.md @@ -0,0 +1,15 @@ +# ReportRecordTypes + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `AD_GROUPS` | adGroups | +| `ASINS` | asins | +| `ASINS_KEYWORDS` | asins_keywords | +| `ASINS_TARGETS` | asins_targets | +| `CAMPAIGNS` | campaigns | +| `KEYWORDS` | keywords | +| `PRODUCT_ADS` | productAds | +| `TARGETS` | targets | \ No newline at end of file diff --git a/docs/models/shared/ReportingDataObject.md b/docs/models/shared/ReportingDataObject.md new file mode 100644 index 000000000..110506d69 --- /dev/null +++ b/docs/models/shared/ReportingDataObject.md @@ -0,0 +1,43 @@ +# ReportingDataObject + +The name of the the object derives from the ReportRequest object. You can find it in Bing Ads Api docs - Reporting API - Reporting Data Objects. + + +## Values + +| Name | Value | +| --------------------------------------------------- | --------------------------------------------------- | +| `ACCOUNT_PERFORMANCE_REPORT_REQUEST` | AccountPerformanceReportRequest | +| `AD_DYNAMIC_TEXT_PERFORMANCE_REPORT_REQUEST` | AdDynamicTextPerformanceReportRequest | +| `AD_EXTENSION_BY_AD_REPORT_REQUEST` | AdExtensionByAdReportRequest | +| `AD_EXTENSION_BY_KEYWORD_REPORT_REQUEST` | AdExtensionByKeywordReportRequest | +| `AD_EXTENSION_DETAIL_REPORT_REQUEST` | AdExtensionDetailReportRequest | +| `AD_GROUP_PERFORMANCE_REPORT_REQUEST` | AdGroupPerformanceReportRequest | +| `AD_PERFORMANCE_REPORT_REQUEST` | AdPerformanceReportRequest | +| `AGE_GENDER_AUDIENCE_REPORT_REQUEST` | AgeGenderAudienceReportRequest | +| `AUDIENCE_PERFORMANCE_REPORT_REQUEST` | AudiencePerformanceReportRequest | +| `CALL_DETAIL_REPORT_REQUEST` | CallDetailReportRequest | +| `CAMPAIGN_PERFORMANCE_REPORT_REQUEST` | CampaignPerformanceReportRequest | +| `CONVERSION_PERFORMANCE_REPORT_REQUEST` | ConversionPerformanceReportRequest | +| `DESTINATION_URL_PERFORMANCE_REPORT_REQUEST` | DestinationUrlPerformanceReportRequest | +| `DSA_AUTO_TARGET_PERFORMANCE_REPORT_REQUEST` | DSAAutoTargetPerformanceReportRequest | +| `DSA_CATEGORY_PERFORMANCE_REPORT_REQUEST` | DSACategoryPerformanceReportRequest | +| `DSA_SEARCH_QUERY_PERFORMANCE_REPORT_REQUEST` | DSASearchQueryPerformanceReportRequest | +| `GEOGRAPHIC_PERFORMANCE_REPORT_REQUEST` | GeographicPerformanceReportRequest | +| `GOALS_AND_FUNNELS_REPORT_REQUEST` | GoalsAndFunnelsReportRequest | +| `HOTEL_DIMENSION_PERFORMANCE_REPORT_REQUEST` | HotelDimensionPerformanceReportRequest | +| `HOTEL_GROUP_PERFORMANCE_REPORT_REQUEST` | HotelGroupPerformanceReportRequest | +| `KEYWORD_PERFORMANCE_REPORT_REQUEST` | KeywordPerformanceReportRequest | +| `NEGATIVE_KEYWORD_CONFLICT_REPORT_REQUEST` | NegativeKeywordConflictReportRequest | +| `PRODUCT_DIMENSION_PERFORMANCE_REPORT_REQUEST` | ProductDimensionPerformanceReportRequest | +| `PRODUCT_MATCH_COUNT_REPORT_REQUEST` | ProductMatchCountReportRequest | +| `PRODUCT_NEGATIVE_KEYWORD_CONFLICT_REPORT_REQUEST` | ProductNegativeKeywordConflictReportRequest | +| `PRODUCT_PARTITION_PERFORMANCE_REPORT_REQUEST` | ProductPartitionPerformanceReportRequest | +| `PRODUCT_PARTITION_UNIT_PERFORMANCE_REPORT_REQUEST` | ProductPartitionUnitPerformanceReportRequest | +| `PRODUCT_SEARCH_QUERY_PERFORMANCE_REPORT_REQUEST` | ProductSearchQueryPerformanceReportRequest | +| `PROFESSIONAL_DEMOGRAPHICS_AUDIENCE_REPORT_REQUEST` | ProfessionalDemographicsAudienceReportRequest | +| `PUBLISHER_USAGE_PERFORMANCE_REPORT_REQUEST` | PublisherUsagePerformanceReportRequest | +| `SEARCH_CAMPAIGN_CHANGE_HISTORY_REPORT_REQUEST` | SearchCampaignChangeHistoryReportRequest | +| `SEARCH_QUERY_PERFORMANCE_REPORT_REQUEST` | SearchQueryPerformanceReportRequest | +| `SHARE_OF_VOICE_REPORT_REQUEST` | ShareOfVoiceReportRequest | +| `USER_LOCATION_PERFORMANCE_REPORT_REQUEST` | UserLocationPerformanceReportRequest | \ No newline at end of file diff --git a/docs/models/shared/Require.md b/docs/models/shared/Require.md new file mode 100644 index 000000000..f7083974f --- /dev/null +++ b/docs/models/shared/Require.md @@ -0,0 +1,10 @@ +# Require + +Require SSL mode. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/DestinationPostgresSchemasSslModeMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Required.md b/docs/models/shared/Required.md new file mode 100644 index 000000000..6ba13358e --- /dev/null +++ b/docs/models/shared/Required.md @@ -0,0 +1,10 @@ +# Required + +Always connect with SSL. If the MySQL server doesn’t support SSL, the connection will not be established. Certificate Authority (CA) and Hostname are not verified. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `mode` | [com.airbyte.api.models.shared.SourceMysqlSchemasMode](../../models/shared/SourceMysqlSchemasMode.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Retently.md b/docs/models/shared/Retently.md new file mode 100644 index 000000000..4dfe71aec --- /dev/null +++ b/docs/models/shared/Retently.md @@ -0,0 +1,8 @@ +# Retently + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/RetentlyCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/RetentlyCredentials.md b/docs/models/shared/RetentlyCredentials.md new file mode 100644 index 000000000..e9d0e0ffd --- /dev/null +++ b/docs/models/shared/RetentlyCredentials.md @@ -0,0 +1,9 @@ +# RetentlyCredentials + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your Retently developer application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your Retently developer application. | \ No newline at end of file diff --git a/docs/models/shared/RkiCovid.md b/docs/models/shared/RkiCovid.md new file mode 100644 index 000000000..49122d73b --- /dev/null +++ b/docs/models/shared/RkiCovid.md @@ -0,0 +1,8 @@ +# RkiCovid + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `RKI_COVID` | rki-covid | \ No newline at end of file diff --git a/docs/models/shared/Rss.md b/docs/models/shared/Rss.md new file mode 100644 index 000000000..fff43b601 --- /dev/null +++ b/docs/models/shared/Rss.md @@ -0,0 +1,8 @@ +# Rss + + +## Values + +| Name | Value | +| ----- | ----- | +| `RSS` | rss | \ No newline at end of file diff --git a/docs/models/shared/S3.md b/docs/models/shared/S3.md new file mode 100644 index 000000000..1856f1961 --- /dev/null +++ b/docs/models/shared/S3.md @@ -0,0 +1,8 @@ +# S3 + + +## Values + +| Name | Value | +| ----- | ----- | +| `S3` | s3 | \ No newline at end of file diff --git a/docs/models/shared/S3AmazonWebServices.md b/docs/models/shared/S3AmazonWebServices.md new file mode 100644 index 000000000..9bcbc7c38 --- /dev/null +++ b/docs/models/shared/S3AmazonWebServices.md @@ -0,0 +1,17 @@ +# S3AmazonWebServices + +Deprecated and will be removed soon. Please do not use this field anymore and use bucket, aws_access_key_id, aws_secret_access_key and endpoint instead. Use this to load files from S3 or S3-compatible services + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `awsAccessKeyId` | *Optional* | :heavy_minus_sign: | In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. | | +| `awsSecretAccessKey` | *Optional* | :heavy_minus_sign: | In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. | | +| `bucket` | *Optional* | :heavy_minus_sign: | Name of the S3 bucket where the file(s) exist. | | +| `endpoint` | *Optional* | :heavy_minus_sign: | Endpoint to an S3 compatible service. Leave empty to use AWS. | | +| `pathPrefix` | *Optional* | :heavy_minus_sign: | By providing a path-like prefix (e.g. myFolder/thisTable/) under which all the relevant files sit, we can optimize finding these in S3. This is optional but recommended if your bucket contains many folders/files which you don't need to replicate. | | +| `regionName` | *Optional* | :heavy_minus_sign: | AWS region where the S3 bucket is located. If not provided, the region will be determined automatically. | | +| `roleArn` | *Optional* | :heavy_minus_sign: | Specifies the Amazon Resource Name (ARN) of an IAM role that you want to use to perform operations requested using this profile. Set the External ID to the Airbyte workspace ID, which can be found in the URL of this page. | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | UTC date and time in the format 2017-01-25T00:00:00Z. Any file modified before this date will not be replicated. | 2021-01-01T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/S3BucketRegion.md b/docs/models/shared/S3BucketRegion.md new file mode 100644 index 000000000..2422a4c8b --- /dev/null +++ b/docs/models/shared/S3BucketRegion.md @@ -0,0 +1,43 @@ +# S3BucketRegion + +The region of the S3 bucket. See here for all region codes. + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `UNKNOWN` | | +| `AF_SOUTH1` | af-south-1 | +| `AP_EAST1` | ap-east-1 | +| `AP_NORTHEAST1` | ap-northeast-1 | +| `AP_NORTHEAST2` | ap-northeast-2 | +| `AP_NORTHEAST3` | ap-northeast-3 | +| `AP_SOUTH1` | ap-south-1 | +| `AP_SOUTH2` | ap-south-2 | +| `AP_SOUTHEAST1` | ap-southeast-1 | +| `AP_SOUTHEAST2` | ap-southeast-2 | +| `AP_SOUTHEAST3` | ap-southeast-3 | +| `AP_SOUTHEAST4` | ap-southeast-4 | +| `CA_CENTRAL1` | ca-central-1 | +| `CA_WEST1` | ca-west-1 | +| `CN_NORTH1` | cn-north-1 | +| `CN_NORTHWEST1` | cn-northwest-1 | +| `EU_CENTRAL1` | eu-central-1 | +| `EU_CENTRAL2` | eu-central-2 | +| `EU_NORTH1` | eu-north-1 | +| `EU_SOUTH1` | eu-south-1 | +| `EU_SOUTH2` | eu-south-2 | +| `EU_WEST1` | eu-west-1 | +| `EU_WEST2` | eu-west-2 | +| `EU_WEST3` | eu-west-3 | +| `IL_CENTRAL1` | il-central-1 | +| `ME_CENTRAL1` | me-central-1 | +| `ME_SOUTH1` | me-south-1 | +| `SA_EAST1` | sa-east-1 | +| `US_EAST1` | us-east-1 | +| `US_EAST2` | us-east-2 | +| `US_GOV_EAST1` | us-gov-east-1 | +| `US_GOV_WEST1` | us-gov-west-1 | +| `US_WEST1` | us-west-1 | +| `US_WEST2` | us-west-2 | \ No newline at end of file diff --git a/docs/models/shared/S3Glue.md b/docs/models/shared/S3Glue.md new file mode 100644 index 000000000..68648f3af --- /dev/null +++ b/docs/models/shared/S3Glue.md @@ -0,0 +1,8 @@ +# S3Glue + + +## Values + +| Name | Value | +| --------- | --------- | +| `S3_GLUE` | s3-glue | \ No newline at end of file diff --git a/docs/models/shared/SCPSecureCopyProtocol.md b/docs/models/shared/SCPSecureCopyProtocol.md new file mode 100644 index 000000000..ec122bcdc --- /dev/null +++ b/docs/models/shared/SCPSecureCopyProtocol.md @@ -0,0 +1,12 @@ +# SCPSecureCopyProtocol + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `host` | *String* | :heavy_check_mark: | N/A | +| `password` | *Optional* | :heavy_minus_sign: | N/A | +| `port` | *Optional* | :heavy_minus_sign: | N/A | +| `storage` | [com.airbyte.api.models.shared.SourceFileSchemasProviderStorageProvider6Storage](../../models/shared/SourceFileSchemasProviderStorageProvider6Storage.md) | :heavy_check_mark: | N/A | +| `user` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SFTPSecureFileTransferProtocol.md b/docs/models/shared/SFTPSecureFileTransferProtocol.md new file mode 100644 index 000000000..76e13f090 --- /dev/null +++ b/docs/models/shared/SFTPSecureFileTransferProtocol.md @@ -0,0 +1,12 @@ +# SFTPSecureFileTransferProtocol + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `host` | *String* | :heavy_check_mark: | N/A | +| `password` | *Optional* | :heavy_minus_sign: | N/A | +| `port` | *Optional* | :heavy_minus_sign: | N/A | +| `storage` | [com.airbyte.api.models.shared.SourceFileSchemasProviderStorageProvider7Storage](../../models/shared/SourceFileSchemasProviderStorageProvider7Storage.md) | :heavy_check_mark: | N/A | +| `user` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SSHKeyAuthentication.md b/docs/models/shared/SSHKeyAuthentication.md new file mode 100644 index 000000000..16a93e18d --- /dev/null +++ b/docs/models/shared/SSHKeyAuthentication.md @@ -0,0 +1,12 @@ +# SSHKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `sshKey` | *String* | :heavy_check_mark: | OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) | | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.DestinationClickhouseTunnelMethod](../../models/shared/DestinationClickhouseTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and ssh key | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host. | | \ No newline at end of file diff --git a/docs/models/shared/SSHSecureShell.md b/docs/models/shared/SSHSecureShell.md new file mode 100644 index 000000000..aa84c24d6 --- /dev/null +++ b/docs/models/shared/SSHSecureShell.md @@ -0,0 +1,12 @@ +# SSHSecureShell + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `host` | *String* | :heavy_check_mark: | N/A | +| `password` | *Optional* | :heavy_minus_sign: | N/A | +| `port` | *Optional* | :heavy_minus_sign: | N/A | +| `storage` | [com.airbyte.api.models.shared.SourceFileSchemasProviderStorageProviderStorage](../../models/shared/SourceFileSchemasProviderStorageProviderStorage.md) | :heavy_check_mark: | N/A | +| `user` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SSHTunnelMethod.md b/docs/models/shared/SSHTunnelMethod.md new file mode 100644 index 000000000..aecaf2365 --- /dev/null +++ b/docs/models/shared/SSHTunnelMethod.md @@ -0,0 +1,4 @@ +# SSHTunnelMethod + +Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + diff --git a/docs/models/shared/SSLMethod.md b/docs/models/shared/SSLMethod.md new file mode 100644 index 000000000..4058d5a07 --- /dev/null +++ b/docs/models/shared/SSLMethod.md @@ -0,0 +1,4 @@ +# SSLMethod + +The encryption method which is used to communicate with the database. + diff --git a/docs/models/shared/SSLModes.md b/docs/models/shared/SSLModes.md new file mode 100644 index 000000000..724f67f77 --- /dev/null +++ b/docs/models/shared/SSLModes.md @@ -0,0 +1,11 @@ +# SSLModes + +SSL connection modes. + disable - Chose this mode to disable encryption of communication between Airbyte and destination database + allow - Chose this mode to enable encryption only when required by the source database + prefer - Chose this mode to allow unencrypted connection only if the source database does not support encryption + require - Chose this mode to always require encryption. If the source database server does not support encryption, connection will fail + verify-ca - Chose this mode to always require encryption and to verify that the source database server has a valid SSL certificate + verify-full - This is the most secure mode. Chose this mode to always require encryption and to verify the identity of the source database server + See more information - in the docs. + diff --git a/docs/models/shared/Salesforce.md b/docs/models/shared/Salesforce.md new file mode 100644 index 000000000..c918d1be5 --- /dev/null +++ b/docs/models/shared/Salesforce.md @@ -0,0 +1,9 @@ +# Salesforce + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | Enter your Salesforce developer application's Client ID | +| `clientSecret` | *Optional* | :heavy_minus_sign: | Enter your Salesforce developer application's Client secret | \ No newline at end of file diff --git a/docs/models/shared/Salesloft.md b/docs/models/shared/Salesloft.md new file mode 100644 index 000000000..c87536be6 --- /dev/null +++ b/docs/models/shared/Salesloft.md @@ -0,0 +1,8 @@ +# Salesloft + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `SALESLOFT` | salesloft | \ No newline at end of file diff --git a/docs/models/shared/SandboxAccessToken.md b/docs/models/shared/SandboxAccessToken.md new file mode 100644 index 000000000..9f45a648d --- /dev/null +++ b/docs/models/shared/SandboxAccessToken.md @@ -0,0 +1,10 @@ +# SandboxAccessToken + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | The long-term authorized access token. | +| `advertiserId` | *String* | :heavy_check_mark: | The Advertiser ID which generated for the developer's Sandbox application. | +| `authType` | [Optional](../../models/shared/SourceTiktokMarketingSchemasAuthType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SapFieldglass.md b/docs/models/shared/SapFieldglass.md new file mode 100644 index 000000000..504b0980d --- /dev/null +++ b/docs/models/shared/SapFieldglass.md @@ -0,0 +1,8 @@ +# SapFieldglass + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `SAP_FIELDGLASS` | sap-fieldglass | \ No newline at end of file diff --git a/docs/models/shared/ScanChangesWithUserDefinedCursor.md b/docs/models/shared/ScanChangesWithUserDefinedCursor.md new file mode 100644 index 000000000..40d6b0dc1 --- /dev/null +++ b/docs/models/shared/ScanChangesWithUserDefinedCursor.md @@ -0,0 +1,10 @@ +# ScanChangesWithUserDefinedCursor + +Incrementally detects new inserts and updates using the cursor column chosen when configuring a connection (e.g. created_at, updated_at). + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `method` | [com.airbyte.api.models.shared.SourceMssqlSchemasMethod](../../models/shared/SourceMssqlSchemasMethod.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SearchCriteria.md b/docs/models/shared/SearchCriteria.md new file mode 100644 index 000000000..53665bf8b --- /dev/null +++ b/docs/models/shared/SearchCriteria.md @@ -0,0 +1,15 @@ +# SearchCriteria + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `STARTS_WITH` | starts with | +| `ENDS_WITH` | ends with | +| `CONTAINS` | contains | +| `EXACTS` | exacts | +| `STARTS_NOT_WITH` | starts not with | +| `ENDS_NOT_WITH` | ends not with | +| `NOT_CONTAINS` | not contains | +| `NOT_EXACTS` | not exacts | \ No newline at end of file diff --git a/docs/models/shared/SearchScope.md b/docs/models/shared/SearchScope.md new file mode 100644 index 000000000..58ac60def --- /dev/null +++ b/docs/models/shared/SearchScope.md @@ -0,0 +1,12 @@ +# SearchScope + +Specifies the location(s) to search for files. Valid options are 'ACCESSIBLE_DRIVES' to search in the selected OneDrive drive, 'SHARED_ITEMS' for shared items the user has access to, and 'ALL' to search both. + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `ACCESSIBLE_DRIVES` | ACCESSIBLE_DRIVES | +| `SHARED_ITEMS` | SHARED_ITEMS | +| `ALL` | ALL | \ No newline at end of file diff --git a/docs/models/shared/Secoda.md b/docs/models/shared/Secoda.md new file mode 100644 index 000000000..96cd7d386 --- /dev/null +++ b/docs/models/shared/Secoda.md @@ -0,0 +1,8 @@ +# Secoda + + +## Values + +| Name | Value | +| -------- | -------- | +| `SECODA` | secoda | \ No newline at end of file diff --git a/docs/models/shared/Security.md b/docs/models/shared/Security.md index 2e3daf586..7cb041fbb 100644 --- a/docs/models/shared/Security.md +++ b/docs/models/shared/Security.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | -| `basicAuth` | [com.airbyte.api.models.shared.SchemeBasicAuth](../../models/shared/SchemeBasicAuth.md) | :heavy_minus_sign: | N/A | -| `bearerAuth` | *String* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `basicAuth` | [Optional](../../models/shared/SchemeBasicAuth.md) | :heavy_minus_sign: | N/A | +| `bearerAuth` | *Optional* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Sendgrid.md b/docs/models/shared/Sendgrid.md new file mode 100644 index 000000000..de531df8b --- /dev/null +++ b/docs/models/shared/Sendgrid.md @@ -0,0 +1,8 @@ +# Sendgrid + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `SENDGRID` | sendgrid | \ No newline at end of file diff --git a/docs/models/shared/Sendinblue.md b/docs/models/shared/Sendinblue.md new file mode 100644 index 000000000..2c83d49a3 --- /dev/null +++ b/docs/models/shared/Sendinblue.md @@ -0,0 +1,8 @@ +# Sendinblue + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `SENDINBLUE` | sendinblue | \ No newline at end of file diff --git a/docs/models/shared/Senseforce.md b/docs/models/shared/Senseforce.md new file mode 100644 index 000000000..7ffea8417 --- /dev/null +++ b/docs/models/shared/Senseforce.md @@ -0,0 +1,8 @@ +# Senseforce + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `SENSEFORCE` | senseforce | \ No newline at end of file diff --git a/docs/models/shared/Sentry.md b/docs/models/shared/Sentry.md new file mode 100644 index 000000000..60fbdb02e --- /dev/null +++ b/docs/models/shared/Sentry.md @@ -0,0 +1,8 @@ +# Sentry + + +## Values + +| Name | Value | +| -------- | -------- | +| `SENTRY` | sentry | \ No newline at end of file diff --git a/docs/models/shared/SerializationLibrary.md b/docs/models/shared/SerializationLibrary.md new file mode 100644 index 000000000..cfe2418c4 --- /dev/null +++ b/docs/models/shared/SerializationLibrary.md @@ -0,0 +1,11 @@ +# SerializationLibrary + +The library that your query engine will use for reading and writing data in your lake. + + +## Values + +| Name | Value | +| ------------------------------------------- | ------------------------------------------- | +| `ORG_OPENX_DATA_JSONSERDE_JSON_SER_DE` | org.openx.data.jsonserde.JsonSerDe | +| `ORG_APACHE_HIVE_HCATALOG_DATA_JSON_SER_DE` | org.apache.hive.hcatalog.data.JsonSerDe | \ No newline at end of file diff --git a/docs/models/shared/ServiceAccount.md b/docs/models/shared/ServiceAccount.md new file mode 100644 index 000000000..828b1b954 --- /dev/null +++ b/docs/models/shared/ServiceAccount.md @@ -0,0 +1,11 @@ +# ServiceAccount + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `optionTitle` | [Optional](../../models/shared/SourceMixpanelOptionTitle.md) | :heavy_minus_sign: | N/A | +| `projectId` | *long* | :heavy_check_mark: | Your project ID number. See the docs for more information on how to obtain this. | +| `secret` | *String* | :heavy_check_mark: | Mixpanel Service Account Secret. See the docs for more information on how to obtain this. | +| `username` | *String* | :heavy_check_mark: | Mixpanel Service Account Username. See the docs for more information on how to obtain this. | \ No newline at end of file diff --git a/docs/models/shared/ServiceAccountKey.md b/docs/models/shared/ServiceAccountKey.md new file mode 100644 index 000000000..504dbe34b --- /dev/null +++ b/docs/models/shared/ServiceAccountKey.md @@ -0,0 +1,12 @@ +# ServiceAccountKey + +For these scenario user should obtain service account's credentials from the Google API Console and provide delegated email. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentialsJson` | *String* | :heavy_check_mark: | The contents of the JSON service account key. See the docs for more information on how to generate this key. | +| `credentialsTitle` | [Optional](../../models/shared/SourceGoogleDirectorySchemasCredentialsTitle.md) | :heavy_minus_sign: | Authentication Scenario | +| `email` | *String* | :heavy_check_mark: | The email of the user, which has permissions to access the Google Workspace Admin APIs. | \ No newline at end of file diff --git a/docs/models/shared/ServiceAccountKeyAuthentication.md b/docs/models/shared/ServiceAccountKeyAuthentication.md new file mode 100644 index 000000000..534aba46f --- /dev/null +++ b/docs/models/shared/ServiceAccountKeyAuthentication.md @@ -0,0 +1,9 @@ +# ServiceAccountKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [Optional](../../models/shared/SourceGoogleAnalyticsDataApiSchemasAuthType.md) | :heavy_minus_sign: | N/A | | +| `credentialsJson` | *String* | :heavy_check_mark: | The JSON key linked to the service account used for authorization. For steps on obtaining this key, refer to the setup guide. | { "type": "service_account", "project_id": YOUR_PROJECT_ID, "private_key_id": YOUR_PRIVATE_KEY, ... } | \ No newline at end of file diff --git a/docs/models/shared/ServiceKeyAuthentication.md b/docs/models/shared/ServiceKeyAuthentication.md new file mode 100644 index 000000000..5626f4796 --- /dev/null +++ b/docs/models/shared/ServiceKeyAuthentication.md @@ -0,0 +1,15 @@ +# ServiceKeyAuthentication + +ServiceCredentials class for service key authentication. +This class is structured similarly to OAuthCredentials but for a different authentication method. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [Optional](../../models/shared/SourceMicrosoftOnedriveSchemasAuthType.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | Client ID of your Microsoft developer application | +| `clientSecret` | *String* | :heavy_check_mark: | Client Secret of your Microsoft developer application | +| `tenantId` | *String* | :heavy_check_mark: | Tenant ID of the Microsoft OneDrive user | +| `userPrincipalName` | *String* | :heavy_check_mark: | Special characters such as a period, comma, space, and the at sign (@) are converted to underscores (_). More details: https://learn.microsoft.com/en-us/sharepoint/list-onedrive-urls | \ No newline at end of file diff --git a/docs/models/shared/ServiceName.md b/docs/models/shared/ServiceName.md new file mode 100644 index 000000000..41380b94c --- /dev/null +++ b/docs/models/shared/ServiceName.md @@ -0,0 +1,11 @@ +# ServiceName + +Use service name + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `connectionType` | [Optional](../../models/shared/ConnectionType.md) | :heavy_minus_sign: | N/A | +| `serviceName` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Sftp.md b/docs/models/shared/Sftp.md new file mode 100644 index 000000000..f1bcbffca --- /dev/null +++ b/docs/models/shared/Sftp.md @@ -0,0 +1,8 @@ +# Sftp + + +## Values + +| Name | Value | +| ------ | ------ | +| `SFTP` | sftp | \ No newline at end of file diff --git a/docs/models/shared/SftpBulk.md b/docs/models/shared/SftpBulk.md new file mode 100644 index 000000000..e912a7095 --- /dev/null +++ b/docs/models/shared/SftpBulk.md @@ -0,0 +1,8 @@ +# SftpBulk + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `SFTP_BULK` | sftp-bulk | \ No newline at end of file diff --git a/docs/models/shared/SftpJson.md b/docs/models/shared/SftpJson.md new file mode 100644 index 000000000..16c157db3 --- /dev/null +++ b/docs/models/shared/SftpJson.md @@ -0,0 +1,8 @@ +# SftpJson + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `SFTP_JSON` | sftp-json | \ No newline at end of file diff --git a/docs/models/shared/ShareTypeUsedForMostPopularSharedStream.md b/docs/models/shared/ShareTypeUsedForMostPopularSharedStream.md new file mode 100644 index 000000000..ad0a7839c --- /dev/null +++ b/docs/models/shared/ShareTypeUsedForMostPopularSharedStream.md @@ -0,0 +1,10 @@ +# ShareTypeUsedForMostPopularSharedStream + +Share Type + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `FACEBOOK` | facebook | \ No newline at end of file diff --git a/docs/models/shared/Shopify.md b/docs/models/shared/Shopify.md new file mode 100644 index 000000000..c71d67400 --- /dev/null +++ b/docs/models/shared/Shopify.md @@ -0,0 +1,8 @@ +# Shopify + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/ShopifyCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/ShopifyAuthorizationMethod.md b/docs/models/shared/ShopifyAuthorizationMethod.md new file mode 100644 index 000000000..bb0b22d33 --- /dev/null +++ b/docs/models/shared/ShopifyAuthorizationMethod.md @@ -0,0 +1,4 @@ +# ShopifyAuthorizationMethod + +The authorization method to use to retrieve data from Shopify + diff --git a/docs/models/shared/ShopifyCredentials.md b/docs/models/shared/ShopifyCredentials.md new file mode 100644 index 000000000..b3d906a04 --- /dev/null +++ b/docs/models/shared/ShopifyCredentials.md @@ -0,0 +1,9 @@ +# ShopifyCredentials + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of the Shopify developer application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of the Shopify developer application. | \ No newline at end of file diff --git a/docs/models/shared/Shortio.md b/docs/models/shared/Shortio.md new file mode 100644 index 000000000..5d030b1dd --- /dev/null +++ b/docs/models/shared/Shortio.md @@ -0,0 +1,8 @@ +# Shortio + + +## Values + +| Name | Value | +| --------- | --------- | +| `SHORTIO` | shortio | \ No newline at end of file diff --git a/docs/models/shared/SignInViaGoogleOAuth.md b/docs/models/shared/SignInViaGoogleOAuth.md new file mode 100644 index 000000000..d341c173c --- /dev/null +++ b/docs/models/shared/SignInViaGoogleOAuth.md @@ -0,0 +1,13 @@ +# SignInViaGoogleOAuth + +For these scenario user only needs to give permission to read Google Directory data. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of the developer application. | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret of the developer application. | +| `credentialsTitle` | [Optional](../../models/shared/SourceGoogleDirectoryCredentialsTitle.md) | :heavy_minus_sign: | Authentication Scenario | +| `refreshToken` | *String* | :heavy_check_mark: | The Token for obtaining a new access token. | \ No newline at end of file diff --git a/docs/models/shared/SignInViaSlackOAuth.md b/docs/models/shared/SignInViaSlackOAuth.md new file mode 100644 index 000000000..1849a9ab8 --- /dev/null +++ b/docs/models/shared/SignInViaSlackOAuth.md @@ -0,0 +1,11 @@ +# SignInViaSlackOAuth + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Slack access_token. See our docs if you need help generating the token. | +| `clientId` | *String* | :heavy_check_mark: | Slack client_id. See our docs if you need help finding this id. | +| `clientSecret` | *String* | :heavy_check_mark: | Slack client_secret. See our docs if you need help finding this secret. | +| `optionTitle` | [com.airbyte.api.models.shared.SourceSlackOptionTitle](../../models/shared/SourceSlackOptionTitle.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Silent.md b/docs/models/shared/Silent.md new file mode 100644 index 000000000..5d15f793e --- /dev/null +++ b/docs/models/shared/Silent.md @@ -0,0 +1,8 @@ +# Silent + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| `testDestinationType` | [Optional](../../models/shared/TestDestinationType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SingleStoreAccessToken.md b/docs/models/shared/SingleStoreAccessToken.md new file mode 100644 index 000000000..c3d9ebfb1 --- /dev/null +++ b/docs/models/shared/SingleStoreAccessToken.md @@ -0,0 +1,10 @@ +# SingleStoreAccessToken + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Access Token for making authenticated requests. | +| `authType` | [com.airbyte.api.models.shared.SourceCartSchemasAuthType](../../models/shared/SourceCartSchemasAuthType.md) | :heavy_check_mark: | N/A | +| `storeName` | *String* | :heavy_check_mark: | The name of Cart.com Online Store. All API URLs start with https://[mystorename.com]/api/v1/, where [mystorename.com] is the domain name of your store. | \ No newline at end of file diff --git a/docs/models/shared/Slack.md b/docs/models/shared/Slack.md new file mode 100644 index 000000000..6d565c8c5 --- /dev/null +++ b/docs/models/shared/Slack.md @@ -0,0 +1,8 @@ +# Slack + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/SlackCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SlackCredentials.md b/docs/models/shared/SlackCredentials.md new file mode 100644 index 000000000..aa6258d91 --- /dev/null +++ b/docs/models/shared/SlackCredentials.md @@ -0,0 +1,9 @@ +# SlackCredentials + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | Slack client_id. See our docs if you need help finding this id. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | Slack client_secret. See our docs if you need help finding this secret. | \ No newline at end of file diff --git a/docs/models/shared/Smaily.md b/docs/models/shared/Smaily.md new file mode 100644 index 000000000..82d5382fe --- /dev/null +++ b/docs/models/shared/Smaily.md @@ -0,0 +1,8 @@ +# Smaily + + +## Values + +| Name | Value | +| -------- | -------- | +| `SMAILY` | smaily | \ No newline at end of file diff --git a/docs/models/shared/Smartengage.md b/docs/models/shared/Smartengage.md new file mode 100644 index 000000000..c2de80262 --- /dev/null +++ b/docs/models/shared/Smartengage.md @@ -0,0 +1,8 @@ +# Smartengage + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `SMARTENGAGE` | smartengage | \ No newline at end of file diff --git a/docs/models/shared/Smartsheets.md b/docs/models/shared/Smartsheets.md new file mode 100644 index 000000000..6045b9f45 --- /dev/null +++ b/docs/models/shared/Smartsheets.md @@ -0,0 +1,8 @@ +# Smartsheets + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/SmartsheetsCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SmartsheetsCredentials.md b/docs/models/shared/SmartsheetsCredentials.md new file mode 100644 index 000000000..375983450 --- /dev/null +++ b/docs/models/shared/SmartsheetsCredentials.md @@ -0,0 +1,9 @@ +# SmartsheetsCredentials + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The API ID of the SmartSheets developer application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The API Secret the SmartSheets developer application. | \ No newline at end of file diff --git a/docs/models/shared/SnapchatMarketing.md b/docs/models/shared/SnapchatMarketing.md new file mode 100644 index 000000000..163700cfd --- /dev/null +++ b/docs/models/shared/SnapchatMarketing.md @@ -0,0 +1,9 @@ +# SnapchatMarketing + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your Snapchat developer application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your Snapchat developer application. | \ No newline at end of file diff --git a/docs/models/shared/Snappy.md b/docs/models/shared/Snappy.md new file mode 100644 index 000000000..848d17e87 --- /dev/null +++ b/docs/models/shared/Snappy.md @@ -0,0 +1,8 @@ +# Snappy + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `codec` | [Optional](../../models/shared/DestinationGcsSchemasFormatOutputFormat1Codec.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Snowflake.md b/docs/models/shared/Snowflake.md new file mode 100644 index 000000000..f822614cf --- /dev/null +++ b/docs/models/shared/Snowflake.md @@ -0,0 +1,8 @@ +# Snowflake + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/SnowflakeCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SnowflakeCredentials.md b/docs/models/shared/SnowflakeCredentials.md new file mode 100644 index 000000000..650325c9c --- /dev/null +++ b/docs/models/shared/SnowflakeCredentials.md @@ -0,0 +1,9 @@ +# SnowflakeCredentials + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your Snowflake developer application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your Snowflake developer application. | \ No newline at end of file diff --git a/docs/models/shared/SonarCloud.md b/docs/models/shared/SonarCloud.md new file mode 100644 index 000000000..91a877f5c --- /dev/null +++ b/docs/models/shared/SonarCloud.md @@ -0,0 +1,8 @@ +# SonarCloud + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `SONAR_CLOUD` | sonar-cloud | \ No newline at end of file diff --git a/docs/models/shared/SortBy.md b/docs/models/shared/SortBy.md new file mode 100644 index 000000000..074d9768e --- /dev/null +++ b/docs/models/shared/SortBy.md @@ -0,0 +1,13 @@ +# SortBy + +This parameter allows you to choose with which type of sorting the articles should be returned. Two values are possible: + - publishedAt = sort by publication date, the articles with the most recent publication date are returned first + - relevance = sort by best match to keywords, the articles with the best match are returned first + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `PUBLISHED_AT` | publishedAt | +| `RELEVANCE` | relevance | \ No newline at end of file diff --git a/docs/models/shared/SourceAha.md b/docs/models/shared/SourceAha.md new file mode 100644 index 000000000..00914ea59 --- /dev/null +++ b/docs/models/shared/SourceAha.md @@ -0,0 +1,10 @@ +# SourceAha + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | API Key | +| `sourceType` | [com.airbyte.api.models.shared.Aha](../../models/shared/Aha.md) | :heavy_check_mark: | N/A | +| `url` | *String* | :heavy_check_mark: | URL | \ No newline at end of file diff --git a/docs/models/shared/SourceAircall.md b/docs/models/shared/SourceAircall.md new file mode 100644 index 000000000..34a38ff52 --- /dev/null +++ b/docs/models/shared/SourceAircall.md @@ -0,0 +1,11 @@ +# SourceAircall + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `apiId` | *String* | :heavy_check_mark: | App ID found at settings https://dashboard.aircall.io/integrations/api-keys | | +| `apiToken` | *String* | :heavy_check_mark: | App token found at settings (Ref- https://dashboard.aircall.io/integrations/api-keys) | | +| `sourceType` | [com.airbyte.api.models.shared.Aircall](../../models/shared/Aircall.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | Date time filter for incremental filter, Specify which date to extract from. | 2022-03-01T00:00:00.000Z | \ No newline at end of file diff --git a/docs/models/shared/SourceAirtable.md b/docs/models/shared/SourceAirtable.md new file mode 100644 index 000000000..664f8be89 --- /dev/null +++ b/docs/models/shared/SourceAirtable.md @@ -0,0 +1,9 @@ +# SourceAirtable + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/SourceAirtableAuthentication.md) | :heavy_minus_sign: | N/A | +| `sourceType` | [Optional](../../models/shared/SourceAirtableAirtable.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceAirtableAirtable.md b/docs/models/shared/SourceAirtableAirtable.md new file mode 100644 index 000000000..d3eb399f2 --- /dev/null +++ b/docs/models/shared/SourceAirtableAirtable.md @@ -0,0 +1,8 @@ +# SourceAirtableAirtable + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `AIRTABLE` | airtable | \ No newline at end of file diff --git a/docs/models/shared/SourceAirtableAuthMethod.md b/docs/models/shared/SourceAirtableAuthMethod.md new file mode 100644 index 000000000..0564d68af --- /dev/null +++ b/docs/models/shared/SourceAirtableAuthMethod.md @@ -0,0 +1,8 @@ +# SourceAirtableAuthMethod + + +## Values + +| Name | Value | +| --------- | --------- | +| `API_KEY` | api_key | \ No newline at end of file diff --git a/docs/models/shared/SourceAirtableAuthentication.md b/docs/models/shared/SourceAirtableAuthentication.md new file mode 100644 index 000000000..8b72d7b6f --- /dev/null +++ b/docs/models/shared/SourceAirtableAuthentication.md @@ -0,0 +1,2 @@ +# SourceAirtableAuthentication + diff --git a/docs/models/shared/SourceAirtableOAuth20.md b/docs/models/shared/SourceAirtableOAuth20.md new file mode 100644 index 000000000..12af975e3 --- /dev/null +++ b/docs/models/shared/SourceAirtableOAuth20.md @@ -0,0 +1,13 @@ +# SourceAirtableOAuth20 + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *Optional* | :heavy_minus_sign: | Access Token for making authenticated requests. | +| `authMethod` | [Optional](../../models/shared/SourceAirtableSchemasAuthMethod.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The client ID of the Airtable developer application. | +| `clientSecret` | *String* | :heavy_check_mark: | The client secret the Airtable developer application. | +| `refreshToken` | *String* | :heavy_check_mark: | The key to refresh the expired access token. | +| `tokenExpiryDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The date-time when the access token should be refreshed. | \ No newline at end of file diff --git a/docs/models/shared/SourceAirtableSchemasAuthMethod.md b/docs/models/shared/SourceAirtableSchemasAuthMethod.md new file mode 100644 index 000000000..3751035a0 --- /dev/null +++ b/docs/models/shared/SourceAirtableSchemasAuthMethod.md @@ -0,0 +1,8 @@ +# SourceAirtableSchemasAuthMethod + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceAmazonAds.md b/docs/models/shared/SourceAmazonAds.md new file mode 100644 index 000000000..6d507c6af --- /dev/null +++ b/docs/models/shared/SourceAmazonAds.md @@ -0,0 +1,19 @@ +# SourceAmazonAds + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [Optional](../../models/shared/SourceAmazonAdsAuthType.md) | :heavy_minus_sign: | N/A | | +| `clientId` | *String* | :heavy_check_mark: | The client ID of your Amazon Ads developer application. See the docs for more information. | | +| `clientSecret` | *String* | :heavy_check_mark: | The client secret of your Amazon Ads developer application. See the docs for more information. | | +| `lookBackWindow` | *Optional* | :heavy_minus_sign: | The amount of days to go back in time to get the updated data from Amazon Ads | 3 | +| `marketplaceIds` | List<*String*> | :heavy_minus_sign: | Marketplace IDs you want to fetch data for. Note: If Profile IDs are also selected, profiles will be selected if they match the Profile ID OR the Marketplace ID. | | +| `profiles` | List<*long*> | :heavy_minus_sign: | Profile IDs you want to fetch data for. See docs for more details. Note: If Marketplace IDs are also selected, profiles will be selected if they match the Profile ID OR the Marketplace ID. | | +| `refreshToken` | *String* | :heavy_check_mark: | Amazon Ads refresh token. See the docs for more information on how to obtain this token. | | +| `region` | [Optional](../../models/shared/Region.md) | :heavy_minus_sign: | Region to pull data from (EU/NA/FE). See docs for more details. | | +| `reportRecordTypes` | List<[com.airbyte.api.models.shared.ReportRecordTypes](../../models/shared/ReportRecordTypes.md)> | :heavy_minus_sign: | Optional configuration which accepts an array of string of record types. Leave blank for default behaviour to pull all report types. Use this config option only if you want to pull specific report type(s). See docs for more details | | +| `sourceType` | [com.airbyte.api.models.shared.SourceAmazonAdsAmazonAds](../../models/shared/SourceAmazonAdsAmazonAds.md) | :heavy_check_mark: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | The Start date for collecting reports, should not be more than 60 days in the past. In YYYY-MM-DD format | 2022-10-10 | +| `stateFilter` | List<[com.airbyte.api.models.shared.StateFilter](../../models/shared/StateFilter.md)> | :heavy_minus_sign: | Reflects the state of the Display, Product, and Brand Campaign streams as enabled, paused, or archived. If you do not populate this field, it will be ignored completely. | | \ No newline at end of file diff --git a/docs/models/shared/SourceAmazonAdsAmazonAds.md b/docs/models/shared/SourceAmazonAdsAmazonAds.md new file mode 100644 index 000000000..4e31c0530 --- /dev/null +++ b/docs/models/shared/SourceAmazonAdsAmazonAds.md @@ -0,0 +1,8 @@ +# SourceAmazonAdsAmazonAds + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `AMAZON_ADS` | amazon-ads | \ No newline at end of file diff --git a/docs/models/shared/SourceAmazonAdsAuthType.md b/docs/models/shared/SourceAmazonAdsAuthType.md new file mode 100644 index 000000000..a830c895d --- /dev/null +++ b/docs/models/shared/SourceAmazonAdsAuthType.md @@ -0,0 +1,8 @@ +# SourceAmazonAdsAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceAmazonSellerPartner.md b/docs/models/shared/SourceAmazonSellerPartner.md new file mode 100644 index 000000000..a7b037400 --- /dev/null +++ b/docs/models/shared/SourceAmazonSellerPartner.md @@ -0,0 +1,19 @@ +# SourceAmazonSellerPartner + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accountType` | [Optional](../../models/shared/AWSSellerPartnerAccountType.md) | :heavy_minus_sign: | Type of the Account you're going to authorize the Airbyte application by | | +| `authType` | [Optional](../../models/shared/SourceAmazonSellerPartnerAuthType.md) | :heavy_minus_sign: | N/A | | +| `awsEnvironment` | [Optional](../../models/shared/AWSEnvironment.md) | :heavy_minus_sign: | Select the AWS Environment. | | +| `lwaAppId` | *String* | :heavy_check_mark: | Your Login with Amazon Client ID. | | +| `lwaClientSecret` | *String* | :heavy_check_mark: | Your Login with Amazon Client Secret. | | +| `periodInDays` | *Optional* | :heavy_minus_sign: | For syncs spanning a large date range, this option is used to request data in a smaller fixed window to improve sync reliability. This time window can be configured granularly by day. | | +| `refreshToken` | *String* | :heavy_check_mark: | The Refresh Token obtained via OAuth flow authorization. | | +| `region` | [Optional](../../models/shared/AWSRegion.md) | :heavy_minus_sign: | Select the AWS Region. | | +| `replicationEndDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data after this date will not be replicated. | 2017-01-25T00:00:00Z | +| `replicationStartDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. If start date is not provided, the date 2 years ago from today will be used. | 2017-01-25T00:00:00Z | +| `reportOptionsList` | List<[com.airbyte.api.models.shared.ReportOptions](../../models/shared/ReportOptions.md)> | :heavy_minus_sign: | Additional information passed to reports. This varies by report type. | | +| `sourceType` | [com.airbyte.api.models.shared.SourceAmazonSellerPartnerAmazonSellerPartner](../../models/shared/SourceAmazonSellerPartnerAmazonSellerPartner.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourceAmazonSellerPartnerAmazonSellerPartner.md b/docs/models/shared/SourceAmazonSellerPartnerAmazonSellerPartner.md new file mode 100644 index 000000000..d4adb03eb --- /dev/null +++ b/docs/models/shared/SourceAmazonSellerPartnerAmazonSellerPartner.md @@ -0,0 +1,8 @@ +# SourceAmazonSellerPartnerAmazonSellerPartner + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `AMAZON_SELLER_PARTNER` | amazon-seller-partner | \ No newline at end of file diff --git a/docs/models/shared/SourceAmazonSellerPartnerAuthType.md b/docs/models/shared/SourceAmazonSellerPartnerAuthType.md new file mode 100644 index 000000000..385073db7 --- /dev/null +++ b/docs/models/shared/SourceAmazonSellerPartnerAuthType.md @@ -0,0 +1,8 @@ +# SourceAmazonSellerPartnerAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceAmazonSqs.md b/docs/models/shared/SourceAmazonSqs.md new file mode 100644 index 000000000..65546e797 --- /dev/null +++ b/docs/models/shared/SourceAmazonSqs.md @@ -0,0 +1,17 @@ +# SourceAmazonSqs + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessKey` | *Optional* | :heavy_minus_sign: | The Access Key ID of the AWS IAM Role to use for pulling messages | xxxxxHRNxxx3TBxxxxxx | +| `attributesToReturn` | *Optional* | :heavy_minus_sign: | Comma separated list of Mesage Attribute names to return | attr1,attr2 | +| `deleteMessages` | *Optional* | :heavy_minus_sign: | If Enabled, messages will be deleted from the SQS Queue after being read. If Disabled, messages are left in the queue and can be read more than once. WARNING: Enabling this option can result in data loss in cases of failure, use with caution, see documentation for more detail. | | +| `maxBatchSize` | *Optional* | :heavy_minus_sign: | Max amount of messages to get in one batch (10 max) | 5 | +| `maxWaitTime` | *Optional* | :heavy_minus_sign: | Max amount of time in seconds to wait for messages in a single poll (20 max) | 5 | +| `queueUrl` | *String* | :heavy_check_mark: | URL of the SQS Queue | https://sqs.eu-west-1.amazonaws.com/1234567890/my-example-queue | +| `region` | [com.airbyte.api.models.shared.SourceAmazonSqsAWSRegion](../../models/shared/SourceAmazonSqsAWSRegion.md) | :heavy_check_mark: | AWS Region of the SQS Queue | | +| `secretKey` | *Optional* | :heavy_minus_sign: | The Secret Key of the AWS IAM Role to use for pulling messages | hu+qE5exxxxT6o/ZrKsxxxxxxBhxxXLexxxxxVKz | +| `sourceType` | [com.airbyte.api.models.shared.AmazonSqs](../../models/shared/AmazonSqs.md) | :heavy_check_mark: | N/A | | +| `visibilityTimeout` | *Optional* | :heavy_minus_sign: | Modify the Visibility Timeout of the individual message from the Queue's default (seconds). | 15 | \ No newline at end of file diff --git a/docs/models/shared/SourceAmazonSqsAWSRegion.md b/docs/models/shared/SourceAmazonSqsAWSRegion.md new file mode 100644 index 000000000..e27f81b39 --- /dev/null +++ b/docs/models/shared/SourceAmazonSqsAWSRegion.md @@ -0,0 +1,42 @@ +# SourceAmazonSqsAWSRegion + +AWS Region of the SQS Queue + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `AF_SOUTH1` | af-south-1 | +| `AP_EAST1` | ap-east-1 | +| `AP_NORTHEAST1` | ap-northeast-1 | +| `AP_NORTHEAST2` | ap-northeast-2 | +| `AP_NORTHEAST3` | ap-northeast-3 | +| `AP_SOUTH1` | ap-south-1 | +| `AP_SOUTH2` | ap-south-2 | +| `AP_SOUTHEAST1` | ap-southeast-1 | +| `AP_SOUTHEAST2` | ap-southeast-2 | +| `AP_SOUTHEAST3` | ap-southeast-3 | +| `AP_SOUTHEAST4` | ap-southeast-4 | +| `CA_CENTRAL1` | ca-central-1 | +| `CA_WEST1` | ca-west-1 | +| `CN_NORTH1` | cn-north-1 | +| `CN_NORTHWEST1` | cn-northwest-1 | +| `EU_CENTRAL1` | eu-central-1 | +| `EU_CENTRAL2` | eu-central-2 | +| `EU_NORTH1` | eu-north-1 | +| `EU_SOUTH1` | eu-south-1 | +| `EU_SOUTH2` | eu-south-2 | +| `EU_WEST1` | eu-west-1 | +| `EU_WEST2` | eu-west-2 | +| `EU_WEST3` | eu-west-3 | +| `IL_CENTRAL1` | il-central-1 | +| `ME_CENTRAL1` | me-central-1 | +| `ME_SOUTH1` | me-south-1 | +| `SA_EAST1` | sa-east-1 | +| `US_EAST1` | us-east-1 | +| `US_EAST2` | us-east-2 | +| `US_GOV_EAST1` | us-gov-east-1 | +| `US_GOV_WEST1` | us-gov-west-1 | +| `US_WEST1` | us-west-1 | +| `US_WEST2` | us-west-2 | \ No newline at end of file diff --git a/docs/models/shared/SourceAmplitude.md b/docs/models/shared/SourceAmplitude.md new file mode 100644 index 000000000..0ef4a659e --- /dev/null +++ b/docs/models/shared/SourceAmplitude.md @@ -0,0 +1,13 @@ +# SourceAmplitude + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Amplitude API Key. See the setup guide for more information on how to obtain this key. | | +| `dataRegion` | [Optional](../../models/shared/DataRegion.md) | :heavy_minus_sign: | Amplitude data region server | | +| `requestTimeRange` | *Optional* | :heavy_minus_sign: | According to Considerations too big time range in request can cause a timeout error. In this case, set shorter time interval in hours. | | +| `secretKey` | *String* | :heavy_check_mark: | Amplitude Secret Key. See the setup guide for more information on how to obtain this key. | | +| `sourceType` | [com.airbyte.api.models.shared.Amplitude](../../models/shared/Amplitude.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | UTC date and time in the format 2021-01-25T00:00:00Z. Any data before this date will not be replicated. | 2021-01-25T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceApifyDataset.md b/docs/models/shared/SourceApifyDataset.md new file mode 100644 index 000000000..ef46b0923 --- /dev/null +++ b/docs/models/shared/SourceApifyDataset.md @@ -0,0 +1,10 @@ +# SourceApifyDataset + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `datasetId` | *String* | :heavy_check_mark: | ID of the dataset you would like to load to Airbyte. In Apify Console, you can view your datasets in the Storage section under the Datasets tab after you login. See the Apify Docs for more information. | rHuMdwm6xCFt6WiGU | +| `sourceType` | [com.airbyte.api.models.shared.ApifyDataset](../../models/shared/ApifyDataset.md) | :heavy_check_mark: | N/A | | +| `token` | *String* | :heavy_check_mark: | Personal API token of your Apify account. In Apify Console, you can find your API token in the Settings section under the Integrations tab after you login. See the Apify Docs for more information. | apify_api_PbVwb1cBbuvbfg2jRmAIHZKgx3NQyfEMG7uk | \ No newline at end of file diff --git a/docs/models/shared/SourceAppfollow.md b/docs/models/shared/SourceAppfollow.md new file mode 100644 index 000000000..886a394fc --- /dev/null +++ b/docs/models/shared/SourceAppfollow.md @@ -0,0 +1,9 @@ +# SourceAppfollow + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `apiSecret` | *Optional* | :heavy_minus_sign: | API Key provided by Appfollow | +| `sourceType` | [com.airbyte.api.models.shared.Appfollow](../../models/shared/Appfollow.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceAsana.md b/docs/models/shared/SourceAsana.md new file mode 100644 index 000000000..cb2020167 --- /dev/null +++ b/docs/models/shared/SourceAsana.md @@ -0,0 +1,11 @@ +# SourceAsana + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | +| `credentials` | [Optional](../../models/shared/AuthenticationMechanism.md) | :heavy_minus_sign: | Choose how to authenticate to Github | +| `organizationExportIds` | List<*java.lang.Object*> | :heavy_minus_sign: | Globally unique identifiers for the organization exports | +| `sourceType` | [Optional](../../models/shared/SourceAsanaAsana.md) | :heavy_minus_sign: | N/A | +| `testMode` | *Optional* | :heavy_minus_sign: | This flag is used for testing purposes for certain streams that return a lot of data. This flag is not meant to be enabled for prod. | \ No newline at end of file diff --git a/docs/models/shared/SourceAsanaAsana.md b/docs/models/shared/SourceAsanaAsana.md new file mode 100644 index 000000000..a222a2a26 --- /dev/null +++ b/docs/models/shared/SourceAsanaAsana.md @@ -0,0 +1,8 @@ +# SourceAsanaAsana + + +## Values + +| Name | Value | +| ------- | ------- | +| `ASANA` | asana | \ No newline at end of file diff --git a/docs/models/shared/SourceAsanaCredentialsTitle.md b/docs/models/shared/SourceAsanaCredentialsTitle.md new file mode 100644 index 000000000..2c63bb022 --- /dev/null +++ b/docs/models/shared/SourceAsanaCredentialsTitle.md @@ -0,0 +1,10 @@ +# SourceAsanaCredentialsTitle + +OAuth Credentials + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `O_AUTH_CREDENTIALS` | OAuth Credentials | \ No newline at end of file diff --git a/docs/models/shared/SourceAsanaSchemasCredentialsTitle.md b/docs/models/shared/SourceAsanaSchemasCredentialsTitle.md new file mode 100644 index 000000000..026193684 --- /dev/null +++ b/docs/models/shared/SourceAsanaSchemasCredentialsTitle.md @@ -0,0 +1,10 @@ +# SourceAsanaSchemasCredentialsTitle + +PAT Credentials + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `PAT_CREDENTIALS` | PAT Credentials | \ No newline at end of file diff --git a/docs/models/shared/SourceAuth0.md b/docs/models/shared/SourceAuth0.md new file mode 100644 index 000000000..ac5205c0d --- /dev/null +++ b/docs/models/shared/SourceAuth0.md @@ -0,0 +1,11 @@ +# SourceAuth0 + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `baseUrl` | *String* | :heavy_check_mark: | The Authentication API is served over HTTPS. All URLs referenced in the documentation have the following base `https://YOUR_DOMAIN` | https://dev-yourOrg.us.auth0.com/ | +| `credentials` | [com.airbyte.api.models.shared.SourceAuth0AuthenticationMethod](../../models/shared/SourceAuth0AuthenticationMethod.md) | :heavy_check_mark: | N/A | | +| `sourceType` | [com.airbyte.api.models.shared.Auth0](../../models/shared/Auth0.md) | :heavy_check_mark: | N/A | | +| `startDate` | *Optional* | :heavy_minus_sign: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. | 2023-08-05T00:43:59.244Z | \ No newline at end of file diff --git a/docs/models/shared/SourceAuth0AuthenticationMethod.md b/docs/models/shared/SourceAuth0AuthenticationMethod.md new file mode 100644 index 000000000..82827268f --- /dev/null +++ b/docs/models/shared/SourceAuth0AuthenticationMethod.md @@ -0,0 +1,2 @@ +# SourceAuth0AuthenticationMethod + diff --git a/docs/models/shared/SourceAuth0SchemasAuthenticationMethod.md b/docs/models/shared/SourceAuth0SchemasAuthenticationMethod.md new file mode 100644 index 000000000..0a05b6143 --- /dev/null +++ b/docs/models/shared/SourceAuth0SchemasAuthenticationMethod.md @@ -0,0 +1,8 @@ +# SourceAuth0SchemasAuthenticationMethod + + +## Values + +| Name | Value | +| --------------------------------- | --------------------------------- | +| `OAUTH2_CONFIDENTIAL_APPLICATION` | oauth2_confidential_application | \ No newline at end of file diff --git a/docs/models/shared/SourceAuth0SchemasCredentialsAuthenticationMethod.md b/docs/models/shared/SourceAuth0SchemasCredentialsAuthenticationMethod.md new file mode 100644 index 000000000..dc3939974 --- /dev/null +++ b/docs/models/shared/SourceAuth0SchemasCredentialsAuthenticationMethod.md @@ -0,0 +1,8 @@ +# SourceAuth0SchemasCredentialsAuthenticationMethod + + +## Values + +| Name | Value | +| --------------------- | --------------------- | +| `OAUTH2_ACCESS_TOKEN` | oauth2_access_token | \ No newline at end of file diff --git a/docs/models/shared/SourceAwsCloudtrail.md b/docs/models/shared/SourceAwsCloudtrail.md new file mode 100644 index 000000000..9189749c0 --- /dev/null +++ b/docs/models/shared/SourceAwsCloudtrail.md @@ -0,0 +1,12 @@ +# SourceAwsCloudtrail + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `awsKeyId` | *String* | :heavy_check_mark: | AWS CloudTrail Access Key ID. See the docs for more information on how to obtain this key. | | +| `awsRegionName` | *String* | :heavy_check_mark: | The default AWS Region to use, for example, us-west-1 or us-west-2. When specifying a Region inline during client initialization, this property is named region_name. | | +| `awsSecretKey` | *String* | :heavy_check_mark: | AWS CloudTrail Access Key ID. See the docs for more information on how to obtain this key. | | +| `sourceType` | [com.airbyte.api.models.shared.AwsCloudtrail](../../models/shared/AwsCloudtrail.md) | :heavy_check_mark: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | The date you would like to replicate data. Data in AWS CloudTrail is available for last 90 days only. Format: YYYY-MM-DD. | 2021-01-01 | \ No newline at end of file diff --git a/docs/models/shared/SourceAzureBlobStorage.md b/docs/models/shared/SourceAzureBlobStorage.md new file mode 100644 index 000000000..737a10a97 --- /dev/null +++ b/docs/models/shared/SourceAzureBlobStorage.md @@ -0,0 +1,17 @@ +# SourceAzureBlobStorage + +NOTE: When this Spec is changed, legacy_config_transformer.py must also be modified to uptake the changes +because it is responsible for converting legacy Azure Blob Storage v0 configs into v1 configs using the File-Based CDK. + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `azureBlobStorageAccountKey` | *String* | :heavy_check_mark: | The Azure blob storage account key. | Z8ZkZpteggFx394vm+PJHnGTvdRncaYS+JhLKdj789YNmD+iyGTnG+PV+POiuYNhBg/ACS+LKjd%4FG3FHGN12Nd== | +| `azureBlobStorageAccountName` | *String* | :heavy_check_mark: | The account's name of the Azure Blob Storage. | airbyte5storage | +| `azureBlobStorageContainerName` | *String* | :heavy_check_mark: | The name of the Azure blob storage container. | airbytetescontainername | +| `azureBlobStorageEndpoint` | *Optional* | :heavy_minus_sign: | This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. | blob.core.windows.net | +| `sourceType` | [com.airbyte.api.models.shared.SourceAzureBlobStorageAzureBlobStorage](../../models/shared/SourceAzureBlobStorageAzureBlobStorage.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. | 2021-01-01T00:00:00.000000Z | +| `streams` | List<[com.airbyte.api.models.shared.FileBasedStreamConfig](../../models/shared/FileBasedStreamConfig.md)> | :heavy_check_mark: | Each instance of this configuration defines a stream. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. | | \ No newline at end of file diff --git a/docs/models/shared/SourceAzureBlobStorageAzureBlobStorage.md b/docs/models/shared/SourceAzureBlobStorageAzureBlobStorage.md new file mode 100644 index 000000000..279ed44ef --- /dev/null +++ b/docs/models/shared/SourceAzureBlobStorageAzureBlobStorage.md @@ -0,0 +1,8 @@ +# SourceAzureBlobStorageAzureBlobStorage + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `AZURE_BLOB_STORAGE` | azure-blob-storage | \ No newline at end of file diff --git a/docs/models/shared/SourceAzureBlobStorageFiletype.md b/docs/models/shared/SourceAzureBlobStorageFiletype.md new file mode 100644 index 000000000..53bc1359a --- /dev/null +++ b/docs/models/shared/SourceAzureBlobStorageFiletype.md @@ -0,0 +1,8 @@ +# SourceAzureBlobStorageFiletype + + +## Values + +| Name | Value | +| ----- | ----- | +| `CSV` | csv | \ No newline at end of file diff --git a/docs/models/shared/SourceAzureBlobStorageHeaderDefinitionType.md b/docs/models/shared/SourceAzureBlobStorageHeaderDefinitionType.md new file mode 100644 index 000000000..08c2330b5 --- /dev/null +++ b/docs/models/shared/SourceAzureBlobStorageHeaderDefinitionType.md @@ -0,0 +1,8 @@ +# SourceAzureBlobStorageHeaderDefinitionType + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `AUTOGENERATED` | Autogenerated | \ No newline at end of file diff --git a/docs/models/shared/SourceAzureBlobStorageMode.md b/docs/models/shared/SourceAzureBlobStorageMode.md new file mode 100644 index 000000000..2f2211d09 --- /dev/null +++ b/docs/models/shared/SourceAzureBlobStorageMode.md @@ -0,0 +1,8 @@ +# SourceAzureBlobStorageMode + + +## Values + +| Name | Value | +| ------- | ------- | +| `LOCAL` | local | \ No newline at end of file diff --git a/docs/models/shared/SourceAzureBlobStorageSchemasFiletype.md b/docs/models/shared/SourceAzureBlobStorageSchemasFiletype.md new file mode 100644 index 000000000..7a5c27351 --- /dev/null +++ b/docs/models/shared/SourceAzureBlobStorageSchemasFiletype.md @@ -0,0 +1,8 @@ +# SourceAzureBlobStorageSchemasFiletype + + +## Values + +| Name | Value | +| ------- | ------- | +| `JSONL` | jsonl | \ No newline at end of file diff --git a/docs/models/shared/SourceAzureBlobStorageSchemasHeaderDefinitionType.md b/docs/models/shared/SourceAzureBlobStorageSchemasHeaderDefinitionType.md new file mode 100644 index 000000000..b7c71cc46 --- /dev/null +++ b/docs/models/shared/SourceAzureBlobStorageSchemasHeaderDefinitionType.md @@ -0,0 +1,8 @@ +# SourceAzureBlobStorageSchemasHeaderDefinitionType + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `USER_PROVIDED` | User Provided | \ No newline at end of file diff --git a/docs/models/shared/SourceAzureBlobStorageSchemasStreamsFiletype.md b/docs/models/shared/SourceAzureBlobStorageSchemasStreamsFiletype.md new file mode 100644 index 000000000..d6ebcc590 --- /dev/null +++ b/docs/models/shared/SourceAzureBlobStorageSchemasStreamsFiletype.md @@ -0,0 +1,8 @@ +# SourceAzureBlobStorageSchemasStreamsFiletype + + +## Values + +| Name | Value | +| --------- | --------- | +| `PARQUET` | parquet | \ No newline at end of file diff --git a/docs/models/shared/SourceAzureBlobStorageSchemasStreamsFormatFiletype.md b/docs/models/shared/SourceAzureBlobStorageSchemasStreamsFormatFiletype.md new file mode 100644 index 000000000..e2d5d26d7 --- /dev/null +++ b/docs/models/shared/SourceAzureBlobStorageSchemasStreamsFormatFiletype.md @@ -0,0 +1,8 @@ +# SourceAzureBlobStorageSchemasStreamsFormatFiletype + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `UNSTRUCTURED` | unstructured | \ No newline at end of file diff --git a/docs/models/shared/SourceAzureBlobStorageSchemasStreamsFormatFormatFiletype.md b/docs/models/shared/SourceAzureBlobStorageSchemasStreamsFormatFormatFiletype.md new file mode 100644 index 000000000..7c6f6e4f5 --- /dev/null +++ b/docs/models/shared/SourceAzureBlobStorageSchemasStreamsFormatFormatFiletype.md @@ -0,0 +1,8 @@ +# SourceAzureBlobStorageSchemasStreamsFormatFormatFiletype + + +## Values + +| Name | Value | +| ------ | ------ | +| `AVRO` | avro | \ No newline at end of file diff --git a/docs/models/shared/SourceAzureTable.md b/docs/models/shared/SourceAzureTable.md new file mode 100644 index 000000000..b167c057f --- /dev/null +++ b/docs/models/shared/SourceAzureTable.md @@ -0,0 +1,11 @@ +# SourceAzureTable + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `sourceType` | [com.airbyte.api.models.shared.AzureTable](../../models/shared/AzureTable.md) | :heavy_check_mark: | N/A | | +| `storageAccessKey` | *String* | :heavy_check_mark: | Azure Table Storage Access Key. See the docs for more information on how to obtain this key. | | +| `storageAccountName` | *String* | :heavy_check_mark: | The name of your storage account. | | +| `storageEndpointSuffix` | *Optional* | :heavy_minus_sign: | Azure Table Storage service account URL suffix. See the docs for more information on how to obtain endpoint suffix | core.windows.net | \ No newline at end of file diff --git a/docs/models/shared/SourceBambooHr.md b/docs/models/shared/SourceBambooHr.md new file mode 100644 index 000000000..40605717f --- /dev/null +++ b/docs/models/shared/SourceBambooHr.md @@ -0,0 +1,12 @@ +# SourceBambooHr + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Api key of bamboo hr | +| `customReportsFields` | *Optional* | :heavy_minus_sign: | Comma-separated list of fields to include in custom reports. | +| `customReportsIncludeDefaultFields` | *Optional* | :heavy_minus_sign: | If true, the custom reports endpoint will include the default fields defined here: https://documentation.bamboohr.com/docs/list-of-field-names. | +| `sourceType` | [com.airbyte.api.models.shared.BambooHr](../../models/shared/BambooHr.md) | :heavy_check_mark: | N/A | +| `subdomain` | *String* | :heavy_check_mark: | Sub Domain of bamboo hr | \ No newline at end of file diff --git a/docs/models/shared/SourceBigquery.md b/docs/models/shared/SourceBigquery.md new file mode 100644 index 000000000..d4b7ab29b --- /dev/null +++ b/docs/models/shared/SourceBigquery.md @@ -0,0 +1,11 @@ +# SourceBigquery + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentialsJson` | *String* | :heavy_check_mark: | The contents of your Service Account Key JSON file. See the docs for more information on how to obtain this key. | +| `datasetId` | *Optional* | :heavy_minus_sign: | The dataset ID to search for tables and views. If you are only loading data from one dataset, setting this option could result in much faster schema discovery. | +| `projectId` | *String* | :heavy_check_mark: | The GCP project ID for the project containing the target BigQuery dataset. | +| `sourceType` | [com.airbyte.api.models.shared.SourceBigqueryBigquery](../../models/shared/SourceBigqueryBigquery.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceBigqueryBigquery.md b/docs/models/shared/SourceBigqueryBigquery.md new file mode 100644 index 000000000..0393550b3 --- /dev/null +++ b/docs/models/shared/SourceBigqueryBigquery.md @@ -0,0 +1,8 @@ +# SourceBigqueryBigquery + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `BIGQUERY` | bigquery | \ No newline at end of file diff --git a/docs/models/shared/SourceBingAds.md b/docs/models/shared/SourceBingAds.md new file mode 100644 index 000000000..94f7980fb --- /dev/null +++ b/docs/models/shared/SourceBingAds.md @@ -0,0 +1,18 @@ +# SourceBingAds + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accountNames` | List<[com.airbyte.api.models.shared.AccountNames](../../models/shared/AccountNames.md)> | :heavy_minus_sign: | Predicates that will be used to sync data by specific accounts. | +| `authMethod` | [Optional](../../models/shared/AuthMethod.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your Microsoft Advertising developer application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your Microsoft Advertising developer application. | +| `customReports` | List<[com.airbyte.api.models.shared.CustomReportConfig](../../models/shared/CustomReportConfig.md)> | :heavy_minus_sign: | You can add your Custom Bing Ads report by creating one. | +| `developerToken` | *String* | :heavy_check_mark: | Developer token associated with user. See more info in the docs. | +| `lookbackWindow` | *Optional* | :heavy_minus_sign: | Also known as attribution or conversion window. How far into the past to look for records (in days). If your conversion window has an hours/minutes granularity, round it up to the number of days exceeding. Used only for performance report streams in incremental mode without specified Reports Start Date. | +| `refreshToken` | *String* | :heavy_check_mark: | Refresh Token to renew the expired Access Token. | +| `reportsStartDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | The start date from which to begin replicating report data. Any data generated before this date will not be replicated in reports. This is a UTC date in YYYY-MM-DD format. If not set, data from previous and current calendar year will be replicated. | +| `sourceType` | [com.airbyte.api.models.shared.SourceBingAdsBingAds](../../models/shared/SourceBingAdsBingAds.md) | :heavy_check_mark: | N/A | +| `tenantId` | *Optional* | :heavy_minus_sign: | The Tenant ID of your Microsoft Advertising developer application. Set this to "common" unless you know you need a different value. | \ No newline at end of file diff --git a/docs/models/shared/SourceBingAdsBingAds.md b/docs/models/shared/SourceBingAdsBingAds.md new file mode 100644 index 000000000..765684bbc --- /dev/null +++ b/docs/models/shared/SourceBingAdsBingAds.md @@ -0,0 +1,8 @@ +# SourceBingAdsBingAds + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `BING_ADS` | bing-ads | \ No newline at end of file diff --git a/docs/models/shared/SourceBraintree.md b/docs/models/shared/SourceBraintree.md new file mode 100644 index 000000000..7b182188e --- /dev/null +++ b/docs/models/shared/SourceBraintree.md @@ -0,0 +1,13 @@ +# SourceBraintree + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `environment` | [com.airbyte.api.models.shared.SourceBraintreeEnvironment](../../models/shared/SourceBraintreeEnvironment.md) | :heavy_check_mark: | Environment specifies where the data will come from. | sandbox | +| `merchantId` | *String* | :heavy_check_mark: | The unique identifier for your entire gateway account. See the docs for more information on how to obtain this ID. | | +| `privateKey` | *String* | :heavy_check_mark: | Braintree Private Key. See the docs for more information on how to obtain this key. | | +| `publicKey` | *String* | :heavy_check_mark: | Braintree Public Key. See the docs for more information on how to obtain this key. | | +| `sourceType` | [com.airbyte.api.models.shared.Braintree](../../models/shared/Braintree.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. | 2020 | \ No newline at end of file diff --git a/docs/models/shared/SourceBraintreeEnvironment.md b/docs/models/shared/SourceBraintreeEnvironment.md new file mode 100644 index 000000000..3c06ec914 --- /dev/null +++ b/docs/models/shared/SourceBraintreeEnvironment.md @@ -0,0 +1,13 @@ +# SourceBraintreeEnvironment + +Environment specifies where the data will come from. + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `DEVELOPMENT` | Development | +| `SANDBOX` | Sandbox | +| `QA` | Qa | +| `PRODUCTION` | Production | \ No newline at end of file diff --git a/docs/models/shared/SourceBraze.md b/docs/models/shared/SourceBraze.md new file mode 100644 index 000000000..1895cefa0 --- /dev/null +++ b/docs/models/shared/SourceBraze.md @@ -0,0 +1,11 @@ +# SourceBraze + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Braze REST API key | +| `sourceType` | [com.airbyte.api.models.shared.Braze](../../models/shared/Braze.md) | :heavy_check_mark: | N/A | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_check_mark: | Rows after this date will be synced | +| `url` | *String* | :heavy_check_mark: | Braze REST API endpoint | \ No newline at end of file diff --git a/docs/models/shared/SourceCart.md b/docs/models/shared/SourceCart.md new file mode 100644 index 000000000..506006a14 --- /dev/null +++ b/docs/models/shared/SourceCart.md @@ -0,0 +1,10 @@ +# SourceCart + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/SourceCartAuthorizationMethod.md) | :heavy_minus_sign: | N/A | | +| `sourceType` | [com.airbyte.api.models.shared.Cart](../../models/shared/Cart.md) | :heavy_check_mark: | N/A | | +| `startDate` | *String* | :heavy_check_mark: | The date from which you'd like to replicate the data | 2021-01-01T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceCartAuthType.md b/docs/models/shared/SourceCartAuthType.md new file mode 100644 index 000000000..2492dc062 --- /dev/null +++ b/docs/models/shared/SourceCartAuthType.md @@ -0,0 +1,8 @@ +# SourceCartAuthType + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `CENTRAL_API_ROUTER` | CENTRAL_API_ROUTER | \ No newline at end of file diff --git a/docs/models/shared/SourceCartAuthorizationMethod.md b/docs/models/shared/SourceCartAuthorizationMethod.md new file mode 100644 index 000000000..517c429f8 --- /dev/null +++ b/docs/models/shared/SourceCartAuthorizationMethod.md @@ -0,0 +1,2 @@ +# SourceCartAuthorizationMethod + diff --git a/docs/models/shared/SourceCartSchemasAuthType.md b/docs/models/shared/SourceCartSchemasAuthType.md new file mode 100644 index 000000000..bc25ecf6f --- /dev/null +++ b/docs/models/shared/SourceCartSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceCartSchemasAuthType + + +## Values + +| Name | Value | +| --------------------------- | --------------------------- | +| `SINGLE_STORE_ACCESS_TOKEN` | SINGLE_STORE_ACCESS_TOKEN | \ No newline at end of file diff --git a/docs/models/shared/SourceChargebee.md b/docs/models/shared/SourceChargebee.md new file mode 100644 index 000000000..75f4c1b82 --- /dev/null +++ b/docs/models/shared/SourceChargebee.md @@ -0,0 +1,12 @@ +# SourceChargebee + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `productCatalog` | [Optional](../../models/shared/ProductCatalog.md) | :heavy_minus_sign: | Product Catalog version of your Chargebee site. Instructions on how to find your version you may find here under `API Version` section. If left blank, the product catalog version will be set to 2.0. | | +| `site` | *String* | :heavy_check_mark: | The site prefix for your Chargebee instance. | airbyte-test | +| `siteApiKey` | *String* | :heavy_check_mark: | Chargebee API Key. See the docs for more information on how to obtain this key. | | +| `sourceType` | [com.airbyte.api.models.shared.Chargebee](../../models/shared/Chargebee.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | UTC date and time in the format 2017-01-25T00:00:00.000Z. Any data before this date will not be replicated. | 2021-01-25T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceChartmogul.md b/docs/models/shared/SourceChartmogul.md new file mode 100644 index 000000000..171e5dcda --- /dev/null +++ b/docs/models/shared/SourceChartmogul.md @@ -0,0 +1,10 @@ +# SourceChartmogul + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Your Chartmogul API key. See the docs for info on how to obtain this. | | +| `sourceType` | [com.airbyte.api.models.shared.Chartmogul](../../models/shared/Chartmogul.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | UTC date and time in the format 2017-01-25T00:00:00Z. When feasible, any data before this date will not be replicated. | 2017-01-25T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceClickhouse.md b/docs/models/shared/SourceClickhouse.md new file mode 100644 index 000000000..c04acec24 --- /dev/null +++ b/docs/models/shared/SourceClickhouse.md @@ -0,0 +1,15 @@ +# SourceClickhouse + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `database` | *String* | :heavy_check_mark: | The name of the database. | default | +| `host` | *String* | :heavy_check_mark: | The host endpoint of the Clickhouse cluster. | | +| `jdbcUrlParams` | *Optional* | :heavy_minus_sign: | Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (Eg. key1=value1&key2=value2&key3=value3). For more information read about JDBC URL parameters. | | +| `password` | *Optional* | :heavy_minus_sign: | The password associated with this username. | | +| `port` | *Optional* | :heavy_minus_sign: | The port of the database. | 8123 | +| `sourceType` | [com.airbyte.api.models.shared.SourceClickhouseClickhouse](../../models/shared/SourceClickhouseClickhouse.md) | :heavy_check_mark: | N/A | | +| `tunnelMethod` | [Optional](../../models/shared/SourceClickhouseSSHTunnelMethod.md) | :heavy_minus_sign: | Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. | | +| `username` | *String* | :heavy_check_mark: | The username which is used to access the database. | | \ No newline at end of file diff --git a/docs/models/shared/SourceClickhouseClickhouse.md b/docs/models/shared/SourceClickhouseClickhouse.md new file mode 100644 index 000000000..1c224ec6a --- /dev/null +++ b/docs/models/shared/SourceClickhouseClickhouse.md @@ -0,0 +1,8 @@ +# SourceClickhouseClickhouse + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `CLICKHOUSE` | clickhouse | \ No newline at end of file diff --git a/docs/models/shared/SourceClickhouseNoTunnel.md b/docs/models/shared/SourceClickhouseNoTunnel.md new file mode 100644 index 000000000..ffceff7e4 --- /dev/null +++ b/docs/models/shared/SourceClickhouseNoTunnel.md @@ -0,0 +1,8 @@ +# SourceClickhouseNoTunnel + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| `tunnelMethod` | [com.airbyte.api.models.shared.SourceClickhouseTunnelMethod](../../models/shared/SourceClickhouseTunnelMethod.md) | :heavy_check_mark: | No ssh tunnel needed to connect to database | \ No newline at end of file diff --git a/docs/models/shared/SourceClickhousePasswordAuthentication.md b/docs/models/shared/SourceClickhousePasswordAuthentication.md new file mode 100644 index 000000000..c152c20da --- /dev/null +++ b/docs/models/shared/SourceClickhousePasswordAuthentication.md @@ -0,0 +1,12 @@ +# SourceClickhousePasswordAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.SourceClickhouseSchemasTunnelMethodTunnelMethod](../../models/shared/SourceClickhouseSchemasTunnelMethodTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and password authentication | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host | | +| `tunnelUserPassword` | *String* | :heavy_check_mark: | OS-level password for logging into the jump server host | | \ No newline at end of file diff --git a/docs/models/shared/SourceClickhouseSSHKeyAuthentication.md b/docs/models/shared/SourceClickhouseSSHKeyAuthentication.md new file mode 100644 index 000000000..3b4a19b15 --- /dev/null +++ b/docs/models/shared/SourceClickhouseSSHKeyAuthentication.md @@ -0,0 +1,12 @@ +# SourceClickhouseSSHKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `sshKey` | *String* | :heavy_check_mark: | OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) | | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.SourceClickhouseSchemasTunnelMethod](../../models/shared/SourceClickhouseSchemasTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and ssh key | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host. | | \ No newline at end of file diff --git a/docs/models/shared/SourceClickhouseSSHTunnelMethod.md b/docs/models/shared/SourceClickhouseSSHTunnelMethod.md new file mode 100644 index 000000000..000b532b5 --- /dev/null +++ b/docs/models/shared/SourceClickhouseSSHTunnelMethod.md @@ -0,0 +1,4 @@ +# SourceClickhouseSSHTunnelMethod + +Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + diff --git a/docs/models/shared/SourceClickhouseSchemasTunnelMethod.md b/docs/models/shared/SourceClickhouseSchemasTunnelMethod.md new file mode 100644 index 000000000..6acb1a7fa --- /dev/null +++ b/docs/models/shared/SourceClickhouseSchemasTunnelMethod.md @@ -0,0 +1,10 @@ +# SourceClickhouseSchemasTunnelMethod + +Connect through a jump server tunnel host using username and ssh key + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `SSH_KEY_AUTH` | SSH_KEY_AUTH | \ No newline at end of file diff --git a/docs/models/shared/SourceClickhouseSchemasTunnelMethodTunnelMethod.md b/docs/models/shared/SourceClickhouseSchemasTunnelMethodTunnelMethod.md new file mode 100644 index 000000000..c5feea1b5 --- /dev/null +++ b/docs/models/shared/SourceClickhouseSchemasTunnelMethodTunnelMethod.md @@ -0,0 +1,10 @@ +# SourceClickhouseSchemasTunnelMethodTunnelMethod + +Connect through a jump server tunnel host using username and password authentication + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `SSH_PASSWORD_AUTH` | SSH_PASSWORD_AUTH | \ No newline at end of file diff --git a/docs/models/shared/SourceClickhouseTunnelMethod.md b/docs/models/shared/SourceClickhouseTunnelMethod.md new file mode 100644 index 000000000..b902e484f --- /dev/null +++ b/docs/models/shared/SourceClickhouseTunnelMethod.md @@ -0,0 +1,10 @@ +# SourceClickhouseTunnelMethod + +No ssh tunnel needed to connect to database + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `NO_TUNNEL` | NO_TUNNEL | \ No newline at end of file diff --git a/docs/models/shared/SourceClickupApi.md b/docs/models/shared/SourceClickupApi.md new file mode 100644 index 000000000..c654094bb --- /dev/null +++ b/docs/models/shared/SourceClickupApi.md @@ -0,0 +1,14 @@ +# SourceClickupApi + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiToken` | *String* | :heavy_check_mark: | Every ClickUp API call required authentication. This field is your personal API token. See here. | +| `folderId` | *Optional* | :heavy_minus_sign: | The ID of your folder in your space. Retrieve it from the `/space/{space_id}/folder` of the ClickUp API. See here. | +| `includeClosedTasks` | *Optional* | :heavy_minus_sign: | Include or exclude closed tasks. By default, they are excluded. See here. | +| `listId` | *Optional* | :heavy_minus_sign: | The ID of your list in your folder. Retrieve it from the `/folder/{folder_id}/list` of the ClickUp API. See here. | +| `sourceType` | [com.airbyte.api.models.shared.ClickupApi](../../models/shared/ClickupApi.md) | :heavy_check_mark: | N/A | +| `spaceId` | *Optional* | :heavy_minus_sign: | The ID of your space in your workspace. Retrieve it from the `/team/{team_id}/space` of the ClickUp API. See here. | +| `teamId` | *Optional* | :heavy_minus_sign: | The ID of your team in ClickUp. Retrieve it from the `/team` of the ClickUp API. See here. | \ No newline at end of file diff --git a/docs/models/shared/SourceClockify.md b/docs/models/shared/SourceClockify.md new file mode 100644 index 000000000..c9105574b --- /dev/null +++ b/docs/models/shared/SourceClockify.md @@ -0,0 +1,11 @@ +# SourceClockify + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | You can get your api access_key here This API is Case Sensitive. | +| `apiUrl` | *Optional* | :heavy_minus_sign: | The URL for the Clockify API. This should only need to be modified if connecting to an enterprise version of Clockify. | +| `sourceType` | [com.airbyte.api.models.shared.Clockify](../../models/shared/Clockify.md) | :heavy_check_mark: | N/A | +| `workspaceId` | *String* | :heavy_check_mark: | WorkSpace Id | \ No newline at end of file diff --git a/docs/models/shared/SourceCloseCom.md b/docs/models/shared/SourceCloseCom.md new file mode 100644 index 000000000..012935315 --- /dev/null +++ b/docs/models/shared/SourceCloseCom.md @@ -0,0 +1,10 @@ +# SourceCloseCom + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `apiKey` | *String* | :heavy_check_mark: | Close.com API key (usually starts with 'api_'; find yours here). | | +| `sourceType` | [com.airbyte.api.models.shared.CloseCom](../../models/shared/CloseCom.md) | :heavy_check_mark: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | The start date to sync data; all data after this date will be replicated. Leave blank to retrieve all the data available in the account. Format: YYYY-MM-DD. | 2021-01-01 | \ No newline at end of file diff --git a/docs/models/shared/SourceCoda.md b/docs/models/shared/SourceCoda.md new file mode 100644 index 000000000..fdb84c497 --- /dev/null +++ b/docs/models/shared/SourceCoda.md @@ -0,0 +1,9 @@ +# SourceCoda + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `authToken` | *String* | :heavy_check_mark: | Bearer token | +| `sourceType` | [com.airbyte.api.models.shared.Coda](../../models/shared/Coda.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceCoinApi.md b/docs/models/shared/SourceCoinApi.md new file mode 100644 index 000000000..1a93532b8 --- /dev/null +++ b/docs/models/shared/SourceCoinApi.md @@ -0,0 +1,15 @@ +# SourceCoinApi + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | API Key | | +| `endDate` | *Optional* | :heavy_minus_sign: | The end date in ISO 8601 format. If not supplied, data will be returned
    from the start date to the current time, or when the count of result
    elements reaches its limit.
    | 2019-01-01T00:00:00 | +| `environment` | [Optional](../../models/shared/Environment.md) | :heavy_minus_sign: | The environment to use. Either sandbox or production.
    | | +| `limit` | *Optional* | :heavy_minus_sign: | The maximum number of elements to return. If not supplied, the default
    is 100. For numbers larger than 100, each 100 items is counted as one
    request for pricing purposes. Maximum value is 100000.
    | | +| `period` | *String* | :heavy_check_mark: | The period to use. See the documentation for a list. https://docs.coinapi.io/#list-all-periods-get | 5SEC | +| `sourceType` | [com.airbyte.api.models.shared.CoinApi](../../models/shared/CoinApi.md) | :heavy_check_mark: | N/A | | +| `startDate` | *String* | :heavy_check_mark: | The start date in ISO 8601 format. | 2019-01-01T00:00:00 | +| `symbolId` | *String* | :heavy_check_mark: | The symbol ID to use. See the documentation for a list.
    https://docs.coinapi.io/#list-all-symbols-get
    | | \ No newline at end of file diff --git a/docs/models/shared/SourceCoinmarketcap.md b/docs/models/shared/SourceCoinmarketcap.md new file mode 100644 index 000000000..77772380c --- /dev/null +++ b/docs/models/shared/SourceCoinmarketcap.md @@ -0,0 +1,11 @@ +# SourceCoinmarketcap + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Your API Key. See here. The token is case sensitive. | | +| `dataType` | [com.airbyte.api.models.shared.DataType](../../models/shared/DataType.md) | :heavy_check_mark: | /latest: Latest market ticker quotes and averages for cryptocurrencies and exchanges. /historical: Intervals of historic market data like OHLCV data or data for use in charting libraries. See here. | | +| `sourceType` | [com.airbyte.api.models.shared.Coinmarketcap](../../models/shared/Coinmarketcap.md) | :heavy_check_mark: | N/A | | +| `symbols` | List<*String*> | :heavy_minus_sign: | Cryptocurrency symbols. (only used for quotes stream) | AVAX | \ No newline at end of file diff --git a/docs/models/shared/SourceConfigcat.md b/docs/models/shared/SourceConfigcat.md new file mode 100644 index 000000000..c235f2787 --- /dev/null +++ b/docs/models/shared/SourceConfigcat.md @@ -0,0 +1,10 @@ +# SourceConfigcat + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| `password` | *String* | :heavy_check_mark: | Basic auth password. See here. | +| `sourceType` | [com.airbyte.api.models.shared.Configcat](../../models/shared/Configcat.md) | :heavy_check_mark: | N/A | +| `username` | *String* | :heavy_check_mark: | Basic auth user name. See here. | \ No newline at end of file diff --git a/docs/models/shared/SourceConfiguration.md b/docs/models/shared/SourceConfiguration.md new file mode 100644 index 000000000..799b66d55 --- /dev/null +++ b/docs/models/shared/SourceConfiguration.md @@ -0,0 +1,4 @@ +# SourceConfiguration + +The values required to configure the source. + diff --git a/docs/models/shared/SourceConfluence.md b/docs/models/shared/SourceConfluence.md new file mode 100644 index 000000000..65d767ce9 --- /dev/null +++ b/docs/models/shared/SourceConfluence.md @@ -0,0 +1,11 @@ +# SourceConfluence + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiToken` | *String* | :heavy_check_mark: | Please follow the Jira confluence for generating an API token: generating an API token. | | +| `domainName` | *String* | :heavy_check_mark: | Your Confluence domain name | | +| `email` | *String* | :heavy_check_mark: | Your Confluence login email | abc@example.com | +| `sourceType` | [com.airbyte.api.models.shared.Confluence](../../models/shared/Confluence.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourceConvex.md b/docs/models/shared/SourceConvex.md new file mode 100644 index 000000000..8842f4a12 --- /dev/null +++ b/docs/models/shared/SourceConvex.md @@ -0,0 +1,10 @@ +# SourceConvex + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `accessKey` | *String* | :heavy_check_mark: | API access key used to retrieve data from Convex. | | +| `deploymentUrl` | *String* | :heavy_check_mark: | N/A | https://murky-swan-635.convex.cloud | +| `sourceType` | [com.airbyte.api.models.shared.SourceConvexConvex](../../models/shared/SourceConvexConvex.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourceConvexConvex.md b/docs/models/shared/SourceConvexConvex.md new file mode 100644 index 000000000..ffb769c3c --- /dev/null +++ b/docs/models/shared/SourceConvexConvex.md @@ -0,0 +1,8 @@ +# SourceConvexConvex + + +## Values + +| Name | Value | +| -------- | -------- | +| `CONVEX` | convex | \ No newline at end of file diff --git a/docs/models/shared/SourceCreateRequest.md b/docs/models/shared/SourceCreateRequest.md index 202c37f48..a6e11181b 100644 --- a/docs/models/shared/SourceCreateRequest.md +++ b/docs/models/shared/SourceCreateRequest.md @@ -5,8 +5,8 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | -| `configuration` | *java.lang.Object* | :heavy_check_mark: | The values required to configure the source. | {
    "user": "charles"
    } | -| `definitionId` | *String* | :heavy_minus_sign: | The UUID of the connector definition. One of configuration.sourceType or definitionId must be provided. | | +| `configuration` | [com.airbyte.api.models.shared.SourceConfiguration](../../models/shared/SourceConfiguration.md) | :heavy_check_mark: | The values required to configure the source. | {
    "user": "charles"
    } | +| `definitionId` | *Optional* | :heavy_minus_sign: | The UUID of the connector definition. One of configuration.sourceType or definitionId must be provided. | | | `name` | *String* | :heavy_check_mark: | Name of the source e.g. dev-mysql-instance. | | -| `secretId` | *String* | :heavy_minus_sign: | Optional secretID obtained through the public API OAuth redirect flow. | | +| `secretId` | *Optional* | :heavy_minus_sign: | Optional secretID obtained through the public API OAuth redirect flow. | | | `workspaceId` | *String* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourceDatascope.md b/docs/models/shared/SourceDatascope.md new file mode 100644 index 000000000..e165026ce --- /dev/null +++ b/docs/models/shared/SourceDatascope.md @@ -0,0 +1,10 @@ +# SourceDatascope + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | API Key | | +| `sourceType` | [com.airbyte.api.models.shared.Datascope](../../models/shared/Datascope.md) | :heavy_check_mark: | N/A | | +| `startDate` | *String* | :heavy_check_mark: | Start date for the data to be replicated | dd/mm/YYYY HH:MM | \ No newline at end of file diff --git a/docs/models/shared/SourceDelighted.md b/docs/models/shared/SourceDelighted.md new file mode 100644 index 000000000..a35a0bc30 --- /dev/null +++ b/docs/models/shared/SourceDelighted.md @@ -0,0 +1,10 @@ +# SourceDelighted + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | A Delighted API key. | | +| `since` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | The date from which you'd like to replicate the data | 2022-05-30T04:50:23Z | +| `sourceType` | [com.airbyte.api.models.shared.Delighted](../../models/shared/Delighted.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourceDixa.md b/docs/models/shared/SourceDixa.md new file mode 100644 index 000000000..0e5e735fb --- /dev/null +++ b/docs/models/shared/SourceDixa.md @@ -0,0 +1,11 @@ +# SourceDixa + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `apiToken` | *String* | :heavy_check_mark: | Dixa API token | | +| `batchSize` | *Optional* | :heavy_minus_sign: | Number of days to batch into one request. Max 31. | 1 | +| `sourceType` | [com.airbyte.api.models.shared.Dixa](../../models/shared/Dixa.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | The connector pulls records updated from this date onwards. | YYYY-MM-DD | \ No newline at end of file diff --git a/docs/models/shared/SourceDockerhub.md b/docs/models/shared/SourceDockerhub.md new file mode 100644 index 000000000..47e6869ca --- /dev/null +++ b/docs/models/shared/SourceDockerhub.md @@ -0,0 +1,9 @@ +# SourceDockerhub + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `dockerUsername` | *String* | :heavy_check_mark: | Username of DockerHub person or organization (for https://hub.docker.com/v2/repositories/USERNAME/ API call) | airbyte | +| `sourceType` | [com.airbyte.api.models.shared.Dockerhub](../../models/shared/Dockerhub.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourceDremio.md b/docs/models/shared/SourceDremio.md new file mode 100644 index 000000000..6acd7f4cd --- /dev/null +++ b/docs/models/shared/SourceDremio.md @@ -0,0 +1,10 @@ +# SourceDremio + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | API Key that is generated when you authenticate to Dremio API | +| `baseUrl` | *Optional* | :heavy_minus_sign: | URL of your Dremio instance | +| `sourceType` | [com.airbyte.api.models.shared.Dremio](../../models/shared/Dremio.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceDynamodb.md b/docs/models/shared/SourceDynamodb.md new file mode 100644 index 000000000..f9655bcdc --- /dev/null +++ b/docs/models/shared/SourceDynamodb.md @@ -0,0 +1,13 @@ +# SourceDynamodb + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| `accessKeyId` | *String* | :heavy_check_mark: | The access key id to access Dynamodb. Airbyte requires read permissions to the database | A012345678910EXAMPLE | +| `endpoint` | *Optional* | :heavy_minus_sign: | the URL of the Dynamodb database | https://{aws_dynamo_db_url}.com | +| `region` | [Optional](../../models/shared/SourceDynamodbDynamodbRegion.md) | :heavy_minus_sign: | The region of the Dynamodb database | | +| `reservedAttributeNames` | *Optional* | :heavy_minus_sign: | Comma separated reserved attribute names present in your tables | name, field_name, field-name | +| `secretAccessKey` | *String* | :heavy_check_mark: | The corresponding secret to the access key id. | a012345678910ABCDEFGH/AbCdEfGhEXAMPLEKEY | +| `sourceType` | [com.airbyte.api.models.shared.SourceDynamodbDynamodb](../../models/shared/SourceDynamodbDynamodb.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourceDynamodbDynamodb.md b/docs/models/shared/SourceDynamodbDynamodb.md new file mode 100644 index 000000000..4cf830632 --- /dev/null +++ b/docs/models/shared/SourceDynamodbDynamodb.md @@ -0,0 +1,8 @@ +# SourceDynamodbDynamodb + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `DYNAMODB` | dynamodb | \ No newline at end of file diff --git a/docs/models/shared/SourceDynamodbDynamodbRegion.md b/docs/models/shared/SourceDynamodbDynamodbRegion.md new file mode 100644 index 000000000..f0bde5632 --- /dev/null +++ b/docs/models/shared/SourceDynamodbDynamodbRegion.md @@ -0,0 +1,43 @@ +# SourceDynamodbDynamodbRegion + +The region of the Dynamodb database + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `UNKNOWN` | | +| `AF_SOUTH1` | af-south-1 | +| `AP_EAST1` | ap-east-1 | +| `AP_NORTHEAST1` | ap-northeast-1 | +| `AP_NORTHEAST2` | ap-northeast-2 | +| `AP_NORTHEAST3` | ap-northeast-3 | +| `AP_SOUTH1` | ap-south-1 | +| `AP_SOUTH2` | ap-south-2 | +| `AP_SOUTHEAST1` | ap-southeast-1 | +| `AP_SOUTHEAST2` | ap-southeast-2 | +| `AP_SOUTHEAST3` | ap-southeast-3 | +| `AP_SOUTHEAST4` | ap-southeast-4 | +| `CA_CENTRAL1` | ca-central-1 | +| `CA_WEST1` | ca-west-1 | +| `CN_NORTH1` | cn-north-1 | +| `CN_NORTHWEST1` | cn-northwest-1 | +| `EU_CENTRAL1` | eu-central-1 | +| `EU_CENTRAL2` | eu-central-2 | +| `EU_NORTH1` | eu-north-1 | +| `EU_SOUTH1` | eu-south-1 | +| `EU_SOUTH2` | eu-south-2 | +| `EU_WEST1` | eu-west-1 | +| `EU_WEST2` | eu-west-2 | +| `EU_WEST3` | eu-west-3 | +| `IL_CENTRAL1` | il-central-1 | +| `ME_CENTRAL1` | me-central-1 | +| `ME_SOUTH1` | me-south-1 | +| `SA_EAST1` | sa-east-1 | +| `US_EAST1` | us-east-1 | +| `US_EAST2` | us-east-2 | +| `US_GOV_EAST1` | us-gov-east-1 | +| `US_GOV_WEST1` | us-gov-west-1 | +| `US_WEST1` | us-west-1 | +| `US_WEST2` | us-west-2 | \ No newline at end of file diff --git a/docs/models/shared/SourceE2eTestCloud.md b/docs/models/shared/SourceE2eTestCloud.md new file mode 100644 index 000000000..9d1a1e546 --- /dev/null +++ b/docs/models/shared/SourceE2eTestCloud.md @@ -0,0 +1,2 @@ +# SourceE2eTestCloud + diff --git a/docs/models/shared/SourceEmailoctopus.md b/docs/models/shared/SourceEmailoctopus.md new file mode 100644 index 000000000..aaeaca81e --- /dev/null +++ b/docs/models/shared/SourceEmailoctopus.md @@ -0,0 +1,9 @@ +# SourceEmailoctopus + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | EmailOctopus API Key. See the docs for information on how to generate this key. | +| `sourceType` | [com.airbyte.api.models.shared.Emailoctopus](../../models/shared/Emailoctopus.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceExchangeRates.md b/docs/models/shared/SourceExchangeRates.md new file mode 100644 index 000000000..2466a87aa --- /dev/null +++ b/docs/models/shared/SourceExchangeRates.md @@ -0,0 +1,12 @@ +# SourceExchangeRates + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessKey` | *String* | :heavy_check_mark: | Your API Key. See here. The key is case sensitive. | | +| `base` | *Optional* | :heavy_minus_sign: | ISO reference currency. See here. Free plan doesn't support Source Currency Switching, default base currency is EUR | EUR | +| `ignoreWeekends` | *Optional* | :heavy_minus_sign: | Ignore weekends? (Exchanges don't run on weekends) | | +| `sourceType` | [com.airbyte.api.models.shared.ExchangeRates](../../models/shared/ExchangeRates.md) | :heavy_check_mark: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_check_mark: | Start getting data from that date. | YYYY-MM-DD | \ No newline at end of file diff --git a/docs/models/shared/SourceFacebookMarketing.md b/docs/models/shared/SourceFacebookMarketing.md new file mode 100644 index 000000000..3bdd98b0c --- /dev/null +++ b/docs/models/shared/SourceFacebookMarketing.md @@ -0,0 +1,23 @@ +# SourceFacebookMarketing + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | The value of the generated access token. From your App’s Dashboard, click on "Marketing API" then "Tools". Select permissions ads_management, ads_read, read_insights, business_management. Then click on "Get token". See the docs for more information. | | +| `accountIds` | List<*String*> | :heavy_check_mark: | The Facebook Ad account ID(s) to pull data from. The Ad account ID number is in the account dropdown menu or in your browser's address bar of your Meta Ads Manager. See the docs for more information. | 111111111111111 | +| `actionBreakdownsAllowEmpty` | *Optional* | :heavy_minus_sign: | Allows action_breakdowns to be an empty list | | +| `adStatuses` | List<[com.airbyte.api.models.shared.ValidAdStatuses](../../models/shared/ValidAdStatuses.md)> | :heavy_minus_sign: | Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. | | +| `adsetStatuses` | List<[com.airbyte.api.models.shared.ValidAdSetStatuses](../../models/shared/ValidAdSetStatuses.md)> | :heavy_minus_sign: | Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. | | +| `campaignStatuses` | List<[com.airbyte.api.models.shared.ValidCampaignStatuses](../../models/shared/ValidCampaignStatuses.md)> | :heavy_minus_sign: | Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. | | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client Id for your OAuth app | | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret for your OAuth app | | +| `customInsights` | List<[com.airbyte.api.models.shared.InsightConfig](../../models/shared/InsightConfig.md)> | :heavy_minus_sign: | A list which contains ad statistics entries, each entry must have a name and can contains fields, breakdowns or action_breakdowns. Click on "add" to fill this field. | | +| `endDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The date until which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. All data generated between the start date and this end date will be replicated. Not setting this option will result in always syncing the latest data. | 2017-01-26T00:00:00Z | +| `fetchThumbnailImages` | *Optional* | :heavy_minus_sign: | Set to active if you want to fetch the thumbnail_url and store the result in thumbnail_data_url for each Ad Creative. | | +| `insightsJobTimeout` | *Optional* | :heavy_minus_sign: | Insights Job Timeout establishes the maximum amount of time (in minutes) of waiting for the report job to complete. When timeout is reached the job is considered failed and we are trying to request smaller amount of data by breaking the job to few smaller ones. If you definitely know that 60 minutes is not enough for your report to be processed then you can decrease the timeout value, so we start breaking job to smaller parts faster. | | +| `insightsLookbackWindow` | *Optional* | :heavy_minus_sign: | The attribution window. Facebook freezes insight data 28 days after it was generated, which means that all data from the past 28 days may have changed since we last emitted it, so you can retrieve refreshed insights from the past by setting this parameter. If you set a custom lookback window value in Facebook account, please provide the same value here. | | +| `pageSize` | *Optional* | :heavy_minus_sign: | Page size used when sending requests to Facebook API to specify number of records per page when response has pagination. Most users do not need to set this field unless they specifically need to tune the connector to address specific issues or use cases. | | +| `sourceType` | [com.airbyte.api.models.shared.SourceFacebookMarketingFacebookMarketing](../../models/shared/SourceFacebookMarketingFacebookMarketing.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The date from which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. If not set then all data will be replicated for usual streams and only last 2 years for insight streams. | 2017-01-25T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceFacebookMarketingActionReportTime.md b/docs/models/shared/SourceFacebookMarketingActionReportTime.md new file mode 100644 index 000000000..259fa78a2 --- /dev/null +++ b/docs/models/shared/SourceFacebookMarketingActionReportTime.md @@ -0,0 +1,12 @@ +# SourceFacebookMarketingActionReportTime + +Determines the report time of action stats. For example, if a person saw the ad on Jan 1st but converted on Jan 2nd, when you query the API with action_report_time=impression, you see a conversion on Jan 1st. When you query the API with action_report_time=conversion, you see a conversion on Jan 2nd. + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `CONVERSION` | conversion | +| `IMPRESSION` | impression | +| `MIXED` | mixed | \ No newline at end of file diff --git a/docs/models/shared/SourceFacebookMarketingFacebookMarketing.md b/docs/models/shared/SourceFacebookMarketingFacebookMarketing.md new file mode 100644 index 000000000..563d3d400 --- /dev/null +++ b/docs/models/shared/SourceFacebookMarketingFacebookMarketing.md @@ -0,0 +1,8 @@ +# SourceFacebookMarketingFacebookMarketing + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `FACEBOOK_MARKETING` | facebook-marketing | \ No newline at end of file diff --git a/docs/models/shared/SourceFacebookMarketingValidEnums.md b/docs/models/shared/SourceFacebookMarketingValidEnums.md new file mode 100644 index 000000000..88ae48536 --- /dev/null +++ b/docs/models/shared/SourceFacebookMarketingValidEnums.md @@ -0,0 +1,143 @@ +# SourceFacebookMarketingValidEnums + +An enumeration. + + +## Values + +| Name | Value | +| ---------------------------------------------- | ---------------------------------------------- | +| `ACCOUNT_CURRENCY` | account_currency | +| `ACCOUNT_ID` | account_id | +| `ACCOUNT_NAME` | account_name | +| `ACTION_VALUES` | action_values | +| `ACTIONS` | actions | +| `AD_CLICK_ACTIONS` | ad_click_actions | +| `AD_ID` | ad_id | +| `AD_IMPRESSION_ACTIONS` | ad_impression_actions | +| `AD_NAME` | ad_name | +| `ADSET_END` | adset_end | +| `ADSET_ID` | adset_id | +| `ADSET_NAME` | adset_name | +| `ADSET_START` | adset_start | +| `AGE_TARGETING` | age_targeting | +| `ATTRIBUTION_SETTING` | attribution_setting | +| `AUCTION_BID` | auction_bid | +| `AUCTION_COMPETITIVENESS` | auction_competitiveness | +| `AUCTION_MAX_COMPETITOR_BID` | auction_max_competitor_bid | +| `BUYING_TYPE` | buying_type | +| `CAMPAIGN_ID` | campaign_id | +| `CAMPAIGN_NAME` | campaign_name | +| `CANVAS_AVG_VIEW_PERCENT` | canvas_avg_view_percent | +| `CANVAS_AVG_VIEW_TIME` | canvas_avg_view_time | +| `CATALOG_SEGMENT_ACTIONS` | catalog_segment_actions | +| `CATALOG_SEGMENT_VALUE` | catalog_segment_value | +| `CATALOG_SEGMENT_VALUE_MOBILE_PURCHASE_ROAS` | catalog_segment_value_mobile_purchase_roas | +| `CATALOG_SEGMENT_VALUE_OMNI_PURCHASE_ROAS` | catalog_segment_value_omni_purchase_roas | +| `CATALOG_SEGMENT_VALUE_WEBSITE_PURCHASE_ROAS` | catalog_segment_value_website_purchase_roas | +| `CLICKS` | clicks | +| `CONVERSION_LEAD_RATE` | conversion_lead_rate | +| `CONVERSION_RATE_RANKING` | conversion_rate_ranking | +| `CONVERSION_VALUES` | conversion_values | +| `CONVERSIONS` | conversions | +| `CONVERTED_PRODUCT_QUANTITY` | converted_product_quantity | +| `CONVERTED_PRODUCT_VALUE` | converted_product_value | +| `COST_PER15_SEC_VIDEO_VIEW` | cost_per_15_sec_video_view | +| `COST_PER2_SEC_CONTINUOUS_VIDEO_VIEW` | cost_per_2_sec_continuous_video_view | +| `COST_PER_ACTION_TYPE` | cost_per_action_type | +| `COST_PER_AD_CLICK` | cost_per_ad_click | +| `COST_PER_CONVERSION` | cost_per_conversion | +| `COST_PER_CONVERSION_LEAD` | cost_per_conversion_lead | +| `COST_PER_DDA_COUNTBY_CONVS` | cost_per_dda_countby_convs | +| `COST_PER_ESTIMATED_AD_RECALLERS` | cost_per_estimated_ad_recallers | +| `COST_PER_INLINE_LINK_CLICK` | cost_per_inline_link_click | +| `COST_PER_INLINE_POST_ENGAGEMENT` | cost_per_inline_post_engagement | +| `COST_PER_ONE_THOUSAND_AD_IMPRESSION` | cost_per_one_thousand_ad_impression | +| `COST_PER_OUTBOUND_CLICK` | cost_per_outbound_click | +| `COST_PER_THRUPLAY` | cost_per_thruplay | +| `COST_PER_UNIQUE_ACTION_TYPE` | cost_per_unique_action_type | +| `COST_PER_UNIQUE_CLICK` | cost_per_unique_click | +| `COST_PER_UNIQUE_CONVERSION` | cost_per_unique_conversion | +| `COST_PER_UNIQUE_INLINE_LINK_CLICK` | cost_per_unique_inline_link_click | +| `COST_PER_UNIQUE_OUTBOUND_CLICK` | cost_per_unique_outbound_click | +| `CPC` | cpc | +| `CPM` | cpm | +| `CPP` | cpp | +| `CREATED_TIME` | created_time | +| `CREATIVE_MEDIA_TYPE` | creative_media_type | +| `CTR` | ctr | +| `DATE_START` | date_start | +| `DATE_STOP` | date_stop | +| `DDA_COUNTBY_CONVS` | dda_countby_convs | +| `DDA_RESULTS` | dda_results | +| `ENGAGEMENT_RATE_RANKING` | engagement_rate_ranking | +| `ESTIMATED_AD_RECALL_RATE` | estimated_ad_recall_rate | +| `ESTIMATED_AD_RECALL_RATE_LOWER_BOUND` | estimated_ad_recall_rate_lower_bound | +| `ESTIMATED_AD_RECALL_RATE_UPPER_BOUND` | estimated_ad_recall_rate_upper_bound | +| `ESTIMATED_AD_RECALLERS` | estimated_ad_recallers | +| `ESTIMATED_AD_RECALLERS_LOWER_BOUND` | estimated_ad_recallers_lower_bound | +| `ESTIMATED_AD_RECALLERS_UPPER_BOUND` | estimated_ad_recallers_upper_bound | +| `FREQUENCY` | frequency | +| `FULL_VIEW_IMPRESSIONS` | full_view_impressions | +| `FULL_VIEW_REACH` | full_view_reach | +| `GENDER_TARGETING` | gender_targeting | +| `IMPRESSIONS` | impressions | +| `INLINE_LINK_CLICK_CTR` | inline_link_click_ctr | +| `INLINE_LINK_CLICKS` | inline_link_clicks | +| `INLINE_POST_ENGAGEMENT` | inline_post_engagement | +| `INSTAGRAM_UPCOMING_EVENT_REMINDERS_SET` | instagram_upcoming_event_reminders_set | +| `INSTANT_EXPERIENCE_CLICKS_TO_OPEN` | instant_experience_clicks_to_open | +| `INSTANT_EXPERIENCE_CLICKS_TO_START` | instant_experience_clicks_to_start | +| `INSTANT_EXPERIENCE_OUTBOUND_CLICKS` | instant_experience_outbound_clicks | +| `INTERACTIVE_COMPONENT_TAP` | interactive_component_tap | +| `LABELS` | labels | +| `LOCATION` | location | +| `MARKETING_MESSAGES_COST_PER_DELIVERED` | marketing_messages_cost_per_delivered | +| `MARKETING_MESSAGES_COST_PER_LINK_BTN_CLICK` | marketing_messages_cost_per_link_btn_click | +| `MARKETING_MESSAGES_SPEND` | marketing_messages_spend | +| `MOBILE_APP_PURCHASE_ROAS` | mobile_app_purchase_roas | +| `OBJECTIVE` | objective | +| `OPTIMIZATION_GOAL` | optimization_goal | +| `OUTBOUND_CLICKS` | outbound_clicks | +| `OUTBOUND_CLICKS_CTR` | outbound_clicks_ctr | +| `PLACE_PAGE_NAME` | place_page_name | +| `PURCHASE_ROAS` | purchase_roas | +| `QUALIFYING_QUESTION_QUALIFY_ANSWER_RATE` | qualifying_question_qualify_answer_rate | +| `QUALITY_RANKING` | quality_ranking | +| `REACH` | reach | +| `SOCIAL_SPEND` | social_spend | +| `SPEND` | spend | +| `TOTAL_POSTBACKS` | total_postbacks | +| `TOTAL_POSTBACKS_DETAILED` | total_postbacks_detailed | +| `TOTAL_POSTBACKS_DETAILED_V4` | total_postbacks_detailed_v4 | +| `UNIQUE_ACTIONS` | unique_actions | +| `UNIQUE_CLICKS` | unique_clicks | +| `UNIQUE_CONVERSIONS` | unique_conversions | +| `UNIQUE_CTR` | unique_ctr | +| `UNIQUE_INLINE_LINK_CLICK_CTR` | unique_inline_link_click_ctr | +| `UNIQUE_INLINE_LINK_CLICKS` | unique_inline_link_clicks | +| `UNIQUE_LINK_CLICKS_CTR` | unique_link_clicks_ctr | +| `UNIQUE_OUTBOUND_CLICKS` | unique_outbound_clicks | +| `UNIQUE_OUTBOUND_CLICKS_CTR` | unique_outbound_clicks_ctr | +| `UNIQUE_VIDEO_CONTINUOUS2_SEC_WATCHED_ACTIONS` | unique_video_continuous_2_sec_watched_actions | +| `UNIQUE_VIDEO_VIEW15_SEC` | unique_video_view_15_sec | +| `UPDATED_TIME` | updated_time | +| `VIDEO15_SEC_WATCHED_ACTIONS` | video_15_sec_watched_actions | +| `VIDEO30_SEC_WATCHED_ACTIONS` | video_30_sec_watched_actions | +| `VIDEO_AVG_TIME_WATCHED_ACTIONS` | video_avg_time_watched_actions | +| `VIDEO_CONTINUOUS2_SEC_WATCHED_ACTIONS` | video_continuous_2_sec_watched_actions | +| `VIDEO_P100_WATCHED_ACTIONS` | video_p100_watched_actions | +| `VIDEO_P25_WATCHED_ACTIONS` | video_p25_watched_actions | +| `VIDEO_P50_WATCHED_ACTIONS` | video_p50_watched_actions | +| `VIDEO_P75_WATCHED_ACTIONS` | video_p75_watched_actions | +| `VIDEO_P95_WATCHED_ACTIONS` | video_p95_watched_actions | +| `VIDEO_PLAY_ACTIONS` | video_play_actions | +| `VIDEO_PLAY_CURVE_ACTIONS` | video_play_curve_actions | +| `VIDEO_PLAY_RETENTION0_TO15S_ACTIONS` | video_play_retention_0_to_15s_actions | +| `VIDEO_PLAY_RETENTION20_TO60S_ACTIONS` | video_play_retention_20_to_60s_actions | +| `VIDEO_PLAY_RETENTION_GRAPH_ACTIONS` | video_play_retention_graph_actions | +| `VIDEO_THRUPLAY_WATCHED_ACTIONS` | video_thruplay_watched_actions | +| `VIDEO_TIME_WATCHED_ACTIONS` | video_time_watched_actions | +| `WEBSITE_CTR` | website_ctr | +| `WEBSITE_PURCHASE_ROAS` | website_purchase_roas | +| `WISH_BID` | wish_bid | \ No newline at end of file diff --git a/docs/models/shared/SourceFaker.md b/docs/models/shared/SourceFaker.md new file mode 100644 index 000000000..75e672041 --- /dev/null +++ b/docs/models/shared/SourceFaker.md @@ -0,0 +1,13 @@ +# SourceFaker + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `alwaysUpdated` | *Optional* | :heavy_minus_sign: | Should the updated_at values for every record be new each sync? Setting this to false will case the source to stop emitting records after COUNT records have been emitted. | +| `count` | *Optional* | :heavy_minus_sign: | How many users should be generated in total. The purchases table will be scaled to match, with 10 purchases created per 10 users. This setting does not apply to the products stream. | +| `parallelism` | *Optional* | :heavy_minus_sign: | How many parallel workers should we use to generate fake data? Choose a value equal to the number of CPUs you will allocate to this source. | +| `recordsPerSlice` | *Optional* | :heavy_minus_sign: | How many fake records will be in each page (stream slice), before a state message is emitted? | +| `seed` | *Optional* | :heavy_minus_sign: | Manually control the faker random seed to return the same values on subsequent runs (leave -1 for random) | +| `sourceType` | [com.airbyte.api.models.shared.Faker](../../models/shared/Faker.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceFauna.md b/docs/models/shared/SourceFauna.md new file mode 100644 index 000000000..d470cd208 --- /dev/null +++ b/docs/models/shared/SourceFauna.md @@ -0,0 +1,13 @@ +# SourceFauna + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `collection` | [Optional](../../models/shared/Collection.md) | :heavy_minus_sign: | Settings for the Fauna Collection. | +| `domain` | *Optional* | :heavy_minus_sign: | Domain of Fauna to query. Defaults db.fauna.com. See the docs. | +| `port` | *Optional* | :heavy_minus_sign: | Endpoint port. | +| `scheme` | *Optional* | :heavy_minus_sign: | URL scheme. | +| `secret` | *String* | :heavy_check_mark: | Fauna secret, used when authenticating with the database. | +| `sourceType` | [com.airbyte.api.models.shared.Fauna](../../models/shared/Fauna.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceFaunaDeletionMode.md b/docs/models/shared/SourceFaunaDeletionMode.md new file mode 100644 index 000000000..5bc4eca1d --- /dev/null +++ b/docs/models/shared/SourceFaunaDeletionMode.md @@ -0,0 +1,8 @@ +# SourceFaunaDeletionMode + + +## Values + +| Name | Value | +| -------- | -------- | +| `IGNORE` | ignore | \ No newline at end of file diff --git a/docs/models/shared/SourceFaunaSchemasDeletionMode.md b/docs/models/shared/SourceFaunaSchemasDeletionMode.md new file mode 100644 index 000000000..31fa4e7b9 --- /dev/null +++ b/docs/models/shared/SourceFaunaSchemasDeletionMode.md @@ -0,0 +1,8 @@ +# SourceFaunaSchemasDeletionMode + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `DELETED_FIELD` | deleted_field | \ No newline at end of file diff --git a/docs/models/shared/SourceFile.md b/docs/models/shared/SourceFile.md new file mode 100644 index 000000000..5b27ec4ef --- /dev/null +++ b/docs/models/shared/SourceFile.md @@ -0,0 +1,13 @@ +# SourceFile + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `datasetName` | *String* | :heavy_check_mark: | The Name of the final table to replicate this file into (should include letters, numbers dash and underscores only). | | +| `format` | [Optional](../../models/shared/FileFormat.md) | :heavy_minus_sign: | The Format of the file which should be replicated (Warning: some formats may be experimental, please refer to the docs). | | +| `provider` | [com.airbyte.api.models.shared.StorageProvider](../../models/shared/StorageProvider.md) | :heavy_check_mark: | The storage Provider or Location of the file(s) which should be replicated. | | +| `readerOptions` | *Optional* | :heavy_minus_sign: | This should be a string in JSON format. It depends on the chosen file format to provide additional options and tune its behavior. | {} | +| `sourceType` | [com.airbyte.api.models.shared.File](../../models/shared/File.md) | :heavy_check_mark: | N/A | | +| `url` | *String* | :heavy_check_mark: | The URL path to access the file which should be replicated. | https://storage.googleapis.com/covid19-open-data/v2/latest/epidemiology.csv | \ No newline at end of file diff --git a/docs/models/shared/SourceFileS3AmazonWebServices.md b/docs/models/shared/SourceFileS3AmazonWebServices.md new file mode 100644 index 000000000..8e836bca5 --- /dev/null +++ b/docs/models/shared/SourceFileS3AmazonWebServices.md @@ -0,0 +1,10 @@ +# SourceFileS3AmazonWebServices + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `awsAccessKeyId` | *Optional* | :heavy_minus_sign: | In order to access private Buckets stored on AWS S3, this connector would need credentials with the proper permissions. If accessing publicly available data, this field is not necessary. | +| `awsSecretAccessKey` | *Optional* | :heavy_minus_sign: | In order to access private Buckets stored on AWS S3, this connector would need credentials with the proper permissions. If accessing publicly available data, this field is not necessary. | +| `storage` | [com.airbyte.api.models.shared.SourceFileSchemasStorage](../../models/shared/SourceFileSchemasStorage.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceFileSchemasProviderStorage.md b/docs/models/shared/SourceFileSchemasProviderStorage.md new file mode 100644 index 000000000..60130762c --- /dev/null +++ b/docs/models/shared/SourceFileSchemasProviderStorage.md @@ -0,0 +1,8 @@ +# SourceFileSchemasProviderStorage + + +## Values + +| Name | Value | +| --------- | --------- | +| `AZ_BLOB` | AzBlob | \ No newline at end of file diff --git a/docs/models/shared/SourceFileSchemasProviderStorageProvider6Storage.md b/docs/models/shared/SourceFileSchemasProviderStorageProvider6Storage.md new file mode 100644 index 000000000..a9dd93489 --- /dev/null +++ b/docs/models/shared/SourceFileSchemasProviderStorageProvider6Storage.md @@ -0,0 +1,8 @@ +# SourceFileSchemasProviderStorageProvider6Storage + + +## Values + +| Name | Value | +| ----- | ----- | +| `SCP` | SCP | \ No newline at end of file diff --git a/docs/models/shared/SourceFileSchemasProviderStorageProvider7Storage.md b/docs/models/shared/SourceFileSchemasProviderStorageProvider7Storage.md new file mode 100644 index 000000000..dcd8f8de3 --- /dev/null +++ b/docs/models/shared/SourceFileSchemasProviderStorageProvider7Storage.md @@ -0,0 +1,8 @@ +# SourceFileSchemasProviderStorageProvider7Storage + + +## Values + +| Name | Value | +| ------ | ------ | +| `SFTP` | SFTP | \ No newline at end of file diff --git a/docs/models/shared/SourceFileSchemasProviderStorageProviderStorage.md b/docs/models/shared/SourceFileSchemasProviderStorageProviderStorage.md new file mode 100644 index 000000000..ad9d045c4 --- /dev/null +++ b/docs/models/shared/SourceFileSchemasProviderStorageProviderStorage.md @@ -0,0 +1,8 @@ +# SourceFileSchemasProviderStorageProviderStorage + + +## Values + +| Name | Value | +| ----- | ----- | +| `SSH` | SSH | \ No newline at end of file diff --git a/docs/models/shared/SourceFileSchemasStorage.md b/docs/models/shared/SourceFileSchemasStorage.md new file mode 100644 index 000000000..c681a333b --- /dev/null +++ b/docs/models/shared/SourceFileSchemasStorage.md @@ -0,0 +1,8 @@ +# SourceFileSchemasStorage + + +## Values + +| Name | Value | +| ----- | ----- | +| `S3` | S3 | \ No newline at end of file diff --git a/docs/models/shared/SourceFileStorage.md b/docs/models/shared/SourceFileStorage.md new file mode 100644 index 000000000..aef9f1d96 --- /dev/null +++ b/docs/models/shared/SourceFileStorage.md @@ -0,0 +1,8 @@ +# SourceFileStorage + + +## Values + +| Name | Value | +| ----- | ----- | +| `GCS` | GCS | \ No newline at end of file diff --git a/docs/models/shared/SourceFirebolt.md b/docs/models/shared/SourceFirebolt.md new file mode 100644 index 000000000..f28b96a78 --- /dev/null +++ b/docs/models/shared/SourceFirebolt.md @@ -0,0 +1,14 @@ +# SourceFirebolt + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `account` | *Optional* | :heavy_minus_sign: | Firebolt account to login. | | +| `database` | *String* | :heavy_check_mark: | The database to connect to. | | +| `engine` | *Optional* | :heavy_minus_sign: | Engine name or url to connect to. | | +| `host` | *Optional* | :heavy_minus_sign: | The host name of your Firebolt database. | api.app.firebolt.io | +| `password` | *String* | :heavy_check_mark: | Firebolt password. | | +| `sourceType` | [com.airbyte.api.models.shared.Firebolt](../../models/shared/Firebolt.md) | :heavy_check_mark: | N/A | | +| `username` | *String* | :heavy_check_mark: | Firebolt email address you use to login. | username@email.com | \ No newline at end of file diff --git a/docs/models/shared/SourceFreshcaller.md b/docs/models/shared/SourceFreshcaller.md new file mode 100644 index 000000000..9f3d3cafc --- /dev/null +++ b/docs/models/shared/SourceFreshcaller.md @@ -0,0 +1,13 @@ +# SourceFreshcaller + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Freshcaller API Key. See the docs for more information on how to obtain this key. | | +| `domain` | *String* | :heavy_check_mark: | Used to construct Base URL for the Freshcaller APIs | snaptravel | +| `requestsPerMinute` | *Optional* | :heavy_minus_sign: | The number of requests per minute that this source allowed to use. There is a rate limit of 50 requests per minute per app per account. | | +| `sourceType` | [com.airbyte.api.models.shared.Freshcaller](../../models/shared/Freshcaller.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | UTC date and time. Any data created after this date will be replicated. | 2022-01-01T12:00:00Z | +| `syncLagMinutes` | *Optional* | :heavy_minus_sign: | Lag in minutes for each sync, i.e., at time T, data for the time range [prev_sync_time, T-30] will be fetched | | \ No newline at end of file diff --git a/docs/models/shared/SourceFreshdesk.md b/docs/models/shared/SourceFreshdesk.md new file mode 100644 index 000000000..a4ba1de92 --- /dev/null +++ b/docs/models/shared/SourceFreshdesk.md @@ -0,0 +1,13 @@ +# SourceFreshdesk + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Freshdesk API Key. See the docs for more information on how to obtain this key. | | +| `domain` | *String* | :heavy_check_mark: | Freshdesk domain | myaccount.freshdesk.com | +| `lookbackWindowInDays` | *Optional* | :heavy_minus_sign: | Number of days for lookback window for the stream Satisfaction Ratings | | +| `requestsPerMinute` | *Optional* | :heavy_minus_sign: | The number of requests per minute that this source allowed to use. There is a rate limit of 50 requests per minute per app per account. | | +| `sourceType` | [com.airbyte.api.models.shared.Freshdesk](../../models/shared/Freshdesk.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | UTC date and time. Any data created after this date will be replicated. If this parameter is not set, all data will be replicated. | 2020-12-01T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceFreshsales.md b/docs/models/shared/SourceFreshsales.md new file mode 100644 index 000000000..0a58201a4 --- /dev/null +++ b/docs/models/shared/SourceFreshsales.md @@ -0,0 +1,10 @@ +# SourceFreshsales + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Freshsales API Key. See here. The key is case sensitive. | | +| `domainName` | *String* | :heavy_check_mark: | The Name of your Freshsales domain | mydomain.myfreshworks.com | +| `sourceType` | [com.airbyte.api.models.shared.Freshsales](../../models/shared/Freshsales.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourceGCSStreamConfig.md b/docs/models/shared/SourceGCSStreamConfig.md new file mode 100644 index 000000000..174ef4026 --- /dev/null +++ b/docs/models/shared/SourceGCSStreamConfig.md @@ -0,0 +1,16 @@ +# SourceGCSStreamConfig + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `daysToSyncIfHistoryIsFull` | *Optional* | :heavy_minus_sign: | When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. | +| `format` | [com.airbyte.api.models.shared.SourceGcsFormat](../../models/shared/SourceGcsFormat.md) | :heavy_check_mark: | The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. | +| `globs` | List<*String*> | :heavy_minus_sign: | The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look here. | +| `inputSchema` | *Optional* | :heavy_minus_sign: | The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. | +| `legacyPrefix` | *Optional* | :heavy_minus_sign: | The path prefix configured in previous versions of the GCS connector. This option is deprecated in favor of a single glob. | +| `name` | *String* | :heavy_check_mark: | The name of the stream. | +| `primaryKey` | *Optional* | :heavy_minus_sign: | The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. | +| `schemaless` | *Optional* | :heavy_minus_sign: | When enabled, syncs will not validate or structure records against the stream's schema. | +| `validationPolicy` | [Optional](../../models/shared/SourceGcsValidationPolicy.md) | :heavy_minus_sign: | The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. | \ No newline at end of file diff --git a/docs/models/shared/SourceGainsightPx.md b/docs/models/shared/SourceGainsightPx.md new file mode 100644 index 000000000..70a90a8f8 --- /dev/null +++ b/docs/models/shared/SourceGainsightPx.md @@ -0,0 +1,9 @@ +# SourceGainsightPx + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | The Aptrinsic API Key which is recieved from the dashboard settings (ref - https://app.aptrinsic.com/settings/api-keys) | +| `sourceType` | [com.airbyte.api.models.shared.GainsightPx](../../models/shared/GainsightPx.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGcs.md b/docs/models/shared/SourceGcs.md new file mode 100644 index 000000000..4d5bf04a4 --- /dev/null +++ b/docs/models/shared/SourceGcs.md @@ -0,0 +1,16 @@ +# SourceGcs + +NOTE: When this Spec is changed, legacy_config_transformer.py must also be +modified to uptake the changes because it is responsible for converting +legacy GCS configs into file based configs using the File-Based CDK. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `bucket` | *String* | :heavy_check_mark: | Name of the GCS bucket where the file(s) exist. | | +| `serviceAccount` | *String* | :heavy_check_mark: | Enter your Google Cloud service account key in JSON format | | +| `sourceType` | [com.airbyte.api.models.shared.SourceGcsGcs](../../models/shared/SourceGcsGcs.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. | 2021-01-01T00:00:00.000000Z | +| `streams` | List<[com.airbyte.api.models.shared.SourceGCSStreamConfig](../../models/shared/SourceGCSStreamConfig.md)> | :heavy_check_mark: | Each instance of this configuration defines a stream. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. | | \ No newline at end of file diff --git a/docs/models/shared/SourceGcsAutogenerated.md b/docs/models/shared/SourceGcsAutogenerated.md new file mode 100644 index 000000000..00be5f87b --- /dev/null +++ b/docs/models/shared/SourceGcsAutogenerated.md @@ -0,0 +1,8 @@ +# SourceGcsAutogenerated + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| `headerDefinitionType` | [Optional](../../models/shared/SourceGcsSchemasHeaderDefinitionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGcsCSVFormat.md b/docs/models/shared/SourceGcsCSVFormat.md new file mode 100644 index 000000000..26adf5dee --- /dev/null +++ b/docs/models/shared/SourceGcsCSVFormat.md @@ -0,0 +1,22 @@ +# SourceGcsCSVFormat + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `delimiter` | *Optional* | :heavy_minus_sign: | The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. | +| `doubleQuote` | *Optional* | :heavy_minus_sign: | Whether two quotes in a quoted CSV value denote a single quote in the data. | +| `encoding` | *Optional* | :heavy_minus_sign: | The character encoding of the CSV data. Leave blank to default to UTF8. See list of python encodings for allowable options. | +| `escapeChar` | *Optional* | :heavy_minus_sign: | The character used for escaping special characters. To disallow escaping, leave this field blank. | +| `falseValues` | List<*String*> | :heavy_minus_sign: | A set of case-sensitive strings that should be interpreted as false values. | +| `filetype` | [Optional](../../models/shared/SourceGcsFiletype.md) | :heavy_minus_sign: | N/A | +| `headerDefinition` | [Optional](../../models/shared/SourceGcsCSVHeaderDefinition.md) | :heavy_minus_sign: | How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. | +| `ignoreErrorsOnFieldsMismatch` | *Optional* | :heavy_minus_sign: | Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. | +| `inferenceType` | [Optional](../../models/shared/SourceGcsInferenceType.md) | :heavy_minus_sign: | How to infer the types of the columns. If none, inference default to strings. | +| `nullValues` | List<*String*> | :heavy_minus_sign: | A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. | +| `quoteChar` | *Optional* | :heavy_minus_sign: | The character used for quoting CSV values. To disallow quoting, make this field blank. | +| `skipRowsAfterHeader` | *Optional* | :heavy_minus_sign: | The number of rows to skip after the header row. | +| `skipRowsBeforeHeader` | *Optional* | :heavy_minus_sign: | The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. | +| `stringsCanBeNull` | *Optional* | :heavy_minus_sign: | Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. | +| `trueValues` | List<*String*> | :heavy_minus_sign: | A set of case-sensitive strings that should be interpreted as true values. | \ No newline at end of file diff --git a/docs/models/shared/SourceGcsCSVHeaderDefinition.md b/docs/models/shared/SourceGcsCSVHeaderDefinition.md new file mode 100644 index 000000000..049c76e01 --- /dev/null +++ b/docs/models/shared/SourceGcsCSVHeaderDefinition.md @@ -0,0 +1,4 @@ +# SourceGcsCSVHeaderDefinition + +How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + diff --git a/docs/models/shared/SourceGcsFiletype.md b/docs/models/shared/SourceGcsFiletype.md new file mode 100644 index 000000000..9739a8797 --- /dev/null +++ b/docs/models/shared/SourceGcsFiletype.md @@ -0,0 +1,8 @@ +# SourceGcsFiletype + + +## Values + +| Name | Value | +| ----- | ----- | +| `CSV` | csv | \ No newline at end of file diff --git a/docs/models/shared/SourceGcsFormat.md b/docs/models/shared/SourceGcsFormat.md new file mode 100644 index 000000000..5c3903f4a --- /dev/null +++ b/docs/models/shared/SourceGcsFormat.md @@ -0,0 +1,4 @@ +# SourceGcsFormat + +The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + diff --git a/docs/models/shared/SourceGcsFromCSV.md b/docs/models/shared/SourceGcsFromCSV.md new file mode 100644 index 000000000..07897907c --- /dev/null +++ b/docs/models/shared/SourceGcsFromCSV.md @@ -0,0 +1,8 @@ +# SourceGcsFromCSV + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| `headerDefinitionType` | [Optional](../../models/shared/SourceGcsHeaderDefinitionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGcsGcs.md b/docs/models/shared/SourceGcsGcs.md new file mode 100644 index 000000000..b9fa46331 --- /dev/null +++ b/docs/models/shared/SourceGcsGcs.md @@ -0,0 +1,8 @@ +# SourceGcsGcs + + +## Values + +| Name | Value | +| ----- | ----- | +| `GCS` | gcs | \ No newline at end of file diff --git a/docs/models/shared/SourceGcsHeaderDefinitionType.md b/docs/models/shared/SourceGcsHeaderDefinitionType.md new file mode 100644 index 000000000..feecfdacd --- /dev/null +++ b/docs/models/shared/SourceGcsHeaderDefinitionType.md @@ -0,0 +1,8 @@ +# SourceGcsHeaderDefinitionType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `FROM_CSV` | From CSV | \ No newline at end of file diff --git a/docs/models/shared/SourceGcsInferenceType.md b/docs/models/shared/SourceGcsInferenceType.md new file mode 100644 index 000000000..78c9691f0 --- /dev/null +++ b/docs/models/shared/SourceGcsInferenceType.md @@ -0,0 +1,11 @@ +# SourceGcsInferenceType + +How to infer the types of the columns. If none, inference default to strings. + + +## Values + +| Name | Value | +| ---------------------- | ---------------------- | +| `NONE` | None | +| `PRIMITIVE_TYPES_ONLY` | Primitive Types Only | \ No newline at end of file diff --git a/docs/models/shared/SourceGcsSchemasHeaderDefinitionType.md b/docs/models/shared/SourceGcsSchemasHeaderDefinitionType.md new file mode 100644 index 000000000..1cf3a2e95 --- /dev/null +++ b/docs/models/shared/SourceGcsSchemasHeaderDefinitionType.md @@ -0,0 +1,8 @@ +# SourceGcsSchemasHeaderDefinitionType + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `AUTOGENERATED` | Autogenerated | \ No newline at end of file diff --git a/docs/models/shared/SourceGcsSchemasStreamsHeaderDefinitionType.md b/docs/models/shared/SourceGcsSchemasStreamsHeaderDefinitionType.md new file mode 100644 index 000000000..a2e6a4e71 --- /dev/null +++ b/docs/models/shared/SourceGcsSchemasStreamsHeaderDefinitionType.md @@ -0,0 +1,8 @@ +# SourceGcsSchemasStreamsHeaderDefinitionType + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `USER_PROVIDED` | User Provided | \ No newline at end of file diff --git a/docs/models/shared/SourceGcsUserProvided.md b/docs/models/shared/SourceGcsUserProvided.md new file mode 100644 index 000000000..3fb31859a --- /dev/null +++ b/docs/models/shared/SourceGcsUserProvided.md @@ -0,0 +1,9 @@ +# SourceGcsUserProvided + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `columnNames` | List<*String*> | :heavy_check_mark: | The column names that will be used while emitting the CSV records | +| `headerDefinitionType` | [Optional](../../models/shared/SourceGcsSchemasStreamsHeaderDefinitionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGcsValidationPolicy.md b/docs/models/shared/SourceGcsValidationPolicy.md new file mode 100644 index 000000000..4dda8751a --- /dev/null +++ b/docs/models/shared/SourceGcsValidationPolicy.md @@ -0,0 +1,12 @@ +# SourceGcsValidationPolicy + +The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `EMIT_RECORD` | Emit Record | +| `SKIP_RECORD` | Skip Record | +| `WAIT_FOR_DISCOVER` | Wait for Discover | \ No newline at end of file diff --git a/docs/models/shared/SourceGetlago.md b/docs/models/shared/SourceGetlago.md new file mode 100644 index 000000000..d29646f7c --- /dev/null +++ b/docs/models/shared/SourceGetlago.md @@ -0,0 +1,10 @@ +# SourceGetlago + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Your API Key. See here. | +| `apiUrl` | *Optional* | :heavy_minus_sign: | Your Lago API URL | +| `sourceType` | [com.airbyte.api.models.shared.Getlago](../../models/shared/Getlago.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGithub.md b/docs/models/shared/SourceGithub.md new file mode 100644 index 000000000..9aafa4b94 --- /dev/null +++ b/docs/models/shared/SourceGithub.md @@ -0,0 +1,15 @@ +# SourceGithub + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `apiUrl` | *Optional* | :heavy_minus_sign: | Please enter your basic URL from self-hosted GitHub instance or leave it empty to use GitHub. | https://github.com | +| `branch` | *Optional* | :heavy_minus_sign: | (DEPRCATED) Space-delimited list of GitHub repository branches to pull commits for, e.g. `airbytehq/airbyte/master`. If no branches are specified for a repository, the default branch will be pulled. | airbytehq/airbyte/master airbytehq/airbyte/my-branch | +| `branches` | List<*String*> | :heavy_minus_sign: | List of GitHub repository branches to pull commits for, e.g. `airbytehq/airbyte/master`. If no branches are specified for a repository, the default branch will be pulled. | airbytehq/airbyte/master | +| `credentials` | [com.airbyte.api.models.shared.SourceGithubAuthentication](../../models/shared/SourceGithubAuthentication.md) | :heavy_check_mark: | Choose how to authenticate to GitHub | | +| `repositories` | List<*String*> | :heavy_check_mark: | List of GitHub organizations/repositories, e.g. `airbytehq/airbyte` for single repository, `airbytehq/*` for get all repositories from organization and `airbytehq/a* for matching multiple repositories by pattern. | airbytehq/airbyte | +| `repository` | *Optional* | :heavy_minus_sign: | (DEPRCATED) Space-delimited list of GitHub organizations/repositories, e.g. `airbytehq/airbyte` for single repository, `airbytehq/*` for get all repositories from organization and `airbytehq/airbyte airbytehq/another-repo` for multiple repositories. | airbytehq/airbyte airbytehq/another-repo | +| `sourceType` | [com.airbyte.api.models.shared.SourceGithubGithub](../../models/shared/SourceGithubGithub.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The date from which you'd like to replicate data from GitHub in the format YYYY-MM-DDT00:00:00Z. If the date is not set, all data will be replicated. For the streams which support this configuration, only data generated on or after the start date will be replicated. This field doesn't apply to all streams, see the docs for more info | 2021-03-01T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceGithubAuthentication.md b/docs/models/shared/SourceGithubAuthentication.md new file mode 100644 index 000000000..06996cf99 --- /dev/null +++ b/docs/models/shared/SourceGithubAuthentication.md @@ -0,0 +1,4 @@ +# SourceGithubAuthentication + +Choose how to authenticate to GitHub + diff --git a/docs/models/shared/SourceGithubGithub.md b/docs/models/shared/SourceGithubGithub.md new file mode 100644 index 000000000..53adcd890 --- /dev/null +++ b/docs/models/shared/SourceGithubGithub.md @@ -0,0 +1,8 @@ +# SourceGithubGithub + + +## Values + +| Name | Value | +| -------- | -------- | +| `GITHUB` | github | \ No newline at end of file diff --git a/docs/models/shared/SourceGithubOptionTitle.md b/docs/models/shared/SourceGithubOptionTitle.md new file mode 100644 index 000000000..70f18704f --- /dev/null +++ b/docs/models/shared/SourceGithubOptionTitle.md @@ -0,0 +1,8 @@ +# SourceGithubOptionTitle + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `PAT_CREDENTIALS` | PAT Credentials | \ No newline at end of file diff --git a/docs/models/shared/SourceGithubPersonalAccessToken.md b/docs/models/shared/SourceGithubPersonalAccessToken.md new file mode 100644 index 000000000..e8817cef6 --- /dev/null +++ b/docs/models/shared/SourceGithubPersonalAccessToken.md @@ -0,0 +1,9 @@ +# SourceGithubPersonalAccessToken + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `optionTitle` | [Optional](../../models/shared/SourceGithubOptionTitle.md) | :heavy_minus_sign: | N/A | +| `personalAccessToken` | *String* | :heavy_check_mark: | Log into GitHub and then generate a personal access token. To load balance your API quota consumption across multiple API tokens, input multiple tokens separated with "," | \ No newline at end of file diff --git a/docs/models/shared/SourceGitlab.md b/docs/models/shared/SourceGitlab.md new file mode 100644 index 000000000..818d7c709 --- /dev/null +++ b/docs/models/shared/SourceGitlab.md @@ -0,0 +1,15 @@ +# SourceGitlab + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiUrl` | *Optional* | :heavy_minus_sign: | Please enter your basic URL from GitLab instance. | gitlab.com | +| `credentials` | [com.airbyte.api.models.shared.SourceGitlabAuthorizationMethod](../../models/shared/SourceGitlabAuthorizationMethod.md) | :heavy_check_mark: | N/A | | +| `groups` | *Optional* | :heavy_minus_sign: | [DEPRECATED] Space-delimited list of groups. e.g. airbyte.io. | airbyte.io | +| `groupsList` | List<*String*> | :heavy_minus_sign: | List of groups. e.g. airbyte.io. | airbyte.io | +| `projects` | *Optional* | :heavy_minus_sign: | [DEPRECATED] Space-delimited list of projects. e.g. airbyte.io/documentation meltano/tap-gitlab. | airbyte.io/documentation | +| `projectsList` | List<*String*> | :heavy_minus_sign: | Space-delimited list of projects. e.g. airbyte.io/documentation meltano/tap-gitlab. | airbyte.io/documentation | +| `sourceType` | [com.airbyte.api.models.shared.SourceGitlabGitlab](../../models/shared/SourceGitlabGitlab.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The date from which you'd like to replicate data for GitLab API, in the format YYYY-MM-DDT00:00:00Z. Optional. If not set, all data will be replicated. All data generated after this date will be replicated. | 2021-03-01T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceGitlabAuthType.md b/docs/models/shared/SourceGitlabAuthType.md new file mode 100644 index 000000000..679c6f6d0 --- /dev/null +++ b/docs/models/shared/SourceGitlabAuthType.md @@ -0,0 +1,8 @@ +# SourceGitlabAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceGitlabAuthorizationMethod.md b/docs/models/shared/SourceGitlabAuthorizationMethod.md new file mode 100644 index 000000000..3f60aacec --- /dev/null +++ b/docs/models/shared/SourceGitlabAuthorizationMethod.md @@ -0,0 +1,2 @@ +# SourceGitlabAuthorizationMethod + diff --git a/docs/models/shared/SourceGitlabGitlab.md b/docs/models/shared/SourceGitlabGitlab.md new file mode 100644 index 000000000..47f9392b9 --- /dev/null +++ b/docs/models/shared/SourceGitlabGitlab.md @@ -0,0 +1,8 @@ +# SourceGitlabGitlab + + +## Values + +| Name | Value | +| -------- | -------- | +| `GITLAB` | gitlab | \ No newline at end of file diff --git a/docs/models/shared/SourceGitlabOAuth20.md b/docs/models/shared/SourceGitlabOAuth20.md new file mode 100644 index 000000000..3c015a82c --- /dev/null +++ b/docs/models/shared/SourceGitlabOAuth20.md @@ -0,0 +1,13 @@ +# SourceGitlabOAuth20 + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Access Token for making authenticated requests. | +| `authType` | [Optional](../../models/shared/SourceGitlabAuthType.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The API ID of the Gitlab developer application. | +| `clientSecret` | *String* | :heavy_check_mark: | The API Secret the Gitlab developer application. | +| `refreshToken` | *String* | :heavy_check_mark: | The key to refresh the expired access_token. | +| `tokenExpiryDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | The date-time when the access token should be refreshed. | \ No newline at end of file diff --git a/docs/models/shared/SourceGitlabSchemasAuthType.md b/docs/models/shared/SourceGitlabSchemasAuthType.md new file mode 100644 index 000000000..47477cb76 --- /dev/null +++ b/docs/models/shared/SourceGitlabSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceGitlabSchemasAuthType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `ACCESS_TOKEN` | access_token | \ No newline at end of file diff --git a/docs/models/shared/SourceGlassfrog.md b/docs/models/shared/SourceGlassfrog.md new file mode 100644 index 000000000..20a883bbe --- /dev/null +++ b/docs/models/shared/SourceGlassfrog.md @@ -0,0 +1,9 @@ +# SourceGlassfrog + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | API key provided by Glassfrog | +| `sourceType` | [com.airbyte.api.models.shared.Glassfrog](../../models/shared/Glassfrog.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGnews.md b/docs/models/shared/SourceGnews.md new file mode 100644 index 000000000..a287068c7 --- /dev/null +++ b/docs/models/shared/SourceGnews.md @@ -0,0 +1,19 @@ +# SourceGnews + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | API Key | | +| `country` | [Optional](../../models/shared/Country.md) | :heavy_minus_sign: | This parameter allows you to specify the country where the news articles returned by the API were published, the contents of the articles are not necessarily related to the specified country. You have to set as value the 2 letters code of the country you want to filter. | | +| `endDate` | *Optional* | :heavy_minus_sign: | This parameter allows you to filter the articles that have a publication date smaller than or equal to the specified value. The date must respect the following format: YYYY-MM-DD hh:mm:ss (in UTC) | 2022-08-21 16:27:09 | +| `in` | List<[com.airbyte.api.models.shared.In](../../models/shared/In.md)> | :heavy_minus_sign: | This parameter allows you to choose in which attributes the keywords are searched. The attributes that can be set are title, description and content. It is possible to combine several attributes. | | +| `language` | [Optional](../../models/shared/Language.md) | :heavy_minus_sign: | N/A | | +| `nullable` | List<[com.airbyte.api.models.shared.Nullable](../../models/shared/Nullable.md)> | :heavy_minus_sign: | This parameter allows you to specify the attributes that you allow to return null values. The attributes that can be set are title, description and content. It is possible to combine several attributes | | +| `query` | *String* | :heavy_check_mark: | This parameter allows you to specify your search keywords to find the news articles you are looking for. The keywords will be used to return the most relevant articles. It is possible to use logical operators with keywords. - Phrase Search Operator: This operator allows you to make an exact search. Keywords surrounded by
    quotation marks are used to search for articles with the exact same keyword sequence.
    For example the query: "Apple iPhone" will return articles matching at least once this sequence of keywords.
    - Logical AND Operator: This operator allows you to make sure that several keywords are all used in the article
    search. By default the space character acts as an AND operator, it is possible to replace the space character
    by AND to obtain the same result. For example the query: Apple Microsoft is equivalent to Apple AND Microsoft
    - Logical OR Operator: This operator allows you to retrieve articles matching the keyword a or the keyword b.
    It is important to note that this operator has a higher precedence than the AND operator. For example the
    query: Apple OR Microsoft will return all articles matching the keyword Apple as well as all articles matching
    the keyword Microsoft
    - Logical NOT Operator: This operator allows you to remove from the results the articles corresponding to the
    specified keywords. To use it, you need to add NOT in front of each word or phrase surrounded by quotes.
    For example the query: Apple NOT iPhone will return all articles matching the keyword Apple but not the keyword
    iPhone | Microsoft Windows 10 | +| `sortby` | [Optional](../../models/shared/SortBy.md) | :heavy_minus_sign: | This parameter allows you to choose with which type of sorting the articles should be returned. Two values are possible:
    - publishedAt = sort by publication date, the articles with the most recent publication date are returned first
    - relevance = sort by best match to keywords, the articles with the best match are returned first | | +| `sourceType` | [com.airbyte.api.models.shared.Gnews](../../models/shared/Gnews.md) | :heavy_check_mark: | N/A | | +| `startDate` | *Optional* | :heavy_minus_sign: | This parameter allows you to filter the articles that have a publication date greater than or equal to the specified value. The date must respect the following format: YYYY-MM-DD hh:mm:ss (in UTC) | 2022-08-21 16:27:09 | +| `topHeadlinesQuery` | *Optional* | :heavy_minus_sign: | This parameter allows you to specify your search keywords to find the news articles you are looking for. The keywords will be used to return the most relevant articles. It is possible to use logical operators with keywords. - Phrase Search Operator: This operator allows you to make an exact search. Keywords surrounded by
    quotation marks are used to search for articles with the exact same keyword sequence.
    For example the query: "Apple iPhone" will return articles matching at least once this sequence of keywords.
    - Logical AND Operator: This operator allows you to make sure that several keywords are all used in the article
    search. By default the space character acts as an AND operator, it is possible to replace the space character
    by AND to obtain the same result. For example the query: Apple Microsoft is equivalent to Apple AND Microsoft
    - Logical OR Operator: This operator allows you to retrieve articles matching the keyword a or the keyword b.
    It is important to note that this operator has a higher precedence than the AND operator. For example the
    query: Apple OR Microsoft will return all articles matching the keyword Apple as well as all articles matching
    the keyword Microsoft
    - Logical NOT Operator: This operator allows you to remove from the results the articles corresponding to the
    specified keywords. To use it, you need to add NOT in front of each word or phrase surrounded by quotes.
    For example the query: Apple NOT iPhone will return all articles matching the keyword Apple but not the keyword
    iPhone | Microsoft Windows 10 | +| `topHeadlinesTopic` | [Optional](../../models/shared/TopHeadlinesTopic.md) | :heavy_minus_sign: | This parameter allows you to change the category for the request. | | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAds.md b/docs/models/shared/SourceGoogleAds.md new file mode 100644 index 000000000..612eea43a --- /dev/null +++ b/docs/models/shared/SourceGoogleAds.md @@ -0,0 +1,15 @@ +# SourceGoogleAds + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `conversionWindowDays` | *Optional* | :heavy_minus_sign: | A conversion window is the number of days after an ad interaction (such as an ad click or video view) during which a conversion, such as a purchase, is recorded in Google Ads. For more information, see Google's documentation. | 14 | +| `credentials` | [com.airbyte.api.models.shared.GoogleCredentials](../../models/shared/GoogleCredentials.md) | :heavy_check_mark: | N/A | | +| `customQueriesArray` | List<[com.airbyte.api.models.shared.CustomQueriesArray](../../models/shared/CustomQueriesArray.md)> | :heavy_minus_sign: | N/A | | +| `customerId` | *Optional* | :heavy_minus_sign: | Comma-separated list of (client) customer IDs. Each customer ID must be specified as a 10-digit number without dashes. For detailed instructions on finding this value, refer to our documentation. | 6783948572,5839201945 | +| `customerStatusFilter` | List<[com.airbyte.api.models.shared.CustomerStatus](../../models/shared/CustomerStatus.md)> | :heavy_minus_sign: | A list of customer statuses to filter on. For detailed info about what each status mean refer to Google Ads documentation. | | +| `endDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | UTC date in the format YYYY-MM-DD. Any data after this date will not be replicated. (Default value of today is used if not set) | 2017-01-30 | +| `sourceType` | [com.airbyte.api.models.shared.SourceGoogleAdsGoogleAds](../../models/shared/SourceGoogleAdsGoogleAds.md) | :heavy_check_mark: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. (Default value of two years ago is used if not set) | 2017-01-25 | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAdsGoogleAds.md b/docs/models/shared/SourceGoogleAdsGoogleAds.md new file mode 100644 index 000000000..b3688ccb0 --- /dev/null +++ b/docs/models/shared/SourceGoogleAdsGoogleAds.md @@ -0,0 +1,8 @@ +# SourceGoogleAdsGoogleAds + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `GOOGLE_ADS` | google-ads | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApi.md b/docs/models/shared/SourceGoogleAnalyticsDataApi.md new file mode 100644 index 000000000..34a2a2b54 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApi.md @@ -0,0 +1,15 @@ +# SourceGoogleAnalyticsDataApi + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `convertConversionsEvent` | *Optional* | :heavy_minus_sign: | Enables conversion of `conversions:*` event metrics from integers to floats. This is beneficial for preventing data rounding when the API returns float values for any `conversions:*` fields. | | +| `credentials` | [Optional](../../models/shared/SourceGoogleAnalyticsDataApiCredentials.md) | :heavy_minus_sign: | Credentials for the service | | +| `customReportsArray` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiCustomReportConfig](../../models/shared/SourceGoogleAnalyticsDataApiCustomReportConfig.md)> | :heavy_minus_sign: | You can add your Custom Analytics report by creating one. | | +| `dateRangesStartDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | The start date from which to replicate report data in the format YYYY-MM-DD. Data generated before this date will not be included in the report. Not applied to custom Cohort reports. | 2021-01-01 | +| `keepEmptyRows` | *Optional* | :heavy_minus_sign: | If false, each row with all metrics equal to 0 will not be returned. If true, these rows will be returned if they are not separately removed by a filter. More information is available in the documentation. | | +| `propertyIds` | List<*String*> | :heavy_check_mark: | A list of your Property IDs. The Property ID is a unique number assigned to each property in Google Analytics, found in your GA4 property URL. This ID allows the connector to track the specific events associated with your property. Refer to the Google Analytics documentation to locate your property ID. | [
    "1738294",
    "5729978930"
    ] | +| `sourceType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiGoogleAnalyticsDataApi](../../models/shared/SourceGoogleAnalyticsDataApiGoogleAnalyticsDataApi.md) | :heavy_check_mark: | N/A | | +| `windowInDays` | *Optional* | :heavy_minus_sign: | The interval in days for each data request made to the Google Analytics API. A larger value speeds up data sync, but increases the chance of data sampling, which may result in inaccuracies. We recommend a value of 1 to minimize sampling, unless speed is an absolute priority over accuracy. Acceptable values range from 1 to 364. Does not apply to custom Cohort reports. More information is available in the documentation. | 30 | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiAndGroup.md b/docs/models/shared/SourceGoogleAnalyticsDataApiAndGroup.md new file mode 100644 index 000000000..9b68f83e4 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiAndGroup.md @@ -0,0 +1,11 @@ +# SourceGoogleAnalyticsDataApiAndGroup + +The FilterExpressions in andGroup have an AND relationship. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `expressions` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression.md)> | :heavy_check_mark: | N/A | +| `filterType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiAuthType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiAuthType.md new file mode 100644 index 000000000..f56602a82 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiAuthType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiAuthType + + +## Values + +| Name | Value | +| -------- | -------- | +| `CLIENT` | Client | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiBetweenFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiBetweenFilter.md new file mode 100644 index 000000000..ba9291b70 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiBetweenFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiBetweenFilter + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterName.md) | :heavy_check_mark: | N/A | +| `fromValue` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiFromValue](../../models/shared/SourceGoogleAnalyticsDataApiFromValue.md) | :heavy_check_mark: | N/A | +| `toValue` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiToValue](../../models/shared/SourceGoogleAnalyticsDataApiToValue.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiCredentials.md b/docs/models/shared/SourceGoogleAnalyticsDataApiCredentials.md new file mode 100644 index 000000000..a167c9b5c --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiCredentials.md @@ -0,0 +1,4 @@ +# SourceGoogleAnalyticsDataApiCredentials + +Credentials for the service + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiCustomReportConfig.md b/docs/models/shared/SourceGoogleAnalyticsDataApiCustomReportConfig.md new file mode 100644 index 000000000..2df4adf9f --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiCustomReportConfig.md @@ -0,0 +1,13 @@ +# SourceGoogleAnalyticsDataApiCustomReportConfig + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `cohortSpec` | [Optional](../../models/shared/CohortReports.md) | :heavy_minus_sign: | Cohort reports creates a time series of user retention for the cohort. | +| `dimensionFilter` | [Optional](../../models/shared/DimensionsFilter.md) | :heavy_minus_sign: | Dimensions filter | +| `dimensions` | List<*String*> | :heavy_check_mark: | A list of dimensions. | +| `metricFilter` | [Optional](../../models/shared/MetricsFilter.md) | :heavy_minus_sign: | Metrics filter | +| `metrics` | List<*String*> | :heavy_check_mark: | A list of metrics. | +| `name` | *String* | :heavy_check_mark: | The name of the custom report, this name would be used as stream name. | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiDisabled.md b/docs/models/shared/SourceGoogleAnalyticsDataApiDisabled.md new file mode 100644 index 000000000..fd22445ac --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiDisabled.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiDisabled + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | +| `enabled` | [Optional](../../models/shared/SourceGoogleAnalyticsDataApiEnabled.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiDoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiDoubleValue.md new file mode 100644 index 000000000..04c6c44eb --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiDoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiDoubleValue + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiEnabled.md b/docs/models/shared/SourceGoogleAnalyticsDataApiEnabled.md new file mode 100644 index 000000000..320088636 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiEnabled.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiEnabled + + +## Values + +| Name | Value | +| ------- | ------- | +| `FALSE` | false | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiExpression.md b/docs/models/shared/SourceGoogleAnalyticsDataApiExpression.md new file mode 100644 index 000000000..7d969b3ef --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiExpression.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiExpression + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `fieldName` | *String* | :heavy_check_mark: | N/A | +| `filter` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiFilter.md new file mode 100644 index 000000000..2e8e3e613 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiFilter.md @@ -0,0 +1,12 @@ +# SourceGoogleAnalyticsDataApiFilter + +A primitive filter. In the same FilterExpression, all of the filter's field names need to be either all metrics. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `fieldName` | *String* | :heavy_check_mark: | N/A | +| `filter` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter.md) | :heavy_check_mark: | N/A | +| `filterType` | [Optional](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiFilterName.md new file mode 100644 index 000000000..99ed5ef18 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `IN_LIST_FILTER` | inListFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiFilterType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiFilterType.md new file mode 100644 index 000000000..f26a976cf --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiFilterType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiFilterType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `OR_GROUP` | orGroup | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiFromValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiFromValue.md new file mode 100644 index 000000000..97c095b47 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiFromValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiFromValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiGoogleAnalyticsDataApi.md b/docs/models/shared/SourceGoogleAnalyticsDataApiGoogleAnalyticsDataApi.md new file mode 100644 index 000000000..eb45bac4f --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiGoogleAnalyticsDataApi.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiGoogleAnalyticsDataApi + + +## Values + +| Name | Value | +| --------------------------- | --------------------------- | +| `GOOGLE_ANALYTICS_DATA_API` | google-analytics-data-api | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiGranularity.md b/docs/models/shared/SourceGoogleAnalyticsDataApiGranularity.md new file mode 100644 index 000000000..d7f3c5a03 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiGranularity.md @@ -0,0 +1,13 @@ +# SourceGoogleAnalyticsDataApiGranularity + +The granularity used to interpret the startOffset and endOffset for the extended reporting date range for a cohort report. + + +## Values + +| Name | Value | +| ------------------------- | ------------------------- | +| `GRANULARITY_UNSPECIFIED` | GRANULARITY_UNSPECIFIED | +| `DAILY` | DAILY | +| `WEEKLY` | WEEKLY | +| `MONTHLY` | MONTHLY | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiInListFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiInListFilter.md new file mode 100644 index 000000000..badef0676 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiInListFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiInListFilter + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `caseSensitive` | *Optional* | :heavy_minus_sign: | N/A | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterName.md) | :heavy_check_mark: | N/A | +| `values` | List<*String*> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiInt64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiInt64Value.md new file mode 100644 index 000000000..93a75c4a7 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiInt64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiInt64Value + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiNotExpression.md b/docs/models/shared/SourceGoogleAnalyticsDataApiNotExpression.md new file mode 100644 index 000000000..c1b526d3c --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiNotExpression.md @@ -0,0 +1,11 @@ +# SourceGoogleAnalyticsDataApiNotExpression + +The FilterExpression is NOT of notExpression. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `expression` | [Optional](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression.md) | :heavy_minus_sign: | N/A | +| `filterType` | [Optional](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiNumericFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiNumericFilter.md new file mode 100644 index 000000000..52547c9ea --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiNumericFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiNumericFilter + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterName.md) | :heavy_check_mark: | N/A | +| `operation` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValidEnums](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValidEnums.md)> | :heavy_check_mark: | N/A | +| `value` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiValue](../../models/shared/SourceGoogleAnalyticsDataApiValue.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiOrGroup.md b/docs/models/shared/SourceGoogleAnalyticsDataApiOrGroup.md new file mode 100644 index 000000000..0c490b02e --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiOrGroup.md @@ -0,0 +1,11 @@ +# SourceGoogleAnalyticsDataApiOrGroup + +The FilterExpressions in orGroup have an OR relationship. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `expressions` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression.md)> | :heavy_check_mark: | N/A | +| `filterType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasAuthType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasAuthType.md new file mode 100644 index 000000000..b6dc4dccc --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `SERVICE` | Service | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasBetweenFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasBetweenFilter.md new file mode 100644 index 000000000..8998709ae --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasBetweenFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiSchemasBetweenFilter + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterFilterName.md) | :heavy_check_mark: | N/A | +| `fromValue` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasFromValue](../../models/shared/SourceGoogleAnalyticsDataApiSchemasFromValue.md) | :heavy_check_mark: | N/A | +| `toValue` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasToValue](../../models/shared/SourceGoogleAnalyticsDataApiSchemasToValue.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter.md new file mode 100644 index 000000000..cb3ce5c39 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterFilterName.md) | :heavy_check_mark: | N/A | +| `fromValue` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue.md) | :heavy_check_mark: | N/A | +| `toValue` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter.md new file mode 100644 index 000000000..fd9b41e34 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterName.md) | :heavy_check_mark: | N/A | +| `fromValue` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue.md) | :heavy_check_mark: | N/A | +| `toValue` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue.md new file mode 100644 index 000000000..ed42c263a --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue.md new file mode 100644 index 000000000..2a318f599 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue.md new file mode 100644 index 000000000..f58c0f924 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ToValueValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ToValueValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ToValueValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ToValueValueType.md new file mode 100644 index 000000000..9866334d1 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ToValueValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ToValueValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ValueType.md new file mode 100644 index 000000000..53f382549 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterFilterName.md new file mode 100644 index 000000000..8c1c0f882 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `BETWEEN_FILTER` | betweenFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterName.md new file mode 100644 index 000000000..c00f28bbe --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `NUMERIC_FILTER` | numericFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterValueType.md new file mode 100644 index 000000000..3bc03d788 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value.md new file mode 100644 index 000000000..c61074076 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterName.md new file mode 100644 index 000000000..c3c31dd8a --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `IN_LIST_FILTER` | inListFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterValueType.md new file mode 100644 index 000000000..4be493b24 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value.md new file mode 100644 index 000000000..ac5914239 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums.md new file mode 100644 index 000000000..4297fd237 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums.md @@ -0,0 +1,13 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `OPERATION_UNSPECIFIED` | OPERATION_UNSPECIFIED | +| `EQUAL` | EQUAL | +| `LESS_THAN` | LESS_THAN | +| `LESS_THAN_OR_EQUAL` | LESS_THAN_OR_EQUAL | +| `GREATER_THAN` | GREATER_THAN | +| `GREATER_THAN_OR_EQUAL` | GREATER_THAN_OR_EQUAL | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValueType.md new file mode 100644 index 000000000..c62b70f59 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter.md new file mode 100644 index 000000000..222a12a49 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1FilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1FilterName.md new file mode 100644 index 000000000..5ced3a465 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1FilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1FilterName + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `STRING_FILTER` | stringFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value.md new file mode 100644 index 000000000..7f5f23076 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums.md new file mode 100644 index 000000000..1524d1264 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums.md @@ -0,0 +1,14 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums + + +## Values + +| Name | Value | +| ------------------------ | ------------------------ | +| `MATCH_TYPE_UNSPECIFIED` | MATCH_TYPE_UNSPECIFIED | +| `EXACT` | EXACT | +| `BEGINS_WITH` | BEGINS_WITH | +| `ENDS_WITH` | ENDS_WITH | +| `CONTAINS` | CONTAINS | +| `FULL_REGEXP` | FULL_REGEXP | +| `PARTIAL_REGEXP` | PARTIAL_REGEXP | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValueType.md new file mode 100644 index 000000000..e43b77922 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue.md new file mode 100644 index 000000000..64adb3aa8 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ToValueValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ToValueValueType.md new file mode 100644 index 000000000..cce5a975d --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ToValueValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ToValueValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ValueType.md new file mode 100644 index 000000000..b4209143c --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilterValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilterValueType.md new file mode 100644 index 000000000..de0686437 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilterValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilterValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterName.md new file mode 100644 index 000000000..8ba3e6b87 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `BETWEEN_FILTER` | betweenFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterValueType.md new file mode 100644 index 000000000..cf361e05f --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsValueType.md new file mode 100644 index 000000000..bc49e04f3 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2FilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2FilterName.md new file mode 100644 index 000000000..e17fd1d00 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2FilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2FilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `NUMERIC_FILTER` | numericFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value.md new file mode 100644 index 000000000..bab69cd6a --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums.md new file mode 100644 index 000000000..669d7b380 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums.md @@ -0,0 +1,14 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums + + +## Values + +| Name | Value | +| ------------------------ | ------------------------ | +| `MATCH_TYPE_UNSPECIFIED` | MATCH_TYPE_UNSPECIFIED | +| `EXACT` | EXACT | +| `BEGINS_WITH` | BEGINS_WITH | +| `ENDS_WITH` | ENDS_WITH | +| `CONTAINS` | CONTAINS | +| `FULL_REGEXP` | FULL_REGEXP | +| `PARTIAL_REGEXP` | PARTIAL_REGEXP | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValueType.md new file mode 100644 index 000000000..cf184a709 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue.md new file mode 100644 index 000000000..66c18027b --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue.md new file mode 100644 index 000000000..c2efdf3ae --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue.md new file mode 100644 index 000000000..8bdd1d9e0 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ToValueValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ToValueValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ToValueValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ToValueValueType.md new file mode 100644 index 000000000..78bab3b64 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ToValueValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ToValueValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ValueType.md new file mode 100644 index 000000000..df0704447 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterFilterName.md new file mode 100644 index 000000000..b3a1381a9 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `BETWEEN_FILTER` | betweenFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterName.md new file mode 100644 index 000000000..da38b7486 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `NUMERIC_FILTER` | numericFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterValueType.md new file mode 100644 index 000000000..0f647d6aa --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value.md new file mode 100644 index 000000000..f3611dafe --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterName.md new file mode 100644 index 000000000..831cd9eb8 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `IN_LIST_FILTER` | inListFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterValueType.md new file mode 100644 index 000000000..7b5d4d192 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value.md new file mode 100644 index 000000000..da7b63e2a --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionValueType.md new file mode 100644 index 000000000..4a4c6835d --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3FilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3FilterName.md new file mode 100644 index 000000000..c9d4c4eb0 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3FilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3FilterName + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `STRING_FILTER` | stringFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value.md new file mode 100644 index 000000000..3a9f0c12d --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums.md new file mode 100644 index 000000000..814afc79f --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums.md @@ -0,0 +1,13 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `OPERATION_UNSPECIFIED` | OPERATION_UNSPECIFIED | +| `EQUAL` | EQUAL | +| `LESS_THAN` | LESS_THAN | +| `LESS_THAN_OR_EQUAL` | LESS_THAN_OR_EQUAL | +| `GREATER_THAN` | GREATER_THAN | +| `GREATER_THAN_OR_EQUAL` | GREATER_THAN_OR_EQUAL | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValueType.md new file mode 100644 index 000000000..6c1ea78a0 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue.md new file mode 100644 index 000000000..09ce9307a --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ToValueValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ToValueValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter.md new file mode 100644 index 000000000..f2c3f80de --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilterName.md new file mode 100644 index 000000000..d3aba21f7 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `IN_LIST_FILTER` | inListFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value.md new file mode 100644 index 000000000..3242cb63a --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums.md new file mode 100644 index 000000000..7e0d89275 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums.md @@ -0,0 +1,14 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums + + +## Values + +| Name | Value | +| ------------------------ | ------------------------ | +| `MATCH_TYPE_UNSPECIFIED` | MATCH_TYPE_UNSPECIFIED | +| `EXACT` | EXACT | +| `BEGINS_WITH` | BEGINS_WITH | +| `ENDS_WITH` | ENDS_WITH | +| `CONTAINS` | CONTAINS | +| `FULL_REGEXP` | FULL_REGEXP | +| `PARTIAL_REGEXP` | PARTIAL_REGEXP | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValueType.md new file mode 100644 index 000000000..0702c2ea3 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue.md new file mode 100644 index 000000000..5fdfddbaa --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilterValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilterValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter.md new file mode 100644 index 000000000..a6ee83c66 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilterName.md new file mode 100644 index 000000000..bfb034ed3 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilterName + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `STRING_FILTER` | stringFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue.md new file mode 100644 index 000000000..6ff303740 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter.md new file mode 100644 index 000000000..9f6ec6281 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `caseSensitive` | *Optional* | :heavy_minus_sign: | N/A | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilterName.md) | :heavy_check_mark: | N/A | +| `values` | List<*String*> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value.md new file mode 100644 index 000000000..82d68ce0f --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter.md new file mode 100644 index 000000000..73d461515 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2FilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2FilterName.md) | :heavy_check_mark: | N/A | +| `operation` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValidEnums](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValidEnums.md)> | :heavy_check_mark: | N/A | +| `value` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter.md new file mode 100644 index 000000000..97940d179 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter.md @@ -0,0 +1,11 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `caseSensitive` | *Optional* | :heavy_minus_sign: | N/A | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilterName.md) | :heavy_check_mark: | N/A | +| `matchType` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums.md)> | :heavy_minus_sign: | N/A | +| `value` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue.md new file mode 100644 index 000000000..bc2281be8 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValidEnums.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValidEnums.md new file mode 100644 index 000000000..012116146 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValidEnums.md @@ -0,0 +1,13 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValidEnums + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `OPERATION_UNSPECIFIED` | OPERATION_UNSPECIFIED | +| `EQUAL` | EQUAL | +| `LESS_THAN` | LESS_THAN | +| `LESS_THAN_OR_EQUAL` | LESS_THAN_OR_EQUAL | +| `GREATER_THAN` | GREATER_THAN | +| `GREATER_THAN_OR_EQUAL` | GREATER_THAN_OR_EQUAL | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue.md new file mode 100644 index 000000000..61ce1485c --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValueType.md new file mode 100644 index 000000000..0e59201f7 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue.md new file mode 100644 index 000000000..ee6c87ead --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayEnabled.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayEnabled.md new file mode 100644 index 000000000..da3458236 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayEnabled.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayEnabled + + +## Values + +| Name | Value | +| ------ | ------ | +| `TRUE` | true | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression.md new file mode 100644 index 000000000..5d5b21337 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `fieldName` | *String* | :heavy_check_mark: | N/A | +| `filter` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter.md new file mode 100644 index 000000000..22400692a --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterName.md new file mode 100644 index 000000000..2e74cccd3 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `BETWEEN_FILTER` | betweenFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterType.md new file mode 100644 index 000000000..66982baaa --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterType + + +## Values + +| Name | Value | +| -------- | -------- | +| `FILTER` | filter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue.md new file mode 100644 index 000000000..c58b10167 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter.md new file mode 100644 index 000000000..1b1c5469a --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `caseSensitive` | *Optional* | :heavy_minus_sign: | N/A | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterName.md) | :heavy_check_mark: | N/A | +| `values` | List<*String*> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value.md new file mode 100644 index 000000000..7207d679f --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter.md new file mode 100644 index 000000000..096774334 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterName.md) | :heavy_check_mark: | N/A | +| `fromValue` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue.md) | :heavy_check_mark: | N/A | +| `toValue` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue.md new file mode 100644 index 000000000..f759131ae --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression.md new file mode 100644 index 000000000..e485273cc --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `fieldName` | *String* | :heavy_check_mark: | N/A | +| `filter` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter.md new file mode 100644 index 000000000..237a54bfd --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterName.md new file mode 100644 index 000000000..317adcc1c --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterName + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `STRING_FILTER` | stringFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterType.md new file mode 100644 index 000000000..201b2fbc3 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterType + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `AND_GROUP` | andGroup | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue.md new file mode 100644 index 000000000..fbb1671de --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter.md new file mode 100644 index 000000000..589d84ddc --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `caseSensitive` | *Optional* | :heavy_minus_sign: | N/A | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterFilterName.md) | :heavy_check_mark: | N/A | +| `values` | List<*String*> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value.md new file mode 100644 index 000000000..d4f623831 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4ValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4ValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue.md new file mode 100644 index 000000000..04a5b6a6e --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue.md new file mode 100644 index 000000000..07c19ca4c --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue.md new file mode 100644 index 000000000..02aa7f027 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueType.md new file mode 100644 index 000000000..5b1962e05 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueValueType.md new file mode 100644 index 000000000..602ab3368 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterFilterName.md new file mode 100644 index 000000000..4685b09f8 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `IN_LIST_FILTER` | inListFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterName.md new file mode 100644 index 000000000..9f44824a3 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterName + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `STRING_FILTER` | stringFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterValueType.md new file mode 100644 index 000000000..13d9cb6e1 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value.md new file mode 100644 index 000000000..190a426da --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterName.md new file mode 100644 index 000000000..856175ecd --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `BETWEEN_FILTER` | betweenFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterValueType.md new file mode 100644 index 000000000..97187322f --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value.md new file mode 100644 index 000000000..527073a3a --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsValueType.md new file mode 100644 index 000000000..29c448184 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1FilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1FilterName.md new file mode 100644 index 000000000..8d597a784 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1FilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1FilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `NUMERIC_FILTER` | numericFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value.md new file mode 100644 index 000000000..0c22df98c --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums.md new file mode 100644 index 000000000..14a0f99b8 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums.md @@ -0,0 +1,14 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums + + +## Values + +| Name | Value | +| ------------------------ | ------------------------ | +| `MATCH_TYPE_UNSPECIFIED` | MATCH_TYPE_UNSPECIFIED | +| `EXACT` | EXACT | +| `BEGINS_WITH` | BEGINS_WITH | +| `ENDS_WITH` | ENDS_WITH | +| `CONTAINS` | CONTAINS | +| `FULL_REGEXP` | FULL_REGEXP | +| `PARTIAL_REGEXP` | PARTIAL_REGEXP | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValueType.md new file mode 100644 index 000000000..2d92aa9c9 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue.md new file mode 100644 index 000000000..98c98dbbc --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue.md new file mode 100644 index 000000000..8ab0082c9 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue.md new file mode 100644 index 000000000..acde662d8 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ToValueValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ToValueValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ToValueValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ToValueValueType.md new file mode 100644 index 000000000..1337ac12a --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ToValueValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ToValueValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ValueType.md new file mode 100644 index 000000000..87823427c --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterFilterName.md new file mode 100644 index 000000000..0430de7eb --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `BETWEEN_FILTER` | betweenFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterName.md new file mode 100644 index 000000000..619b117e5 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `NUMERIC_FILTER` | numericFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterValueType.md new file mode 100644 index 000000000..0d6fb9b32 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value.md new file mode 100644 index 000000000..a72099218 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterName.md new file mode 100644 index 000000000..d76913b87 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `IN_LIST_FILTER` | inListFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterValueType.md new file mode 100644 index 000000000..5587b130e --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value.md new file mode 100644 index 000000000..e55734398 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums.md new file mode 100644 index 000000000..1dc5cb8a8 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums.md @@ -0,0 +1,13 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `OPERATION_UNSPECIFIED` | OPERATION_UNSPECIFIED | +| `EQUAL` | EQUAL | +| `LESS_THAN` | LESS_THAN | +| `LESS_THAN_OR_EQUAL` | LESS_THAN_OR_EQUAL | +| `GREATER_THAN` | GREATER_THAN | +| `GREATER_THAN_OR_EQUAL` | GREATER_THAN_OR_EQUAL | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValueType.md new file mode 100644 index 000000000..1c04cf1eb --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2FilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2FilterName.md new file mode 100644 index 000000000..704dc3f06 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2FilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2FilterName + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `STRING_FILTER` | stringFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value.md new file mode 100644 index 000000000..a4cc42e49 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums.md new file mode 100644 index 000000000..bc8b6cd63 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums.md @@ -0,0 +1,14 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums + + +## Values + +| Name | Value | +| ------------------------ | ------------------------ | +| `MATCH_TYPE_UNSPECIFIED` | MATCH_TYPE_UNSPECIFIED | +| `EXACT` | EXACT | +| `BEGINS_WITH` | BEGINS_WITH | +| `ENDS_WITH` | ENDS_WITH | +| `CONTAINS` | CONTAINS | +| `FULL_REGEXP` | FULL_REGEXP | +| `PARTIAL_REGEXP` | PARTIAL_REGEXP | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValueType.md new file mode 100644 index 000000000..db61e7180 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter.md new file mode 100644 index 000000000..0d9fc8851 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterFilterName.md) | :heavy_check_mark: | N/A | +| `fromValue` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue.md) | :heavy_check_mark: | N/A | +| `toValue` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue.md new file mode 100644 index 000000000..20cd91d47 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue.md new file mode 100644 index 000000000..998cb03d3 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue.md new file mode 100644 index 000000000..50dc66744 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ToValueValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ToValueValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ToValueValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ToValueValueType.md new file mode 100644 index 000000000..87676c8a1 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ToValueValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ToValueValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ValueType.md new file mode 100644 index 000000000..1ce8a1f62 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterFilterName.md new file mode 100644 index 000000000..a3c30fcef --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `BETWEEN_FILTER` | betweenFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterName.md new file mode 100644 index 000000000..1b9415a4a --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `NUMERIC_FILTER` | numericFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterValueType.md new file mode 100644 index 000000000..3be8f88da --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value.md new file mode 100644 index 000000000..891be6280 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterName.md new file mode 100644 index 000000000..20d955420 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `IN_LIST_FILTER` | inListFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterValueType.md new file mode 100644 index 000000000..c5b354e27 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value.md new file mode 100644 index 000000000..d41331d6a --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums.md new file mode 100644 index 000000000..f9bf4b739 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums.md @@ -0,0 +1,13 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `OPERATION_UNSPECIFIED` | OPERATION_UNSPECIFIED | +| `EQUAL` | EQUAL | +| `LESS_THAN` | LESS_THAN | +| `LESS_THAN_OR_EQUAL` | LESS_THAN_OR_EQUAL | +| `GREATER_THAN` | GREATER_THAN | +| `GREATER_THAN_OR_EQUAL` | GREATER_THAN_OR_EQUAL | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValueType.md new file mode 100644 index 000000000..800022e85 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter.md new file mode 100644 index 000000000..caf09198e --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterName.md new file mode 100644 index 000000000..4de3a45f4 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterName + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `STRING_FILTER` | stringFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterType.md new file mode 100644 index 000000000..22c2a5391 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterType + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `NOT_EXPRESSION` | notExpression | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue.md new file mode 100644 index 000000000..e38cfa0be --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter.md new file mode 100644 index 000000000..f0fd4c3d0 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `caseSensitive` | *Optional* | :heavy_minus_sign: | N/A | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterName.md) | :heavy_check_mark: | N/A | +| `values` | List<*String*> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value.md new file mode 100644 index 000000000..524db724d --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter.md new file mode 100644 index 000000000..fa6b01735 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterName.md) | :heavy_check_mark: | N/A | +| `operation` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums.md)> | :heavy_check_mark: | N/A | +| `value` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter.md new file mode 100644 index 000000000..fa83f0595 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter.md @@ -0,0 +1,11 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `caseSensitive` | *Optional* | :heavy_minus_sign: | N/A | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterName.md) | :heavy_check_mark: | N/A | +| `matchType` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums.md)> | :heavy_minus_sign: | N/A | +| `value` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue.md new file mode 100644 index 000000000..ef60c5343 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums.md new file mode 100644 index 000000000..655ccdaa9 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums.md @@ -0,0 +1,14 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums + + +## Values + +| Name | Value | +| ------------------------ | ------------------------ | +| `MATCH_TYPE_UNSPECIFIED` | MATCH_TYPE_UNSPECIFIED | +| `EXACT` | EXACT | +| `BEGINS_WITH` | BEGINS_WITH | +| `ENDS_WITH` | ENDS_WITH | +| `CONTAINS` | CONTAINS | +| `FULL_REGEXP` | FULL_REGEXP | +| `PARTIAL_REGEXP` | PARTIAL_REGEXP | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value.md new file mode 100644 index 000000000..4d20fc151 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValueType.md new file mode 100644 index 000000000..6773bbdf6 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilter4ValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilter4ValueType.md new file mode 100644 index 000000000..2c7ae8b37 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilter4ValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilter4ValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterName.md new file mode 100644 index 000000000..4d165d2e9 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `BETWEEN_FILTER` | betweenFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterValueType.md new file mode 100644 index 000000000..b1dab0bd6 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterName.md new file mode 100644 index 000000000..c4a52bc60 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `NUMERIC_FILTER` | numericFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterType.md new file mode 100644 index 000000000..4bc80ba29 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterType + + +## Values + +| Name | Value | +| -------- | -------- | +| `FILTER` | filter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterValueType.md new file mode 100644 index 000000000..518105da8 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4ValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4ValueType.md new file mode 100644 index 000000000..b0c1bb0ed --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4ValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4ValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter.md new file mode 100644 index 000000000..356d300f8 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterFilterName.md) | :heavy_check_mark: | N/A | +| `fromValue` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue.md) | :heavy_check_mark: | N/A | +| `toValue` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue.md new file mode 100644 index 000000000..f23f2d309 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilter4ValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilter4ValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression.md new file mode 100644 index 000000000..80edb758b --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `fieldName` | *String* | :heavy_check_mark: | N/A | +| `filter` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter.md new file mode 100644 index 000000000..512ce933b --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterName.md new file mode 100644 index 000000000..fea2eb3f1 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `IN_LIST_FILTER` | inListFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterType.md new file mode 100644 index 000000000..55b959ab7 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `OR_GROUP` | orGroup | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue.md new file mode 100644 index 000000000..381a4f434 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter.md new file mode 100644 index 000000000..be5d6473a --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `caseSensitive` | *Optional* | :heavy_minus_sign: | N/A | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterName.md) | :heavy_check_mark: | N/A | +| `values` | List<*String*> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value.md new file mode 100644 index 000000000..52d14ad6a --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter.md new file mode 100644 index 000000000..be249fdf9 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterName.md) | :heavy_check_mark: | N/A | +| `operation` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums.md)> | :heavy_check_mark: | N/A | +| `value` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter.md new file mode 100644 index 000000000..128e132c6 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter.md @@ -0,0 +1,11 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `caseSensitive` | *Optional* | :heavy_minus_sign: | N/A | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2FilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2FilterName.md) | :heavy_check_mark: | N/A | +| `matchType` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums.md)> | :heavy_minus_sign: | N/A | +| `value` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue.md new file mode 100644 index 000000000..13d82e193 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums.md new file mode 100644 index 000000000..60935d410 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums.md @@ -0,0 +1,13 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `OPERATION_UNSPECIFIED` | OPERATION_UNSPECIFIED | +| `EQUAL` | EQUAL | +| `LESS_THAN` | LESS_THAN | +| `LESS_THAN_OR_EQUAL` | LESS_THAN_OR_EQUAL | +| `GREATER_THAN` | GREATER_THAN | +| `GREATER_THAN_OR_EQUAL` | GREATER_THAN_OR_EQUAL | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue.md new file mode 100644 index 000000000..9b278c8df --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValueType.md new file mode 100644 index 000000000..f5907eb05 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter.md new file mode 100644 index 000000000..52b24a16b --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1FilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1FilterName.md) | :heavy_check_mark: | N/A | +| `operation` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums.md)> | :heavy_check_mark: | N/A | +| `value` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter.md new file mode 100644 index 000000000..a0e9e4435 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter.md @@ -0,0 +1,11 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `caseSensitive` | *Optional* | :heavy_minus_sign: | N/A | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterName.md) | :heavy_check_mark: | N/A | +| `matchType` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums.md)> | :heavy_minus_sign: | N/A | +| `value` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue.md new file mode 100644 index 000000000..4bbcb980a --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValidEnums.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValidEnums.md new file mode 100644 index 000000000..003372ba4 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValidEnums.md @@ -0,0 +1,13 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValidEnums + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `OPERATION_UNSPECIFIED` | OPERATION_UNSPECIFIED | +| `EQUAL` | EQUAL | +| `LESS_THAN` | LESS_THAN | +| `LESS_THAN_OR_EQUAL` | LESS_THAN_OR_EQUAL | +| `GREATER_THAN` | GREATER_THAN | +| `GREATER_THAN_OR_EQUAL` | GREATER_THAN_OR_EQUAL | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue.md new file mode 100644 index 000000000..0747aacfe --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValueType.md new file mode 100644 index 000000000..42eac5c8e --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter.md new file mode 100644 index 000000000..2dbf9c309 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterName.md) | :heavy_check_mark: | N/A | +| `operation` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums.md)> | :heavy_check_mark: | N/A | +| `value` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter.md new file mode 100644 index 000000000..73e4a19c1 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter.md @@ -0,0 +1,11 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `caseSensitive` | *Optional* | :heavy_minus_sign: | N/A | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1FilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1FilterName.md) | :heavy_check_mark: | N/A | +| `matchType` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums.md)> | :heavy_minus_sign: | N/A | +| `value` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue.md new file mode 100644 index 000000000..08bb11cb7 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValidEnums.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValidEnums.md new file mode 100644 index 000000000..fa74b3ded --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValidEnums.md @@ -0,0 +1,14 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValidEnums + + +## Values + +| Name | Value | +| ------------------------ | ------------------------ | +| `MATCH_TYPE_UNSPECIFIED` | MATCH_TYPE_UNSPECIFIED | +| `EXACT` | EXACT | +| `BEGINS_WITH` | BEGINS_WITH | +| `ENDS_WITH` | ENDS_WITH | +| `CONTAINS` | CONTAINS | +| `FULL_REGEXP` | FULL_REGEXP | +| `PARTIAL_REGEXP` | PARTIAL_REGEXP | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue.md new file mode 100644 index 000000000..73e8b1214 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValueType.md new file mode 100644 index 000000000..208b801c2 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasDoubleValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasDoubleValue.md new file mode 100644 index 000000000..24563422a --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasDoubleValue.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasDoubleValue + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *double* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasEnabled.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasEnabled.md new file mode 100644 index 000000000..6a82f9444 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasEnabled.md @@ -0,0 +1,11 @@ +# SourceGoogleAnalyticsDataApiSchemasEnabled + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `cohortReportSettings` | [Optional](../../models/shared/CohortReportSettings.md) | :heavy_minus_sign: | Optional settings for a cohort report. | +| `cohorts` | List<[com.airbyte.api.models.shared.Cohorts](../../models/shared/Cohorts.md)> | :heavy_minus_sign: | N/A | +| `cohortsRange` | [Optional](../../models/shared/CohortsRange.md) | :heavy_minus_sign: | N/A | +| `enabled` | [Optional](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayEnabled.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasExpression.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasExpression.md new file mode 100644 index 000000000..b821b573c --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasExpression.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasExpression + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `fieldName` | *String* | :heavy_check_mark: | N/A | +| `filter` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasFilter.md new file mode 100644 index 000000000..4797f7f9b --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasFilter.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasFilter + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasFilterName.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasFilterName.md new file mode 100644 index 000000000..b2c6ddb16 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasFilterName.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasFilterName + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `NUMERIC_FILTER` | numericFilter | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasFilterType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasFilterType.md new file mode 100644 index 000000000..990ed5c32 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasFilterType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasFilterType + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `NOT_EXPRESSION` | notExpression | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasFromValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasFromValue.md new file mode 100644 index 000000000..08c3fb8df --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasFromValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasFromValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasInListFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasInListFilter.md new file mode 100644 index 000000000..2c81ba1fc --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasInListFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiSchemasInListFilter + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `caseSensitive` | *Optional* | :heavy_minus_sign: | N/A | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterName.md) | :heavy_check_mark: | N/A | +| `values` | List<*String*> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasInt64Value.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasInt64Value.md new file mode 100644 index 000000000..e6e7af9b1 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasInt64Value.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsDataApiSchemasInt64Value + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `value` | *String* | :heavy_check_mark: | N/A | +| `valueType` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValueType](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValueType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasNumericFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasNumericFilter.md new file mode 100644 index 000000000..e2bf60f54 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasNumericFilter.md @@ -0,0 +1,10 @@ +# SourceGoogleAnalyticsDataApiSchemasNumericFilter + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterName.md) | :heavy_check_mark: | N/A | +| `operation` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums.md)> | :heavy_check_mark: | N/A | +| `value` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasValue](../../models/shared/SourceGoogleAnalyticsDataApiSchemasValue.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasStringFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasStringFilter.md new file mode 100644 index 000000000..f137dbf09 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasStringFilter.md @@ -0,0 +1,11 @@ +# SourceGoogleAnalyticsDataApiSchemasStringFilter + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `caseSensitive` | *Optional* | :heavy_minus_sign: | N/A | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3FilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3FilterName.md) | :heavy_check_mark: | N/A | +| `matchType` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums.md)> | :heavy_minus_sign: | N/A | +| `value` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasToValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasToValue.md new file mode 100644 index 000000000..35b5789f8 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasToValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasToValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasValidEnums.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasValidEnums.md new file mode 100644 index 000000000..bc652417e --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasValidEnums.md @@ -0,0 +1,13 @@ +# SourceGoogleAnalyticsDataApiSchemasValidEnums + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `OPERATION_UNSPECIFIED` | OPERATION_UNSPECIFIED | +| `EQUAL` | EQUAL | +| `LESS_THAN` | LESS_THAN | +| `LESS_THAN_OR_EQUAL` | LESS_THAN_OR_EQUAL | +| `GREATER_THAN` | GREATER_THAN | +| `GREATER_THAN_OR_EQUAL` | GREATER_THAN_OR_EQUAL | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasValue.md new file mode 100644 index 000000000..9598c0550 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiSchemasValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasValueType.md new file mode 100644 index 000000000..c65473e87 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiSchemasValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiSchemasValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiStringFilter.md b/docs/models/shared/SourceGoogleAnalyticsDataApiStringFilter.md new file mode 100644 index 000000000..aa1aca011 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiStringFilter.md @@ -0,0 +1,11 @@ +# SourceGoogleAnalyticsDataApiStringFilter + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `caseSensitive` | *Optional* | :heavy_minus_sign: | N/A | +| `filterName` | [com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterName](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterName.md) | :heavy_check_mark: | N/A | +| `matchType` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValidEnums](../../models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValidEnums.md)> | :heavy_minus_sign: | N/A | +| `value` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiToValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiToValue.md new file mode 100644 index 000000000..7bb9bd26b --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiToValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiToValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiValidEnums.md b/docs/models/shared/SourceGoogleAnalyticsDataApiValidEnums.md new file mode 100644 index 000000000..a9eb73961 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiValidEnums.md @@ -0,0 +1,14 @@ +# SourceGoogleAnalyticsDataApiValidEnums + + +## Values + +| Name | Value | +| ------------------------ | ------------------------ | +| `MATCH_TYPE_UNSPECIFIED` | MATCH_TYPE_UNSPECIFIED | +| `EXACT` | EXACT | +| `BEGINS_WITH` | BEGINS_WITH | +| `ENDS_WITH` | ENDS_WITH | +| `CONTAINS` | CONTAINS | +| `FULL_REGEXP` | FULL_REGEXP | +| `PARTIAL_REGEXP` | PARTIAL_REGEXP | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiValue.md b/docs/models/shared/SourceGoogleAnalyticsDataApiValue.md new file mode 100644 index 000000000..9f20cad02 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiValue.md @@ -0,0 +1,2 @@ +# SourceGoogleAnalyticsDataApiValue + diff --git a/docs/models/shared/SourceGoogleAnalyticsDataApiValueType.md b/docs/models/shared/SourceGoogleAnalyticsDataApiValueType.md new file mode 100644 index 000000000..e18f24846 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsDataApiValueType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsDataApiValueType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `DOUBLE_VALUE` | doubleValue | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnly.md b/docs/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnly.md new file mode 100644 index 000000000..495ef8bee --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnly.md @@ -0,0 +1,14 @@ +# SourceGoogleAnalyticsV4ServiceAccountOnly + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials.md) | :heavy_minus_sign: | Credentials for the service | | +| `customReports` | *Optional* | :heavy_minus_sign: | A JSON array describing the custom reports you want to sync from Google Analytics. See the docs for more information about the exact format you can use to fill out this field. | | +| `endDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | The date in the format YYYY-MM-DD. Any data after this date will not be replicated. | 2020-06-01 | +| `sourceType` | [com.airbyte.api.models.shared.GoogleAnalyticsV4ServiceAccountOnly](../../models/shared/GoogleAnalyticsV4ServiceAccountOnly.md) | :heavy_check_mark: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_check_mark: | The date in the format YYYY-MM-DD. Any data before this date will not be replicated. | 2020-06-01 | +| `viewId` | *String* | :heavy_check_mark: | The ID for the Google Analytics View you want to fetch data from. This can be found from the Google Analytics Account Explorer. | | +| `windowInDays` | *Optional* | :heavy_minus_sign: | The time increment used by the connector when requesting data from the Google Analytics API. More information is available in the the docs. The bigger this value is, the faster the sync will be, but the more likely that sampling will be applied to your data, potentially causing inaccuracies in the returned results. We recommend setting this to 1 unless you have a hard requirement to make the sync faster at the expense of accuracy. The minimum allowed value for this field is 1, and the maximum is 364. | 30 | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyAuthType.md b/docs/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyAuthType.md new file mode 100644 index 000000000..75ecd5024 --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyAuthType.md @@ -0,0 +1,8 @@ +# SourceGoogleAnalyticsV4ServiceAccountOnlyAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `SERVICE` | Service | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials.md b/docs/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials.md new file mode 100644 index 000000000..eb713bdbd --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials.md @@ -0,0 +1,4 @@ +# SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials + +Credentials for the service + diff --git a/docs/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication.md b/docs/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication.md new file mode 100644 index 000000000..3356e86cc --- /dev/null +++ b/docs/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication.md @@ -0,0 +1,9 @@ +# SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [Optional](../../models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyAuthType.md) | :heavy_minus_sign: | N/A | | +| `credentialsJson` | *String* | :heavy_check_mark: | The JSON key of the service account to use for authorization | { "type": "service_account", "project_id": YOUR_PROJECT_ID, "private_key_id": YOUR_PRIVATE_KEY, ... } | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDirectory.md b/docs/models/shared/SourceGoogleDirectory.md new file mode 100644 index 000000000..7bbf8f75d --- /dev/null +++ b/docs/models/shared/SourceGoogleDirectory.md @@ -0,0 +1,9 @@ +# SourceGoogleDirectory + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `credentials` | [Optional](../../models/shared/SourceGoogleDirectoryGoogleCredentials.md) | :heavy_minus_sign: | Google APIs use the OAuth 2.0 protocol for authentication and authorization. The Source supports Web server application and Service accounts scenarios. | +| `sourceType` | [com.airbyte.api.models.shared.GoogleDirectory](../../models/shared/GoogleDirectory.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDirectoryCredentialsTitle.md b/docs/models/shared/SourceGoogleDirectoryCredentialsTitle.md new file mode 100644 index 000000000..7e325f617 --- /dev/null +++ b/docs/models/shared/SourceGoogleDirectoryCredentialsTitle.md @@ -0,0 +1,10 @@ +# SourceGoogleDirectoryCredentialsTitle + +Authentication Scenario + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `WEB_SERVER_APP` | Web server app | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDirectoryGoogleCredentials.md b/docs/models/shared/SourceGoogleDirectoryGoogleCredentials.md new file mode 100644 index 000000000..a10207f3f --- /dev/null +++ b/docs/models/shared/SourceGoogleDirectoryGoogleCredentials.md @@ -0,0 +1,4 @@ +# SourceGoogleDirectoryGoogleCredentials + +Google APIs use the OAuth 2.0 protocol for authentication and authorization. The Source supports Web server application and Service accounts scenarios. + diff --git a/docs/models/shared/SourceGoogleDirectorySchemasCredentialsTitle.md b/docs/models/shared/SourceGoogleDirectorySchemasCredentialsTitle.md new file mode 100644 index 000000000..7f5892f13 --- /dev/null +++ b/docs/models/shared/SourceGoogleDirectorySchemasCredentialsTitle.md @@ -0,0 +1,10 @@ +# SourceGoogleDirectorySchemasCredentialsTitle + +Authentication Scenario + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `SERVICE_ACCOUNTS` | Service accounts | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDrive.md b/docs/models/shared/SourceGoogleDrive.md new file mode 100644 index 000000000..a441a4244 --- /dev/null +++ b/docs/models/shared/SourceGoogleDrive.md @@ -0,0 +1,15 @@ +# SourceGoogleDrive + +Used during spec; allows the developer to configure the cloud provider specific options +that are needed when users configure a file-based source. + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [com.airbyte.api.models.shared.SourceGoogleDriveAuthentication](../../models/shared/SourceGoogleDriveAuthentication.md) | :heavy_check_mark: | Credentials for connecting to the Google Drive API | | +| `folderUrl` | *String* | :heavy_check_mark: | URL for the folder you want to sync. Using individual streams and glob patterns, it's possible to only sync a subset of all files located in the folder. | https://drive.google.com/drive/folders/1Xaz0vXXXX2enKnNYU5qSt9NS70gvMyYn | +| `sourceType` | [com.airbyte.api.models.shared.SourceGoogleDriveGoogleDrive](../../models/shared/SourceGoogleDriveGoogleDrive.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. | 2021-01-01T00:00:00.000000Z | +| `streams` | List<[com.airbyte.api.models.shared.SourceGoogleDriveFileBasedStreamConfig](../../models/shared/SourceGoogleDriveFileBasedStreamConfig.md)> | :heavy_check_mark: | Each instance of this configuration defines a stream. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. | | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveAuthType.md b/docs/models/shared/SourceGoogleDriveAuthType.md new file mode 100644 index 000000000..c8ff09129 --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveAuthType.md @@ -0,0 +1,8 @@ +# SourceGoogleDriveAuthType + + +## Values + +| Name | Value | +| -------- | -------- | +| `CLIENT` | Client | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveAuthenticateViaGoogleOAuth.md b/docs/models/shared/SourceGoogleDriveAuthenticateViaGoogleOAuth.md new file mode 100644 index 000000000..f2a5f695a --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveAuthenticateViaGoogleOAuth.md @@ -0,0 +1,11 @@ +# SourceGoogleDriveAuthenticateViaGoogleOAuth + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [Optional](../../models/shared/SourceGoogleDriveAuthType.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | Client ID for the Google Drive API | +| `clientSecret` | *String* | :heavy_check_mark: | Client Secret for the Google Drive API | +| `refreshToken` | *String* | :heavy_check_mark: | Refresh Token for the Google Drive API | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveAuthentication.md b/docs/models/shared/SourceGoogleDriveAuthentication.md new file mode 100644 index 000000000..845b8f660 --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveAuthentication.md @@ -0,0 +1,4 @@ +# SourceGoogleDriveAuthentication + +Credentials for connecting to the Google Drive API + diff --git a/docs/models/shared/SourceGoogleDriveAutogenerated.md b/docs/models/shared/SourceGoogleDriveAutogenerated.md new file mode 100644 index 000000000..b43e8ad0b --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveAutogenerated.md @@ -0,0 +1,8 @@ +# SourceGoogleDriveAutogenerated + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `headerDefinitionType` | [Optional](../../models/shared/SourceGoogleDriveSchemasHeaderDefinitionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveAvroFormat.md b/docs/models/shared/SourceGoogleDriveAvroFormat.md new file mode 100644 index 000000000..fc2399636 --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveAvroFormat.md @@ -0,0 +1,9 @@ +# SourceGoogleDriveAvroFormat + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `doubleAsString` | *Optional* | :heavy_minus_sign: | Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. | +| `filetype` | [Optional](../../models/shared/SourceGoogleDriveFiletype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveCSVFormat.md b/docs/models/shared/SourceGoogleDriveCSVFormat.md new file mode 100644 index 000000000..30a277928 --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveCSVFormat.md @@ -0,0 +1,20 @@ +# SourceGoogleDriveCSVFormat + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `delimiter` | *Optional* | :heavy_minus_sign: | The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. | +| `doubleQuote` | *Optional* | :heavy_minus_sign: | Whether two quotes in a quoted CSV value denote a single quote in the data. | +| `encoding` | *Optional* | :heavy_minus_sign: | The character encoding of the CSV data. Leave blank to default to UTF8. See list of python encodings for allowable options. | +| `escapeChar` | *Optional* | :heavy_minus_sign: | The character used for escaping special characters. To disallow escaping, leave this field blank. | +| `falseValues` | List<*String*> | :heavy_minus_sign: | A set of case-sensitive strings that should be interpreted as false values. | +| `filetype` | [Optional](../../models/shared/SourceGoogleDriveSchemasFiletype.md) | :heavy_minus_sign: | N/A | +| `headerDefinition` | [Optional](../../models/shared/SourceGoogleDriveCSVHeaderDefinition.md) | :heavy_minus_sign: | How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. | +| `nullValues` | List<*String*> | :heavy_minus_sign: | A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. | +| `quoteChar` | *Optional* | :heavy_minus_sign: | The character used for quoting CSV values. To disallow quoting, make this field blank. | +| `skipRowsAfterHeader` | *Optional* | :heavy_minus_sign: | The number of rows to skip after the header row. | +| `skipRowsBeforeHeader` | *Optional* | :heavy_minus_sign: | The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. | +| `stringsCanBeNull` | *Optional* | :heavy_minus_sign: | Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. | +| `trueValues` | List<*String*> | :heavy_minus_sign: | A set of case-sensitive strings that should be interpreted as true values. | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveCSVHeaderDefinition.md b/docs/models/shared/SourceGoogleDriveCSVHeaderDefinition.md new file mode 100644 index 000000000..aee28e0c1 --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveCSVHeaderDefinition.md @@ -0,0 +1,4 @@ +# SourceGoogleDriveCSVHeaderDefinition + +How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + diff --git a/docs/models/shared/SourceGoogleDriveDocumentFileTypeFormatExperimental.md b/docs/models/shared/SourceGoogleDriveDocumentFileTypeFormatExperimental.md new file mode 100644 index 000000000..ecab5085d --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveDocumentFileTypeFormatExperimental.md @@ -0,0 +1,13 @@ +# SourceGoogleDriveDocumentFileTypeFormatExperimental + +Extract text from document formats (.pdf, .docx, .md, .pptx) and emit as one record per file. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filetype` | [Optional](../../models/shared/SourceGoogleDriveSchemasStreamsFormatFormatFiletype.md) | :heavy_minus_sign: | N/A | +| `processing` | [Optional](../../models/shared/SourceGoogleDriveProcessing.md) | :heavy_minus_sign: | Processing configuration | +| `skipUnprocessableFiles` | *Optional* | :heavy_minus_sign: | If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. | +| `strategy` | [Optional](../../models/shared/SourceGoogleDriveParsingStrategy.md) | :heavy_minus_sign: | The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveFileBasedStreamConfig.md b/docs/models/shared/SourceGoogleDriveFileBasedStreamConfig.md new file mode 100644 index 000000000..6aa93f373 --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveFileBasedStreamConfig.md @@ -0,0 +1,15 @@ +# SourceGoogleDriveFileBasedStreamConfig + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `daysToSyncIfHistoryIsFull` | *Optional* | :heavy_minus_sign: | When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. | +| `format` | [com.airbyte.api.models.shared.SourceGoogleDriveFormat](../../models/shared/SourceGoogleDriveFormat.md) | :heavy_check_mark: | The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. | +| `globs` | List<*String*> | :heavy_minus_sign: | The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look here. | +| `inputSchema` | *Optional* | :heavy_minus_sign: | The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. | +| `name` | *String* | :heavy_check_mark: | The name of the stream. | +| `primaryKey` | *Optional* | :heavy_minus_sign: | The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. | +| `schemaless` | *Optional* | :heavy_minus_sign: | When enabled, syncs will not validate or structure records against the stream's schema. | +| `validationPolicy` | [Optional](../../models/shared/SourceGoogleDriveValidationPolicy.md) | :heavy_minus_sign: | The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveFiletype.md b/docs/models/shared/SourceGoogleDriveFiletype.md new file mode 100644 index 000000000..4d70d3fcd --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveFiletype.md @@ -0,0 +1,8 @@ +# SourceGoogleDriveFiletype + + +## Values + +| Name | Value | +| ------ | ------ | +| `AVRO` | avro | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveFormat.md b/docs/models/shared/SourceGoogleDriveFormat.md new file mode 100644 index 000000000..7f7eb6b86 --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveFormat.md @@ -0,0 +1,4 @@ +# SourceGoogleDriveFormat + +The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + diff --git a/docs/models/shared/SourceGoogleDriveFromCSV.md b/docs/models/shared/SourceGoogleDriveFromCSV.md new file mode 100644 index 000000000..fd2e15877 --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveFromCSV.md @@ -0,0 +1,8 @@ +# SourceGoogleDriveFromCSV + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `headerDefinitionType` | [Optional](../../models/shared/SourceGoogleDriveHeaderDefinitionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveGoogleDrive.md b/docs/models/shared/SourceGoogleDriveGoogleDrive.md new file mode 100644 index 000000000..4dc05f69f --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveGoogleDrive.md @@ -0,0 +1,8 @@ +# SourceGoogleDriveGoogleDrive + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `GOOGLE_DRIVE` | google-drive | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveHeaderDefinitionType.md b/docs/models/shared/SourceGoogleDriveHeaderDefinitionType.md new file mode 100644 index 000000000..0f2d840d8 --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveHeaderDefinitionType.md @@ -0,0 +1,8 @@ +# SourceGoogleDriveHeaderDefinitionType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `FROM_CSV` | From CSV | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveJsonlFormat.md b/docs/models/shared/SourceGoogleDriveJsonlFormat.md new file mode 100644 index 000000000..25c4f7d21 --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveJsonlFormat.md @@ -0,0 +1,8 @@ +# SourceGoogleDriveJsonlFormat + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filetype` | [Optional](../../models/shared/SourceGoogleDriveSchemasStreamsFiletype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveLocal.md b/docs/models/shared/SourceGoogleDriveLocal.md new file mode 100644 index 000000000..5441f3807 --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveLocal.md @@ -0,0 +1,10 @@ +# SourceGoogleDriveLocal + +Process files locally, supporting `fast` and `ocr` modes. This is the default option. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/SourceGoogleDriveMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveMode.md b/docs/models/shared/SourceGoogleDriveMode.md new file mode 100644 index 000000000..ca027cc2f --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveMode.md @@ -0,0 +1,8 @@ +# SourceGoogleDriveMode + + +## Values + +| Name | Value | +| ------- | ------- | +| `LOCAL` | local | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveParquetFormat.md b/docs/models/shared/SourceGoogleDriveParquetFormat.md new file mode 100644 index 000000000..3a28edfe4 --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveParquetFormat.md @@ -0,0 +1,9 @@ +# SourceGoogleDriveParquetFormat + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `decimalAsFloat` | *Optional* | :heavy_minus_sign: | Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. | +| `filetype` | [Optional](../../models/shared/SourceGoogleDriveSchemasStreamsFormatFiletype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveParsingStrategy.md b/docs/models/shared/SourceGoogleDriveParsingStrategy.md new file mode 100644 index 000000000..abb1a9ab0 --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveParsingStrategy.md @@ -0,0 +1,13 @@ +# SourceGoogleDriveParsingStrategy + +The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `AUTO` | auto | +| `FAST` | fast | +| `OCR_ONLY` | ocr_only | +| `HI_RES` | hi_res | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveProcessing.md b/docs/models/shared/SourceGoogleDriveProcessing.md new file mode 100644 index 000000000..7159328de --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveProcessing.md @@ -0,0 +1,4 @@ +# SourceGoogleDriveProcessing + +Processing configuration + diff --git a/docs/models/shared/SourceGoogleDriveSchemasAuthType.md b/docs/models/shared/SourceGoogleDriveSchemasAuthType.md new file mode 100644 index 000000000..357927865 --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceGoogleDriveSchemasAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `SERVICE` | Service | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveSchemasFiletype.md b/docs/models/shared/SourceGoogleDriveSchemasFiletype.md new file mode 100644 index 000000000..f11397bbc --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveSchemasFiletype.md @@ -0,0 +1,8 @@ +# SourceGoogleDriveSchemasFiletype + + +## Values + +| Name | Value | +| ----- | ----- | +| `CSV` | csv | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveSchemasHeaderDefinitionType.md b/docs/models/shared/SourceGoogleDriveSchemasHeaderDefinitionType.md new file mode 100644 index 000000000..4f3d5b19c --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveSchemasHeaderDefinitionType.md @@ -0,0 +1,8 @@ +# SourceGoogleDriveSchemasHeaderDefinitionType + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `AUTOGENERATED` | Autogenerated | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveSchemasStreamsFiletype.md b/docs/models/shared/SourceGoogleDriveSchemasStreamsFiletype.md new file mode 100644 index 000000000..7f81747ce --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveSchemasStreamsFiletype.md @@ -0,0 +1,8 @@ +# SourceGoogleDriveSchemasStreamsFiletype + + +## Values + +| Name | Value | +| ------- | ------- | +| `JSONL` | jsonl | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveSchemasStreamsFormatFiletype.md b/docs/models/shared/SourceGoogleDriveSchemasStreamsFormatFiletype.md new file mode 100644 index 000000000..bd8d88759 --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveSchemasStreamsFormatFiletype.md @@ -0,0 +1,8 @@ +# SourceGoogleDriveSchemasStreamsFormatFiletype + + +## Values + +| Name | Value | +| --------- | --------- | +| `PARQUET` | parquet | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveSchemasStreamsFormatFormatFiletype.md b/docs/models/shared/SourceGoogleDriveSchemasStreamsFormatFormatFiletype.md new file mode 100644 index 000000000..cb3c318fb --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveSchemasStreamsFormatFormatFiletype.md @@ -0,0 +1,8 @@ +# SourceGoogleDriveSchemasStreamsFormatFormatFiletype + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `UNSTRUCTURED` | unstructured | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveSchemasStreamsHeaderDefinitionType.md b/docs/models/shared/SourceGoogleDriveSchemasStreamsHeaderDefinitionType.md new file mode 100644 index 000000000..2320b706a --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveSchemasStreamsHeaderDefinitionType.md @@ -0,0 +1,8 @@ +# SourceGoogleDriveSchemasStreamsHeaderDefinitionType + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `USER_PROVIDED` | User Provided | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveServiceAccountKeyAuthentication.md b/docs/models/shared/SourceGoogleDriveServiceAccountKeyAuthentication.md new file mode 100644 index 000000000..ca2fa609c --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveServiceAccountKeyAuthentication.md @@ -0,0 +1,9 @@ +# SourceGoogleDriveServiceAccountKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [Optional](../../models/shared/SourceGoogleDriveSchemasAuthType.md) | :heavy_minus_sign: | N/A | +| `serviceAccountInfo` | *String* | :heavy_check_mark: | The JSON key of the service account to use for authorization. Read more here. | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveUserProvided.md b/docs/models/shared/SourceGoogleDriveUserProvided.md new file mode 100644 index 000000000..136c946d6 --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveUserProvided.md @@ -0,0 +1,9 @@ +# SourceGoogleDriveUserProvided + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `columnNames` | List<*String*> | :heavy_check_mark: | The column names that will be used while emitting the CSV records | +| `headerDefinitionType` | [Optional](../../models/shared/SourceGoogleDriveSchemasStreamsHeaderDefinitionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleDriveValidationPolicy.md b/docs/models/shared/SourceGoogleDriveValidationPolicy.md new file mode 100644 index 000000000..036d6c23b --- /dev/null +++ b/docs/models/shared/SourceGoogleDriveValidationPolicy.md @@ -0,0 +1,12 @@ +# SourceGoogleDriveValidationPolicy + +The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `EMIT_RECORD` | Emit Record | +| `SKIP_RECORD` | Skip Record | +| `WAIT_FOR_DISCOVER` | Wait for Discover | \ No newline at end of file diff --git a/docs/models/shared/SourceGooglePagespeedInsights.md b/docs/models/shared/SourceGooglePagespeedInsights.md new file mode 100644 index 000000000..6e142ae46 --- /dev/null +++ b/docs/models/shared/SourceGooglePagespeedInsights.md @@ -0,0 +1,12 @@ +# SourceGooglePagespeedInsights + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *Optional* | :heavy_minus_sign: | Google PageSpeed API Key. See here. The key is optional - however the API is heavily rate limited when using without API Key. Creating and using the API key therefore is recommended. The key is case sensitive. | | +| `categories` | List<[com.airbyte.api.models.shared.Categories](../../models/shared/Categories.md)> | :heavy_check_mark: | Defines which Lighthouse category to run. One or many of: "accessibility", "best-practices", "performance", "pwa", "seo". | | +| `sourceType` | [com.airbyte.api.models.shared.GooglePagespeedInsights](../../models/shared/GooglePagespeedInsights.md) | :heavy_check_mark: | N/A | | +| `strategies` | List<[com.airbyte.api.models.shared.Strategies](../../models/shared/Strategies.md)> | :heavy_check_mark: | The analyses strategy to use. Either "desktop" or "mobile". | | +| `urls` | List<*String*> | :heavy_check_mark: | The URLs to retrieve pagespeed information from. The connector will attempt to sync PageSpeed reports for all the defined URLs. Format: https://(www.)url.domain | https://example.com | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleSearchConsole.md b/docs/models/shared/SourceGoogleSearchConsole.md new file mode 100644 index 000000000..fd1340656 --- /dev/null +++ b/docs/models/shared/SourceGoogleSearchConsole.md @@ -0,0 +1,15 @@ +# SourceGoogleSearchConsole + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `authorization` | [com.airbyte.api.models.shared.AuthenticationType](../../models/shared/AuthenticationType.md) | :heavy_check_mark: | N/A | | +| `customReports` | *Optional* | :heavy_minus_sign: | (DEPRCATED) A JSON array describing the custom reports you want to sync from Google Search Console. See our documentation for more information on formulating custom reports. | | +| `customReportsArray` | List<[com.airbyte.api.models.shared.SourceGoogleSearchConsoleCustomReportConfig](../../models/shared/SourceGoogleSearchConsoleCustomReportConfig.md)> | :heavy_minus_sign: | You can add your Custom Analytics report by creating one. | | +| `dataState` | [Optional](../../models/shared/DataFreshness.md) | :heavy_minus_sign: | If set to 'final', the returned data will include only finalized, stable data. If set to 'all', fresh data will be included. When using Incremental sync mode, we do not recommend setting this parameter to 'all' as it may cause data loss. More information can be found in our full documentation. | final | +| `endDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | UTC date in the format YYYY-MM-DD. Any data created after this date will not be replicated. Must be greater or equal to the start date field. Leaving this field blank will replicate all data from the start date onward. | 2021-12-12 | +| `siteUrls` | List<*String*> | :heavy_check_mark: | The URLs of the website property attached to your GSC account. Learn more about properties here. | https://example1.com/ | +| `sourceType` | [com.airbyte.api.models.shared.SourceGoogleSearchConsoleGoogleSearchConsole](../../models/shared/SourceGoogleSearchConsoleGoogleSearchConsole.md) | :heavy_check_mark: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. | | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleSearchConsoleAuthType.md b/docs/models/shared/SourceGoogleSearchConsoleAuthType.md new file mode 100644 index 000000000..392aec0dc --- /dev/null +++ b/docs/models/shared/SourceGoogleSearchConsoleAuthType.md @@ -0,0 +1,8 @@ +# SourceGoogleSearchConsoleAuthType + + +## Values + +| Name | Value | +| -------- | -------- | +| `CLIENT` | Client | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleSearchConsoleCustomReportConfig.md b/docs/models/shared/SourceGoogleSearchConsoleCustomReportConfig.md new file mode 100644 index 000000000..bb637d4fc --- /dev/null +++ b/docs/models/shared/SourceGoogleSearchConsoleCustomReportConfig.md @@ -0,0 +1,9 @@ +# SourceGoogleSearchConsoleCustomReportConfig + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `dimensions` | List<[com.airbyte.api.models.shared.SourceGoogleSearchConsoleValidEnums](../../models/shared/SourceGoogleSearchConsoleValidEnums.md)> | :heavy_check_mark: | A list of available dimensions. Please note, that for technical reasons `date` is the default dimension which will be included in your query whether you specify it or not. Primary key will consist of your custom dimensions and the default dimension along with `site_url` and `search_type`. | +| `name` | *String* | :heavy_check_mark: | The name of the custom report, this name would be used as stream name | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleSearchConsoleGoogleSearchConsole.md b/docs/models/shared/SourceGoogleSearchConsoleGoogleSearchConsole.md new file mode 100644 index 000000000..f99baa462 --- /dev/null +++ b/docs/models/shared/SourceGoogleSearchConsoleGoogleSearchConsole.md @@ -0,0 +1,8 @@ +# SourceGoogleSearchConsoleGoogleSearchConsole + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `GOOGLE_SEARCH_CONSOLE` | google-search-console | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleSearchConsoleOAuth.md b/docs/models/shared/SourceGoogleSearchConsoleOAuth.md new file mode 100644 index 000000000..358e65f1e --- /dev/null +++ b/docs/models/shared/SourceGoogleSearchConsoleOAuth.md @@ -0,0 +1,12 @@ +# SourceGoogleSearchConsoleOAuth + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *Optional* | :heavy_minus_sign: | Access token for making authenticated requests. Read more here. | +| `authType` | [com.airbyte.api.models.shared.SourceGoogleSearchConsoleAuthType](../../models/shared/SourceGoogleSearchConsoleAuthType.md) | :heavy_check_mark: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The client ID of your Google Search Console developer application. Read more here. | +| `clientSecret` | *String* | :heavy_check_mark: | The client secret of your Google Search Console developer application. Read more here. | +| `refreshToken` | *String* | :heavy_check_mark: | The token for obtaining a new access token. Read more here. | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleSearchConsoleSchemasAuthType.md b/docs/models/shared/SourceGoogleSearchConsoleSchemasAuthType.md new file mode 100644 index 000000000..66146e329 --- /dev/null +++ b/docs/models/shared/SourceGoogleSearchConsoleSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceGoogleSearchConsoleSchemasAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `SERVICE` | Service | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleSearchConsoleServiceAccountKeyAuthentication.md b/docs/models/shared/SourceGoogleSearchConsoleServiceAccountKeyAuthentication.md new file mode 100644 index 000000000..447a9a053 --- /dev/null +++ b/docs/models/shared/SourceGoogleSearchConsoleServiceAccountKeyAuthentication.md @@ -0,0 +1,10 @@ +# SourceGoogleSearchConsoleServiceAccountKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [com.airbyte.api.models.shared.SourceGoogleSearchConsoleSchemasAuthType](../../models/shared/SourceGoogleSearchConsoleSchemasAuthType.md) | :heavy_check_mark: | N/A | | +| `email` | *String* | :heavy_check_mark: | The email of the user which has permissions to access the Google Workspace Admin APIs. | | +| `serviceAccountInfo` | *String* | :heavy_check_mark: | The JSON key of the service account to use for authorization. Read more here. | { "type": "service_account", "project_id": YOUR_PROJECT_ID, "private_key_id": YOUR_PRIVATE_KEY, ... } | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleSearchConsoleValidEnums.md b/docs/models/shared/SourceGoogleSearchConsoleValidEnums.md new file mode 100644 index 000000000..a4c03056b --- /dev/null +++ b/docs/models/shared/SourceGoogleSearchConsoleValidEnums.md @@ -0,0 +1,14 @@ +# SourceGoogleSearchConsoleValidEnums + +An enumeration of dimensions. + + +## Values + +| Name | Value | +| --------- | --------- | +| `COUNTRY` | country | +| `DATE` | date | +| `DEVICE` | device | +| `PAGE` | page | +| `QUERY` | query | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleSheets.md b/docs/models/shared/SourceGoogleSheets.md new file mode 100644 index 000000000..c30f1766c --- /dev/null +++ b/docs/models/shared/SourceGoogleSheets.md @@ -0,0 +1,11 @@ +# SourceGoogleSheets + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [com.airbyte.api.models.shared.SourceGoogleSheetsAuthentication](../../models/shared/SourceGoogleSheetsAuthentication.md) | :heavy_check_mark: | Credentials for connecting to the Google Sheets API | | +| `namesConversion` | *Optional* | :heavy_minus_sign: | Enables the conversion of column names to a standardized, SQL-compliant format. For example, 'My Name' -> 'my_name'. Enable this option if your destination is SQL-based. | | +| `sourceType` | [com.airbyte.api.models.shared.SourceGoogleSheetsGoogleSheets](../../models/shared/SourceGoogleSheetsGoogleSheets.md) | :heavy_check_mark: | N/A | | +| `spreadsheetId` | *String* | :heavy_check_mark: | Enter the link to the Google spreadsheet you want to sync. To copy the link, click the 'Share' button in the top-right corner of the spreadsheet, then click 'Copy link'. | https://docs.google.com/spreadsheets/d/1hLd9Qqti3UyLXZB2aFfUWDT7BG-arw2xy4HR3D-dwUb/edit | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleSheetsAuthType.md b/docs/models/shared/SourceGoogleSheetsAuthType.md new file mode 100644 index 000000000..3cca146e7 --- /dev/null +++ b/docs/models/shared/SourceGoogleSheetsAuthType.md @@ -0,0 +1,8 @@ +# SourceGoogleSheetsAuthType + + +## Values + +| Name | Value | +| -------- | -------- | +| `CLIENT` | Client | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleSheetsAuthenticateViaGoogleOAuth.md b/docs/models/shared/SourceGoogleSheetsAuthenticateViaGoogleOAuth.md new file mode 100644 index 000000000..3a83e1dca --- /dev/null +++ b/docs/models/shared/SourceGoogleSheetsAuthenticateViaGoogleOAuth.md @@ -0,0 +1,11 @@ +# SourceGoogleSheetsAuthenticateViaGoogleOAuth + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [com.airbyte.api.models.shared.SourceGoogleSheetsAuthType](../../models/shared/SourceGoogleSheetsAuthType.md) | :heavy_check_mark: | N/A | +| `clientId` | *String* | :heavy_check_mark: | Enter your Google application's Client ID. See Google's documentation for more information. | +| `clientSecret` | *String* | :heavy_check_mark: | Enter your Google application's Client Secret. See Google's documentation for more information. | +| `refreshToken` | *String* | :heavy_check_mark: | Enter your Google application's refresh token. See Google's documentation for more information. | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleSheetsAuthentication.md b/docs/models/shared/SourceGoogleSheetsAuthentication.md new file mode 100644 index 000000000..270003c28 --- /dev/null +++ b/docs/models/shared/SourceGoogleSheetsAuthentication.md @@ -0,0 +1,4 @@ +# SourceGoogleSheetsAuthentication + +Credentials for connecting to the Google Sheets API + diff --git a/docs/models/shared/SourceGoogleSheetsGoogleSheets.md b/docs/models/shared/SourceGoogleSheetsGoogleSheets.md new file mode 100644 index 000000000..ec08a5a0d --- /dev/null +++ b/docs/models/shared/SourceGoogleSheetsGoogleSheets.md @@ -0,0 +1,8 @@ +# SourceGoogleSheetsGoogleSheets + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `GOOGLE_SHEETS` | google-sheets | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleSheetsSchemasAuthType.md b/docs/models/shared/SourceGoogleSheetsSchemasAuthType.md new file mode 100644 index 000000000..55d4a4d33 --- /dev/null +++ b/docs/models/shared/SourceGoogleSheetsSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceGoogleSheetsSchemasAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `SERVICE` | Service | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleSheetsServiceAccountKeyAuthentication.md b/docs/models/shared/SourceGoogleSheetsServiceAccountKeyAuthentication.md new file mode 100644 index 000000000..8b56a7f6f --- /dev/null +++ b/docs/models/shared/SourceGoogleSheetsServiceAccountKeyAuthentication.md @@ -0,0 +1,9 @@ +# SourceGoogleSheetsServiceAccountKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [com.airbyte.api.models.shared.SourceGoogleSheetsSchemasAuthType](../../models/shared/SourceGoogleSheetsSchemasAuthType.md) | :heavy_check_mark: | N/A | | +| `serviceAccountInfo` | *String* | :heavy_check_mark: | The JSON key of the service account to use for authorization. Read more here. | { "type": "service_account", "project_id": YOUR_PROJECT_ID, "private_key_id": YOUR_PRIVATE_KEY, ... } | \ No newline at end of file diff --git a/docs/models/shared/SourceGoogleWebfonts.md b/docs/models/shared/SourceGoogleWebfonts.md new file mode 100644 index 000000000..ed395c2a3 --- /dev/null +++ b/docs/models/shared/SourceGoogleWebfonts.md @@ -0,0 +1,12 @@ +# SourceGoogleWebfonts + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| `alt` | *Optional* | :heavy_minus_sign: | Optional, Available params- json, media, proto | +| `apiKey` | *String* | :heavy_check_mark: | API key is required to access google apis, For getting your's goto google console and generate api key for Webfonts | +| `prettyPrint` | *Optional* | :heavy_minus_sign: | Optional, boolean type | +| `sort` | *Optional* | :heavy_minus_sign: | Optional, to find how to sort | +| `sourceType` | [com.airbyte.api.models.shared.GoogleWebfonts](../../models/shared/GoogleWebfonts.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGreenhouse.md b/docs/models/shared/SourceGreenhouse.md new file mode 100644 index 000000000..f36008b1a --- /dev/null +++ b/docs/models/shared/SourceGreenhouse.md @@ -0,0 +1,9 @@ +# SourceGreenhouse + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Greenhouse API Key. See the docs for more information on how to generate this key. | +| `sourceType` | [com.airbyte.api.models.shared.Greenhouse](../../models/shared/Greenhouse.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceGridly.md b/docs/models/shared/SourceGridly.md new file mode 100644 index 000000000..2df2a6d9c --- /dev/null +++ b/docs/models/shared/SourceGridly.md @@ -0,0 +1,10 @@ +# SourceGridly + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | N/A | +| `gridId` | *String* | :heavy_check_mark: | ID of a grid, or can be ID of a branch | +| `sourceType` | [com.airbyte.api.models.shared.Gridly](../../models/shared/Gridly.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceHarvest.md b/docs/models/shared/SourceHarvest.md new file mode 100644 index 000000000..f83f910dd --- /dev/null +++ b/docs/models/shared/SourceHarvest.md @@ -0,0 +1,12 @@ +# SourceHarvest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `accountId` | *String* | :heavy_check_mark: | Harvest account ID. Required for all Harvest requests in pair with Personal Access Token | | +| `credentials` | *Optional* | :heavy_minus_sign: | Choose how to authenticate to Harvest. | | +| `replicationEndDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data after this date will not be replicated. | 2017-01-25T00:00:00Z | +| `replicationStartDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. | 2017-01-25T00:00:00Z | +| `sourceType` | [com.airbyte.api.models.shared.SourceHarvestHarvest](../../models/shared/SourceHarvestHarvest.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourceHarvestHarvest.md b/docs/models/shared/SourceHarvestHarvest.md new file mode 100644 index 000000000..4b1048e3f --- /dev/null +++ b/docs/models/shared/SourceHarvestHarvest.md @@ -0,0 +1,8 @@ +# SourceHarvestHarvest + + +## Values + +| Name | Value | +| --------- | --------- | +| `HARVEST` | harvest | \ No newline at end of file diff --git a/docs/models/shared/SourceHubplanner.md b/docs/models/shared/SourceHubplanner.md new file mode 100644 index 000000000..b8596fcaa --- /dev/null +++ b/docs/models/shared/SourceHubplanner.md @@ -0,0 +1,9 @@ +# SourceHubplanner + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `apiKey` | *String* | :heavy_check_mark: | Hubplanner API key. See https://github.com/hubplanner/API#authentication for more details. | +| `sourceType` | [com.airbyte.api.models.shared.Hubplanner](../../models/shared/Hubplanner.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceHubspot.md b/docs/models/shared/SourceHubspot.md new file mode 100644 index 000000000..ce51825b1 --- /dev/null +++ b/docs/models/shared/SourceHubspot.md @@ -0,0 +1,11 @@ +# SourceHubspot + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [com.airbyte.api.models.shared.SourceHubspotAuthentication](../../models/shared/SourceHubspotAuthentication.md) | :heavy_check_mark: | Choose how to authenticate to HubSpot. | | +| `enableExperimentalStreams` | *Optional* | :heavy_minus_sign: | If enabled then experimental streams become available for sync. | | +| `sourceType` | [com.airbyte.api.models.shared.SourceHubspotHubspot](../../models/shared/SourceHubspotHubspot.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. If not set, "2006-06-01T00:00:00Z" (Hubspot creation date) will be used as start date. It's recommended to provide relevant to your data start date value to optimize synchronization. | 2017-01-25T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceHubspotAuthType.md b/docs/models/shared/SourceHubspotAuthType.md new file mode 100644 index 000000000..f92f3288c --- /dev/null +++ b/docs/models/shared/SourceHubspotAuthType.md @@ -0,0 +1,10 @@ +# SourceHubspotAuthType + +Name of the credentials + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `O_AUTH_CREDENTIALS` | OAuth Credentials | \ No newline at end of file diff --git a/docs/models/shared/SourceHubspotAuthentication.md b/docs/models/shared/SourceHubspotAuthentication.md new file mode 100644 index 000000000..62d4c1167 --- /dev/null +++ b/docs/models/shared/SourceHubspotAuthentication.md @@ -0,0 +1,4 @@ +# SourceHubspotAuthentication + +Choose how to authenticate to HubSpot. + diff --git a/docs/models/shared/SourceHubspotHubspot.md b/docs/models/shared/SourceHubspotHubspot.md new file mode 100644 index 000000000..378102919 --- /dev/null +++ b/docs/models/shared/SourceHubspotHubspot.md @@ -0,0 +1,8 @@ +# SourceHubspotHubspot + + +## Values + +| Name | Value | +| --------- | --------- | +| `HUBSPOT` | hubspot | \ No newline at end of file diff --git a/docs/models/shared/SourceHubspotOAuth.md b/docs/models/shared/SourceHubspotOAuth.md new file mode 100644 index 000000000..7b01b29d4 --- /dev/null +++ b/docs/models/shared/SourceHubspotOAuth.md @@ -0,0 +1,11 @@ +# SourceHubspotOAuth + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your HubSpot developer application. See the Hubspot docs if you need help finding this ID. | 123456789000 | +| `clientSecret` | *String* | :heavy_check_mark: | The client secret for your HubSpot developer application. See the Hubspot docs if you need help finding this secret. | secret | +| `credentialsTitle` | [com.airbyte.api.models.shared.SourceHubspotAuthType](../../models/shared/SourceHubspotAuthType.md) | :heavy_check_mark: | Name of the credentials | | +| `refreshToken` | *String* | :heavy_check_mark: | Refresh token to renew an expired access token. See the Hubspot docs if you need help finding this token. | refresh_token | \ No newline at end of file diff --git a/docs/models/shared/SourceHubspotSchemasAuthType.md b/docs/models/shared/SourceHubspotSchemasAuthType.md new file mode 100644 index 000000000..583881526 --- /dev/null +++ b/docs/models/shared/SourceHubspotSchemasAuthType.md @@ -0,0 +1,10 @@ +# SourceHubspotSchemasAuthType + +Name of the credentials set + + +## Values + +| Name | Value | +| ------------------------- | ------------------------- | +| `PRIVATE_APP_CREDENTIALS` | Private App Credentials | \ No newline at end of file diff --git a/docs/models/shared/SourceInsightly.md b/docs/models/shared/SourceInsightly.md new file mode 100644 index 000000000..7c73b860c --- /dev/null +++ b/docs/models/shared/SourceInsightly.md @@ -0,0 +1,10 @@ +# SourceInsightly + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sourceType` | [com.airbyte.api.models.shared.Insightly](../../models/shared/Insightly.md) | :heavy_check_mark: | N/A | | +| `startDate` | *Optional* | :heavy_check_mark: | The date from which you'd like to replicate data for Insightly in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. Note that it will be used only for incremental streams. | 2021-03-01T00:00:00Z | +| `token` | *Optional* | :heavy_check_mark: | Your Insightly API token. | | \ No newline at end of file diff --git a/docs/models/shared/SourceInstagram.md b/docs/models/shared/SourceInstagram.md new file mode 100644 index 000000000..a2cdad3a7 --- /dev/null +++ b/docs/models/shared/SourceInstagram.md @@ -0,0 +1,12 @@ +# SourceInstagram + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | The value of the access token generated with instagram_basic, instagram_manage_insights, pages_show_list, pages_read_engagement, Instagram Public Content Access permissions. See the docs for more information | | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID for your Oauth application | | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret for your Oauth application | | +| `sourceType` | [com.airbyte.api.models.shared.SourceInstagramInstagram](../../models/shared/SourceInstagramInstagram.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The date from which you'd like to replicate data for User Insights, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. If left blank, the start date will be set to 2 years before the present date. | 2017-01-25T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceInstagramInstagram.md b/docs/models/shared/SourceInstagramInstagram.md new file mode 100644 index 000000000..1a12224cb --- /dev/null +++ b/docs/models/shared/SourceInstagramInstagram.md @@ -0,0 +1,8 @@ +# SourceInstagramInstagram + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `INSTAGRAM` | instagram | \ No newline at end of file diff --git a/docs/models/shared/SourceInstatus.md b/docs/models/shared/SourceInstatus.md new file mode 100644 index 000000000..e704accd9 --- /dev/null +++ b/docs/models/shared/SourceInstatus.md @@ -0,0 +1,9 @@ +# SourceInstatus + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Instatus REST API key | +| `sourceType` | [com.airbyte.api.models.shared.Instatus](../../models/shared/Instatus.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceIntercom.md b/docs/models/shared/SourceIntercom.md new file mode 100644 index 000000000..a292398f1 --- /dev/null +++ b/docs/models/shared/SourceIntercom.md @@ -0,0 +1,12 @@ +# SourceIntercom + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Access token for making authenticated requests. See the Intercom docs for more information. | | +| `clientId` | *Optional* | :heavy_minus_sign: | Client Id for your Intercom application. | | +| `clientSecret` | *Optional* | :heavy_minus_sign: | Client Secret for your Intercom application. | | +| `sourceType` | [com.airbyte.api.models.shared.SourceIntercomIntercom](../../models/shared/SourceIntercomIntercom.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. | 2020-11-16T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceIntercomIntercom.md b/docs/models/shared/SourceIntercomIntercom.md new file mode 100644 index 000000000..5b16ffdd9 --- /dev/null +++ b/docs/models/shared/SourceIntercomIntercom.md @@ -0,0 +1,8 @@ +# SourceIntercomIntercom + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `INTERCOM` | intercom | \ No newline at end of file diff --git a/docs/models/shared/SourceIp2whois.md b/docs/models/shared/SourceIp2whois.md new file mode 100644 index 000000000..aa8112cc0 --- /dev/null +++ b/docs/models/shared/SourceIp2whois.md @@ -0,0 +1,10 @@ +# SourceIp2whois + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `apiKey` | *Optional* | :heavy_minus_sign: | Your API Key. See here. | | +| `domain` | *Optional* | :heavy_minus_sign: | Domain name. See here. | www.google.com | +| `sourceType` | [Optional](../../models/shared/Ip2whois.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourceIterable.md b/docs/models/shared/SourceIterable.md new file mode 100644 index 000000000..5cd659abc --- /dev/null +++ b/docs/models/shared/SourceIterable.md @@ -0,0 +1,10 @@ +# SourceIterable + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Iterable API Key. See the docs for more information on how to obtain this key. | | +| `sourceType` | [com.airbyte.api.models.shared.Iterable](../../models/shared/Iterable.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | The date from which you'd like to replicate data for Iterable, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. | 2021-04-01T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceJira.md b/docs/models/shared/SourceJira.md new file mode 100644 index 000000000..78ab61707 --- /dev/null +++ b/docs/models/shared/SourceJira.md @@ -0,0 +1,19 @@ +# SourceJira + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiToken` | *String* | :heavy_check_mark: | Jira API Token. See the docs for more information on how to generate this key. API Token is used for Authorization to your account by BasicAuth. | | +| `domain` | *String* | :heavy_check_mark: | The Domain for your Jira account, e.g. airbyteio.atlassian.net, airbyteio.jira.com, jira.your-domain.com | .atlassian.net | +| `email` | *String* | :heavy_check_mark: | The user email for your Jira account which you used to generate the API token. This field is used for Authorization to your account by BasicAuth. | | +| `enableExperimentalStreams` | *Optional* | :heavy_minus_sign: | Allow the use of experimental streams which rely on undocumented Jira API endpoints. See https://docs.airbyte.com/integrations/sources/jira#experimental-tables for more info. | | +| `expandIssueChangelog` | *Optional* | :heavy_minus_sign: | (DEPRECATED) Expand the changelog when replicating issues. | | +| `expandIssueTransition` | *Optional* | :heavy_minus_sign: | (DEPRECATED) Expand the transitions when replicating issues. | | +| `issuesStreamExpandWith` | List<[com.airbyte.api.models.shared.IssuesStreamExpandWith](../../models/shared/IssuesStreamExpandWith.md)> | :heavy_minus_sign: | Select fields to Expand the `Issues` stream when replicating with: | | +| `lookbackWindowMinutes` | *Optional* | :heavy_minus_sign: | When set to N, the connector will always refresh resources created within the past N minutes. By default, updated objects that are not newly created are not incrementally synced. | 60 | +| `projects` | List<*String*> | :heavy_minus_sign: | List of Jira project keys to replicate data for, or leave it empty if you want to replicate data for all projects. | PROJ1 | +| `renderFields` | *Optional* | :heavy_minus_sign: | (DEPRECATED) Render issue fields in HTML format in addition to Jira JSON-like format. | | +| `sourceType` | [com.airbyte.api.models.shared.Jira](../../models/shared/Jira.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The date from which you want to replicate data from Jira, use the format YYYY-MM-DDT00:00:00Z. Note that this field only applies to certain streams, and only data generated on or after the start date will be replicated. Or leave it empty if you want to replicate all data. For more information, refer to the documentation. | 2021-03-01T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceK6Cloud.md b/docs/models/shared/SourceK6Cloud.md new file mode 100644 index 000000000..2bf0a0ce1 --- /dev/null +++ b/docs/models/shared/SourceK6Cloud.md @@ -0,0 +1,9 @@ +# SourceK6Cloud + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `apiToken` | *String* | :heavy_check_mark: | Your API Token. See here. The key is case sensitive. | +| `sourceType` | [com.airbyte.api.models.shared.K6Cloud](../../models/shared/K6Cloud.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceKlarna.md b/docs/models/shared/SourceKlarna.md new file mode 100644 index 000000000..e185b1e4a --- /dev/null +++ b/docs/models/shared/SourceKlarna.md @@ -0,0 +1,12 @@ +# SourceKlarna + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `password` | *String* | :heavy_check_mark: | A string which is associated with your Merchant ID and is used to authorize use of Klarna's APIs (https://developers.klarna.com/api/#authentication) | +| `playground` | *Optional* | :heavy_minus_sign: | Propertie defining if connector is used against playground or production environment | +| `region` | [com.airbyte.api.models.shared.SourceKlarnaRegion](../../models/shared/SourceKlarnaRegion.md) | :heavy_check_mark: | Base url region (For playground eu https://docs.klarna.com/klarna-payments/api/payments-api/#tag/API-URLs). Supported 'eu', 'us', 'oc' | +| `sourceType` | [com.airbyte.api.models.shared.Klarna](../../models/shared/Klarna.md) | :heavy_check_mark: | N/A | +| `username` | *String* | :heavy_check_mark: | Consists of your Merchant ID (eid) - a unique number that identifies your e-store, combined with a random string (https://developers.klarna.com/api/#authentication) | \ No newline at end of file diff --git a/docs/models/shared/SourceKlarnaRegion.md b/docs/models/shared/SourceKlarnaRegion.md new file mode 100644 index 000000000..7bfa1769b --- /dev/null +++ b/docs/models/shared/SourceKlarnaRegion.md @@ -0,0 +1,12 @@ +# SourceKlarnaRegion + +Base url region (For playground eu https://docs.klarna.com/klarna-payments/api/payments-api/#tag/API-URLs). Supported 'eu', 'us', 'oc' + + +## Values + +| Name | Value | +| ----- | ----- | +| `EU` | eu | +| `US` | us | +| `OC` | oc | \ No newline at end of file diff --git a/docs/models/shared/SourceKlaviyo.md b/docs/models/shared/SourceKlaviyo.md new file mode 100644 index 000000000..d51abe2e5 --- /dev/null +++ b/docs/models/shared/SourceKlaviyo.md @@ -0,0 +1,10 @@ +# SourceKlaviyo + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `apiKey` | *String* | :heavy_check_mark: | Klaviyo API Key. See our docs if you need help finding this key. | | +| `sourceType` | [com.airbyte.api.models.shared.Klaviyo](../../models/shared/Klaviyo.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. This field is optional - if not provided, all data will be replicated. | 2017-01-25T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceKyve.md b/docs/models/shared/SourceKyve.md new file mode 100644 index 000000000..b801779af --- /dev/null +++ b/docs/models/shared/SourceKyve.md @@ -0,0 +1,13 @@ +# SourceKyve + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `maxPages` | *Optional* | :heavy_minus_sign: | The maximum amount of pages to go trough. Set to 'null' for all pages. | | +| `pageSize` | *Optional* | :heavy_minus_sign: | The pagesize for pagination, smaller numbers are used in integration tests. | | +| `poolIds` | *String* | :heavy_check_mark: | The IDs of the KYVE storage pool you want to archive. (Comma separated) | 0 | +| `sourceType` | [com.airbyte.api.models.shared.Kyve](../../models/shared/Kyve.md) | :heavy_check_mark: | N/A | | +| `startIds` | *String* | :heavy_check_mark: | The start-id defines, from which bundle id the pipeline should start to extract the data. (Comma separated) | 0 | +| `urlBase` | *Optional* | :heavy_minus_sign: | URL to the KYVE Chain API. | https://api.kaon.kyve.network/ | \ No newline at end of file diff --git a/docs/models/shared/SourceLaunchdarkly.md b/docs/models/shared/SourceLaunchdarkly.md new file mode 100644 index 000000000..af5e6c14b --- /dev/null +++ b/docs/models/shared/SourceLaunchdarkly.md @@ -0,0 +1,9 @@ +# SourceLaunchdarkly + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `accessToken` | *String* | :heavy_check_mark: | Your Access token. See here. | +| `sourceType` | [com.airbyte.api.models.shared.Launchdarkly](../../models/shared/Launchdarkly.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceLemlist.md b/docs/models/shared/SourceLemlist.md new file mode 100644 index 000000000..8cb8fb822 --- /dev/null +++ b/docs/models/shared/SourceLemlist.md @@ -0,0 +1,9 @@ +# SourceLemlist + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Lemlist API key, | +| `sourceType` | [com.airbyte.api.models.shared.Lemlist](../../models/shared/Lemlist.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceLeverHiring.md b/docs/models/shared/SourceLeverHiring.md new file mode 100644 index 000000000..19742db24 --- /dev/null +++ b/docs/models/shared/SourceLeverHiring.md @@ -0,0 +1,11 @@ +# SourceLeverHiring + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/SourceLeverHiringAuthenticationMechanism.md) | :heavy_minus_sign: | Choose how to authenticate to Lever Hiring. | | +| `environment` | [Optional](../../models/shared/SourceLeverHiringEnvironment.md) | :heavy_minus_sign: | The environment in which you'd like to replicate data for Lever. This is used to determine which Lever API endpoint to use. | | +| `sourceType` | [com.airbyte.api.models.shared.SourceLeverHiringLeverHiring](../../models/shared/SourceLeverHiringLeverHiring.md) | :heavy_check_mark: | N/A | | +| `startDate` | *String* | :heavy_check_mark: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. Note that it will be used only in the following incremental streams: comments, commits, and issues. | 2021-03-01T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceLeverHiringAuthType.md b/docs/models/shared/SourceLeverHiringAuthType.md new file mode 100644 index 000000000..0f3614344 --- /dev/null +++ b/docs/models/shared/SourceLeverHiringAuthType.md @@ -0,0 +1,8 @@ +# SourceLeverHiringAuthType + + +## Values + +| Name | Value | +| -------- | -------- | +| `CLIENT` | Client | \ No newline at end of file diff --git a/docs/models/shared/SourceLeverHiringAuthenticationMechanism.md b/docs/models/shared/SourceLeverHiringAuthenticationMechanism.md new file mode 100644 index 000000000..41e17dd7b --- /dev/null +++ b/docs/models/shared/SourceLeverHiringAuthenticationMechanism.md @@ -0,0 +1,4 @@ +# SourceLeverHiringAuthenticationMechanism + +Choose how to authenticate to Lever Hiring. + diff --git a/docs/models/shared/SourceLeverHiringEnvironment.md b/docs/models/shared/SourceLeverHiringEnvironment.md new file mode 100644 index 000000000..1e97c6a1e --- /dev/null +++ b/docs/models/shared/SourceLeverHiringEnvironment.md @@ -0,0 +1,11 @@ +# SourceLeverHiringEnvironment + +The environment in which you'd like to replicate data for Lever. This is used to determine which Lever API endpoint to use. + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `PRODUCTION` | Production | +| `SANDBOX` | Sandbox | \ No newline at end of file diff --git a/docs/models/shared/SourceLeverHiringLeverHiring.md b/docs/models/shared/SourceLeverHiringLeverHiring.md new file mode 100644 index 000000000..809cd6279 --- /dev/null +++ b/docs/models/shared/SourceLeverHiringLeverHiring.md @@ -0,0 +1,8 @@ +# SourceLeverHiringLeverHiring + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `LEVER_HIRING` | lever-hiring | \ No newline at end of file diff --git a/docs/models/shared/SourceLeverHiringSchemasAuthType.md b/docs/models/shared/SourceLeverHiringSchemasAuthType.md new file mode 100644 index 000000000..757b7fe82 --- /dev/null +++ b/docs/models/shared/SourceLeverHiringSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceLeverHiringSchemasAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `API_KEY` | Api Key | \ No newline at end of file diff --git a/docs/models/shared/SourceLinkedinAds.md b/docs/models/shared/SourceLinkedinAds.md new file mode 100644 index 000000000..dae01acc4 --- /dev/null +++ b/docs/models/shared/SourceLinkedinAds.md @@ -0,0 +1,12 @@ +# SourceLinkedinAds + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accountIds` | List<*long*> | :heavy_minus_sign: | Specify the account IDs to pull data from, separated by a space. Leave this field empty if you want to pull the data from all accounts accessible by the authenticated user. See the LinkedIn docs to locate these IDs. | 123456789 | +| `adAnalyticsReports` | List<[com.airbyte.api.models.shared.AdAnalyticsReportConfiguration](../../models/shared/AdAnalyticsReportConfiguration.md)> | :heavy_minus_sign: | N/A | | +| `credentials` | [Optional](../../models/shared/SourceLinkedinAdsAuthentication.md) | :heavy_minus_sign: | N/A | | +| `sourceType` | [com.airbyte.api.models.shared.SourceLinkedinAdsLinkedinAds](../../models/shared/SourceLinkedinAdsLinkedinAds.md) | :heavy_check_mark: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_check_mark: | UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. | 2021-05-17 | \ No newline at end of file diff --git a/docs/models/shared/SourceLinkedinAdsAuthMethod.md b/docs/models/shared/SourceLinkedinAdsAuthMethod.md new file mode 100644 index 000000000..2847be5f7 --- /dev/null +++ b/docs/models/shared/SourceLinkedinAdsAuthMethod.md @@ -0,0 +1,8 @@ +# SourceLinkedinAdsAuthMethod + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `O_AUTH20` | oAuth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceLinkedinAdsAuthentication.md b/docs/models/shared/SourceLinkedinAdsAuthentication.md new file mode 100644 index 000000000..110c010e2 --- /dev/null +++ b/docs/models/shared/SourceLinkedinAdsAuthentication.md @@ -0,0 +1,2 @@ +# SourceLinkedinAdsAuthentication + diff --git a/docs/models/shared/SourceLinkedinAdsLinkedinAds.md b/docs/models/shared/SourceLinkedinAdsLinkedinAds.md new file mode 100644 index 000000000..6ed51236f --- /dev/null +++ b/docs/models/shared/SourceLinkedinAdsLinkedinAds.md @@ -0,0 +1,8 @@ +# SourceLinkedinAdsLinkedinAds + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `LINKEDIN_ADS` | linkedin-ads | \ No newline at end of file diff --git a/docs/models/shared/SourceLinkedinAdsOAuth20.md b/docs/models/shared/SourceLinkedinAdsOAuth20.md new file mode 100644 index 000000000..dd54a7c8b --- /dev/null +++ b/docs/models/shared/SourceLinkedinAdsOAuth20.md @@ -0,0 +1,11 @@ +# SourceLinkedinAdsOAuth20 + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `authMethod` | [Optional](../../models/shared/SourceLinkedinAdsAuthMethod.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The client ID of your developer application. Refer to our documentation for more information. | +| `clientSecret` | *String* | :heavy_check_mark: | The client secret of your developer application. Refer to our documentation for more information. | +| `refreshToken` | *String* | :heavy_check_mark: | The key to refresh the expired access token. Refer to our documentation for more information. | \ No newline at end of file diff --git a/docs/models/shared/SourceLinkedinAdsSchemasAuthMethod.md b/docs/models/shared/SourceLinkedinAdsSchemasAuthMethod.md new file mode 100644 index 000000000..ca527ddfb --- /dev/null +++ b/docs/models/shared/SourceLinkedinAdsSchemasAuthMethod.md @@ -0,0 +1,8 @@ +# SourceLinkedinAdsSchemasAuthMethod + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `ACCESS_TOKEN` | access_token | \ No newline at end of file diff --git a/docs/models/shared/SourceLinkedinPages.md b/docs/models/shared/SourceLinkedinPages.md new file mode 100644 index 000000000..496080c04 --- /dev/null +++ b/docs/models/shared/SourceLinkedinPages.md @@ -0,0 +1,10 @@ +# SourceLinkedinPages + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/SourceLinkedinPagesAuthentication.md) | :heavy_minus_sign: | N/A | | +| `orgId` | *String* | :heavy_check_mark: | Specify the Organization ID | 123456789 | +| `sourceType` | [com.airbyte.api.models.shared.LinkedinPages](../../models/shared/LinkedinPages.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourceLinkedinPagesAccessToken.md b/docs/models/shared/SourceLinkedinPagesAccessToken.md new file mode 100644 index 000000000..80e72b9e3 --- /dev/null +++ b/docs/models/shared/SourceLinkedinPagesAccessToken.md @@ -0,0 +1,9 @@ +# SourceLinkedinPagesAccessToken + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `accessToken` | *String* | :heavy_check_mark: | The token value generated using the LinkedIn Developers OAuth Token Tools. See the docs to obtain yours. | +| `authMethod` | [Optional](../../models/shared/SourceLinkedinPagesSchemasAuthMethod.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceLinkedinPagesAuthMethod.md b/docs/models/shared/SourceLinkedinPagesAuthMethod.md new file mode 100644 index 000000000..86c5823a3 --- /dev/null +++ b/docs/models/shared/SourceLinkedinPagesAuthMethod.md @@ -0,0 +1,8 @@ +# SourceLinkedinPagesAuthMethod + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `O_AUTH20` | oAuth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceLinkedinPagesAuthentication.md b/docs/models/shared/SourceLinkedinPagesAuthentication.md new file mode 100644 index 000000000..986546263 --- /dev/null +++ b/docs/models/shared/SourceLinkedinPagesAuthentication.md @@ -0,0 +1,2 @@ +# SourceLinkedinPagesAuthentication + diff --git a/docs/models/shared/SourceLinkedinPagesOAuth20.md b/docs/models/shared/SourceLinkedinPagesOAuth20.md new file mode 100644 index 000000000..08ae8b97f --- /dev/null +++ b/docs/models/shared/SourceLinkedinPagesOAuth20.md @@ -0,0 +1,11 @@ +# SourceLinkedinPagesOAuth20 + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `authMethod` | [Optional](../../models/shared/SourceLinkedinPagesAuthMethod.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The client ID of the LinkedIn developer application. | +| `clientSecret` | *String* | :heavy_check_mark: | The client secret of the LinkedIn developer application. | +| `refreshToken` | *String* | :heavy_check_mark: | The token value generated using the LinkedIn Developers OAuth Token Tools. See the docs to obtain yours. | \ No newline at end of file diff --git a/docs/models/shared/SourceLinkedinPagesSchemasAuthMethod.md b/docs/models/shared/SourceLinkedinPagesSchemasAuthMethod.md new file mode 100644 index 000000000..918ecb164 --- /dev/null +++ b/docs/models/shared/SourceLinkedinPagesSchemasAuthMethod.md @@ -0,0 +1,8 @@ +# SourceLinkedinPagesSchemasAuthMethod + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `ACCESS_TOKEN` | access_token | \ No newline at end of file diff --git a/docs/models/shared/SourceLinnworks.md b/docs/models/shared/SourceLinnworks.md new file mode 100644 index 000000000..8a5b69018 --- /dev/null +++ b/docs/models/shared/SourceLinnworks.md @@ -0,0 +1,12 @@ +# SourceLinnworks + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `applicationId` | *String* | :heavy_check_mark: | Linnworks Application ID | +| `applicationSecret` | *String* | :heavy_check_mark: | Linnworks Application Secret | +| `sourceType` | [com.airbyte.api.models.shared.Linnworks](../../models/shared/Linnworks.md) | :heavy_check_mark: | N/A | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. | +| `token` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceLokalise.md b/docs/models/shared/SourceLokalise.md new file mode 100644 index 000000000..e54f9f048 --- /dev/null +++ b/docs/models/shared/SourceLokalise.md @@ -0,0 +1,10 @@ +# SourceLokalise + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Lokalise API Key with read-access. Available at Profile settings > API tokens. See here. | +| `projectId` | *String* | :heavy_check_mark: | Lokalise project ID. Available at Project Settings > General. | +| `sourceType` | [com.airbyte.api.models.shared.Lokalise](../../models/shared/Lokalise.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMailchimp.md b/docs/models/shared/SourceMailchimp.md new file mode 100644 index 000000000..c651aadca --- /dev/null +++ b/docs/models/shared/SourceMailchimp.md @@ -0,0 +1,11 @@ +# SourceMailchimp + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/SourceMailchimpAuthentication.md) | :heavy_minus_sign: | N/A | | +| `dataCenter` | *Optional* | :heavy_minus_sign: | Technical fields used to identify datacenter to send request to | | +| `sourceType` | [com.airbyte.api.models.shared.SourceMailchimpMailchimp](../../models/shared/SourceMailchimpMailchimp.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The date from which you want to start syncing data for Incremental streams. Only records that have been created or modified since this date will be synced. If left blank, all data will by synced. | 2020-01-01T00:00:00.000Z | \ No newline at end of file diff --git a/docs/models/shared/SourceMailchimpAuthType.md b/docs/models/shared/SourceMailchimpAuthType.md new file mode 100644 index 000000000..27d037eef --- /dev/null +++ b/docs/models/shared/SourceMailchimpAuthType.md @@ -0,0 +1,8 @@ +# SourceMailchimpAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceMailchimpAuthentication.md b/docs/models/shared/SourceMailchimpAuthentication.md new file mode 100644 index 000000000..09bfee58b --- /dev/null +++ b/docs/models/shared/SourceMailchimpAuthentication.md @@ -0,0 +1,2 @@ +# SourceMailchimpAuthentication + diff --git a/docs/models/shared/SourceMailchimpMailchimp.md b/docs/models/shared/SourceMailchimpMailchimp.md new file mode 100644 index 000000000..47db101bb --- /dev/null +++ b/docs/models/shared/SourceMailchimpMailchimp.md @@ -0,0 +1,8 @@ +# SourceMailchimpMailchimp + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `MAILCHIMP` | mailchimp | \ No newline at end of file diff --git a/docs/models/shared/SourceMailchimpOAuth20.md b/docs/models/shared/SourceMailchimpOAuth20.md new file mode 100644 index 000000000..f759aad01 --- /dev/null +++ b/docs/models/shared/SourceMailchimpOAuth20.md @@ -0,0 +1,11 @@ +# SourceMailchimpOAuth20 + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | An access token generated using the above client ID and secret. | +| `authType` | [com.airbyte.api.models.shared.SourceMailchimpAuthType](../../models/shared/SourceMailchimpAuthType.md) | :heavy_check_mark: | N/A | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your OAuth application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your OAuth application. | \ No newline at end of file diff --git a/docs/models/shared/SourceMailchimpSchemasAuthType.md b/docs/models/shared/SourceMailchimpSchemasAuthType.md new file mode 100644 index 000000000..48b0b7171 --- /dev/null +++ b/docs/models/shared/SourceMailchimpSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceMailchimpSchemasAuthType + + +## Values + +| Name | Value | +| -------- | -------- | +| `APIKEY` | apikey | \ No newline at end of file diff --git a/docs/models/shared/SourceMailgun.md b/docs/models/shared/SourceMailgun.md new file mode 100644 index 000000000..bb8e63f3c --- /dev/null +++ b/docs/models/shared/SourceMailgun.md @@ -0,0 +1,11 @@ +# SourceMailgun + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | +| `domainRegion` | *Optional* | :heavy_minus_sign: | Domain region code. 'EU' or 'US' are possible values. The default is 'US'. | | +| `privateKey` | *String* | :heavy_check_mark: | Primary account API key to access your Mailgun data. | | +| `sourceType` | [com.airbyte.api.models.shared.Mailgun](../../models/shared/Mailgun.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | UTC date and time in the format 2020-10-01 00:00:00. Any data before this date will not be replicated. If omitted, defaults to 3 days ago. | 2023-08-01T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceMailjetSms.md b/docs/models/shared/SourceMailjetSms.md new file mode 100644 index 000000000..2a63e6f30 --- /dev/null +++ b/docs/models/shared/SourceMailjetSms.md @@ -0,0 +1,11 @@ +# SourceMailjetSms + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| `endDate` | *Optional* | :heavy_minus_sign: | Retrieve SMS messages created before the specified timestamp. Required format - Unix timestamp. | 1666281656 | +| `sourceType` | [com.airbyte.api.models.shared.MailjetSms](../../models/shared/MailjetSms.md) | :heavy_check_mark: | N/A | | +| `startDate` | *Optional* | :heavy_minus_sign: | Retrieve SMS messages created after the specified timestamp. Required format - Unix timestamp. | 1666261656 | +| `token` | *String* | :heavy_check_mark: | Your access token. See here. | | \ No newline at end of file diff --git a/docs/models/shared/SourceMarketo.md b/docs/models/shared/SourceMarketo.md new file mode 100644 index 000000000..b0c2e2df4 --- /dev/null +++ b/docs/models/shared/SourceMarketo.md @@ -0,0 +1,12 @@ +# SourceMarketo + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your Marketo developer application. See the docs for info on how to obtain this. | | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret of your Marketo developer application. See the docs for info on how to obtain this. | | +| `domainUrl` | *String* | :heavy_check_mark: | Your Marketo Base URL. See the docs for info on how to obtain this. | https://000-AAA-000.mktorest.com | +| `sourceType` | [com.airbyte.api.models.shared.Marketo](../../models/shared/Marketo.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. | 2020-09-25T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceMetabase.md b/docs/models/shared/SourceMetabase.md new file mode 100644 index 000000000..4b05d53dd --- /dev/null +++ b/docs/models/shared/SourceMetabase.md @@ -0,0 +1,12 @@ +# SourceMetabase + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `instanceApiUrl` | *String* | :heavy_check_mark: | URL to your metabase instance API | https://localhost:3000/api/ | +| `password` | *Optional* | :heavy_minus_sign: | N/A | | +| `sessionToken` | *Optional* | :heavy_minus_sign: | To generate your session token, you need to run the following command: ``` curl -X POST \
    -H "Content-Type: application/json" \
    -d '{"username": "person@metabase.com", "password": "fakepassword"}' \
    http://localhost:3000/api/session
    ``` Then copy the value of the `id` field returned by a successful call to that API.
    Note that by default, sessions are good for 14 days and needs to be regenerated. | | +| `sourceType` | [com.airbyte.api.models.shared.Metabase](../../models/shared/Metabase.md) | :heavy_check_mark: | N/A | | +| `username` | *Optional* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedrive.md b/docs/models/shared/SourceMicrosoftOnedrive.md new file mode 100644 index 000000000..af1de83c5 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedrive.md @@ -0,0 +1,17 @@ +# SourceMicrosoftOnedrive + +SourceMicrosoftOneDriveSpec class for Microsoft OneDrive Source Specification. +This class combines the authentication details with additional configuration for the OneDrive API. + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [com.airbyte.api.models.shared.SourceMicrosoftOnedriveAuthentication](../../models/shared/SourceMicrosoftOnedriveAuthentication.md) | :heavy_check_mark: | Credentials for connecting to the One Drive API | | +| `driveName` | *Optional* | :heavy_minus_sign: | Name of the Microsoft OneDrive drive where the file(s) exist. | | +| `folderPath` | *Optional* | :heavy_minus_sign: | Path to a specific folder within the drives to search for files. Leave empty to search all folders of the drives. This does not apply to shared items. | | +| `searchScope` | [Optional](../../models/shared/SearchScope.md) | :heavy_minus_sign: | Specifies the location(s) to search for files. Valid options are 'ACCESSIBLE_DRIVES' to search in the selected OneDrive drive, 'SHARED_ITEMS' for shared items the user has access to, and 'ALL' to search both. | | +| `sourceType` | [com.airbyte.api.models.shared.SourceMicrosoftOnedriveMicrosoftOnedrive](../../models/shared/SourceMicrosoftOnedriveMicrosoftOnedrive.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. | 2021-01-01T00:00:00.000000Z | +| `streams` | List<[com.airbyte.api.models.shared.SourceMicrosoftOnedriveFileBasedStreamConfig](../../models/shared/SourceMicrosoftOnedriveFileBasedStreamConfig.md)> | :heavy_check_mark: | Each instance of this configuration defines a stream. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. | | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveAuthType.md b/docs/models/shared/SourceMicrosoftOnedriveAuthType.md new file mode 100644 index 000000000..dc7b3c8db --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveAuthType.md @@ -0,0 +1,8 @@ +# SourceMicrosoftOnedriveAuthType + + +## Values + +| Name | Value | +| -------- | -------- | +| `CLIENT` | Client | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveAuthentication.md b/docs/models/shared/SourceMicrosoftOnedriveAuthentication.md new file mode 100644 index 000000000..558d81475 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveAuthentication.md @@ -0,0 +1,4 @@ +# SourceMicrosoftOnedriveAuthentication + +Credentials for connecting to the One Drive API + diff --git a/docs/models/shared/SourceMicrosoftOnedriveAutogenerated.md b/docs/models/shared/SourceMicrosoftOnedriveAutogenerated.md new file mode 100644 index 000000000..504f357c8 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveAutogenerated.md @@ -0,0 +1,8 @@ +# SourceMicrosoftOnedriveAutogenerated + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `headerDefinitionType` | [Optional](../../models/shared/SourceMicrosoftOnedriveSchemasHeaderDefinitionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveAvroFormat.md b/docs/models/shared/SourceMicrosoftOnedriveAvroFormat.md new file mode 100644 index 000000000..3969661b5 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveAvroFormat.md @@ -0,0 +1,9 @@ +# SourceMicrosoftOnedriveAvroFormat + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `doubleAsString` | *Optional* | :heavy_minus_sign: | Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. | +| `filetype` | [Optional](../../models/shared/SourceMicrosoftOnedriveFiletype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveCSVFormat.md b/docs/models/shared/SourceMicrosoftOnedriveCSVFormat.md new file mode 100644 index 000000000..0fddbf42a --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveCSVFormat.md @@ -0,0 +1,20 @@ +# SourceMicrosoftOnedriveCSVFormat + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `delimiter` | *Optional* | :heavy_minus_sign: | The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. | +| `doubleQuote` | *Optional* | :heavy_minus_sign: | Whether two quotes in a quoted CSV value denote a single quote in the data. | +| `encoding` | *Optional* | :heavy_minus_sign: | The character encoding of the CSV data. Leave blank to default to UTF8. See list of python encodings for allowable options. | +| `escapeChar` | *Optional* | :heavy_minus_sign: | The character used for escaping special characters. To disallow escaping, leave this field blank. | +| `falseValues` | List<*String*> | :heavy_minus_sign: | A set of case-sensitive strings that should be interpreted as false values. | +| `filetype` | [Optional](../../models/shared/SourceMicrosoftOnedriveSchemasFiletype.md) | :heavy_minus_sign: | N/A | +| `headerDefinition` | [Optional](../../models/shared/SourceMicrosoftOnedriveCSVHeaderDefinition.md) | :heavy_minus_sign: | How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. | +| `nullValues` | List<*String*> | :heavy_minus_sign: | A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. | +| `quoteChar` | *Optional* | :heavy_minus_sign: | The character used for quoting CSV values. To disallow quoting, make this field blank. | +| `skipRowsAfterHeader` | *Optional* | :heavy_minus_sign: | The number of rows to skip after the header row. | +| `skipRowsBeforeHeader` | *Optional* | :heavy_minus_sign: | The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. | +| `stringsCanBeNull` | *Optional* | :heavy_minus_sign: | Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. | +| `trueValues` | List<*String*> | :heavy_minus_sign: | A set of case-sensitive strings that should be interpreted as true values. | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveCSVHeaderDefinition.md b/docs/models/shared/SourceMicrosoftOnedriveCSVHeaderDefinition.md new file mode 100644 index 000000000..e747cf0d3 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveCSVHeaderDefinition.md @@ -0,0 +1,4 @@ +# SourceMicrosoftOnedriveCSVHeaderDefinition + +How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + diff --git a/docs/models/shared/SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental.md b/docs/models/shared/SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental.md new file mode 100644 index 000000000..33c37db5a --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental.md @@ -0,0 +1,13 @@ +# SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental + +Extract text from document formats (.pdf, .docx, .md, .pptx) and emit as one record per file. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filetype` | [Optional](../../models/shared/SourceMicrosoftOnedriveSchemasStreamsFormatFormatFiletype.md) | :heavy_minus_sign: | N/A | +| `processing` | [Optional](../../models/shared/SourceMicrosoftOnedriveProcessing.md) | :heavy_minus_sign: | Processing configuration | +| `skipUnprocessableFiles` | *Optional* | :heavy_minus_sign: | If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. | +| `strategy` | [Optional](../../models/shared/SourceMicrosoftOnedriveParsingStrategy.md) | :heavy_minus_sign: | The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveFileBasedStreamConfig.md b/docs/models/shared/SourceMicrosoftOnedriveFileBasedStreamConfig.md new file mode 100644 index 000000000..a1db80c01 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveFileBasedStreamConfig.md @@ -0,0 +1,15 @@ +# SourceMicrosoftOnedriveFileBasedStreamConfig + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `daysToSyncIfHistoryIsFull` | *Optional* | :heavy_minus_sign: | When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. | +| `format` | [com.airbyte.api.models.shared.SourceMicrosoftOnedriveFormat](../../models/shared/SourceMicrosoftOnedriveFormat.md) | :heavy_check_mark: | The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. | +| `globs` | List<*String*> | :heavy_minus_sign: | The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look here. | +| `inputSchema` | *Optional* | :heavy_minus_sign: | The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. | +| `name` | *String* | :heavy_check_mark: | The name of the stream. | +| `primaryKey` | *Optional* | :heavy_minus_sign: | The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. | +| `schemaless` | *Optional* | :heavy_minus_sign: | When enabled, syncs will not validate or structure records against the stream's schema. | +| `validationPolicy` | [Optional](../../models/shared/SourceMicrosoftOnedriveValidationPolicy.md) | :heavy_minus_sign: | The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveFiletype.md b/docs/models/shared/SourceMicrosoftOnedriveFiletype.md new file mode 100644 index 000000000..6d428bddb --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveFiletype.md @@ -0,0 +1,8 @@ +# SourceMicrosoftOnedriveFiletype + + +## Values + +| Name | Value | +| ------ | ------ | +| `AVRO` | avro | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveFormat.md b/docs/models/shared/SourceMicrosoftOnedriveFormat.md new file mode 100644 index 000000000..fe397bb84 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveFormat.md @@ -0,0 +1,4 @@ +# SourceMicrosoftOnedriveFormat + +The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + diff --git a/docs/models/shared/SourceMicrosoftOnedriveFromCSV.md b/docs/models/shared/SourceMicrosoftOnedriveFromCSV.md new file mode 100644 index 000000000..df70fec8c --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveFromCSV.md @@ -0,0 +1,8 @@ +# SourceMicrosoftOnedriveFromCSV + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `headerDefinitionType` | [Optional](../../models/shared/SourceMicrosoftOnedriveHeaderDefinitionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveHeaderDefinitionType.md b/docs/models/shared/SourceMicrosoftOnedriveHeaderDefinitionType.md new file mode 100644 index 000000000..1c8931ec3 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveHeaderDefinitionType.md @@ -0,0 +1,8 @@ +# SourceMicrosoftOnedriveHeaderDefinitionType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `FROM_CSV` | From CSV | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveJsonlFormat.md b/docs/models/shared/SourceMicrosoftOnedriveJsonlFormat.md new file mode 100644 index 000000000..20d35103c --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveJsonlFormat.md @@ -0,0 +1,8 @@ +# SourceMicrosoftOnedriveJsonlFormat + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filetype` | [Optional](../../models/shared/SourceMicrosoftOnedriveSchemasStreamsFiletype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveLocal.md b/docs/models/shared/SourceMicrosoftOnedriveLocal.md new file mode 100644 index 000000000..50c462d4d --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveLocal.md @@ -0,0 +1,10 @@ +# SourceMicrosoftOnedriveLocal + +Process files locally, supporting `fast` and `ocr` modes. This is the default option. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/SourceMicrosoftOnedriveMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveMicrosoftOnedrive.md b/docs/models/shared/SourceMicrosoftOnedriveMicrosoftOnedrive.md new file mode 100644 index 000000000..757febcb8 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveMicrosoftOnedrive.md @@ -0,0 +1,8 @@ +# SourceMicrosoftOnedriveMicrosoftOnedrive + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `MICROSOFT_ONEDRIVE` | microsoft-onedrive | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveMode.md b/docs/models/shared/SourceMicrosoftOnedriveMode.md new file mode 100644 index 000000000..0781966f3 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveMode.md @@ -0,0 +1,8 @@ +# SourceMicrosoftOnedriveMode + + +## Values + +| Name | Value | +| ------- | ------- | +| `LOCAL` | local | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveParquetFormat.md b/docs/models/shared/SourceMicrosoftOnedriveParquetFormat.md new file mode 100644 index 000000000..a5fdb411d --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveParquetFormat.md @@ -0,0 +1,9 @@ +# SourceMicrosoftOnedriveParquetFormat + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `decimalAsFloat` | *Optional* | :heavy_minus_sign: | Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. | +| `filetype` | [Optional](../../models/shared/SourceMicrosoftOnedriveSchemasStreamsFormatFiletype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveParsingStrategy.md b/docs/models/shared/SourceMicrosoftOnedriveParsingStrategy.md new file mode 100644 index 000000000..163684f24 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveParsingStrategy.md @@ -0,0 +1,13 @@ +# SourceMicrosoftOnedriveParsingStrategy + +The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `AUTO` | auto | +| `FAST` | fast | +| `OCR_ONLY` | ocr_only | +| `HI_RES` | hi_res | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveProcessing.md b/docs/models/shared/SourceMicrosoftOnedriveProcessing.md new file mode 100644 index 000000000..24492f92a --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveProcessing.md @@ -0,0 +1,4 @@ +# SourceMicrosoftOnedriveProcessing + +Processing configuration + diff --git a/docs/models/shared/SourceMicrosoftOnedriveSchemasAuthType.md b/docs/models/shared/SourceMicrosoftOnedriveSchemasAuthType.md new file mode 100644 index 000000000..d19ed0667 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceMicrosoftOnedriveSchemasAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `SERVICE` | Service | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveSchemasFiletype.md b/docs/models/shared/SourceMicrosoftOnedriveSchemasFiletype.md new file mode 100644 index 000000000..73f594637 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveSchemasFiletype.md @@ -0,0 +1,8 @@ +# SourceMicrosoftOnedriveSchemasFiletype + + +## Values + +| Name | Value | +| ----- | ----- | +| `CSV` | csv | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveSchemasHeaderDefinitionType.md b/docs/models/shared/SourceMicrosoftOnedriveSchemasHeaderDefinitionType.md new file mode 100644 index 000000000..2516a69a3 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveSchemasHeaderDefinitionType.md @@ -0,0 +1,8 @@ +# SourceMicrosoftOnedriveSchemasHeaderDefinitionType + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `AUTOGENERATED` | Autogenerated | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveSchemasStreamsFiletype.md b/docs/models/shared/SourceMicrosoftOnedriveSchemasStreamsFiletype.md new file mode 100644 index 000000000..4ea8c2b94 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveSchemasStreamsFiletype.md @@ -0,0 +1,8 @@ +# SourceMicrosoftOnedriveSchemasStreamsFiletype + + +## Values + +| Name | Value | +| ------- | ------- | +| `JSONL` | jsonl | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveSchemasStreamsFormatFiletype.md b/docs/models/shared/SourceMicrosoftOnedriveSchemasStreamsFormatFiletype.md new file mode 100644 index 000000000..11b9e7c7a --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveSchemasStreamsFormatFiletype.md @@ -0,0 +1,8 @@ +# SourceMicrosoftOnedriveSchemasStreamsFormatFiletype + + +## Values + +| Name | Value | +| --------- | --------- | +| `PARQUET` | parquet | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveSchemasStreamsFormatFormatFiletype.md b/docs/models/shared/SourceMicrosoftOnedriveSchemasStreamsFormatFormatFiletype.md new file mode 100644 index 000000000..0d88d17af --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveSchemasStreamsFormatFormatFiletype.md @@ -0,0 +1,8 @@ +# SourceMicrosoftOnedriveSchemasStreamsFormatFormatFiletype + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `UNSTRUCTURED` | unstructured | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveSchemasStreamsHeaderDefinitionType.md b/docs/models/shared/SourceMicrosoftOnedriveSchemasStreamsHeaderDefinitionType.md new file mode 100644 index 000000000..bfd1a89eb --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveSchemasStreamsHeaderDefinitionType.md @@ -0,0 +1,8 @@ +# SourceMicrosoftOnedriveSchemasStreamsHeaderDefinitionType + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `USER_PROVIDED` | User Provided | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveUserProvided.md b/docs/models/shared/SourceMicrosoftOnedriveUserProvided.md new file mode 100644 index 000000000..61cc2a9ef --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveUserProvided.md @@ -0,0 +1,9 @@ +# SourceMicrosoftOnedriveUserProvided + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `columnNames` | List<*String*> | :heavy_check_mark: | The column names that will be used while emitting the CSV records | +| `headerDefinitionType` | [Optional](../../models/shared/SourceMicrosoftOnedriveSchemasStreamsHeaderDefinitionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftOnedriveValidationPolicy.md b/docs/models/shared/SourceMicrosoftOnedriveValidationPolicy.md new file mode 100644 index 000000000..579d3166a --- /dev/null +++ b/docs/models/shared/SourceMicrosoftOnedriveValidationPolicy.md @@ -0,0 +1,12 @@ +# SourceMicrosoftOnedriveValidationPolicy + +The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `EMIT_RECORD` | Emit Record | +| `SKIP_RECORD` | Skip Record | +| `WAIT_FOR_DISCOVER` | Wait for Discover | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepoint.md b/docs/models/shared/SourceMicrosoftSharepoint.md new file mode 100644 index 000000000..5299ea12c --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepoint.md @@ -0,0 +1,16 @@ +# SourceMicrosoftSharepoint + +SourceMicrosoftSharePointSpec class for Microsoft SharePoint Source Specification. +This class combines the authentication details with additional configuration for the SharePoint API. + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [com.airbyte.api.models.shared.SourceMicrosoftSharepointAuthentication](../../models/shared/SourceMicrosoftSharepointAuthentication.md) | :heavy_check_mark: | Credentials for connecting to the One Drive API | | +| `folderPath` | *Optional* | :heavy_minus_sign: | Path to a specific folder within the drives to search for files. Leave empty to search all folders of the drives. This does not apply to shared items. | | +| `searchScope` | [Optional](../../models/shared/SourceMicrosoftSharepointSearchScope.md) | :heavy_minus_sign: | Specifies the location(s) to search for files. Valid options are 'ACCESSIBLE_DRIVES' for all SharePoint drives the user can access, 'SHARED_ITEMS' for shared items the user has access to, and 'ALL' to search both. | | +| `sourceType` | [com.airbyte.api.models.shared.SourceMicrosoftSharepointMicrosoftSharepoint](../../models/shared/SourceMicrosoftSharepointMicrosoftSharepoint.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. | 2021-01-01T00:00:00.000000Z | +| `streams` | List<[com.airbyte.api.models.shared.SourceMicrosoftSharepointFileBasedStreamConfig](../../models/shared/SourceMicrosoftSharepointFileBasedStreamConfig.md)> | :heavy_check_mark: | Each instance of this configuration defines a stream. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. | | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointAuthType.md b/docs/models/shared/SourceMicrosoftSharepointAuthType.md new file mode 100644 index 000000000..94820adc0 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointAuthType.md @@ -0,0 +1,8 @@ +# SourceMicrosoftSharepointAuthType + + +## Values + +| Name | Value | +| -------- | -------- | +| `CLIENT` | Client | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth.md b/docs/models/shared/SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth.md new file mode 100644 index 000000000..9292545d8 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth.md @@ -0,0 +1,15 @@ +# SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth + +OAuthCredentials class to hold authentication details for Microsoft OAuth authentication. +This class uses pydantic for data validation and settings management. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [Optional](../../models/shared/SourceMicrosoftSharepointAuthType.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | Client ID of your Microsoft developer application | +| `clientSecret` | *String* | :heavy_check_mark: | Client Secret of your Microsoft developer application | +| `refreshToken` | *String* | :heavy_check_mark: | Refresh Token of your Microsoft developer application | +| `tenantId` | *String* | :heavy_check_mark: | Tenant ID of the Microsoft SharePoint user | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointAuthentication.md b/docs/models/shared/SourceMicrosoftSharepointAuthentication.md new file mode 100644 index 000000000..30b93604d --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointAuthentication.md @@ -0,0 +1,4 @@ +# SourceMicrosoftSharepointAuthentication + +Credentials for connecting to the One Drive API + diff --git a/docs/models/shared/SourceMicrosoftSharepointAutogenerated.md b/docs/models/shared/SourceMicrosoftSharepointAutogenerated.md new file mode 100644 index 000000000..b2edabef8 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointAutogenerated.md @@ -0,0 +1,8 @@ +# SourceMicrosoftSharepointAutogenerated + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `headerDefinitionType` | [Optional](../../models/shared/SourceMicrosoftSharepointSchemasHeaderDefinitionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointAvroFormat.md b/docs/models/shared/SourceMicrosoftSharepointAvroFormat.md new file mode 100644 index 000000000..32c5e3dff --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointAvroFormat.md @@ -0,0 +1,9 @@ +# SourceMicrosoftSharepointAvroFormat + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `doubleAsString` | *Optional* | :heavy_minus_sign: | Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. | +| `filetype` | [Optional](../../models/shared/SourceMicrosoftSharepointFiletype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointCSVFormat.md b/docs/models/shared/SourceMicrosoftSharepointCSVFormat.md new file mode 100644 index 000000000..3dca7aa46 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointCSVFormat.md @@ -0,0 +1,21 @@ +# SourceMicrosoftSharepointCSVFormat + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `delimiter` | *Optional* | :heavy_minus_sign: | The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. | +| `doubleQuote` | *Optional* | :heavy_minus_sign: | Whether two quotes in a quoted CSV value denote a single quote in the data. | +| `encoding` | *Optional* | :heavy_minus_sign: | The character encoding of the CSV data. Leave blank to default to UTF8. See list of python encodings for allowable options. | +| `escapeChar` | *Optional* | :heavy_minus_sign: | The character used for escaping special characters. To disallow escaping, leave this field blank. | +| `falseValues` | List<*String*> | :heavy_minus_sign: | A set of case-sensitive strings that should be interpreted as false values. | +| `filetype` | [Optional](../../models/shared/SourceMicrosoftSharepointSchemasFiletype.md) | :heavy_minus_sign: | N/A | +| `headerDefinition` | [Optional](../../models/shared/SourceMicrosoftSharepointCSVHeaderDefinition.md) | :heavy_minus_sign: | How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. | +| `ignoreErrorsOnFieldsMismatch` | *Optional* | :heavy_minus_sign: | Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. | +| `nullValues` | List<*String*> | :heavy_minus_sign: | A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. | +| `quoteChar` | *Optional* | :heavy_minus_sign: | The character used for quoting CSV values. To disallow quoting, make this field blank. | +| `skipRowsAfterHeader` | *Optional* | :heavy_minus_sign: | The number of rows to skip after the header row. | +| `skipRowsBeforeHeader` | *Optional* | :heavy_minus_sign: | The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. | +| `stringsCanBeNull` | *Optional* | :heavy_minus_sign: | Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. | +| `trueValues` | List<*String*> | :heavy_minus_sign: | A set of case-sensitive strings that should be interpreted as true values. | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointCSVHeaderDefinition.md b/docs/models/shared/SourceMicrosoftSharepointCSVHeaderDefinition.md new file mode 100644 index 000000000..250dd21fd --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointCSVHeaderDefinition.md @@ -0,0 +1,4 @@ +# SourceMicrosoftSharepointCSVHeaderDefinition + +How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + diff --git a/docs/models/shared/SourceMicrosoftSharepointDocumentFileTypeFormatExperimental.md b/docs/models/shared/SourceMicrosoftSharepointDocumentFileTypeFormatExperimental.md new file mode 100644 index 000000000..a494c6fdd --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointDocumentFileTypeFormatExperimental.md @@ -0,0 +1,13 @@ +# SourceMicrosoftSharepointDocumentFileTypeFormatExperimental + +Extract text from document formats (.pdf, .docx, .md, .pptx) and emit as one record per file. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filetype` | [Optional](../../models/shared/SourceMicrosoftSharepointSchemasStreamsFormatFormatFiletype.md) | :heavy_minus_sign: | N/A | +| `processing` | [Optional](../../models/shared/SourceMicrosoftSharepointProcessing.md) | :heavy_minus_sign: | Processing configuration | +| `skipUnprocessableFiles` | *Optional* | :heavy_minus_sign: | If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. | +| `strategy` | [Optional](../../models/shared/SourceMicrosoftSharepointParsingStrategy.md) | :heavy_minus_sign: | The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointFileBasedStreamConfig.md b/docs/models/shared/SourceMicrosoftSharepointFileBasedStreamConfig.md new file mode 100644 index 000000000..47e19aa1c --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointFileBasedStreamConfig.md @@ -0,0 +1,15 @@ +# SourceMicrosoftSharepointFileBasedStreamConfig + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `daysToSyncIfHistoryIsFull` | *Optional* | :heavy_minus_sign: | When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. | +| `format` | [com.airbyte.api.models.shared.SourceMicrosoftSharepointFormat](../../models/shared/SourceMicrosoftSharepointFormat.md) | :heavy_check_mark: | The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. | +| `globs` | List<*String*> | :heavy_minus_sign: | The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look here. | +| `inputSchema` | *Optional* | :heavy_minus_sign: | The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. | +| `name` | *String* | :heavy_check_mark: | The name of the stream. | +| `primaryKey` | *Optional* | :heavy_minus_sign: | The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. | +| `schemaless` | *Optional* | :heavy_minus_sign: | When enabled, syncs will not validate or structure records against the stream's schema. | +| `validationPolicy` | [Optional](../../models/shared/SourceMicrosoftSharepointValidationPolicy.md) | :heavy_minus_sign: | The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointFiletype.md b/docs/models/shared/SourceMicrosoftSharepointFiletype.md new file mode 100644 index 000000000..375e79da6 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointFiletype.md @@ -0,0 +1,8 @@ +# SourceMicrosoftSharepointFiletype + + +## Values + +| Name | Value | +| ------ | ------ | +| `AVRO` | avro | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointFormat.md b/docs/models/shared/SourceMicrosoftSharepointFormat.md new file mode 100644 index 000000000..8c25e3cd3 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointFormat.md @@ -0,0 +1,4 @@ +# SourceMicrosoftSharepointFormat + +The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + diff --git a/docs/models/shared/SourceMicrosoftSharepointFromCSV.md b/docs/models/shared/SourceMicrosoftSharepointFromCSV.md new file mode 100644 index 000000000..ee1ce376e --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointFromCSV.md @@ -0,0 +1,8 @@ +# SourceMicrosoftSharepointFromCSV + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `headerDefinitionType` | [Optional](../../models/shared/SourceMicrosoftSharepointHeaderDefinitionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointHeaderDefinitionType.md b/docs/models/shared/SourceMicrosoftSharepointHeaderDefinitionType.md new file mode 100644 index 000000000..352f79de6 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointHeaderDefinitionType.md @@ -0,0 +1,8 @@ +# SourceMicrosoftSharepointHeaderDefinitionType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `FROM_CSV` | From CSV | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointJsonlFormat.md b/docs/models/shared/SourceMicrosoftSharepointJsonlFormat.md new file mode 100644 index 000000000..02ef904ec --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointJsonlFormat.md @@ -0,0 +1,8 @@ +# SourceMicrosoftSharepointJsonlFormat + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filetype` | [Optional](../../models/shared/SourceMicrosoftSharepointSchemasStreamsFiletype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointLocal.md b/docs/models/shared/SourceMicrosoftSharepointLocal.md new file mode 100644 index 000000000..08563afb8 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointLocal.md @@ -0,0 +1,10 @@ +# SourceMicrosoftSharepointLocal + +Process files locally, supporting `fast` and `ocr` modes. This is the default option. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/SourceMicrosoftSharepointMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointMicrosoftSharepoint.md b/docs/models/shared/SourceMicrosoftSharepointMicrosoftSharepoint.md new file mode 100644 index 000000000..193f79017 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointMicrosoftSharepoint.md @@ -0,0 +1,8 @@ +# SourceMicrosoftSharepointMicrosoftSharepoint + + +## Values + +| Name | Value | +| ---------------------- | ---------------------- | +| `MICROSOFT_SHAREPOINT` | microsoft-sharepoint | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointMode.md b/docs/models/shared/SourceMicrosoftSharepointMode.md new file mode 100644 index 000000000..b32df1ddd --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointMode.md @@ -0,0 +1,8 @@ +# SourceMicrosoftSharepointMode + + +## Values + +| Name | Value | +| ------- | ------- | +| `LOCAL` | local | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointParquetFormat.md b/docs/models/shared/SourceMicrosoftSharepointParquetFormat.md new file mode 100644 index 000000000..18157070d --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointParquetFormat.md @@ -0,0 +1,9 @@ +# SourceMicrosoftSharepointParquetFormat + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `decimalAsFloat` | *Optional* | :heavy_minus_sign: | Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. | +| `filetype` | [Optional](../../models/shared/SourceMicrosoftSharepointSchemasStreamsFormatFiletype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointParsingStrategy.md b/docs/models/shared/SourceMicrosoftSharepointParsingStrategy.md new file mode 100644 index 000000000..d2f5c00b2 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointParsingStrategy.md @@ -0,0 +1,13 @@ +# SourceMicrosoftSharepointParsingStrategy + +The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `AUTO` | auto | +| `FAST` | fast | +| `OCR_ONLY` | ocr_only | +| `HI_RES` | hi_res | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointProcessing.md b/docs/models/shared/SourceMicrosoftSharepointProcessing.md new file mode 100644 index 000000000..1e2a500eb --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointProcessing.md @@ -0,0 +1,4 @@ +# SourceMicrosoftSharepointProcessing + +Processing configuration + diff --git a/docs/models/shared/SourceMicrosoftSharepointSchemasAuthType.md b/docs/models/shared/SourceMicrosoftSharepointSchemasAuthType.md new file mode 100644 index 000000000..3a4e89a09 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceMicrosoftSharepointSchemasAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `SERVICE` | Service | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointSchemasFiletype.md b/docs/models/shared/SourceMicrosoftSharepointSchemasFiletype.md new file mode 100644 index 000000000..131586ef0 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointSchemasFiletype.md @@ -0,0 +1,8 @@ +# SourceMicrosoftSharepointSchemasFiletype + + +## Values + +| Name | Value | +| ----- | ----- | +| `CSV` | csv | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointSchemasHeaderDefinitionType.md b/docs/models/shared/SourceMicrosoftSharepointSchemasHeaderDefinitionType.md new file mode 100644 index 000000000..86944395f --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointSchemasHeaderDefinitionType.md @@ -0,0 +1,8 @@ +# SourceMicrosoftSharepointSchemasHeaderDefinitionType + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `AUTOGENERATED` | Autogenerated | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointSchemasStreamsFiletype.md b/docs/models/shared/SourceMicrosoftSharepointSchemasStreamsFiletype.md new file mode 100644 index 000000000..65c9c604f --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointSchemasStreamsFiletype.md @@ -0,0 +1,8 @@ +# SourceMicrosoftSharepointSchemasStreamsFiletype + + +## Values + +| Name | Value | +| ------- | ------- | +| `JSONL` | jsonl | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointSchemasStreamsFormatFiletype.md b/docs/models/shared/SourceMicrosoftSharepointSchemasStreamsFormatFiletype.md new file mode 100644 index 000000000..cf6236682 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointSchemasStreamsFormatFiletype.md @@ -0,0 +1,8 @@ +# SourceMicrosoftSharepointSchemasStreamsFormatFiletype + + +## Values + +| Name | Value | +| --------- | --------- | +| `PARQUET` | parquet | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointSchemasStreamsFormatFormatFiletype.md b/docs/models/shared/SourceMicrosoftSharepointSchemasStreamsFormatFormatFiletype.md new file mode 100644 index 000000000..6e69db2d5 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointSchemasStreamsFormatFormatFiletype.md @@ -0,0 +1,8 @@ +# SourceMicrosoftSharepointSchemasStreamsFormatFormatFiletype + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `UNSTRUCTURED` | unstructured | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointSchemasStreamsHeaderDefinitionType.md b/docs/models/shared/SourceMicrosoftSharepointSchemasStreamsHeaderDefinitionType.md new file mode 100644 index 000000000..f4b722297 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointSchemasStreamsHeaderDefinitionType.md @@ -0,0 +1,8 @@ +# SourceMicrosoftSharepointSchemasStreamsHeaderDefinitionType + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `USER_PROVIDED` | User Provided | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointSearchScope.md b/docs/models/shared/SourceMicrosoftSharepointSearchScope.md new file mode 100644 index 000000000..f91017d51 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointSearchScope.md @@ -0,0 +1,12 @@ +# SourceMicrosoftSharepointSearchScope + +Specifies the location(s) to search for files. Valid options are 'ACCESSIBLE_DRIVES' for all SharePoint drives the user can access, 'SHARED_ITEMS' for shared items the user has access to, and 'ALL' to search both. + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `ACCESSIBLE_DRIVES` | ACCESSIBLE_DRIVES | +| `SHARED_ITEMS` | SHARED_ITEMS | +| `ALL` | ALL | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointServiceKeyAuthentication.md b/docs/models/shared/SourceMicrosoftSharepointServiceKeyAuthentication.md new file mode 100644 index 000000000..d80ce7b77 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointServiceKeyAuthentication.md @@ -0,0 +1,15 @@ +# SourceMicrosoftSharepointServiceKeyAuthentication + +ServiceCredentials class for service key authentication. +This class is structured similarly to OAuthCredentials but for a different authentication method. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [Optional](../../models/shared/SourceMicrosoftSharepointSchemasAuthType.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | Client ID of your Microsoft developer application | +| `clientSecret` | *String* | :heavy_check_mark: | Client Secret of your Microsoft developer application | +| `tenantId` | *String* | :heavy_check_mark: | Tenant ID of the Microsoft SharePoint user | +| `userPrincipalName` | *String* | :heavy_check_mark: | Special characters such as a period, comma, space, and the at sign (@) are converted to underscores (_). More details: https://learn.microsoft.com/en-us/sharepoint/list-onedrive-urls | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointUserProvided.md b/docs/models/shared/SourceMicrosoftSharepointUserProvided.md new file mode 100644 index 000000000..2d353d158 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointUserProvided.md @@ -0,0 +1,9 @@ +# SourceMicrosoftSharepointUserProvided + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `columnNames` | List<*String*> | :heavy_check_mark: | The column names that will be used while emitting the CSV records | +| `headerDefinitionType` | [Optional](../../models/shared/SourceMicrosoftSharepointSchemasStreamsHeaderDefinitionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftSharepointValidationPolicy.md b/docs/models/shared/SourceMicrosoftSharepointValidationPolicy.md new file mode 100644 index 000000000..64d367b3e --- /dev/null +++ b/docs/models/shared/SourceMicrosoftSharepointValidationPolicy.md @@ -0,0 +1,12 @@ +# SourceMicrosoftSharepointValidationPolicy + +The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `EMIT_RECORD` | Emit Record | +| `SKIP_RECORD` | Skip Record | +| `WAIT_FOR_DISCOVER` | Wait for Discover | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftTeams.md b/docs/models/shared/SourceMicrosoftTeams.md new file mode 100644 index 000000000..d1b28d656 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftTeams.md @@ -0,0 +1,10 @@ +# SourceMicrosoftTeams + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/SourceMicrosoftTeamsAuthenticationMechanism.md) | :heavy_minus_sign: | Choose how to authenticate to Microsoft | | +| `period` | *String* | :heavy_check_mark: | Specifies the length of time over which the Team Device Report stream is aggregated. The supported values are: D7, D30, D90, and D180. | D7 | +| `sourceType` | [com.airbyte.api.models.shared.SourceMicrosoftTeamsMicrosoftTeams](../../models/shared/SourceMicrosoftTeamsMicrosoftTeams.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftTeamsAuthType.md b/docs/models/shared/SourceMicrosoftTeamsAuthType.md new file mode 100644 index 000000000..b8f19da06 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftTeamsAuthType.md @@ -0,0 +1,8 @@ +# SourceMicrosoftTeamsAuthType + + +## Values + +| Name | Value | +| -------- | -------- | +| `CLIENT` | Client | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftTeamsAuthenticationMechanism.md b/docs/models/shared/SourceMicrosoftTeamsAuthenticationMechanism.md new file mode 100644 index 000000000..56af87222 --- /dev/null +++ b/docs/models/shared/SourceMicrosoftTeamsAuthenticationMechanism.md @@ -0,0 +1,4 @@ +# SourceMicrosoftTeamsAuthenticationMechanism + +Choose how to authenticate to Microsoft + diff --git a/docs/models/shared/SourceMicrosoftTeamsMicrosoftTeams.md b/docs/models/shared/SourceMicrosoftTeamsMicrosoftTeams.md new file mode 100644 index 000000000..936af84aa --- /dev/null +++ b/docs/models/shared/SourceMicrosoftTeamsMicrosoftTeams.md @@ -0,0 +1,8 @@ +# SourceMicrosoftTeamsMicrosoftTeams + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `MICROSOFT_TEAMS` | microsoft-teams | \ No newline at end of file diff --git a/docs/models/shared/SourceMicrosoftTeamsSchemasAuthType.md b/docs/models/shared/SourceMicrosoftTeamsSchemasAuthType.md new file mode 100644 index 000000000..b68f1c77d --- /dev/null +++ b/docs/models/shared/SourceMicrosoftTeamsSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceMicrosoftTeamsSchemasAuthType + + +## Values + +| Name | Value | +| ------- | ------- | +| `TOKEN` | Token | \ No newline at end of file diff --git a/docs/models/shared/SourceMixpanel.md b/docs/models/shared/SourceMixpanel.md new file mode 100644 index 000000000..5d15dd134 --- /dev/null +++ b/docs/models/shared/SourceMixpanel.md @@ -0,0 +1,16 @@ +# SourceMixpanel + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `attributionWindow` | *Optional* | :heavy_minus_sign: | A period of time for attributing results to ads and the lookback period after those actions occur during which ad results are counted. Default attribution window is 5 days. (This value should be non-negative integer) | | +| `credentials` | [com.airbyte.api.models.shared.AuthenticationWildcard](../../models/shared/AuthenticationWildcard.md) | :heavy_check_mark: | Choose how to authenticate to Mixpanel | | +| `dateWindowSize` | *Optional* | :heavy_minus_sign: | Defines window size in days, that used to slice through data. You can reduce it, if amount of data in each window is too big for your environment. (This value should be positive integer) | | +| `endDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | The date in the format YYYY-MM-DD. Any data after this date will not be replicated. Left empty to always sync to most recent date | 2021-11-16 | +| `projectTimezone` | *Optional* | :heavy_minus_sign: | Time zone in which integer date times are stored. The project timezone may be found in the project settings in the Mixpanel console. | US/Pacific | +| `region` | [Optional](../../models/shared/SourceMixpanelRegion.md) | :heavy_minus_sign: | The region of mixpanel domain instance either US or EU. | | +| `selectPropertiesByDefault` | *Optional* | :heavy_minus_sign: | Setting this config parameter to TRUE ensures that new properties on events and engage records are captured. Otherwise new properties will be ignored. | | +| `sourceType` | [com.airbyte.api.models.shared.Mixpanel](../../models/shared/Mixpanel.md) | :heavy_check_mark: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | The date in the format YYYY-MM-DD. Any data before this date will not be replicated. If this option is not set, the connector will replicate data from up to one year ago by default. | 2021-11-16 | \ No newline at end of file diff --git a/docs/models/shared/SourceMixpanelOptionTitle.md b/docs/models/shared/SourceMixpanelOptionTitle.md new file mode 100644 index 000000000..9acaa48b1 --- /dev/null +++ b/docs/models/shared/SourceMixpanelOptionTitle.md @@ -0,0 +1,8 @@ +# SourceMixpanelOptionTitle + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `SERVICE_ACCOUNT` | Service Account | \ No newline at end of file diff --git a/docs/models/shared/SourceMixpanelRegion.md b/docs/models/shared/SourceMixpanelRegion.md new file mode 100644 index 000000000..f903d3099 --- /dev/null +++ b/docs/models/shared/SourceMixpanelRegion.md @@ -0,0 +1,11 @@ +# SourceMixpanelRegion + +The region of mixpanel domain instance either US or EU. + + +## Values + +| Name | Value | +| ----- | ----- | +| `US` | US | +| `EU` | EU | \ No newline at end of file diff --git a/docs/models/shared/SourceMixpanelSchemasOptionTitle.md b/docs/models/shared/SourceMixpanelSchemasOptionTitle.md new file mode 100644 index 000000000..8f3bb1f91 --- /dev/null +++ b/docs/models/shared/SourceMixpanelSchemasOptionTitle.md @@ -0,0 +1,8 @@ +# SourceMixpanelSchemasOptionTitle + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `PROJECT_SECRET` | Project Secret | \ No newline at end of file diff --git a/docs/models/shared/SourceMonday.md b/docs/models/shared/SourceMonday.md new file mode 100644 index 000000000..f1a5e1be3 --- /dev/null +++ b/docs/models/shared/SourceMonday.md @@ -0,0 +1,9 @@ +# SourceMonday + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/SourceMondayAuthorizationMethod.md) | :heavy_minus_sign: | N/A | +| `sourceType` | [com.airbyte.api.models.shared.SourceMondayMonday](../../models/shared/SourceMondayMonday.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMondayAuthType.md b/docs/models/shared/SourceMondayAuthType.md new file mode 100644 index 000000000..1d1b90b7e --- /dev/null +++ b/docs/models/shared/SourceMondayAuthType.md @@ -0,0 +1,8 @@ +# SourceMondayAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceMondayAuthorizationMethod.md b/docs/models/shared/SourceMondayAuthorizationMethod.md new file mode 100644 index 000000000..d5b5b9e7c --- /dev/null +++ b/docs/models/shared/SourceMondayAuthorizationMethod.md @@ -0,0 +1,2 @@ +# SourceMondayAuthorizationMethod + diff --git a/docs/models/shared/SourceMondayMonday.md b/docs/models/shared/SourceMondayMonday.md new file mode 100644 index 000000000..b04687614 --- /dev/null +++ b/docs/models/shared/SourceMondayMonday.md @@ -0,0 +1,8 @@ +# SourceMondayMonday + + +## Values + +| Name | Value | +| -------- | -------- | +| `MONDAY` | monday | \ No newline at end of file diff --git a/docs/models/shared/SourceMondayOAuth20.md b/docs/models/shared/SourceMondayOAuth20.md new file mode 100644 index 000000000..b88f7b78b --- /dev/null +++ b/docs/models/shared/SourceMondayOAuth20.md @@ -0,0 +1,12 @@ +# SourceMondayOAuth20 + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Access Token for making authenticated requests. | +| `authType` | [com.airbyte.api.models.shared.SourceMondayAuthType](../../models/shared/SourceMondayAuthType.md) | :heavy_check_mark: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your OAuth application. | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret of your OAuth application. | +| `subdomain` | *Optional* | :heavy_minus_sign: | Slug/subdomain of the account, or the first part of the URL that comes before .monday.com | \ No newline at end of file diff --git a/docs/models/shared/SourceMondaySchemasAuthType.md b/docs/models/shared/SourceMondaySchemasAuthType.md new file mode 100644 index 000000000..5e77873d5 --- /dev/null +++ b/docs/models/shared/SourceMondaySchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceMondaySchemasAuthType + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `API_TOKEN` | api_token | \ No newline at end of file diff --git a/docs/models/shared/SourceMongodbInternalPoc.md b/docs/models/shared/SourceMongodbInternalPoc.md new file mode 100644 index 000000000..54025832e --- /dev/null +++ b/docs/models/shared/SourceMongodbInternalPoc.md @@ -0,0 +1,13 @@ +# SourceMongodbInternalPoc + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `authSource` | *Optional* | :heavy_minus_sign: | The authentication source where the user information is stored. | admin | +| `connectionString` | *Optional* | :heavy_minus_sign: | The connection string of the database that you want to replicate.. | mongodb+srv://example.mongodb.net | +| `password` | *Optional* | :heavy_minus_sign: | The password associated with this username. | | +| `replicaSet` | *Optional* | :heavy_minus_sign: | The name of the replica set to be replicated. | | +| `sourceType` | [com.airbyte.api.models.shared.MongodbInternalPoc](../../models/shared/MongodbInternalPoc.md) | :heavy_check_mark: | N/A | | +| `user` | *Optional* | :heavy_minus_sign: | The username which is used to access the database. | | \ No newline at end of file diff --git a/docs/models/shared/SourceMongodbV2.md b/docs/models/shared/SourceMongodbV2.md new file mode 100644 index 000000000..62dde00e5 --- /dev/null +++ b/docs/models/shared/SourceMongodbV2.md @@ -0,0 +1,13 @@ +# SourceMongodbV2 + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `databaseConfig` | *java.lang.Object* | :heavy_check_mark: | Configures the MongoDB cluster type. | +| `discoverSampleSize` | *Optional* | :heavy_minus_sign: | The maximum number of documents to sample when attempting to discover the unique fields for a collection. | +| `initialWaitingSeconds` | *Optional* | :heavy_minus_sign: | The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 1200 seconds. | +| `invalidCdcCursorPositionBehavior` | [Optional](../../models/shared/InvalidCDCPositionBehaviorAdvanced.md) | :heavy_minus_sign: | Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. | +| `queueSize` | *Optional* | :heavy_minus_sign: | The size of the internal queue. This may interfere with memory consumption and efficiency of the connector, please be careful. | +| `sourceType` | [com.airbyte.api.models.shared.MongodbV2](../../models/shared/MongodbV2.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMssql.md b/docs/models/shared/SourceMssql.md new file mode 100644 index 000000000..fee9333bc --- /dev/null +++ b/docs/models/shared/SourceMssql.md @@ -0,0 +1,18 @@ +# SourceMssql + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `database` | *String* | :heavy_check_mark: | The name of the database. | master | +| `host` | *String* | :heavy_check_mark: | The hostname of the database. | | +| `jdbcUrlParams` | *Optional* | :heavy_minus_sign: | Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). | | +| `password` | *String* | :heavy_check_mark: | The password associated with the username. | | +| `port` | *long* | :heavy_check_mark: | The port of the database. | 1433 | +| `replicationMethod` | [Optional](../../models/shared/UpdateMethod.md) | :heavy_minus_sign: | Configures how data is extracted from the database. | | +| `schemas` | List<*String*> | :heavy_minus_sign: | The list of schemas to sync from. Defaults to user. Case sensitive. | | +| `sourceType` | [com.airbyte.api.models.shared.SourceMssqlMssql](../../models/shared/SourceMssqlMssql.md) | :heavy_check_mark: | N/A | | +| `sslMethod` | [Optional](../../models/shared/SourceMssqlSSLMethod.md) | :heavy_minus_sign: | The encryption method which is used when communicating with the database. | | +| `tunnelMethod` | [Optional](../../models/shared/SourceMssqlSSHTunnelMethod.md) | :heavy_minus_sign: | Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. | | +| `username` | *String* | :heavy_check_mark: | The username which is used to access the database. | | \ No newline at end of file diff --git a/docs/models/shared/SourceMssqlEncryptedTrustServerCertificate.md b/docs/models/shared/SourceMssqlEncryptedTrustServerCertificate.md new file mode 100644 index 000000000..efea47f6b --- /dev/null +++ b/docs/models/shared/SourceMssqlEncryptedTrustServerCertificate.md @@ -0,0 +1,10 @@ +# SourceMssqlEncryptedTrustServerCertificate + +Use the certificate provided by the server without verification. (For testing purposes only!) + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `sslMethod` | [com.airbyte.api.models.shared.SourceMssqlSchemasSslMethodSslMethod](../../models/shared/SourceMssqlSchemasSslMethodSslMethod.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMssqlEncryptedVerifyCertificate.md b/docs/models/shared/SourceMssqlEncryptedVerifyCertificate.md new file mode 100644 index 000000000..12ecb8095 --- /dev/null +++ b/docs/models/shared/SourceMssqlEncryptedVerifyCertificate.md @@ -0,0 +1,12 @@ +# SourceMssqlEncryptedVerifyCertificate + +Verify and use the certificate provided by the server. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | +| `certificate` | *Optional* | :heavy_minus_sign: | certificate of the server, or of the CA that signed the server certificate | +| `hostNameInCertificate` | *Optional* | :heavy_minus_sign: | Specifies the host name of the server. The value of this property must match the subject property of the certificate. | +| `sslMethod` | [com.airbyte.api.models.shared.SourceMssqlSchemasSSLMethodSSLMethodSSLMethod](../../models/shared/SourceMssqlSchemasSSLMethodSSLMethodSSLMethod.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMssqlInvalidCDCPositionBehaviorAdvanced.md b/docs/models/shared/SourceMssqlInvalidCDCPositionBehaviorAdvanced.md new file mode 100644 index 000000000..2729c76ed --- /dev/null +++ b/docs/models/shared/SourceMssqlInvalidCDCPositionBehaviorAdvanced.md @@ -0,0 +1,11 @@ +# SourceMssqlInvalidCDCPositionBehaviorAdvanced + +Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `FAIL_SYNC` | Fail sync | +| `RE_SYNC_DATA` | Re-sync data | \ No newline at end of file diff --git a/docs/models/shared/SourceMssqlMethod.md b/docs/models/shared/SourceMssqlMethod.md new file mode 100644 index 000000000..d76b53271 --- /dev/null +++ b/docs/models/shared/SourceMssqlMethod.md @@ -0,0 +1,8 @@ +# SourceMssqlMethod + + +## Values + +| Name | Value | +| ----- | ----- | +| `CDC` | CDC | \ No newline at end of file diff --git a/docs/models/shared/SourceMssqlMssql.md b/docs/models/shared/SourceMssqlMssql.md new file mode 100644 index 000000000..2e006afdd --- /dev/null +++ b/docs/models/shared/SourceMssqlMssql.md @@ -0,0 +1,8 @@ +# SourceMssqlMssql + + +## Values + +| Name | Value | +| ------- | ------- | +| `MSSQL` | mssql | \ No newline at end of file diff --git a/docs/models/shared/SourceMssqlNoTunnel.md b/docs/models/shared/SourceMssqlNoTunnel.md new file mode 100644 index 000000000..53d65177e --- /dev/null +++ b/docs/models/shared/SourceMssqlNoTunnel.md @@ -0,0 +1,8 @@ +# SourceMssqlNoTunnel + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `tunnelMethod` | [com.airbyte.api.models.shared.SourceMssqlTunnelMethod](../../models/shared/SourceMssqlTunnelMethod.md) | :heavy_check_mark: | No ssh tunnel needed to connect to database | \ No newline at end of file diff --git a/docs/models/shared/SourceMssqlPasswordAuthentication.md b/docs/models/shared/SourceMssqlPasswordAuthentication.md new file mode 100644 index 000000000..c4322ca12 --- /dev/null +++ b/docs/models/shared/SourceMssqlPasswordAuthentication.md @@ -0,0 +1,12 @@ +# SourceMssqlPasswordAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.SourceMssqlSchemasTunnelMethodTunnelMethod](../../models/shared/SourceMssqlSchemasTunnelMethodTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and password authentication | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host | | +| `tunnelUserPassword` | *String* | :heavy_check_mark: | OS-level password for logging into the jump server host | | \ No newline at end of file diff --git a/docs/models/shared/SourceMssqlSSHKeyAuthentication.md b/docs/models/shared/SourceMssqlSSHKeyAuthentication.md new file mode 100644 index 000000000..7e4e063d4 --- /dev/null +++ b/docs/models/shared/SourceMssqlSSHKeyAuthentication.md @@ -0,0 +1,12 @@ +# SourceMssqlSSHKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `sshKey` | *String* | :heavy_check_mark: | OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) | | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.SourceMssqlSchemasTunnelMethod](../../models/shared/SourceMssqlSchemasTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and ssh key | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host. | | \ No newline at end of file diff --git a/docs/models/shared/SourceMssqlSSHTunnelMethod.md b/docs/models/shared/SourceMssqlSSHTunnelMethod.md new file mode 100644 index 000000000..c4572b3ae --- /dev/null +++ b/docs/models/shared/SourceMssqlSSHTunnelMethod.md @@ -0,0 +1,4 @@ +# SourceMssqlSSHTunnelMethod + +Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + diff --git a/docs/models/shared/SourceMssqlSSLMethod.md b/docs/models/shared/SourceMssqlSSLMethod.md new file mode 100644 index 000000000..2e49ae3ad --- /dev/null +++ b/docs/models/shared/SourceMssqlSSLMethod.md @@ -0,0 +1,4 @@ +# SourceMssqlSSLMethod + +The encryption method which is used when communicating with the database. + diff --git a/docs/models/shared/SourceMssqlSchemasMethod.md b/docs/models/shared/SourceMssqlSchemasMethod.md new file mode 100644 index 000000000..0847bc44a --- /dev/null +++ b/docs/models/shared/SourceMssqlSchemasMethod.md @@ -0,0 +1,8 @@ +# SourceMssqlSchemasMethod + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `STANDARD` | STANDARD | \ No newline at end of file diff --git a/docs/models/shared/SourceMssqlSchemasSSLMethodSSLMethodSSLMethod.md b/docs/models/shared/SourceMssqlSchemasSSLMethodSSLMethodSSLMethod.md new file mode 100644 index 000000000..b97ea2874 --- /dev/null +++ b/docs/models/shared/SourceMssqlSchemasSSLMethodSSLMethodSSLMethod.md @@ -0,0 +1,8 @@ +# SourceMssqlSchemasSSLMethodSSLMethodSSLMethod + + +## Values + +| Name | Value | +| ------------------------------ | ------------------------------ | +| `ENCRYPTED_VERIFY_CERTIFICATE` | encrypted_verify_certificate | \ No newline at end of file diff --git a/docs/models/shared/SourceMssqlSchemasSslMethod.md b/docs/models/shared/SourceMssqlSchemasSslMethod.md new file mode 100644 index 000000000..7ee95623e --- /dev/null +++ b/docs/models/shared/SourceMssqlSchemasSslMethod.md @@ -0,0 +1,8 @@ +# SourceMssqlSchemasSslMethod + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `UNENCRYPTED` | unencrypted | \ No newline at end of file diff --git a/docs/models/shared/SourceMssqlSchemasSslMethodSslMethod.md b/docs/models/shared/SourceMssqlSchemasSslMethodSslMethod.md new file mode 100644 index 000000000..10138e1f2 --- /dev/null +++ b/docs/models/shared/SourceMssqlSchemasSslMethodSslMethod.md @@ -0,0 +1,8 @@ +# SourceMssqlSchemasSslMethodSslMethod + + +## Values + +| Name | Value | +| ------------------------------------ | ------------------------------------ | +| `ENCRYPTED_TRUST_SERVER_CERTIFICATE` | encrypted_trust_server_certificate | \ No newline at end of file diff --git a/docs/models/shared/SourceMssqlSchemasTunnelMethod.md b/docs/models/shared/SourceMssqlSchemasTunnelMethod.md new file mode 100644 index 000000000..56e83d794 --- /dev/null +++ b/docs/models/shared/SourceMssqlSchemasTunnelMethod.md @@ -0,0 +1,10 @@ +# SourceMssqlSchemasTunnelMethod + +Connect through a jump server tunnel host using username and ssh key + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `SSH_KEY_AUTH` | SSH_KEY_AUTH | \ No newline at end of file diff --git a/docs/models/shared/SourceMssqlSchemasTunnelMethodTunnelMethod.md b/docs/models/shared/SourceMssqlSchemasTunnelMethodTunnelMethod.md new file mode 100644 index 000000000..400d2f977 --- /dev/null +++ b/docs/models/shared/SourceMssqlSchemasTunnelMethodTunnelMethod.md @@ -0,0 +1,10 @@ +# SourceMssqlSchemasTunnelMethodTunnelMethod + +Connect through a jump server tunnel host using username and password authentication + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `SSH_PASSWORD_AUTH` | SSH_PASSWORD_AUTH | \ No newline at end of file diff --git a/docs/models/shared/SourceMssqlTunnelMethod.md b/docs/models/shared/SourceMssqlTunnelMethod.md new file mode 100644 index 000000000..40e3572f8 --- /dev/null +++ b/docs/models/shared/SourceMssqlTunnelMethod.md @@ -0,0 +1,10 @@ +# SourceMssqlTunnelMethod + +No ssh tunnel needed to connect to database + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `NO_TUNNEL` | NO_TUNNEL | \ No newline at end of file diff --git a/docs/models/shared/SourceMyHours.md b/docs/models/shared/SourceMyHours.md new file mode 100644 index 000000000..0a65e7b3e --- /dev/null +++ b/docs/models/shared/SourceMyHours.md @@ -0,0 +1,12 @@ +# SourceMyHours + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `email` | *String* | :heavy_check_mark: | Your My Hours username | john@doe.com | +| `logsBatchSize` | *Optional* | :heavy_minus_sign: | Pagination size used for retrieving logs in days | 30 | +| `password` | *String* | :heavy_check_mark: | The password associated to the username | | +| `sourceType` | [com.airbyte.api.models.shared.MyHours](../../models/shared/MyHours.md) | :heavy_check_mark: | N/A | | +| `startDate` | *String* | :heavy_check_mark: | Start date for collecting time logs | %Y-%m-%d | \ No newline at end of file diff --git a/docs/models/shared/SourceMysql.md b/docs/models/shared/SourceMysql.md new file mode 100644 index 000000000..9625c678d --- /dev/null +++ b/docs/models/shared/SourceMysql.md @@ -0,0 +1,17 @@ +# SourceMysql + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `database` | *String* | :heavy_check_mark: | The database name. | | +| `host` | *String* | :heavy_check_mark: | The host name of the database. | | +| `jdbcUrlParams` | *Optional* | :heavy_minus_sign: | Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). For more information read about JDBC URL parameters. | | +| `password` | *Optional* | :heavy_minus_sign: | The password associated with the username. | | +| `port` | *Optional* | :heavy_minus_sign: | The port to connect to. | 3306 | +| `replicationMethod` | [com.airbyte.api.models.shared.SourceMysqlUpdateMethod](../../models/shared/SourceMysqlUpdateMethod.md) | :heavy_check_mark: | Configures how data is extracted from the database. | | +| `sourceType` | [com.airbyte.api.models.shared.SourceMysqlMysql](../../models/shared/SourceMysqlMysql.md) | :heavy_check_mark: | N/A | | +| `sslMode` | [Optional](../../models/shared/SourceMysqlSSLModes.md) | :heavy_minus_sign: | SSL connection modes. Read more in the docs. | | +| `tunnelMethod` | [Optional](../../models/shared/SourceMysqlSSHTunnelMethod.md) | :heavy_minus_sign: | Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. | | +| `username` | *String* | :heavy_check_mark: | The username which is used to access the database. | | \ No newline at end of file diff --git a/docs/models/shared/SourceMysqlInvalidCDCPositionBehaviorAdvanced.md b/docs/models/shared/SourceMysqlInvalidCDCPositionBehaviorAdvanced.md new file mode 100644 index 000000000..5baf754b5 --- /dev/null +++ b/docs/models/shared/SourceMysqlInvalidCDCPositionBehaviorAdvanced.md @@ -0,0 +1,11 @@ +# SourceMysqlInvalidCDCPositionBehaviorAdvanced + +Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `FAIL_SYNC` | Fail sync | +| `RE_SYNC_DATA` | Re-sync data | \ No newline at end of file diff --git a/docs/models/shared/SourceMysqlMethod.md b/docs/models/shared/SourceMysqlMethod.md new file mode 100644 index 000000000..73f95f02c --- /dev/null +++ b/docs/models/shared/SourceMysqlMethod.md @@ -0,0 +1,8 @@ +# SourceMysqlMethod + + +## Values + +| Name | Value | +| ----- | ----- | +| `CDC` | CDC | \ No newline at end of file diff --git a/docs/models/shared/SourceMysqlMode.md b/docs/models/shared/SourceMysqlMode.md new file mode 100644 index 000000000..30806fa47 --- /dev/null +++ b/docs/models/shared/SourceMysqlMode.md @@ -0,0 +1,8 @@ +# SourceMysqlMode + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `PREFERRED` | preferred | \ No newline at end of file diff --git a/docs/models/shared/SourceMysqlMysql.md b/docs/models/shared/SourceMysqlMysql.md new file mode 100644 index 000000000..ffd1d338f --- /dev/null +++ b/docs/models/shared/SourceMysqlMysql.md @@ -0,0 +1,8 @@ +# SourceMysqlMysql + + +## Values + +| Name | Value | +| ------- | ------- | +| `MYSQL` | mysql | \ No newline at end of file diff --git a/docs/models/shared/SourceMysqlNoTunnel.md b/docs/models/shared/SourceMysqlNoTunnel.md new file mode 100644 index 000000000..7c07e6319 --- /dev/null +++ b/docs/models/shared/SourceMysqlNoTunnel.md @@ -0,0 +1,8 @@ +# SourceMysqlNoTunnel + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `tunnelMethod` | [com.airbyte.api.models.shared.SourceMysqlTunnelMethod](../../models/shared/SourceMysqlTunnelMethod.md) | :heavy_check_mark: | No ssh tunnel needed to connect to database | \ No newline at end of file diff --git a/docs/models/shared/SourceMysqlPasswordAuthentication.md b/docs/models/shared/SourceMysqlPasswordAuthentication.md new file mode 100644 index 000000000..9040b7130 --- /dev/null +++ b/docs/models/shared/SourceMysqlPasswordAuthentication.md @@ -0,0 +1,12 @@ +# SourceMysqlPasswordAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.SourceMysqlSchemasTunnelMethodTunnelMethod](../../models/shared/SourceMysqlSchemasTunnelMethodTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and password authentication | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host | | +| `tunnelUserPassword` | *String* | :heavy_check_mark: | OS-level password for logging into the jump server host | | \ No newline at end of file diff --git a/docs/models/shared/SourceMysqlSSHKeyAuthentication.md b/docs/models/shared/SourceMysqlSSHKeyAuthentication.md new file mode 100644 index 000000000..0def3eb20 --- /dev/null +++ b/docs/models/shared/SourceMysqlSSHKeyAuthentication.md @@ -0,0 +1,12 @@ +# SourceMysqlSSHKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `sshKey` | *String* | :heavy_check_mark: | OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) | | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.SourceMysqlSchemasTunnelMethod](../../models/shared/SourceMysqlSchemasTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and ssh key | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host. | | \ No newline at end of file diff --git a/docs/models/shared/SourceMysqlSSHTunnelMethod.md b/docs/models/shared/SourceMysqlSSHTunnelMethod.md new file mode 100644 index 000000000..28389ccec --- /dev/null +++ b/docs/models/shared/SourceMysqlSSHTunnelMethod.md @@ -0,0 +1,4 @@ +# SourceMysqlSSHTunnelMethod + +Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + diff --git a/docs/models/shared/SourceMysqlSSLModes.md b/docs/models/shared/SourceMysqlSSLModes.md new file mode 100644 index 000000000..5bdb08916 --- /dev/null +++ b/docs/models/shared/SourceMysqlSSLModes.md @@ -0,0 +1,4 @@ +# SourceMysqlSSLModes + +SSL connection modes. Read more in the docs. + diff --git a/docs/models/shared/SourceMysqlScanChangesWithUserDefinedCursor.md b/docs/models/shared/SourceMysqlScanChangesWithUserDefinedCursor.md new file mode 100644 index 000000000..4cad13793 --- /dev/null +++ b/docs/models/shared/SourceMysqlScanChangesWithUserDefinedCursor.md @@ -0,0 +1,10 @@ +# SourceMysqlScanChangesWithUserDefinedCursor + +Incrementally detects new inserts and updates using the cursor column chosen when configuring a connection (e.g. created_at, updated_at). + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `method` | [com.airbyte.api.models.shared.SourceMysqlSchemasMethod](../../models/shared/SourceMysqlSchemasMethod.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceMysqlSchemasMethod.md b/docs/models/shared/SourceMysqlSchemasMethod.md new file mode 100644 index 000000000..53b3f888b --- /dev/null +++ b/docs/models/shared/SourceMysqlSchemasMethod.md @@ -0,0 +1,8 @@ +# SourceMysqlSchemasMethod + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `STANDARD` | STANDARD | \ No newline at end of file diff --git a/docs/models/shared/SourceMysqlSchemasMode.md b/docs/models/shared/SourceMysqlSchemasMode.md new file mode 100644 index 000000000..2c92d7605 --- /dev/null +++ b/docs/models/shared/SourceMysqlSchemasMode.md @@ -0,0 +1,8 @@ +# SourceMysqlSchemasMode + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `REQUIRED` | required | \ No newline at end of file diff --git a/docs/models/shared/SourceMysqlSchemasSSLModeSSLModesMode.md b/docs/models/shared/SourceMysqlSchemasSSLModeSSLModesMode.md new file mode 100644 index 000000000..58f4ed8b6 --- /dev/null +++ b/docs/models/shared/SourceMysqlSchemasSSLModeSSLModesMode.md @@ -0,0 +1,8 @@ +# SourceMysqlSchemasSSLModeSSLModesMode + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `VERIFY_IDENTITY` | verify_identity | \ No newline at end of file diff --git a/docs/models/shared/SourceMysqlSchemasSslModeMode.md b/docs/models/shared/SourceMysqlSchemasSslModeMode.md new file mode 100644 index 000000000..b500f90af --- /dev/null +++ b/docs/models/shared/SourceMysqlSchemasSslModeMode.md @@ -0,0 +1,8 @@ +# SourceMysqlSchemasSslModeMode + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `VERIFY_CA` | verify_ca | \ No newline at end of file diff --git a/docs/models/shared/SourceMysqlSchemasTunnelMethod.md b/docs/models/shared/SourceMysqlSchemasTunnelMethod.md new file mode 100644 index 000000000..01853faf8 --- /dev/null +++ b/docs/models/shared/SourceMysqlSchemasTunnelMethod.md @@ -0,0 +1,10 @@ +# SourceMysqlSchemasTunnelMethod + +Connect through a jump server tunnel host using username and ssh key + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `SSH_KEY_AUTH` | SSH_KEY_AUTH | \ No newline at end of file diff --git a/docs/models/shared/SourceMysqlSchemasTunnelMethodTunnelMethod.md b/docs/models/shared/SourceMysqlSchemasTunnelMethodTunnelMethod.md new file mode 100644 index 000000000..8bf77cf6b --- /dev/null +++ b/docs/models/shared/SourceMysqlSchemasTunnelMethodTunnelMethod.md @@ -0,0 +1,10 @@ +# SourceMysqlSchemasTunnelMethodTunnelMethod + +Connect through a jump server tunnel host using username and password authentication + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `SSH_PASSWORD_AUTH` | SSH_PASSWORD_AUTH | \ No newline at end of file diff --git a/docs/models/shared/SourceMysqlTunnelMethod.md b/docs/models/shared/SourceMysqlTunnelMethod.md new file mode 100644 index 000000000..f6e3060e6 --- /dev/null +++ b/docs/models/shared/SourceMysqlTunnelMethod.md @@ -0,0 +1,10 @@ +# SourceMysqlTunnelMethod + +No ssh tunnel needed to connect to database + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `NO_TUNNEL` | NO_TUNNEL | \ No newline at end of file diff --git a/docs/models/shared/SourceMysqlUpdateMethod.md b/docs/models/shared/SourceMysqlUpdateMethod.md new file mode 100644 index 000000000..aa7ed0e6e --- /dev/null +++ b/docs/models/shared/SourceMysqlUpdateMethod.md @@ -0,0 +1,4 @@ +# SourceMysqlUpdateMethod + +Configures how data is extracted from the database. + diff --git a/docs/models/shared/SourceMysqlVerifyCA.md b/docs/models/shared/SourceMysqlVerifyCA.md new file mode 100644 index 000000000..28313252a --- /dev/null +++ b/docs/models/shared/SourceMysqlVerifyCA.md @@ -0,0 +1,14 @@ +# SourceMysqlVerifyCA + +Always connect with SSL. Verifies CA, but allows connection even if Hostname does not match. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | +| `caCertificate` | *String* | :heavy_check_mark: | CA certificate | +| `clientCertificate` | *Optional* | :heavy_minus_sign: | Client certificate (this is not a required field, but if you want to use it, you will need to add the Client key as well) | +| `clientKey` | *Optional* | :heavy_minus_sign: | Client key (this is not a required field, but if you want to use it, you will need to add the Client certificate as well) | +| `clientKeyPassword` | *Optional* | :heavy_minus_sign: | Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. | +| `mode` | [com.airbyte.api.models.shared.SourceMysqlSchemasSslModeMode](../../models/shared/SourceMysqlSchemasSslModeMode.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceNetsuite.md b/docs/models/shared/SourceNetsuite.md new file mode 100644 index 000000000..4816a5a29 --- /dev/null +++ b/docs/models/shared/SourceNetsuite.md @@ -0,0 +1,16 @@ +# SourceNetsuite + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `consumerKey` | *String* | :heavy_check_mark: | Consumer key associated with your integration | | +| `consumerSecret` | *String* | :heavy_check_mark: | Consumer secret associated with your integration | | +| `objectTypes` | List<*String*> | :heavy_minus_sign: | The API names of the Netsuite objects you want to sync. Setting this speeds up the connection setup process by limiting the number of schemas that need to be retrieved from Netsuite. | customer | +| `realm` | *String* | :heavy_check_mark: | Netsuite realm e.g. 2344535, as for `production` or 2344535_SB1, as for the `sandbox` | | +| `sourceType` | [com.airbyte.api.models.shared.Netsuite](../../models/shared/Netsuite.md) | :heavy_check_mark: | N/A | | +| `startDatetime` | *String* | :heavy_check_mark: | Starting point for your data replication, in format of "YYYY-MM-DDTHH:mm:ssZ" | 2017-01-25T00:00:00Z | +| `tokenKey` | *String* | :heavy_check_mark: | Access token key | | +| `tokenSecret` | *String* | :heavy_check_mark: | Access token secret | | +| `windowInDays` | *Optional* | :heavy_minus_sign: | The amount of days used to query the data with date chunks. Set smaller value, if you have lots of data. | | \ No newline at end of file diff --git a/docs/models/shared/SourceNotion.md b/docs/models/shared/SourceNotion.md new file mode 100644 index 000000000..4f63bffe0 --- /dev/null +++ b/docs/models/shared/SourceNotion.md @@ -0,0 +1,10 @@ +# SourceNotion + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [com.airbyte.api.models.shared.SourceNotionAuthenticationMethod](../../models/shared/SourceNotionAuthenticationMethod.md) | :heavy_check_mark: | Choose either OAuth (recommended for Airbyte Cloud) or Access Token. See our docs for more information. | | +| `sourceType` | [com.airbyte.api.models.shared.SourceNotionNotion](../../models/shared/SourceNotionNotion.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | UTC date and time in the format YYYY-MM-DDTHH:MM:SS.000Z. During incremental sync, any data generated before this date will not be replicated. If left blank, the start date will be set to 2 years before the present date. | 2020-11-16T00:00:00.000Z | \ No newline at end of file diff --git a/docs/models/shared/SourceNotionAccessToken.md b/docs/models/shared/SourceNotionAccessToken.md new file mode 100644 index 000000000..733c85993 --- /dev/null +++ b/docs/models/shared/SourceNotionAccessToken.md @@ -0,0 +1,9 @@ +# SourceNotionAccessToken + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `authType` | [com.airbyte.api.models.shared.SourceNotionSchemasAuthType](../../models/shared/SourceNotionSchemasAuthType.md) | :heavy_check_mark: | N/A | +| `token` | *String* | :heavy_check_mark: | The Access Token for your private Notion integration. See the docs for more information on how to obtain this token. | \ No newline at end of file diff --git a/docs/models/shared/SourceNotionAuthType.md b/docs/models/shared/SourceNotionAuthType.md new file mode 100644 index 000000000..a9e226f74 --- /dev/null +++ b/docs/models/shared/SourceNotionAuthType.md @@ -0,0 +1,8 @@ +# SourceNotionAuthType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `O_AUTH20` | OAuth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceNotionAuthenticationMethod.md b/docs/models/shared/SourceNotionAuthenticationMethod.md new file mode 100644 index 000000000..d5ee96a52 --- /dev/null +++ b/docs/models/shared/SourceNotionAuthenticationMethod.md @@ -0,0 +1,4 @@ +# SourceNotionAuthenticationMethod + +Choose either OAuth (recommended for Airbyte Cloud) or Access Token. See our docs for more information. + diff --git a/docs/models/shared/SourceNotionNotion.md b/docs/models/shared/SourceNotionNotion.md new file mode 100644 index 000000000..f46feb130 --- /dev/null +++ b/docs/models/shared/SourceNotionNotion.md @@ -0,0 +1,8 @@ +# SourceNotionNotion + + +## Values + +| Name | Value | +| -------- | -------- | +| `NOTION` | notion | \ No newline at end of file diff --git a/docs/models/shared/SourceNotionOAuth20.md b/docs/models/shared/SourceNotionOAuth20.md new file mode 100644 index 000000000..3020007b6 --- /dev/null +++ b/docs/models/shared/SourceNotionOAuth20.md @@ -0,0 +1,11 @@ +# SourceNotionOAuth20 + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `accessToken` | *String* | :heavy_check_mark: | The Access Token received by completing the OAuth flow for your Notion integration. See our docs for more information. | +| `authType` | [com.airbyte.api.models.shared.SourceNotionAuthType](../../models/shared/SourceNotionAuthType.md) | :heavy_check_mark: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your Notion integration. See our docs for more information. | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret of your Notion integration. See our docs for more information. | \ No newline at end of file diff --git a/docs/models/shared/SourceNotionSchemasAuthType.md b/docs/models/shared/SourceNotionSchemasAuthType.md new file mode 100644 index 000000000..a3f22b719 --- /dev/null +++ b/docs/models/shared/SourceNotionSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceNotionSchemasAuthType + + +## Values + +| Name | Value | +| ------- | ------- | +| `TOKEN` | token | \ No newline at end of file diff --git a/docs/models/shared/SourceNytimes.md b/docs/models/shared/SourceNytimes.md new file mode 100644 index 000000000..293294ad5 --- /dev/null +++ b/docs/models/shared/SourceNytimes.md @@ -0,0 +1,13 @@ +# SourceNytimes + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | API Key | | +| `endDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | End date to stop the article retrieval (format YYYY-MM) | 2022-08 | +| `period` | [com.airbyte.api.models.shared.PeriodUsedForMostPopularStreams](../../models/shared/PeriodUsedForMostPopularStreams.md) | :heavy_check_mark: | Period of time (in days) | | +| `shareType` | [Optional](../../models/shared/ShareTypeUsedForMostPopularSharedStream.md) | :heavy_minus_sign: | Share Type | | +| `sourceType` | [com.airbyte.api.models.shared.Nytimes](../../models/shared/Nytimes.md) | :heavy_check_mark: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_check_mark: | Start date to begin the article retrieval (format YYYY-MM) | 2022-08 | \ No newline at end of file diff --git a/docs/models/shared/SourceOkta.md b/docs/models/shared/SourceOkta.md new file mode 100644 index 000000000..097ed2441 --- /dev/null +++ b/docs/models/shared/SourceOkta.md @@ -0,0 +1,11 @@ +# SourceOkta + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/SourceOktaAuthorizationMethod.md) | :heavy_minus_sign: | N/A | | +| `domain` | *Optional* | :heavy_minus_sign: | The Okta domain. See the docs for instructions on how to find it. | | +| `sourceType` | [com.airbyte.api.models.shared.Okta](../../models/shared/Okta.md) | :heavy_check_mark: | N/A | | +| `startDate` | *Optional* | :heavy_minus_sign: | UTC date and time in the format YYYY-MM-DDTHH:MM:SSZ. Any data before this date will not be replicated. | 2022-07-22T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceOktaAPIToken.md b/docs/models/shared/SourceOktaAPIToken.md new file mode 100644 index 000000000..4387c69df --- /dev/null +++ b/docs/models/shared/SourceOktaAPIToken.md @@ -0,0 +1,9 @@ +# SourceOktaAPIToken + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | +| `apiToken` | *String* | :heavy_check_mark: | An Okta token. See the docs for instructions on how to generate it. | +| `authType` | [com.airbyte.api.models.shared.SourceOktaSchemasAuthType](../../models/shared/SourceOktaSchemasAuthType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceOktaAuthType.md b/docs/models/shared/SourceOktaAuthType.md new file mode 100644 index 000000000..b6ca44508 --- /dev/null +++ b/docs/models/shared/SourceOktaAuthType.md @@ -0,0 +1,8 @@ +# SourceOktaAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceOktaAuthorizationMethod.md b/docs/models/shared/SourceOktaAuthorizationMethod.md new file mode 100644 index 000000000..ec96f48d4 --- /dev/null +++ b/docs/models/shared/SourceOktaAuthorizationMethod.md @@ -0,0 +1,2 @@ +# SourceOktaAuthorizationMethod + diff --git a/docs/models/shared/SourceOktaOAuth20.md b/docs/models/shared/SourceOktaOAuth20.md new file mode 100644 index 000000000..f04941bbe --- /dev/null +++ b/docs/models/shared/SourceOktaOAuth20.md @@ -0,0 +1,11 @@ +# SourceOktaOAuth20 + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `authType` | [com.airbyte.api.models.shared.SourceOktaAuthType](../../models/shared/SourceOktaAuthType.md) | :heavy_check_mark: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your OAuth application. | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret of your OAuth application. | +| `refreshToken` | *String* | :heavy_check_mark: | Refresh Token to obtain new Access Token, when it's expired. | \ No newline at end of file diff --git a/docs/models/shared/SourceOktaSchemasAuthType.md b/docs/models/shared/SourceOktaSchemasAuthType.md new file mode 100644 index 000000000..ced46ddb6 --- /dev/null +++ b/docs/models/shared/SourceOktaSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceOktaSchemasAuthType + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `API_TOKEN` | api_token | \ No newline at end of file diff --git a/docs/models/shared/SourceOmnisend.md b/docs/models/shared/SourceOmnisend.md new file mode 100644 index 000000000..8231ad4a0 --- /dev/null +++ b/docs/models/shared/SourceOmnisend.md @@ -0,0 +1,9 @@ +# SourceOmnisend + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | API Key | +| `sourceType` | [com.airbyte.api.models.shared.Omnisend](../../models/shared/Omnisend.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceOnesignal.md b/docs/models/shared/SourceOnesignal.md new file mode 100644 index 000000000..2a94734ad --- /dev/null +++ b/docs/models/shared/SourceOnesignal.md @@ -0,0 +1,12 @@ +# SourceOnesignal + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `applications` | List<[com.airbyte.api.models.shared.Applications](../../models/shared/Applications.md)> | :heavy_check_mark: | Applications keys, see the docs for more information on how to obtain this data | | +| `outcomeNames` | *String* | :heavy_check_mark: | Comma-separated list of names and the value (sum/count) for the returned outcome data. See the docs for more details | os__session_duration.count,os__click.count,CustomOutcomeName.sum | +| `sourceType` | [com.airbyte.api.models.shared.Onesignal](../../models/shared/Onesignal.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | The date from which you'd like to replicate data for OneSignal API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. | 2020-11-16T00:00:00Z | +| `userAuthKey` | *String* | :heavy_check_mark: | OneSignal User Auth Key, see the docs for more information on how to obtain this key. | | \ No newline at end of file diff --git a/docs/models/shared/SourceOracle.md b/docs/models/shared/SourceOracle.md new file mode 100644 index 000000000..a07f077dd --- /dev/null +++ b/docs/models/shared/SourceOracle.md @@ -0,0 +1,17 @@ +# SourceOracle + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `connectionData` | [Optional](../../models/shared/ConnectBy.md) | :heavy_minus_sign: | Connect data that will be used for DB connection | +| `encryption` | [com.airbyte.api.models.shared.Encryption](../../models/shared/Encryption.md) | :heavy_check_mark: | The encryption method with is used when communicating with the database. | +| `host` | *String* | :heavy_check_mark: | Hostname of the database. | +| `jdbcUrlParams` | *Optional* | :heavy_minus_sign: | Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). | +| `password` | *Optional* | :heavy_minus_sign: | The password associated with the username. | +| `port` | *Optional* | :heavy_minus_sign: | Port of the database.
    Oracle Corporations recommends the following port numbers:
    1521 - Default listening port for client connections to the listener.
    2484 - Recommended and officially registered listening port for client connections to the listener using TCP/IP with SSL | +| `schemas` | List<*String*> | :heavy_minus_sign: | The list of schemas to sync from. Defaults to user. Case sensitive. | +| `sourceType` | [com.airbyte.api.models.shared.SourceOracleOracle](../../models/shared/SourceOracleOracle.md) | :heavy_check_mark: | N/A | +| `tunnelMethod` | [Optional](../../models/shared/SourceOracleSSHTunnelMethod.md) | :heavy_minus_sign: | Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. | +| `username` | *String* | :heavy_check_mark: | The username which is used to access the database. | \ No newline at end of file diff --git a/docs/models/shared/SourceOracleConnectionType.md b/docs/models/shared/SourceOracleConnectionType.md new file mode 100644 index 000000000..c97e81623 --- /dev/null +++ b/docs/models/shared/SourceOracleConnectionType.md @@ -0,0 +1,8 @@ +# SourceOracleConnectionType + + +## Values + +| Name | Value | +| ----- | ----- | +| `SID` | sid | \ No newline at end of file diff --git a/docs/models/shared/SourceOracleEncryptionMethod.md b/docs/models/shared/SourceOracleEncryptionMethod.md new file mode 100644 index 000000000..70bc1cc50 --- /dev/null +++ b/docs/models/shared/SourceOracleEncryptionMethod.md @@ -0,0 +1,8 @@ +# SourceOracleEncryptionMethod + + +## Values + +| Name | Value | +| ------------------------------ | ------------------------------ | +| `ENCRYPTED_VERIFY_CERTIFICATE` | encrypted_verify_certificate | \ No newline at end of file diff --git a/docs/models/shared/SourceOracleNoTunnel.md b/docs/models/shared/SourceOracleNoTunnel.md new file mode 100644 index 000000000..92879c903 --- /dev/null +++ b/docs/models/shared/SourceOracleNoTunnel.md @@ -0,0 +1,8 @@ +# SourceOracleNoTunnel + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `tunnelMethod` | [com.airbyte.api.models.shared.SourceOracleTunnelMethod](../../models/shared/SourceOracleTunnelMethod.md) | :heavy_check_mark: | No ssh tunnel needed to connect to database | \ No newline at end of file diff --git a/docs/models/shared/SourceOracleOracle.md b/docs/models/shared/SourceOracleOracle.md new file mode 100644 index 000000000..24ca4da5c --- /dev/null +++ b/docs/models/shared/SourceOracleOracle.md @@ -0,0 +1,8 @@ +# SourceOracleOracle + + +## Values + +| Name | Value | +| -------- | -------- | +| `ORACLE` | oracle | \ No newline at end of file diff --git a/docs/models/shared/SourceOraclePasswordAuthentication.md b/docs/models/shared/SourceOraclePasswordAuthentication.md new file mode 100644 index 000000000..9fc539442 --- /dev/null +++ b/docs/models/shared/SourceOraclePasswordAuthentication.md @@ -0,0 +1,12 @@ +# SourceOraclePasswordAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.SourceOracleSchemasTunnelMethodTunnelMethod](../../models/shared/SourceOracleSchemasTunnelMethodTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and password authentication | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host | | +| `tunnelUserPassword` | *String* | :heavy_check_mark: | OS-level password for logging into the jump server host | | \ No newline at end of file diff --git a/docs/models/shared/SourceOracleSSHKeyAuthentication.md b/docs/models/shared/SourceOracleSSHKeyAuthentication.md new file mode 100644 index 000000000..b9c1b6859 --- /dev/null +++ b/docs/models/shared/SourceOracleSSHKeyAuthentication.md @@ -0,0 +1,12 @@ +# SourceOracleSSHKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `sshKey` | *String* | :heavy_check_mark: | OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) | | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.SourceOracleSchemasTunnelMethod](../../models/shared/SourceOracleSchemasTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and ssh key | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host. | | \ No newline at end of file diff --git a/docs/models/shared/SourceOracleSSHTunnelMethod.md b/docs/models/shared/SourceOracleSSHTunnelMethod.md new file mode 100644 index 000000000..d93f45180 --- /dev/null +++ b/docs/models/shared/SourceOracleSSHTunnelMethod.md @@ -0,0 +1,4 @@ +# SourceOracleSSHTunnelMethod + +Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + diff --git a/docs/models/shared/SourceOracleSchemasTunnelMethod.md b/docs/models/shared/SourceOracleSchemasTunnelMethod.md new file mode 100644 index 000000000..5ba4e3d2e --- /dev/null +++ b/docs/models/shared/SourceOracleSchemasTunnelMethod.md @@ -0,0 +1,10 @@ +# SourceOracleSchemasTunnelMethod + +Connect through a jump server tunnel host using username and ssh key + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `SSH_KEY_AUTH` | SSH_KEY_AUTH | \ No newline at end of file diff --git a/docs/models/shared/SourceOracleSchemasTunnelMethodTunnelMethod.md b/docs/models/shared/SourceOracleSchemasTunnelMethodTunnelMethod.md new file mode 100644 index 000000000..6f6eb1047 --- /dev/null +++ b/docs/models/shared/SourceOracleSchemasTunnelMethodTunnelMethod.md @@ -0,0 +1,10 @@ +# SourceOracleSchemasTunnelMethodTunnelMethod + +Connect through a jump server tunnel host using username and password authentication + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `SSH_PASSWORD_AUTH` | SSH_PASSWORD_AUTH | \ No newline at end of file diff --git a/docs/models/shared/SourceOracleTunnelMethod.md b/docs/models/shared/SourceOracleTunnelMethod.md new file mode 100644 index 000000000..de6406a72 --- /dev/null +++ b/docs/models/shared/SourceOracleTunnelMethod.md @@ -0,0 +1,10 @@ +# SourceOracleTunnelMethod + +No ssh tunnel needed to connect to database + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `NO_TUNNEL` | NO_TUNNEL | \ No newline at end of file diff --git a/docs/models/shared/SourceOrb.md b/docs/models/shared/SourceOrb.md new file mode 100644 index 000000000..3147724b2 --- /dev/null +++ b/docs/models/shared/SourceOrb.md @@ -0,0 +1,16 @@ +# SourceOrb + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Orb API Key, issued from the Orb admin console. | | +| `endDate` | *Optional* | :heavy_minus_sign: | UTC date and time in the format 2022-03-01T00:00:00Z. Any data with created_at after this data will not be synced. For Subscription Usage, this becomes the `timeframe_start` API parameter. | 2024-03-01T00:00:00Z | +| `lookbackWindowDays` | *Optional* | :heavy_minus_sign: | When set to N, the connector will always refresh resources created within the past N days. By default, updated objects that are not newly created are not incrementally synced. | | +| `numericEventPropertiesKeys` | List<*String*> | :heavy_minus_sign: | Property key names to extract from all events, in order to enrich ledger entries corresponding to an event deduction. | | +| `planId` | *Optional* | :heavy_minus_sign: | Orb Plan ID to filter subscriptions that should have usage fetched. | | +| `sourceType` | [com.airbyte.api.models.shared.Orb](../../models/shared/Orb.md) | :heavy_check_mark: | N/A | | +| `startDate` | *String* | :heavy_check_mark: | UTC date and time in the format 2022-03-01T00:00:00Z. Any data with created_at before this data will not be synced. For Subscription Usage, this becomes the `timeframe_start` API parameter. | 2022-03-01T00:00:00Z | +| `stringEventPropertiesKeys` | List<*String*> | :heavy_minus_sign: | Property key names to extract from all events, in order to enrich ledger entries corresponding to an event deduction. | | +| `subscriptionUsageGroupingKey` | *Optional* | :heavy_minus_sign: | Property key name to group subscription usage by. | | \ No newline at end of file diff --git a/docs/models/shared/SourceOrbit.md b/docs/models/shared/SourceOrbit.md new file mode 100644 index 000000000..c3ed17683 --- /dev/null +++ b/docs/models/shared/SourceOrbit.md @@ -0,0 +1,11 @@ +# SourceOrbit + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `apiToken` | *String* | :heavy_check_mark: | Authorizes you to work with Orbit workspaces associated with the token. | +| `sourceType` | [com.airbyte.api.models.shared.Orbit](../../models/shared/Orbit.md) | :heavy_check_mark: | N/A | +| `startDate` | *Optional* | :heavy_minus_sign: | Date in the format 2022-06-26. Only load members whose last activities are after this date. | +| `workspace` | *String* | :heavy_check_mark: | The unique name of the workspace that your API token is associated with. | \ No newline at end of file diff --git a/docs/models/shared/SourceOutbrainAmplify.md b/docs/models/shared/SourceOutbrainAmplify.md new file mode 100644 index 000000000..c7c110f4a --- /dev/null +++ b/docs/models/shared/SourceOutbrainAmplify.md @@ -0,0 +1,13 @@ +# SourceOutbrainAmplify + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [com.airbyte.api.models.shared.SourceOutbrainAmplifyAuthenticationMethod](../../models/shared/SourceOutbrainAmplifyAuthenticationMethod.md) | :heavy_check_mark: | Credentials for making authenticated requests requires either username/password or access_token. | +| `endDate` | *Optional* | :heavy_minus_sign: | Date in the format YYYY-MM-DD. | +| `geoLocationBreakdown` | [Optional](../../models/shared/GranularityForGeoLocationRegion.md) | :heavy_minus_sign: | The granularity used for geo location data in reports. | +| `reportGranularity` | [Optional](../../models/shared/GranularityForPeriodicReports.md) | :heavy_minus_sign: | The granularity used for periodic data in reports. See the docs. | +| `sourceType` | [com.airbyte.api.models.shared.OutbrainAmplify](../../models/shared/OutbrainAmplify.md) | :heavy_check_mark: | N/A | +| `startDate` | *String* | :heavy_check_mark: | Date in the format YYYY-MM-DD eg. 2017-01-25. Any data before this date will not be replicated. | \ No newline at end of file diff --git a/docs/models/shared/SourceOutbrainAmplifyAccessToken.md b/docs/models/shared/SourceOutbrainAmplifyAccessToken.md new file mode 100644 index 000000000..1acab483b --- /dev/null +++ b/docs/models/shared/SourceOutbrainAmplifyAccessToken.md @@ -0,0 +1,9 @@ +# SourceOutbrainAmplifyAccessToken + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Access Token for making authenticated requests. | +| `type` | [com.airbyte.api.models.shared.AccessTokenIsRequiredForAuthenticationRequests](../../models/shared/AccessTokenIsRequiredForAuthenticationRequests.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceOutbrainAmplifyAuthenticationMethod.md b/docs/models/shared/SourceOutbrainAmplifyAuthenticationMethod.md new file mode 100644 index 000000000..268fb77e0 --- /dev/null +++ b/docs/models/shared/SourceOutbrainAmplifyAuthenticationMethod.md @@ -0,0 +1,4 @@ +# SourceOutbrainAmplifyAuthenticationMethod + +Credentials for making authenticated requests requires either username/password or access_token. + diff --git a/docs/models/shared/SourceOutbrainAmplifyUsernamePassword.md b/docs/models/shared/SourceOutbrainAmplifyUsernamePassword.md new file mode 100644 index 000000000..94a0df5e5 --- /dev/null +++ b/docs/models/shared/SourceOutbrainAmplifyUsernamePassword.md @@ -0,0 +1,10 @@ +# SourceOutbrainAmplifyUsernamePassword + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `password` | *String* | :heavy_check_mark: | Add Password for authentication. | +| `type` | [com.airbyte.api.models.shared.BothUsernameAndPasswordIsRequiredForAuthenticationRequest](../../models/shared/BothUsernameAndPasswordIsRequiredForAuthenticationRequest.md) | :heavy_check_mark: | N/A | +| `username` | *String* | :heavy_check_mark: | Add Username for authentication. | \ No newline at end of file diff --git a/docs/models/shared/SourceOutreach.md b/docs/models/shared/SourceOutreach.md new file mode 100644 index 000000000..08e698a3a --- /dev/null +++ b/docs/models/shared/SourceOutreach.md @@ -0,0 +1,13 @@ +# SourceOutreach + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your Outreach developer application. | | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret of your Outreach developer application. | | +| `redirectUri` | *String* | :heavy_check_mark: | A Redirect URI is the location where the authorization server sends the user once the app has been successfully authorized and granted an authorization code or access token. | | +| `refreshToken` | *String* | :heavy_check_mark: | The token for obtaining the new access token. | | +| `sourceType` | [com.airbyte.api.models.shared.Outreach](../../models/shared/Outreach.md) | :heavy_check_mark: | N/A | | +| `startDate` | *String* | :heavy_check_mark: | The date from which you'd like to replicate data for Outreach API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. | 2020-11-16T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourcePatchRequest.md b/docs/models/shared/SourcePatchRequest.md index c1ff71f52..b7895781d 100644 --- a/docs/models/shared/SourcePatchRequest.md +++ b/docs/models/shared/SourcePatchRequest.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | -| `configuration` | *java.lang.Object* | :heavy_minus_sign: | The values required to configure the source. | {
    "user": "charles"
    } | -| `name` | *String* | :heavy_minus_sign: | N/A | My source | -| `secretId` | *String* | :heavy_minus_sign: | Optional secretID obtained through the public API OAuth redirect flow. | | -| `workspaceId` | *String* | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| `configuration` | [Optional](../../models/shared/SourceConfiguration.md) | :heavy_minus_sign: | The values required to configure the source. | {
    "user": "charles"
    } | +| `name` | *Optional* | :heavy_minus_sign: | N/A | My source | +| `secretId` | *Optional* | :heavy_minus_sign: | Optional secretID obtained through the public API OAuth redirect flow. | | +| `workspaceId` | *Optional* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourcePaypalTransaction.md b/docs/models/shared/SourcePaypalTransaction.md new file mode 100644 index 000000000..87bce39ed --- /dev/null +++ b/docs/models/shared/SourcePaypalTransaction.md @@ -0,0 +1,16 @@ +# SourcePaypalTransaction + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your Paypal developer application. | | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret of your Paypal developer application. | | +| `disputeStartDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Start Date parameter for the list dispute endpoint in ISO format. This Start Date must be in range within 180 days before present time, and requires ONLY 3 miliseconds(mandatory). If you don't use this option, it defaults to a start date set 180 days in the past. | 2021-06-11T23:59:59.000Z | +| `endDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | End Date for data extraction in ISO format. This can be help you select specific range of time, mainly for test purposes or data integrity tests. When this is not used, now_utc() is used by the streams. This does not apply to Disputes and Product streams. | 2021-06-11T23:59:59Z | +| `isSandbox` | *Optional* | :heavy_minus_sign: | Determines whether to use the sandbox or production environment. | | +| `refreshToken` | *Optional* | :heavy_minus_sign: | The key to refresh the expired access token. | | +| `sourceType` | [com.airbyte.api.models.shared.PaypalTransaction](../../models/shared/PaypalTransaction.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | Start Date for data extraction in ISO format. Date must be in range from 3 years till 12 hrs before present time. | 2021-06-11T23:59:59Z | +| `timeWindow` | *Optional* | :heavy_minus_sign: | The number of days per request. Must be a number between 1 and 31. | | \ No newline at end of file diff --git a/docs/models/shared/SourcePaystack.md b/docs/models/shared/SourcePaystack.md new file mode 100644 index 000000000..771d3d3dd --- /dev/null +++ b/docs/models/shared/SourcePaystack.md @@ -0,0 +1,11 @@ +# SourcePaystack + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `lookbackWindowDays` | *Optional* | :heavy_minus_sign: | When set, the connector will always reload data from the past N days, where N is the value set here. This is useful if your data is updated after creation. | | +| `secretKey` | *String* | :heavy_check_mark: | The Paystack API key (usually starts with 'sk_live_'; find yours here). | | +| `sourceType` | [com.airbyte.api.models.shared.Paystack](../../models/shared/Paystack.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. | 2017-01-25T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourcePendo.md b/docs/models/shared/SourcePendo.md new file mode 100644 index 000000000..b4bbb0a44 --- /dev/null +++ b/docs/models/shared/SourcePendo.md @@ -0,0 +1,9 @@ +# SourcePendo + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | N/A | +| `sourceType` | [com.airbyte.api.models.shared.Pendo](../../models/shared/Pendo.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourcePersistiq.md b/docs/models/shared/SourcePersistiq.md new file mode 100644 index 000000000..1a19ae9a0 --- /dev/null +++ b/docs/models/shared/SourcePersistiq.md @@ -0,0 +1,9 @@ +# SourcePersistiq + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | PersistIq API Key. See the docs for more information on where to find that key. | +| `sourceType` | [com.airbyte.api.models.shared.Persistiq](../../models/shared/Persistiq.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourcePexelsApi.md b/docs/models/shared/SourcePexelsApi.md new file mode 100644 index 000000000..52095ee46 --- /dev/null +++ b/docs/models/shared/SourcePexelsApi.md @@ -0,0 +1,14 @@ +# SourcePexelsApi + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | API key is required to access pexels api, For getting your's goto https://www.pexels.com/api/documentation and create account for free. | | +| `color` | *Optional* | :heavy_minus_sign: | Optional, Desired photo color. Supported colors red, orange, yellow, green, turquoise, blue, violet, pink, brown, black, gray, white or any hexidecimal color code. | red | +| `locale` | *Optional* | :heavy_minus_sign: | Optional, The locale of the search you are performing. The current supported locales are 'en-US' 'pt-BR' 'es-ES' 'ca-ES' 'de-DE' 'it-IT' 'fr-FR' 'sv-SE' 'id-ID' 'pl-PL' 'ja-JP' 'zh-TW' 'zh-CN' 'ko-KR' 'th-TH' 'nl-NL' 'hu-HU' 'vi-VN' 'cs-CZ' 'da-DK' 'fi-FI' 'uk-UA' 'el-GR' 'ro-RO' 'nb-NO' 'sk-SK' 'tr-TR' 'ru-RU'. | en-US | +| `orientation` | *Optional* | :heavy_minus_sign: | Optional, Desired photo orientation. The current supported orientations are landscape, portrait or square | square | +| `query` | *String* | :heavy_check_mark: | Optional, the search query, Example Ocean, Tigers, Pears, etc. | people | +| `size` | *Optional* | :heavy_minus_sign: | Optional, Minimum photo size. The current supported sizes are large(24MP), medium(12MP) or small(4MP). | large | +| `sourceType` | [com.airbyte.api.models.shared.PexelsApi](../../models/shared/PexelsApi.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourcePinterest.md b/docs/models/shared/SourcePinterest.md new file mode 100644 index 000000000..05130d994 --- /dev/null +++ b/docs/models/shared/SourcePinterest.md @@ -0,0 +1,12 @@ +# SourcePinterest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/OAuth20.md) | :heavy_minus_sign: | N/A | | +| `customReports` | List<[com.airbyte.api.models.shared.ReportConfig](../../models/shared/ReportConfig.md)> | :heavy_minus_sign: | A list which contains ad statistics entries, each entry must have a name and can contains fields, breakdowns or action_breakdowns. Click on "add" to fill this field. | | +| `sourceType` | [Optional](../../models/shared/SourcePinterestPinterest.md) | :heavy_minus_sign: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | A date in the format YYYY-MM-DD. If you have not set a date, it would be defaulted to latest allowed date by api (89 days from today). | 2022-07-28 | +| `status` | List<[com.airbyte.api.models.shared.Status](../../models/shared/Status.md)> | :heavy_minus_sign: | For the ads, ad_groups, and campaigns streams, specifying a status will filter out records that do not match the specified ones. If a status is not specified, the source will default to records with a status of either ACTIVE or PAUSED. | | \ No newline at end of file diff --git a/docs/models/shared/SourcePinterestAuthMethod.md b/docs/models/shared/SourcePinterestAuthMethod.md new file mode 100644 index 000000000..5c3dd51d9 --- /dev/null +++ b/docs/models/shared/SourcePinterestAuthMethod.md @@ -0,0 +1,8 @@ +# SourcePinterestAuthMethod + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourcePinterestLevel.md b/docs/models/shared/SourcePinterestLevel.md new file mode 100644 index 000000000..364428c67 --- /dev/null +++ b/docs/models/shared/SourcePinterestLevel.md @@ -0,0 +1,21 @@ +# SourcePinterestLevel + +Chosen level for API + + +## Values + +| Name | Value | +| ------------------------- | ------------------------- | +| `ADVERTISER` | ADVERTISER | +| `ADVERTISER_TARGETING` | ADVERTISER_TARGETING | +| `CAMPAIGN` | CAMPAIGN | +| `CAMPAIGN_TARGETING` | CAMPAIGN_TARGETING | +| `AD_GROUP` | AD_GROUP | +| `AD_GROUP_TARGETING` | AD_GROUP_TARGETING | +| `PIN_PROMOTION` | PIN_PROMOTION | +| `PIN_PROMOTION_TARGETING` | PIN_PROMOTION_TARGETING | +| `KEYWORD` | KEYWORD | +| `PRODUCT_GROUP` | PRODUCT_GROUP | +| `PRODUCT_GROUP_TARGETING` | PRODUCT_GROUP_TARGETING | +| `PRODUCT_ITEM` | PRODUCT_ITEM | \ No newline at end of file diff --git a/docs/models/shared/SourcePinterestPinterest.md b/docs/models/shared/SourcePinterestPinterest.md new file mode 100644 index 000000000..aa74554fe --- /dev/null +++ b/docs/models/shared/SourcePinterestPinterest.md @@ -0,0 +1,8 @@ +# SourcePinterestPinterest + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `PINTEREST` | pinterest | \ No newline at end of file diff --git a/docs/models/shared/SourcePinterestSchemasValidEnums.md b/docs/models/shared/SourcePinterestSchemasValidEnums.md new file mode 100644 index 000000000..f4780e416 --- /dev/null +++ b/docs/models/shared/SourcePinterestSchemasValidEnums.md @@ -0,0 +1,121 @@ +# SourcePinterestSchemasValidEnums + +An enumeration. + + +## Values + +| Name | Value | +| ----------------------------------------------------- | ----------------------------------------------------- | +| `ADVERTISER_ID` | ADVERTISER_ID | +| `AD_ACCOUNT_ID` | AD_ACCOUNT_ID | +| `AD_GROUP_ENTITY_STATUS` | AD_GROUP_ENTITY_STATUS | +| `AD_GROUP_ID` | AD_GROUP_ID | +| `AD_ID` | AD_ID | +| `CAMPAIGN_DAILY_SPEND_CAP` | CAMPAIGN_DAILY_SPEND_CAP | +| `CAMPAIGN_ENTITY_STATUS` | CAMPAIGN_ENTITY_STATUS | +| `CAMPAIGN_ID` | CAMPAIGN_ID | +| `CAMPAIGN_LIFETIME_SPEND_CAP` | CAMPAIGN_LIFETIME_SPEND_CAP | +| `CAMPAIGN_NAME` | CAMPAIGN_NAME | +| `CHECKOUT_ROAS` | CHECKOUT_ROAS | +| `CLICKTHROUGH1` | CLICKTHROUGH_1 | +| `CLICKTHROUGH1_GROSS` | CLICKTHROUGH_1_GROSS | +| `CLICKTHROUGH2` | CLICKTHROUGH_2 | +| `CPC_IN_MICRO_DOLLAR` | CPC_IN_MICRO_DOLLAR | +| `CPM_IN_DOLLAR` | CPM_IN_DOLLAR | +| `CPM_IN_MICRO_DOLLAR` | CPM_IN_MICRO_DOLLAR | +| `CTR` | CTR | +| `CTR2` | CTR_2 | +| `ECPCV_IN_DOLLAR` | ECPCV_IN_DOLLAR | +| `ECPCV_P95_IN_DOLLAR` | ECPCV_P95_IN_DOLLAR | +| `ECPC_IN_DOLLAR` | ECPC_IN_DOLLAR | +| `ECPC_IN_MICRO_DOLLAR` | ECPC_IN_MICRO_DOLLAR | +| `ECPE_IN_DOLLAR` | ECPE_IN_DOLLAR | +| `ECPM_IN_MICRO_DOLLAR` | ECPM_IN_MICRO_DOLLAR | +| `ECPV_IN_DOLLAR` | ECPV_IN_DOLLAR | +| `ECTR` | ECTR | +| `EENGAGEMENT_RATE` | EENGAGEMENT_RATE | +| `ENGAGEMENT1` | ENGAGEMENT_1 | +| `ENGAGEMENT2` | ENGAGEMENT_2 | +| `ENGAGEMENT_RATE` | ENGAGEMENT_RATE | +| `IDEA_PIN_PRODUCT_TAG_VISIT1` | IDEA_PIN_PRODUCT_TAG_VISIT_1 | +| `IDEA_PIN_PRODUCT_TAG_VISIT2` | IDEA_PIN_PRODUCT_TAG_VISIT_2 | +| `IMPRESSION1` | IMPRESSION_1 | +| `IMPRESSION1_GROSS` | IMPRESSION_1_GROSS | +| `IMPRESSION2` | IMPRESSION_2 | +| `INAPP_CHECKOUT_COST_PER_ACTION` | INAPP_CHECKOUT_COST_PER_ACTION | +| `OUTBOUND_CLICK1` | OUTBOUND_CLICK_1 | +| `OUTBOUND_CLICK2` | OUTBOUND_CLICK_2 | +| `PAGE_VISIT_COST_PER_ACTION` | PAGE_VISIT_COST_PER_ACTION | +| `PAGE_VISIT_ROAS` | PAGE_VISIT_ROAS | +| `PAID_IMPRESSION` | PAID_IMPRESSION | +| `PIN_ID` | PIN_ID | +| `PIN_PROMOTION_ID` | PIN_PROMOTION_ID | +| `REPIN1` | REPIN_1 | +| `REPIN2` | REPIN_2 | +| `REPIN_RATE` | REPIN_RATE | +| `SPEND_IN_DOLLAR` | SPEND_IN_DOLLAR | +| `SPEND_IN_MICRO_DOLLAR` | SPEND_IN_MICRO_DOLLAR | +| `TOTAL_CHECKOUT` | TOTAL_CHECKOUT | +| `TOTAL_CHECKOUT_VALUE_IN_MICRO_DOLLAR` | TOTAL_CHECKOUT_VALUE_IN_MICRO_DOLLAR | +| `TOTAL_CLICKTHROUGH` | TOTAL_CLICKTHROUGH | +| `TOTAL_CLICK_ADD_TO_CART` | TOTAL_CLICK_ADD_TO_CART | +| `TOTAL_CLICK_CHECKOUT` | TOTAL_CLICK_CHECKOUT | +| `TOTAL_CLICK_CHECKOUT_VALUE_IN_MICRO_DOLLAR` | TOTAL_CLICK_CHECKOUT_VALUE_IN_MICRO_DOLLAR | +| `TOTAL_CLICK_LEAD` | TOTAL_CLICK_LEAD | +| `TOTAL_CLICK_SIGNUP` | TOTAL_CLICK_SIGNUP | +| `TOTAL_CLICK_SIGNUP_VALUE_IN_MICRO_DOLLAR` | TOTAL_CLICK_SIGNUP_VALUE_IN_MICRO_DOLLAR | +| `TOTAL_CONVERSIONS` | TOTAL_CONVERSIONS | +| `TOTAL_CUSTOM` | TOTAL_CUSTOM | +| `TOTAL_ENGAGEMENT` | TOTAL_ENGAGEMENT | +| `TOTAL_ENGAGEMENT_CHECKOUT` | TOTAL_ENGAGEMENT_CHECKOUT | +| `TOTAL_ENGAGEMENT_CHECKOUT_VALUE_IN_MICRO_DOLLAR` | TOTAL_ENGAGEMENT_CHECKOUT_VALUE_IN_MICRO_DOLLAR | +| `TOTAL_ENGAGEMENT_LEAD` | TOTAL_ENGAGEMENT_LEAD | +| `TOTAL_ENGAGEMENT_SIGNUP` | TOTAL_ENGAGEMENT_SIGNUP | +| `TOTAL_ENGAGEMENT_SIGNUP_VALUE_IN_MICRO_DOLLAR` | TOTAL_ENGAGEMENT_SIGNUP_VALUE_IN_MICRO_DOLLAR | +| `TOTAL_IDEA_PIN_PRODUCT_TAG_VISIT` | TOTAL_IDEA_PIN_PRODUCT_TAG_VISIT | +| `TOTAL_IMPRESSION_FREQUENCY` | TOTAL_IMPRESSION_FREQUENCY | +| `TOTAL_IMPRESSION_USER` | TOTAL_IMPRESSION_USER | +| `TOTAL_LEAD` | TOTAL_LEAD | +| `TOTAL_OFFLINE_CHECKOUT` | TOTAL_OFFLINE_CHECKOUT | +| `TOTAL_PAGE_VISIT` | TOTAL_PAGE_VISIT | +| `TOTAL_REPIN_RATE` | TOTAL_REPIN_RATE | +| `TOTAL_SIGNUP` | TOTAL_SIGNUP | +| `TOTAL_SIGNUP_VALUE_IN_MICRO_DOLLAR` | TOTAL_SIGNUP_VALUE_IN_MICRO_DOLLAR | +| `TOTAL_VIDEO3_SEC_VIEWS` | TOTAL_VIDEO_3SEC_VIEWS | +| `TOTAL_VIDEO_AVG_WATCHTIME_IN_SECOND` | TOTAL_VIDEO_AVG_WATCHTIME_IN_SECOND | +| `TOTAL_VIDEO_MRC_VIEWS` | TOTAL_VIDEO_MRC_VIEWS | +| `TOTAL_VIDEO_P0_COMBINED` | TOTAL_VIDEO_P0_COMBINED | +| `TOTAL_VIDEO_P100_COMPLETE` | TOTAL_VIDEO_P100_COMPLETE | +| `TOTAL_VIDEO_P25_COMBINED` | TOTAL_VIDEO_P25_COMBINED | +| `TOTAL_VIDEO_P50_COMBINED` | TOTAL_VIDEO_P50_COMBINED | +| `TOTAL_VIDEO_P75_COMBINED` | TOTAL_VIDEO_P75_COMBINED | +| `TOTAL_VIDEO_P95_COMBINED` | TOTAL_VIDEO_P95_COMBINED | +| `TOTAL_VIEW_ADD_TO_CART` | TOTAL_VIEW_ADD_TO_CART | +| `TOTAL_VIEW_CHECKOUT` | TOTAL_VIEW_CHECKOUT | +| `TOTAL_VIEW_CHECKOUT_VALUE_IN_MICRO_DOLLAR` | TOTAL_VIEW_CHECKOUT_VALUE_IN_MICRO_DOLLAR | +| `TOTAL_VIEW_LEAD` | TOTAL_VIEW_LEAD | +| `TOTAL_VIEW_SIGNUP` | TOTAL_VIEW_SIGNUP | +| `TOTAL_VIEW_SIGNUP_VALUE_IN_MICRO_DOLLAR` | TOTAL_VIEW_SIGNUP_VALUE_IN_MICRO_DOLLAR | +| `TOTAL_WEB_CHECKOUT` | TOTAL_WEB_CHECKOUT | +| `TOTAL_WEB_CHECKOUT_VALUE_IN_MICRO_DOLLAR` | TOTAL_WEB_CHECKOUT_VALUE_IN_MICRO_DOLLAR | +| `TOTAL_WEB_CLICK_CHECKOUT` | TOTAL_WEB_CLICK_CHECKOUT | +| `TOTAL_WEB_CLICK_CHECKOUT_VALUE_IN_MICRO_DOLLAR` | TOTAL_WEB_CLICK_CHECKOUT_VALUE_IN_MICRO_DOLLAR | +| `TOTAL_WEB_ENGAGEMENT_CHECKOUT` | TOTAL_WEB_ENGAGEMENT_CHECKOUT | +| `TOTAL_WEB_ENGAGEMENT_CHECKOUT_VALUE_IN_MICRO_DOLLAR` | TOTAL_WEB_ENGAGEMENT_CHECKOUT_VALUE_IN_MICRO_DOLLAR | +| `TOTAL_WEB_SESSIONS` | TOTAL_WEB_SESSIONS | +| `TOTAL_WEB_VIEW_CHECKOUT` | TOTAL_WEB_VIEW_CHECKOUT | +| `TOTAL_WEB_VIEW_CHECKOUT_VALUE_IN_MICRO_DOLLAR` | TOTAL_WEB_VIEW_CHECKOUT_VALUE_IN_MICRO_DOLLAR | +| `VIDEO3_SEC_VIEWS2` | VIDEO_3SEC_VIEWS_2 | +| `VIDEO_LENGTH` | VIDEO_LENGTH | +| `VIDEO_MRC_VIEWS2` | VIDEO_MRC_VIEWS_2 | +| `VIDEO_P0_COMBINED2` | VIDEO_P0_COMBINED_2 | +| `VIDEO_P100_COMPLETE2` | VIDEO_P100_COMPLETE_2 | +| `VIDEO_P25_COMBINED2` | VIDEO_P25_COMBINED_2 | +| `VIDEO_P50_COMBINED2` | VIDEO_P50_COMBINED_2 | +| `VIDEO_P75_COMBINED2` | VIDEO_P75_COMBINED_2 | +| `VIDEO_P95_COMBINED2` | VIDEO_P95_COMBINED_2 | +| `WEB_CHECKOUT_COST_PER_ACTION` | WEB_CHECKOUT_COST_PER_ACTION | +| `WEB_CHECKOUT_ROAS` | WEB_CHECKOUT_ROAS | +| `WEB_SESSIONS1` | WEB_SESSIONS_1 | +| `WEB_SESSIONS2` | WEB_SESSIONS_2 | \ No newline at end of file diff --git a/docs/models/shared/SourcePinterestValidEnums.md b/docs/models/shared/SourcePinterestValidEnums.md new file mode 100644 index 000000000..9448d690b --- /dev/null +++ b/docs/models/shared/SourcePinterestValidEnums.md @@ -0,0 +1,11 @@ +# SourcePinterestValidEnums + +An enumeration. + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `INDIVIDUAL` | INDIVIDUAL | +| `HOUSEHOLD` | HOUSEHOLD | \ No newline at end of file diff --git a/docs/models/shared/SourcePipedrive.md b/docs/models/shared/SourcePipedrive.md new file mode 100644 index 000000000..b576c90a6 --- /dev/null +++ b/docs/models/shared/SourcePipedrive.md @@ -0,0 +1,10 @@ +# SourcePipedrive + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiToken` | *String* | :heavy_check_mark: | The Pipedrive API Token. | | +| `replicationStartDate` | *String* | :heavy_check_mark: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. When specified and not None, then stream will behave as incremental | 2017-01-25 00:00:00Z | +| `sourceType` | [com.airbyte.api.models.shared.Pipedrive](../../models/shared/Pipedrive.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourcePocket.md b/docs/models/shared/SourcePocket.md new file mode 100644 index 000000000..2d3fcec45 --- /dev/null +++ b/docs/models/shared/SourcePocket.md @@ -0,0 +1,19 @@ +# SourcePocket + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | The user's Pocket access token. | | +| `consumerKey` | *String* | :heavy_check_mark: | Your application's Consumer Key. | | +| `contentType` | [Optional](../../models/shared/ContentType.md) | :heavy_minus_sign: | Select the content type of the items to retrieve. | | +| `detailType` | [Optional](../../models/shared/DetailType.md) | :heavy_minus_sign: | Select the granularity of the information about each item. | | +| `domain` | *Optional* | :heavy_minus_sign: | Only return items from a particular `domain`. | | +| `favorite` | *Optional* | :heavy_minus_sign: | Retrieve only favorited items. | | +| `search` | *Optional* | :heavy_minus_sign: | Only return items whose title or url contain the `search` string. | | +| `since` | *Optional* | :heavy_minus_sign: | Only return items modified since the given timestamp. | 2022-10-20 14:14:14 | +| `sort` | [Optional](../../models/shared/SourcePocketSortBy.md) | :heavy_minus_sign: | Sort retrieved items by the given criteria. | | +| `sourceType` | [com.airbyte.api.models.shared.Pocket](../../models/shared/Pocket.md) | :heavy_check_mark: | N/A | | +| `state` | [Optional](../../models/shared/State.md) | :heavy_minus_sign: | Select the state of the items to retrieve. | | +| `tag` | *Optional* | :heavy_minus_sign: | Return only items tagged with this tag name. Use _untagged_ for retrieving only untagged items. | | \ No newline at end of file diff --git a/docs/models/shared/SourcePocketSortBy.md b/docs/models/shared/SourcePocketSortBy.md new file mode 100644 index 000000000..1743dcd3a --- /dev/null +++ b/docs/models/shared/SourcePocketSortBy.md @@ -0,0 +1,13 @@ +# SourcePocketSortBy + +Sort retrieved items by the given criteria. + + +## Values + +| Name | Value | +| -------- | -------- | +| `NEWEST` | newest | +| `OLDEST` | oldest | +| `TITLE` | title | +| `SITE` | site | \ No newline at end of file diff --git a/docs/models/shared/SourcePokeapi.md b/docs/models/shared/SourcePokeapi.md new file mode 100644 index 000000000..a6b1c0f72 --- /dev/null +++ b/docs/models/shared/SourcePokeapi.md @@ -0,0 +1,9 @@ +# SourcePokeapi + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `pokemonName` | [com.airbyte.api.models.shared.PokemonName](../../models/shared/PokemonName.md) | :heavy_check_mark: | Pokemon requested from the API. | ditto | +| `sourceType` | [com.airbyte.api.models.shared.Pokeapi](../../models/shared/Pokeapi.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourcePolygonStockApi.md b/docs/models/shared/SourcePolygonStockApi.md new file mode 100644 index 000000000..6ccede074 --- /dev/null +++ b/docs/models/shared/SourcePolygonStockApi.md @@ -0,0 +1,17 @@ +# SourcePolygonStockApi + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `adjusted` | *Optional* | :heavy_minus_sign: | Determines whether or not the results are adjusted for splits. By default, results are adjusted and set to true. Set this to false to get results that are NOT adjusted for splits. | true | +| `apiKey` | *String* | :heavy_check_mark: | Your API ACCESS Key | | +| `endDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_check_mark: | The target date for the aggregate window. | 2020-10-14 | +| `limit` | *Optional* | :heavy_minus_sign: | The target date for the aggregate window. | 100 | +| `multiplier` | *long* | :heavy_check_mark: | The size of the timespan multiplier. | 1 | +| `sort` | *Optional* | :heavy_minus_sign: | Sort the results by timestamp. asc will return results in ascending order (oldest at the top), desc will return results in descending order (newest at the top). | asc | +| `sourceType` | [com.airbyte.api.models.shared.PolygonStockApi](../../models/shared/PolygonStockApi.md) | :heavy_check_mark: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_check_mark: | The beginning date for the aggregate window. | 2020-10-14 | +| `stocksTicker` | *String* | :heavy_check_mark: | The exchange symbol that this item is traded under. | IBM | +| `timespan` | *String* | :heavy_check_mark: | The size of the time window. | day | \ No newline at end of file diff --git a/docs/models/shared/SourcePostgres.md b/docs/models/shared/SourcePostgres.md new file mode 100644 index 000000000..9d91976c4 --- /dev/null +++ b/docs/models/shared/SourcePostgres.md @@ -0,0 +1,18 @@ +# SourcePostgres + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `database` | *String* | :heavy_check_mark: | Name of the database. | | +| `host` | *String* | :heavy_check_mark: | Hostname of the database. | | +| `jdbcUrlParams` | *Optional* | :heavy_minus_sign: | Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (Eg. key1=value1&key2=value2&key3=value3). For more information read about JDBC URL parameters. | | +| `password` | *Optional* | :heavy_minus_sign: | Password associated with the username. | | +| `port` | *Optional* | :heavy_minus_sign: | Port of the database. | 5432 | +| `replicationMethod` | [Optional](../../models/shared/SourcePostgresUpdateMethod.md) | :heavy_minus_sign: | Configures how data is extracted from the database. | | +| `schemas` | List<*String*> | :heavy_minus_sign: | The list of schemas (case sensitive) to sync from. Defaults to public. | | +| `sourceType` | [com.airbyte.api.models.shared.SourcePostgresPostgres](../../models/shared/SourcePostgresPostgres.md) | :heavy_check_mark: | N/A | | +| `sslMode` | *Optional* | :heavy_minus_sign: | SSL connection modes.
    Read more in the docs. | | +| `tunnelMethod` | [Optional](../../models/shared/SourcePostgresSSHTunnelMethod.md) | :heavy_minus_sign: | Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. | | +| `username` | *String* | :heavy_check_mark: | Username to access the database. | | \ No newline at end of file diff --git a/docs/models/shared/SourcePostgresMethod.md b/docs/models/shared/SourcePostgresMethod.md new file mode 100644 index 000000000..8a7c97454 --- /dev/null +++ b/docs/models/shared/SourcePostgresMethod.md @@ -0,0 +1,8 @@ +# SourcePostgresMethod + + +## Values + +| Name | Value | +| ------ | ------ | +| `XMIN` | Xmin | \ No newline at end of file diff --git a/docs/models/shared/SourcePostgresNoTunnel.md b/docs/models/shared/SourcePostgresNoTunnel.md new file mode 100644 index 000000000..9fde60478 --- /dev/null +++ b/docs/models/shared/SourcePostgresNoTunnel.md @@ -0,0 +1,8 @@ +# SourcePostgresNoTunnel + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `tunnelMethod` | [com.airbyte.api.models.shared.SourcePostgresTunnelMethod](../../models/shared/SourcePostgresTunnelMethod.md) | :heavy_check_mark: | No ssh tunnel needed to connect to database | \ No newline at end of file diff --git a/docs/models/shared/SourcePostgresPasswordAuthentication.md b/docs/models/shared/SourcePostgresPasswordAuthentication.md new file mode 100644 index 000000000..d43e274aa --- /dev/null +++ b/docs/models/shared/SourcePostgresPasswordAuthentication.md @@ -0,0 +1,12 @@ +# SourcePostgresPasswordAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.SourcePostgresSchemasTunnelMethodTunnelMethod](../../models/shared/SourcePostgresSchemasTunnelMethodTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and password authentication | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host | | +| `tunnelUserPassword` | *String* | :heavy_check_mark: | OS-level password for logging into the jump server host | | \ No newline at end of file diff --git a/docs/models/shared/SourcePostgresPostgres.md b/docs/models/shared/SourcePostgresPostgres.md new file mode 100644 index 000000000..0e68075ca --- /dev/null +++ b/docs/models/shared/SourcePostgresPostgres.md @@ -0,0 +1,8 @@ +# SourcePostgresPostgres + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `POSTGRES` | postgres | \ No newline at end of file diff --git a/docs/models/shared/SourcePostgresSSHKeyAuthentication.md b/docs/models/shared/SourcePostgresSSHKeyAuthentication.md new file mode 100644 index 000000000..5259fb42f --- /dev/null +++ b/docs/models/shared/SourcePostgresSSHKeyAuthentication.md @@ -0,0 +1,12 @@ +# SourcePostgresSSHKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `sshKey` | *String* | :heavy_check_mark: | OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) | | +| `tunnelHost` | *String* | :heavy_check_mark: | Hostname of the jump server host that allows inbound ssh tunnel. | | +| `tunnelMethod` | [com.airbyte.api.models.shared.SourcePostgresSchemasTunnelMethod](../../models/shared/SourcePostgresSchemasTunnelMethod.md) | :heavy_check_mark: | Connect through a jump server tunnel host using username and ssh key | | +| `tunnelPort` | *Optional* | :heavy_minus_sign: | Port on the proxy/jump server that accepts inbound ssh connections. | 22 | +| `tunnelUser` | *String* | :heavy_check_mark: | OS-level username for logging into the jump server host. | | \ No newline at end of file diff --git a/docs/models/shared/SourcePostgresSSHTunnelMethod.md b/docs/models/shared/SourcePostgresSSHTunnelMethod.md new file mode 100644 index 000000000..d442ae6f6 --- /dev/null +++ b/docs/models/shared/SourcePostgresSSHTunnelMethod.md @@ -0,0 +1,4 @@ +# SourcePostgresSSHTunnelMethod + +Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + diff --git a/docs/models/shared/SourcePostgresScanChangesWithUserDefinedCursor.md b/docs/models/shared/SourcePostgresScanChangesWithUserDefinedCursor.md new file mode 100644 index 000000000..dad658100 --- /dev/null +++ b/docs/models/shared/SourcePostgresScanChangesWithUserDefinedCursor.md @@ -0,0 +1,10 @@ +# SourcePostgresScanChangesWithUserDefinedCursor + +Incrementally detects new inserts and updates using the cursor column chosen when configuring a connection (e.g. created_at, updated_at). + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `method` | [com.airbyte.api.models.shared.SourcePostgresSchemasMethod](../../models/shared/SourcePostgresSchemasMethod.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourcePostgresSchemasMethod.md b/docs/models/shared/SourcePostgresSchemasMethod.md new file mode 100644 index 000000000..7cee0a668 --- /dev/null +++ b/docs/models/shared/SourcePostgresSchemasMethod.md @@ -0,0 +1,8 @@ +# SourcePostgresSchemasMethod + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `STANDARD` | Standard | \ No newline at end of file diff --git a/docs/models/shared/SourcePostgresSchemasTunnelMethod.md b/docs/models/shared/SourcePostgresSchemasTunnelMethod.md new file mode 100644 index 000000000..95c292792 --- /dev/null +++ b/docs/models/shared/SourcePostgresSchemasTunnelMethod.md @@ -0,0 +1,10 @@ +# SourcePostgresSchemasTunnelMethod + +Connect through a jump server tunnel host using username and ssh key + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `SSH_KEY_AUTH` | SSH_KEY_AUTH | \ No newline at end of file diff --git a/docs/models/shared/SourcePostgresSchemasTunnelMethodTunnelMethod.md b/docs/models/shared/SourcePostgresSchemasTunnelMethodTunnelMethod.md new file mode 100644 index 000000000..f9f9fb0b3 --- /dev/null +++ b/docs/models/shared/SourcePostgresSchemasTunnelMethodTunnelMethod.md @@ -0,0 +1,10 @@ +# SourcePostgresSchemasTunnelMethodTunnelMethod + +Connect through a jump server tunnel host using username and password authentication + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `SSH_PASSWORD_AUTH` | SSH_PASSWORD_AUTH | \ No newline at end of file diff --git a/docs/models/shared/SourcePostgresTunnelMethod.md b/docs/models/shared/SourcePostgresTunnelMethod.md new file mode 100644 index 000000000..3c1f22921 --- /dev/null +++ b/docs/models/shared/SourcePostgresTunnelMethod.md @@ -0,0 +1,10 @@ +# SourcePostgresTunnelMethod + +No ssh tunnel needed to connect to database + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `NO_TUNNEL` | NO_TUNNEL | \ No newline at end of file diff --git a/docs/models/shared/SourcePostgresUpdateMethod.md b/docs/models/shared/SourcePostgresUpdateMethod.md new file mode 100644 index 000000000..77ff52c28 --- /dev/null +++ b/docs/models/shared/SourcePostgresUpdateMethod.md @@ -0,0 +1,4 @@ +# SourcePostgresUpdateMethod + +Configures how data is extracted from the database. + diff --git a/docs/models/shared/SourcePosthog.md b/docs/models/shared/SourcePosthog.md new file mode 100644 index 000000000..a14dcd9d2 --- /dev/null +++ b/docs/models/shared/SourcePosthog.md @@ -0,0 +1,12 @@ +# SourcePosthog + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | API Key. See the docs for information on how to generate this key. | | +| `baseUrl` | *Optional* | :heavy_minus_sign: | Base PostHog url. Defaults to PostHog Cloud (https://app.posthog.com). | https://posthog.example.com | +| `eventsTimeStep` | *Optional* | :heavy_minus_sign: | Set lower value in case of failing long running sync of events stream. | 30 | +| `sourceType` | [com.airbyte.api.models.shared.Posthog](../../models/shared/Posthog.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | The date from which you'd like to replicate the data. Any data before this date will not be replicated. | 2021-01-01T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourcePostmarkapp.md b/docs/models/shared/SourcePostmarkapp.md new file mode 100644 index 000000000..605045c0b --- /dev/null +++ b/docs/models/shared/SourcePostmarkapp.md @@ -0,0 +1,10 @@ +# SourcePostmarkapp + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `xPostmarkAccountToken` | *String* | :heavy_check_mark: | API Key for account | +| `xPostmarkServerToken` | *String* | :heavy_check_mark: | API Key for server | +| `sourceType` | [com.airbyte.api.models.shared.Postmarkapp](../../models/shared/Postmarkapp.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourcePrestashop.md b/docs/models/shared/SourcePrestashop.md new file mode 100644 index 000000000..2236f4e6b --- /dev/null +++ b/docs/models/shared/SourcePrestashop.md @@ -0,0 +1,11 @@ +# SourcePrestashop + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessKey` | *String* | :heavy_check_mark: | Your PrestaShop access key. See the docs for info on how to obtain this. | | +| `sourceType` | [com.airbyte.api.models.shared.Prestashop](../../models/shared/Prestashop.md) | :heavy_check_mark: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_check_mark: | The Start date in the format YYYY-MM-DD. | 2022-01-01 | +| `url` | *String* | :heavy_check_mark: | Shop URL without trailing slash. | | \ No newline at end of file diff --git a/docs/models/shared/SourcePunkApi.md b/docs/models/shared/SourcePunkApi.md new file mode 100644 index 000000000..429374bd6 --- /dev/null +++ b/docs/models/shared/SourcePunkApi.md @@ -0,0 +1,11 @@ +# SourcePunkApi + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `brewedAfter` | *String* | :heavy_check_mark: | To extract specific data with Unique ID | MM-YYYY | +| `brewedBefore` | *String* | :heavy_check_mark: | To extract specific data with Unique ID | MM-YYYY | +| `id` | *Optional* | :heavy_minus_sign: | To extract specific data with Unique ID | 1 | +| `sourceType` | [com.airbyte.api.models.shared.PunkApi](../../models/shared/PunkApi.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourcePutRequest.md b/docs/models/shared/SourcePutRequest.md index 9289ed4f1..d07ffe442 100644 --- a/docs/models/shared/SourcePutRequest.md +++ b/docs/models/shared/SourcePutRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -| `configuration` | *java.lang.Object* | :heavy_check_mark: | The values required to configure the source. | {
    "user": "charles"
    } | -| `name` | *String* | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `configuration` | [com.airbyte.api.models.shared.SourceConfiguration](../../models/shared/SourceConfiguration.md) | :heavy_check_mark: | The values required to configure the source. | {
    "user": "charles"
    } | +| `name` | *String* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourcePypi.md b/docs/models/shared/SourcePypi.md new file mode 100644 index 000000000..d903a7467 --- /dev/null +++ b/docs/models/shared/SourcePypi.md @@ -0,0 +1,10 @@ +# SourcePypi + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `projectName` | *String* | :heavy_check_mark: | Name of the project/package. Can only be in lowercase with hyphen. This is the name used using pip command for installing the package. | sampleproject | +| `sourceType` | [com.airbyte.api.models.shared.Pypi](../../models/shared/Pypi.md) | :heavy_check_mark: | N/A | | +| `version` | *Optional* | :heavy_minus_sign: | Version of the project/package. Use it to find a particular release instead of all releases. | 1.2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceQualaroo.md b/docs/models/shared/SourceQualaroo.md new file mode 100644 index 000000000..498932b4c --- /dev/null +++ b/docs/models/shared/SourceQualaroo.md @@ -0,0 +1,12 @@ +# SourceQualaroo + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `key` | *String* | :heavy_check_mark: | A Qualaroo token. See the docs for instructions on how to generate it. | | +| `sourceType` | [com.airbyte.api.models.shared.Qualaroo](../../models/shared/Qualaroo.md) | :heavy_check_mark: | N/A | | +| `startDate` | *String* | :heavy_check_mark: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. | 2021-03-01T00:00:00.000Z | +| `surveyIds` | List<*String*> | :heavy_minus_sign: | IDs of the surveys from which you'd like to replicate data. If left empty, data from all surveys to which you have access will be replicated. | | +| `token` | *String* | :heavy_check_mark: | A Qualaroo token. See the docs for instructions on how to generate it. | | \ No newline at end of file diff --git a/docs/models/shared/SourceQuickbooks.md b/docs/models/shared/SourceQuickbooks.md new file mode 100644 index 000000000..4f9aa5476 --- /dev/null +++ b/docs/models/shared/SourceQuickbooks.md @@ -0,0 +1,11 @@ +# SourceQuickbooks + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `credentials` | [com.airbyte.api.models.shared.SourceQuickbooksAuthorizationMethod](../../models/shared/SourceQuickbooksAuthorizationMethod.md) | :heavy_check_mark: | N/A | | +| `sandbox` | *Optional* | :heavy_minus_sign: | Determines whether to use the sandbox or production environment. | | +| `sourceType` | [com.airbyte.api.models.shared.Quickbooks](../../models/shared/Quickbooks.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | The default value to use if no bookmark exists for an endpoint (rfc3339 date string). E.g, 2021-03-20T00:00:00Z. Any data before this date will not be replicated. | 2021-03-20T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceQuickbooksAuthType.md b/docs/models/shared/SourceQuickbooksAuthType.md new file mode 100644 index 000000000..16522a48d --- /dev/null +++ b/docs/models/shared/SourceQuickbooksAuthType.md @@ -0,0 +1,8 @@ +# SourceQuickbooksAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceQuickbooksAuthorizationMethod.md b/docs/models/shared/SourceQuickbooksAuthorizationMethod.md new file mode 100644 index 000000000..bffa005f1 --- /dev/null +++ b/docs/models/shared/SourceQuickbooksAuthorizationMethod.md @@ -0,0 +1,2 @@ +# SourceQuickbooksAuthorizationMethod + diff --git a/docs/models/shared/SourceQuickbooksOAuth20.md b/docs/models/shared/SourceQuickbooksOAuth20.md new file mode 100644 index 000000000..3c662f736 --- /dev/null +++ b/docs/models/shared/SourceQuickbooksOAuth20.md @@ -0,0 +1,14 @@ +# SourceQuickbooksOAuth20 + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Access token for making authenticated requests. | +| `authType` | [Optional](../../models/shared/SourceQuickbooksAuthType.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | Identifies which app is making the request. Obtain this value from the Keys tab on the app profile via My Apps on the developer site. There are two versions of this key: development and production. | +| `clientSecret` | *String* | :heavy_check_mark: | Obtain this value from the Keys tab on the app profile via My Apps on the developer site. There are two versions of this key: development and production. | +| `realmId` | *String* | :heavy_check_mark: | Labeled Company ID. The Make API Calls panel is populated with the realm id and the current access token. | +| `refreshToken` | *String* | :heavy_check_mark: | A token used when refreshing the access token. | +| `tokenExpiryDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | The date-time when the access token should be refreshed. | \ No newline at end of file diff --git a/docs/models/shared/SourceRailz.md b/docs/models/shared/SourceRailz.md new file mode 100644 index 000000000..c17fb6a83 --- /dev/null +++ b/docs/models/shared/SourceRailz.md @@ -0,0 +1,11 @@ +# SourceRailz + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `clientId` | *String* | :heavy_check_mark: | Client ID (client_id) | +| `secretKey` | *String* | :heavy_check_mark: | Secret key (secret_key) | +| `sourceType` | [com.airbyte.api.models.shared.Railz](../../models/shared/Railz.md) | :heavy_check_mark: | N/A | +| `startDate` | *String* | :heavy_check_mark: | Start date | \ No newline at end of file diff --git a/docs/models/shared/SourceRecharge.md b/docs/models/shared/SourceRecharge.md new file mode 100644 index 000000000..6a9605759 --- /dev/null +++ b/docs/models/shared/SourceRecharge.md @@ -0,0 +1,11 @@ +# SourceRecharge + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | The value of the Access Token generated. See the docs for more information. | | +| `sourceType` | [com.airbyte.api.models.shared.Recharge](../../models/shared/Recharge.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | The date from which you'd like to replicate data for Recharge API, in the format YYYY-MM-DDT00:00:00Z. Any data before this date will not be replicated. | 2021-05-14T00:00:00Z | +| `useOrdersDeprecatedApi` | *Optional* | :heavy_minus_sign: | Define whether or not the `Orders` stream should use the deprecated `2021-01` API version, or use `2021-11`, otherwise. | | \ No newline at end of file diff --git a/docs/models/shared/SourceRecreation.md b/docs/models/shared/SourceRecreation.md new file mode 100644 index 000000000..44965a88a --- /dev/null +++ b/docs/models/shared/SourceRecreation.md @@ -0,0 +1,10 @@ +# SourceRecreation + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `apikey` | *String* | :heavy_check_mark: | API Key | +| `queryCampsites` | *Optional* | :heavy_minus_sign: | N/A | +| `sourceType` | [com.airbyte.api.models.shared.Recreation](../../models/shared/Recreation.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceRecruitee.md b/docs/models/shared/SourceRecruitee.md new file mode 100644 index 000000000..7479582e2 --- /dev/null +++ b/docs/models/shared/SourceRecruitee.md @@ -0,0 +1,10 @@ +# SourceRecruitee + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Recruitee API Key. See here. | +| `companyId` | *long* | :heavy_check_mark: | Recruitee Company ID. You can also find this ID on the Recruitee API tokens page. | +| `sourceType` | [com.airbyte.api.models.shared.Recruitee](../../models/shared/Recruitee.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceRecurly.md b/docs/models/shared/SourceRecurly.md new file mode 100644 index 000000000..c1e827e8c --- /dev/null +++ b/docs/models/shared/SourceRecurly.md @@ -0,0 +1,11 @@ +# SourceRecurly + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Recurly API Key. See the docs for more information on how to generate this key. | | +| `beginTime` | *Optional* | :heavy_minus_sign: | ISO8601 timestamp from which the replication from Recurly API will start from. | 2021-12-01T00:00:00 | +| `endTime` | *Optional* | :heavy_minus_sign: | ISO8601 timestamp to which the replication from Recurly API will stop. Records after that date won't be imported. | 2021-12-01T00:00:00 | +| `sourceType` | [com.airbyte.api.models.shared.Recurly](../../models/shared/Recurly.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourceRedshift.md b/docs/models/shared/SourceRedshift.md new file mode 100644 index 000000000..4f6709d5c --- /dev/null +++ b/docs/models/shared/SourceRedshift.md @@ -0,0 +1,15 @@ +# SourceRedshift + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `database` | *String* | :heavy_check_mark: | Name of the database. | master | +| `host` | *String* | :heavy_check_mark: | Host Endpoint of the Redshift Cluster (must include the cluster-id, region and end with .redshift.amazonaws.com). | | +| `jdbcUrlParams` | *Optional* | :heavy_minus_sign: | Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). | | +| `password` | *String* | :heavy_check_mark: | Password associated with the username. | | +| `port` | *Optional* | :heavy_minus_sign: | Port of the database. | 5439 | +| `schemas` | List<*String*> | :heavy_minus_sign: | The list of schemas to sync from. Specify one or more explicitly or keep empty to process all schemas. Schema names are case sensitive. | public | +| `sourceType` | [com.airbyte.api.models.shared.SourceRedshiftRedshift](../../models/shared/SourceRedshiftRedshift.md) | :heavy_check_mark: | N/A | | +| `username` | *String* | :heavy_check_mark: | Username to use to access the database. | | \ No newline at end of file diff --git a/docs/models/shared/SourceRedshiftRedshift.md b/docs/models/shared/SourceRedshiftRedshift.md new file mode 100644 index 000000000..657c81de9 --- /dev/null +++ b/docs/models/shared/SourceRedshiftRedshift.md @@ -0,0 +1,8 @@ +# SourceRedshiftRedshift + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `REDSHIFT` | redshift | \ No newline at end of file diff --git a/docs/models/shared/SourceResponse.md b/docs/models/shared/SourceResponse.md index 4c8dc6298..766f695f8 100644 --- a/docs/models/shared/SourceResponse.md +++ b/docs/models/shared/SourceResponse.md @@ -5,10 +5,10 @@ Provides details of a single source. ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -| `configuration` | *java.lang.Object* | :heavy_check_mark: | The values required to configure the source. | {
    "user": "charles"
    } | -| `name` | *String* | :heavy_check_mark: | N/A | | -| `sourceId` | *String* | :heavy_check_mark: | N/A | | -| `sourceType` | *String* | :heavy_check_mark: | N/A | | -| `workspaceId` | *String* | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `configuration` | [com.airbyte.api.models.shared.SourceConfiguration](../../models/shared/SourceConfiguration.md) | :heavy_check_mark: | The values required to configure the source. | {
    "user": "charles"
    } | +| `name` | *String* | :heavy_check_mark: | N/A | | +| `sourceId` | *String* | :heavy_check_mark: | N/A | | +| `sourceType` | *String* | :heavy_check_mark: | N/A | | +| `workspaceId` | *String* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourceRetently.md b/docs/models/shared/SourceRetently.md new file mode 100644 index 000000000..442099f53 --- /dev/null +++ b/docs/models/shared/SourceRetently.md @@ -0,0 +1,9 @@ +# SourceRetently + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | *Optional* | :heavy_minus_sign: | Choose how to authenticate to Retently | +| `sourceType` | [Optional](../../models/shared/SourceRetentlyRetently.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceRetentlyRetently.md b/docs/models/shared/SourceRetentlyRetently.md new file mode 100644 index 000000000..dfb1e19c5 --- /dev/null +++ b/docs/models/shared/SourceRetentlyRetently.md @@ -0,0 +1,8 @@ +# SourceRetentlyRetently + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `RETENTLY` | retently | \ No newline at end of file diff --git a/docs/models/shared/SourceRkiCovid.md b/docs/models/shared/SourceRkiCovid.md new file mode 100644 index 000000000..36aac5b74 --- /dev/null +++ b/docs/models/shared/SourceRkiCovid.md @@ -0,0 +1,9 @@ +# SourceRkiCovid + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | +| `sourceType` | [com.airbyte.api.models.shared.RkiCovid](../../models/shared/RkiCovid.md) | :heavy_check_mark: | N/A | +| `startDate` | *String* | :heavy_check_mark: | UTC date in the format 2017-01-25. Any data before this date will not be replicated. | \ No newline at end of file diff --git a/docs/models/shared/SourceRss.md b/docs/models/shared/SourceRss.md new file mode 100644 index 000000000..418a3d03f --- /dev/null +++ b/docs/models/shared/SourceRss.md @@ -0,0 +1,9 @@ +# SourceRss + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `sourceType` | [com.airbyte.api.models.shared.Rss](../../models/shared/Rss.md) | :heavy_check_mark: | N/A | +| `url` | *String* | :heavy_check_mark: | RSS Feed URL | \ No newline at end of file diff --git a/docs/models/shared/SourceS3.md b/docs/models/shared/SourceS3.md new file mode 100644 index 000000000..b05fa25b1 --- /dev/null +++ b/docs/models/shared/SourceS3.md @@ -0,0 +1,24 @@ +# SourceS3 + +NOTE: When this Spec is changed, legacy_config_transformer.py must also be modified to uptake the changes +because it is responsible for converting legacy S3 v3 configs into v4 configs using the File-Based CDK. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `awsAccessKeyId` | *Optional* | :heavy_minus_sign: | In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. | | +| `awsSecretAccessKey` | *Optional* | :heavy_minus_sign: | In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. | | +| `bucket` | *String* | :heavy_check_mark: | Name of the S3 bucket where the file(s) exist. | | +| `dataset` | *Optional* | :heavy_minus_sign: | Deprecated and will be removed soon. Please do not use this field anymore and use streams.name instead. The name of the stream you would like this source to output. Can contain letters, numbers, or underscores. | | +| `endpoint` | *Optional* | :heavy_minus_sign: | Endpoint to an S3 compatible service. Leave empty to use AWS. The custom endpoint must be secure, but the 'https' prefix is not required. | my-s3-endpoint.com | +| `format` | [Optional](../../models/shared/SourceS3FileFormat.md) | :heavy_minus_sign: | Deprecated and will be removed soon. Please do not use this field anymore and use streams.format instead. The format of the files you'd like to replicate | | +| `pathPattern` | *Optional* | :heavy_minus_sign: | Deprecated and will be removed soon. Please do not use this field anymore and use streams.globs instead. A regular expression which tells the connector which files to replicate. All files which match this pattern will be replicated. Use \| to separate multiple patterns. See this page to understand pattern syntax (GLOBSTAR and SPLIT flags are enabled). Use pattern ** to pick up all files. | ** | +| `provider` | [Optional](../../models/shared/S3AmazonWebServices.md) | :heavy_minus_sign: | Deprecated and will be removed soon. Please do not use this field anymore and use bucket, aws_access_key_id, aws_secret_access_key and endpoint instead. Use this to load files from S3 or S3-compatible services | | +| `regionName` | *Optional* | :heavy_minus_sign: | AWS region where the S3 bucket is located. If not provided, the region will be determined automatically. | | +| `roleArn` | *Optional* | :heavy_minus_sign: | Specifies the Amazon Resource Name (ARN) of an IAM role that you want to use to perform operations requested using this profile. Set the External ID to the Airbyte workspace ID, which can be found in the URL of this page. | | +| `schema` | *Optional* | :heavy_minus_sign: | Deprecated and will be removed soon. Please do not use this field anymore and use streams.input_schema instead. Optionally provide a schema to enforce, as a valid JSON string. Ensure this is a mapping of { "column" : "type" }, where types are valid JSON Schema datatypes. Leave as {} to auto-infer the schema. | {"column_1": "number", "column_2": "string", "column_3": "array", "column_4": "object", "column_5": "boolean"} | +| `sourceType` | [com.airbyte.api.models.shared.SourceS3S3](../../models/shared/SourceS3S3.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. | 2021-01-01T00:00:00.000000Z | +| `streams` | List<[com.airbyte.api.models.shared.SourceS3FileBasedStreamConfig](../../models/shared/SourceS3FileBasedStreamConfig.md)> | :heavy_check_mark: | Each instance of this configuration defines a stream. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. | | \ No newline at end of file diff --git a/docs/models/shared/SourceS3Autogenerated.md b/docs/models/shared/SourceS3Autogenerated.md new file mode 100644 index 000000000..e321fd7c3 --- /dev/null +++ b/docs/models/shared/SourceS3Autogenerated.md @@ -0,0 +1,8 @@ +# SourceS3Autogenerated + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | +| `headerDefinitionType` | [Optional](../../models/shared/SourceS3SchemasHeaderDefinitionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceS3AvroFormat.md b/docs/models/shared/SourceS3AvroFormat.md new file mode 100644 index 000000000..076cdf103 --- /dev/null +++ b/docs/models/shared/SourceS3AvroFormat.md @@ -0,0 +1,9 @@ +# SourceS3AvroFormat + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `doubleAsString` | *Optional* | :heavy_minus_sign: | Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. | +| `filetype` | [Optional](../../models/shared/SourceS3SchemasStreamsFiletype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceS3CSVFormat.md b/docs/models/shared/SourceS3CSVFormat.md new file mode 100644 index 000000000..2f0dc7515 --- /dev/null +++ b/docs/models/shared/SourceS3CSVFormat.md @@ -0,0 +1,21 @@ +# SourceS3CSVFormat + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `delimiter` | *Optional* | :heavy_minus_sign: | The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. | +| `doubleQuote` | *Optional* | :heavy_minus_sign: | Whether two quotes in a quoted CSV value denote a single quote in the data. | +| `encoding` | *Optional* | :heavy_minus_sign: | The character encoding of the CSV data. Leave blank to default to UTF8. See list of python encodings for allowable options. | +| `escapeChar` | *Optional* | :heavy_minus_sign: | The character used for escaping special characters. To disallow escaping, leave this field blank. | +| `falseValues` | List<*String*> | :heavy_minus_sign: | A set of case-sensitive strings that should be interpreted as false values. | +| `filetype` | [Optional](../../models/shared/SourceS3SchemasStreamsFormatFiletype.md) | :heavy_minus_sign: | N/A | +| `headerDefinition` | [Optional](../../models/shared/SourceS3CSVHeaderDefinition.md) | :heavy_minus_sign: | How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. | +| `inferenceType` | [Optional](../../models/shared/SourceS3InferenceType.md) | :heavy_minus_sign: | How to infer the types of the columns. If none, inference default to strings. | +| `nullValues` | List<*String*> | :heavy_minus_sign: | A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. | +| `quoteChar` | *Optional* | :heavy_minus_sign: | The character used for quoting CSV values. To disallow quoting, make this field blank. | +| `skipRowsAfterHeader` | *Optional* | :heavy_minus_sign: | The number of rows to skip after the header row. | +| `skipRowsBeforeHeader` | *Optional* | :heavy_minus_sign: | The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. | +| `stringsCanBeNull` | *Optional* | :heavy_minus_sign: | Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. | +| `trueValues` | List<*String*> | :heavy_minus_sign: | A set of case-sensitive strings that should be interpreted as true values. | \ No newline at end of file diff --git a/docs/models/shared/SourceS3CSVHeaderDefinition.md b/docs/models/shared/SourceS3CSVHeaderDefinition.md new file mode 100644 index 000000000..3ab7aa744 --- /dev/null +++ b/docs/models/shared/SourceS3CSVHeaderDefinition.md @@ -0,0 +1,4 @@ +# SourceS3CSVHeaderDefinition + +How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + diff --git a/docs/models/shared/SourceS3DocumentFileTypeFormatExperimental.md b/docs/models/shared/SourceS3DocumentFileTypeFormatExperimental.md new file mode 100644 index 000000000..35d3146a7 --- /dev/null +++ b/docs/models/shared/SourceS3DocumentFileTypeFormatExperimental.md @@ -0,0 +1,13 @@ +# SourceS3DocumentFileTypeFormatExperimental + +Extract text from document formats (.pdf, .docx, .md, .pptx) and emit as one record per file. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filetype` | [Optional](../../models/shared/SourceS3SchemasStreamsFormatFormat5Filetype.md) | :heavy_minus_sign: | N/A | +| `processing` | [Optional](../../models/shared/SourceS3Processing.md) | :heavy_minus_sign: | Processing configuration | +| `skipUnprocessableFiles` | *Optional* | :heavy_minus_sign: | If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. | +| `strategy` | [Optional](../../models/shared/SourceS3ParsingStrategy.md) | :heavy_minus_sign: | The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf | \ No newline at end of file diff --git a/docs/models/shared/SourceS3FileBasedStreamConfig.md b/docs/models/shared/SourceS3FileBasedStreamConfig.md new file mode 100644 index 000000000..88aeff264 --- /dev/null +++ b/docs/models/shared/SourceS3FileBasedStreamConfig.md @@ -0,0 +1,16 @@ +# SourceS3FileBasedStreamConfig + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `daysToSyncIfHistoryIsFull` | *Optional* | :heavy_minus_sign: | When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. | +| `format` | [com.airbyte.api.models.shared.SourceS3Format](../../models/shared/SourceS3Format.md) | :heavy_check_mark: | The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. | +| `globs` | List<*String*> | :heavy_minus_sign: | The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look here. | +| `inputSchema` | *Optional* | :heavy_minus_sign: | The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. | +| `legacyPrefix` | *Optional* | :heavy_minus_sign: | The path prefix configured in v3 versions of the S3 connector. This option is deprecated in favor of a single glob. | +| `name` | *String* | :heavy_check_mark: | The name of the stream. | +| `primaryKey` | *Optional* | :heavy_minus_sign: | The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. | +| `schemaless` | *Optional* | :heavy_minus_sign: | When enabled, syncs will not validate or structure records against the stream's schema. | +| `validationPolicy` | [Optional](../../models/shared/SourceS3ValidationPolicy.md) | :heavy_minus_sign: | The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. | \ No newline at end of file diff --git a/docs/models/shared/SourceS3FileFormat.md b/docs/models/shared/SourceS3FileFormat.md new file mode 100644 index 000000000..bf5bcda4e --- /dev/null +++ b/docs/models/shared/SourceS3FileFormat.md @@ -0,0 +1,4 @@ +# SourceS3FileFormat + +Deprecated and will be removed soon. Please do not use this field anymore and use streams.format instead. The format of the files you'd like to replicate + diff --git a/docs/models/shared/SourceS3Filetype.md b/docs/models/shared/SourceS3Filetype.md new file mode 100644 index 000000000..227197e70 --- /dev/null +++ b/docs/models/shared/SourceS3Filetype.md @@ -0,0 +1,8 @@ +# SourceS3Filetype + + +## Values + +| Name | Value | +| --------- | --------- | +| `PARQUET` | parquet | \ No newline at end of file diff --git a/docs/models/shared/SourceS3Format.md b/docs/models/shared/SourceS3Format.md new file mode 100644 index 000000000..10684c4fd --- /dev/null +++ b/docs/models/shared/SourceS3Format.md @@ -0,0 +1,4 @@ +# SourceS3Format + +The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + diff --git a/docs/models/shared/SourceS3FromCSV.md b/docs/models/shared/SourceS3FromCSV.md new file mode 100644 index 000000000..848145f22 --- /dev/null +++ b/docs/models/shared/SourceS3FromCSV.md @@ -0,0 +1,8 @@ +# SourceS3FromCSV + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| `headerDefinitionType` | [Optional](../../models/shared/SourceS3HeaderDefinitionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceS3HeaderDefinitionType.md b/docs/models/shared/SourceS3HeaderDefinitionType.md new file mode 100644 index 000000000..374cff025 --- /dev/null +++ b/docs/models/shared/SourceS3HeaderDefinitionType.md @@ -0,0 +1,8 @@ +# SourceS3HeaderDefinitionType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `FROM_CSV` | From CSV | \ No newline at end of file diff --git a/docs/models/shared/SourceS3InferenceType.md b/docs/models/shared/SourceS3InferenceType.md new file mode 100644 index 000000000..b85657b73 --- /dev/null +++ b/docs/models/shared/SourceS3InferenceType.md @@ -0,0 +1,11 @@ +# SourceS3InferenceType + +How to infer the types of the columns. If none, inference default to strings. + + +## Values + +| Name | Value | +| ---------------------- | ---------------------- | +| `NONE` | None | +| `PRIMITIVE_TYPES_ONLY` | Primitive Types Only | \ No newline at end of file diff --git a/docs/models/shared/SourceS3JsonlFormat.md b/docs/models/shared/SourceS3JsonlFormat.md new file mode 100644 index 000000000..2fec9ac31 --- /dev/null +++ b/docs/models/shared/SourceS3JsonlFormat.md @@ -0,0 +1,8 @@ +# SourceS3JsonlFormat + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `filetype` | [Optional](../../models/shared/SourceS3SchemasStreamsFormatFormatFiletype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceS3Local.md b/docs/models/shared/SourceS3Local.md new file mode 100644 index 000000000..614d9ef3d --- /dev/null +++ b/docs/models/shared/SourceS3Local.md @@ -0,0 +1,10 @@ +# SourceS3Local + +Process files locally, supporting `fast` and `ocr` modes. This is the default option. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `mode` | [Optional](../../models/shared/SourceS3Mode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceS3Mode.md b/docs/models/shared/SourceS3Mode.md new file mode 100644 index 000000000..b0c280493 --- /dev/null +++ b/docs/models/shared/SourceS3Mode.md @@ -0,0 +1,8 @@ +# SourceS3Mode + + +## Values + +| Name | Value | +| ------- | ------- | +| `LOCAL` | local | \ No newline at end of file diff --git a/docs/models/shared/SourceS3ParquetFormat.md b/docs/models/shared/SourceS3ParquetFormat.md new file mode 100644 index 000000000..59f53f45f --- /dev/null +++ b/docs/models/shared/SourceS3ParquetFormat.md @@ -0,0 +1,9 @@ +# SourceS3ParquetFormat + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `decimalAsFloat` | *Optional* | :heavy_minus_sign: | Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. | +| `filetype` | [Optional](../../models/shared/SourceS3SchemasStreamsFormatFormat4Filetype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceS3ParsingStrategy.md b/docs/models/shared/SourceS3ParsingStrategy.md new file mode 100644 index 000000000..c17649ebc --- /dev/null +++ b/docs/models/shared/SourceS3ParsingStrategy.md @@ -0,0 +1,13 @@ +# SourceS3ParsingStrategy + +The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `AUTO` | auto | +| `FAST` | fast | +| `OCR_ONLY` | ocr_only | +| `HI_RES` | hi_res | \ No newline at end of file diff --git a/docs/models/shared/SourceS3Processing.md b/docs/models/shared/SourceS3Processing.md new file mode 100644 index 000000000..7dafcdc91 --- /dev/null +++ b/docs/models/shared/SourceS3Processing.md @@ -0,0 +1,4 @@ +# SourceS3Processing + +Processing configuration + diff --git a/docs/models/shared/SourceS3S3.md b/docs/models/shared/SourceS3S3.md new file mode 100644 index 000000000..e18bf4743 --- /dev/null +++ b/docs/models/shared/SourceS3S3.md @@ -0,0 +1,8 @@ +# SourceS3S3 + + +## Values + +| Name | Value | +| ----- | ----- | +| `S3` | s3 | \ No newline at end of file diff --git a/docs/models/shared/SourceS3SchemasFiletype.md b/docs/models/shared/SourceS3SchemasFiletype.md new file mode 100644 index 000000000..180631d16 --- /dev/null +++ b/docs/models/shared/SourceS3SchemasFiletype.md @@ -0,0 +1,8 @@ +# SourceS3SchemasFiletype + + +## Values + +| Name | Value | +| ------ | ------ | +| `AVRO` | avro | \ No newline at end of file diff --git a/docs/models/shared/SourceS3SchemasFormatFileFormatFiletype.md b/docs/models/shared/SourceS3SchemasFormatFileFormatFiletype.md new file mode 100644 index 000000000..eee657efb --- /dev/null +++ b/docs/models/shared/SourceS3SchemasFormatFileFormatFiletype.md @@ -0,0 +1,8 @@ +# SourceS3SchemasFormatFileFormatFiletype + + +## Values + +| Name | Value | +| ----- | ----- | +| `CSV` | csv | \ No newline at end of file diff --git a/docs/models/shared/SourceS3SchemasFormatFiletype.md b/docs/models/shared/SourceS3SchemasFormatFiletype.md new file mode 100644 index 000000000..6e89b8172 --- /dev/null +++ b/docs/models/shared/SourceS3SchemasFormatFiletype.md @@ -0,0 +1,8 @@ +# SourceS3SchemasFormatFiletype + + +## Values + +| Name | Value | +| ------- | ------- | +| `JSONL` | jsonl | \ No newline at end of file diff --git a/docs/models/shared/SourceS3SchemasHeaderDefinitionType.md b/docs/models/shared/SourceS3SchemasHeaderDefinitionType.md new file mode 100644 index 000000000..03270fc02 --- /dev/null +++ b/docs/models/shared/SourceS3SchemasHeaderDefinitionType.md @@ -0,0 +1,8 @@ +# SourceS3SchemasHeaderDefinitionType + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `AUTOGENERATED` | Autogenerated | \ No newline at end of file diff --git a/docs/models/shared/SourceS3SchemasStreamsFiletype.md b/docs/models/shared/SourceS3SchemasStreamsFiletype.md new file mode 100644 index 000000000..1888d570f --- /dev/null +++ b/docs/models/shared/SourceS3SchemasStreamsFiletype.md @@ -0,0 +1,8 @@ +# SourceS3SchemasStreamsFiletype + + +## Values + +| Name | Value | +| ------ | ------ | +| `AVRO` | avro | \ No newline at end of file diff --git a/docs/models/shared/SourceS3SchemasStreamsFormatFiletype.md b/docs/models/shared/SourceS3SchemasStreamsFormatFiletype.md new file mode 100644 index 000000000..98c6564e1 --- /dev/null +++ b/docs/models/shared/SourceS3SchemasStreamsFormatFiletype.md @@ -0,0 +1,8 @@ +# SourceS3SchemasStreamsFormatFiletype + + +## Values + +| Name | Value | +| ----- | ----- | +| `CSV` | csv | \ No newline at end of file diff --git a/docs/models/shared/SourceS3SchemasStreamsFormatFormat4Filetype.md b/docs/models/shared/SourceS3SchemasStreamsFormatFormat4Filetype.md new file mode 100644 index 000000000..f5aad6d75 --- /dev/null +++ b/docs/models/shared/SourceS3SchemasStreamsFormatFormat4Filetype.md @@ -0,0 +1,8 @@ +# SourceS3SchemasStreamsFormatFormat4Filetype + + +## Values + +| Name | Value | +| --------- | --------- | +| `PARQUET` | parquet | \ No newline at end of file diff --git a/docs/models/shared/SourceS3SchemasStreamsFormatFormat5Filetype.md b/docs/models/shared/SourceS3SchemasStreamsFormatFormat5Filetype.md new file mode 100644 index 000000000..9dd124f0f --- /dev/null +++ b/docs/models/shared/SourceS3SchemasStreamsFormatFormat5Filetype.md @@ -0,0 +1,8 @@ +# SourceS3SchemasStreamsFormatFormat5Filetype + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `UNSTRUCTURED` | unstructured | \ No newline at end of file diff --git a/docs/models/shared/SourceS3SchemasStreamsFormatFormatFiletype.md b/docs/models/shared/SourceS3SchemasStreamsFormatFormatFiletype.md new file mode 100644 index 000000000..ed56cf3bd --- /dev/null +++ b/docs/models/shared/SourceS3SchemasStreamsFormatFormatFiletype.md @@ -0,0 +1,8 @@ +# SourceS3SchemasStreamsFormatFormatFiletype + + +## Values + +| Name | Value | +| ------- | ------- | +| `JSONL` | jsonl | \ No newline at end of file diff --git a/docs/models/shared/SourceS3SchemasStreamsHeaderDefinitionType.md b/docs/models/shared/SourceS3SchemasStreamsHeaderDefinitionType.md new file mode 100644 index 000000000..20ff2050f --- /dev/null +++ b/docs/models/shared/SourceS3SchemasStreamsHeaderDefinitionType.md @@ -0,0 +1,8 @@ +# SourceS3SchemasStreamsHeaderDefinitionType + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `USER_PROVIDED` | User Provided | \ No newline at end of file diff --git a/docs/models/shared/SourceS3UserProvided.md b/docs/models/shared/SourceS3UserProvided.md new file mode 100644 index 000000000..d76d5c00a --- /dev/null +++ b/docs/models/shared/SourceS3UserProvided.md @@ -0,0 +1,9 @@ +# SourceS3UserProvided + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `columnNames` | List<*String*> | :heavy_check_mark: | The column names that will be used while emitting the CSV records | +| `headerDefinitionType` | [Optional](../../models/shared/SourceS3SchemasStreamsHeaderDefinitionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceS3ValidationPolicy.md b/docs/models/shared/SourceS3ValidationPolicy.md new file mode 100644 index 000000000..376bb043e --- /dev/null +++ b/docs/models/shared/SourceS3ValidationPolicy.md @@ -0,0 +1,12 @@ +# SourceS3ValidationPolicy + +The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `EMIT_RECORD` | Emit Record | +| `SKIP_RECORD` | Skip Record | +| `WAIT_FOR_DISCOVER` | Wait for Discover | \ No newline at end of file diff --git a/docs/models/shared/SourceSalesforce.md b/docs/models/shared/SourceSalesforce.md new file mode 100644 index 000000000..e6cd6c5cc --- /dev/null +++ b/docs/models/shared/SourceSalesforce.md @@ -0,0 +1,17 @@ +# SourceSalesforce + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [Optional](../../models/shared/AuthType.md) | :heavy_minus_sign: | N/A | | +| `clientId` | *String* | :heavy_check_mark: | Enter your Salesforce developer application's Client ID | | +| `clientSecret` | *String* | :heavy_check_mark: | Enter your Salesforce developer application's Client secret | | +| `forceUseBulkApi` | *Optional* | :heavy_minus_sign: | Toggle to use Bulk API (this might cause empty fields for some streams) | | +| `isSandbox` | *Optional* | :heavy_minus_sign: | Toggle if you're using a Salesforce Sandbox | | +| `refreshToken` | *String* | :heavy_check_mark: | Enter your application's Salesforce Refresh Token used for Airbyte to access your Salesforce account. | | +| `sourceType` | [com.airbyte.api.models.shared.SourceSalesforceSalesforce](../../models/shared/SourceSalesforceSalesforce.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Enter the date (or date-time) in the YYYY-MM-DD or YYYY-MM-DDTHH:mm:ssZ format. Airbyte will replicate the data updated on and after this date. If this field is blank, Airbyte will replicate the data for last two years. | 2021-07-25 | +| `streamSliceStep` | *Optional* | :heavy_minus_sign: | The size of the time window (ISO8601 duration) to slice requests. | PT12H | +| `streamsCriteria` | List<[com.airbyte.api.models.shared.StreamsCriteria](../../models/shared/StreamsCriteria.md)> | :heavy_minus_sign: | Add filters to select only required stream based on `SObject` name. Use this field to filter which tables are displayed by this connector. This is useful if your Salesforce account has a large number of tables (>1000), in which case you may find it easier to navigate the UI and speed up the connector's performance if you restrict the tables displayed by this connector. | | \ No newline at end of file diff --git a/docs/models/shared/SourceSalesforceSalesforce.md b/docs/models/shared/SourceSalesforceSalesforce.md new file mode 100644 index 000000000..3c8e5fc19 --- /dev/null +++ b/docs/models/shared/SourceSalesforceSalesforce.md @@ -0,0 +1,8 @@ +# SourceSalesforceSalesforce + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `SALESFORCE` | salesforce | \ No newline at end of file diff --git a/docs/models/shared/SourceSalesloft.md b/docs/models/shared/SourceSalesloft.md new file mode 100644 index 000000000..27f238907 --- /dev/null +++ b/docs/models/shared/SourceSalesloft.md @@ -0,0 +1,10 @@ +# SourceSalesloft + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [com.airbyte.api.models.shared.SourceSalesloftCredentials](../../models/shared/SourceSalesloftCredentials.md) | :heavy_check_mark: | N/A | | +| `sourceType` | [com.airbyte.api.models.shared.Salesloft](../../models/shared/Salesloft.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | The date from which you'd like to replicate data for Salesloft API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. | 2020-11-16T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceSalesloftAuthType.md b/docs/models/shared/SourceSalesloftAuthType.md new file mode 100644 index 000000000..27239113d --- /dev/null +++ b/docs/models/shared/SourceSalesloftAuthType.md @@ -0,0 +1,8 @@ +# SourceSalesloftAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceSalesloftCredentials.md b/docs/models/shared/SourceSalesloftCredentials.md new file mode 100644 index 000000000..f07678a9b --- /dev/null +++ b/docs/models/shared/SourceSalesloftCredentials.md @@ -0,0 +1,2 @@ +# SourceSalesloftCredentials + diff --git a/docs/models/shared/SourceSalesloftSchemasAuthType.md b/docs/models/shared/SourceSalesloftSchemasAuthType.md new file mode 100644 index 000000000..0f95e3e00 --- /dev/null +++ b/docs/models/shared/SourceSalesloftSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceSalesloftSchemasAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `API_KEY` | api_key | \ No newline at end of file diff --git a/docs/models/shared/SourceSapFieldglass.md b/docs/models/shared/SourceSapFieldglass.md new file mode 100644 index 000000000..a6a021206 --- /dev/null +++ b/docs/models/shared/SourceSapFieldglass.md @@ -0,0 +1,9 @@ +# SourceSapFieldglass + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | API Key | +| `sourceType` | [com.airbyte.api.models.shared.SapFieldglass](../../models/shared/SapFieldglass.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceSecoda.md b/docs/models/shared/SourceSecoda.md new file mode 100644 index 000000000..b17ef4341 --- /dev/null +++ b/docs/models/shared/SourceSecoda.md @@ -0,0 +1,9 @@ +# SourceSecoda + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | +| `apiKey` | *String* | :heavy_check_mark: | Your API Access Key. See here. The key is case sensitive. | +| `sourceType` | [com.airbyte.api.models.shared.Secoda](../../models/shared/Secoda.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceSendgrid.md b/docs/models/shared/SourceSendgrid.md new file mode 100644 index 000000000..8884fe0a8 --- /dev/null +++ b/docs/models/shared/SourceSendgrid.md @@ -0,0 +1,10 @@ +# SourceSendgrid + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `apikey` | *String* | :heavy_check_mark: | API Key, use admin to generate this key. | | +| `sourceType` | [com.airbyte.api.models.shared.Sendgrid](../../models/shared/Sendgrid.md) | :heavy_check_mark: | N/A | | +| `startTime` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Start time in ISO8601 format. Any data before this time point will not be replicated. | 2020-01-01T01:01:01Z | \ No newline at end of file diff --git a/docs/models/shared/SourceSendinblue.md b/docs/models/shared/SourceSendinblue.md new file mode 100644 index 000000000..1c782bd4f --- /dev/null +++ b/docs/models/shared/SourceSendinblue.md @@ -0,0 +1,9 @@ +# SourceSendinblue + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Your API Key. See here. | +| `sourceType` | [com.airbyte.api.models.shared.Sendinblue](../../models/shared/Sendinblue.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceSenseforce.md b/docs/models/shared/SourceSenseforce.md new file mode 100644 index 000000000..8785488da --- /dev/null +++ b/docs/models/shared/SourceSenseforce.md @@ -0,0 +1,13 @@ +# SourceSenseforce + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Your API access token. See here. The toke is case sensitive. | | +| `backendUrl` | *String* | :heavy_check_mark: | Your Senseforce API backend URL. This is the URL shown during the Login screen. See here for more details. (Note: Most Senseforce backend APIs have the term 'galaxy' in their ULR) | https://galaxyapi.senseforce.io | +| `datasetId` | *String* | :heavy_check_mark: | The ID of the dataset you want to synchronize. The ID can be found in the URL when opening the dataset. See here for more details. (Note: As the Senseforce API only allows to synchronize a specific dataset, each dataset you want to synchronize needs to be implemented as a separate airbyte source). | 8f418098-ca28-4df5-9498-0df9fe78eda7 | +| `sliceRange` | *Optional* | :heavy_minus_sign: | The time increment used by the connector when requesting data from the Senseforce API. The bigger the value is, the less requests will be made and faster the sync will be. On the other hand, the more seldom the state is persisted and the more likely one could run into rate limites. Furthermore, consider that large chunks of time might take a long time for the Senseforce query to return data - meaning it could take in effect longer than with more smaller time slices. If there are a lot of data per day, set this setting to 1. If there is only very little data per day, you might change the setting to 10 or more. | 1 | +| `sourceType` | [com.airbyte.api.models.shared.Senseforce](../../models/shared/Senseforce.md) | :heavy_check_mark: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_check_mark: | UTC date and time in the format 2017-01-25. Only data with "Timestamp" after this date will be replicated. Important note: This start date must be set to the first day of where your dataset provides data. If your dataset has data from 2020-10-10 10:21:10, set the start_date to 2020-10-10 or later | 2017-01-25 | \ No newline at end of file diff --git a/docs/models/shared/SourceSentry.md b/docs/models/shared/SourceSentry.md new file mode 100644 index 000000000..af3bd713f --- /dev/null +++ b/docs/models/shared/SourceSentry.md @@ -0,0 +1,13 @@ +# SourceSentry + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `authToken` | *String* | :heavy_check_mark: | Log into Sentry and then create authentication tokens.For self-hosted, you can find or create authentication tokens by visiting "{instance_url_prefix}/settings/account/api/auth-tokens/" | +| `discoverFields` | List<*java.lang.Object*> | :heavy_minus_sign: | Fields to retrieve when fetching discover events | +| `hostname` | *Optional* | :heavy_minus_sign: | Host name of Sentry API server.For self-hosted, specify your host name here. Otherwise, leave it empty. | +| `organization` | *String* | :heavy_check_mark: | The slug of the organization the groups belong to. | +| `project` | *String* | :heavy_check_mark: | The name (slug) of the Project you want to sync. | +| `sourceType` | [com.airbyte.api.models.shared.Sentry](../../models/shared/Sentry.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceSftp.md b/docs/models/shared/SourceSftp.md new file mode 100644 index 000000000..c6e64c18b --- /dev/null +++ b/docs/models/shared/SourceSftp.md @@ -0,0 +1,15 @@ +# SourceSftp + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/SourceSftpAuthentication.md) | :heavy_minus_sign: | The server authentication method | | +| `filePattern` | *Optional* | :heavy_minus_sign: | The regular expression to specify files for sync in a chosen Folder Path | log-([0-9]{4})([0-9]{2})([0-9]{2}) - This will filter files which `log-yearmmdd` | +| `fileTypes` | *Optional* | :heavy_minus_sign: | Coma separated file types. Currently only 'csv' and 'json' types are supported. | csv,json | +| `folderPath` | *Optional* | :heavy_minus_sign: | The directory to search files for sync | /logs/2022 | +| `host` | *String* | :heavy_check_mark: | The server host address | www.host.com | +| `port` | *Optional* | :heavy_minus_sign: | The server port | 22 | +| `sourceType` | [com.airbyte.api.models.shared.Sftp](../../models/shared/Sftp.md) | :heavy_check_mark: | N/A | | +| `user` | *String* | :heavy_check_mark: | The server user | | \ No newline at end of file diff --git a/docs/models/shared/SourceSftpAuthMethod.md b/docs/models/shared/SourceSftpAuthMethod.md new file mode 100644 index 000000000..a748cd1cc --- /dev/null +++ b/docs/models/shared/SourceSftpAuthMethod.md @@ -0,0 +1,10 @@ +# SourceSftpAuthMethod + +Connect through password authentication + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `SSH_PASSWORD_AUTH` | SSH_PASSWORD_AUTH | \ No newline at end of file diff --git a/docs/models/shared/SourceSftpAuthentication.md b/docs/models/shared/SourceSftpAuthentication.md new file mode 100644 index 000000000..171fa95d1 --- /dev/null +++ b/docs/models/shared/SourceSftpAuthentication.md @@ -0,0 +1,4 @@ +# SourceSftpAuthentication + +The server authentication method + diff --git a/docs/models/shared/SourceSftpBulk.md b/docs/models/shared/SourceSftpBulk.md new file mode 100644 index 000000000..8788c6dfd --- /dev/null +++ b/docs/models/shared/SourceSftpBulk.md @@ -0,0 +1,20 @@ +# SourceSftpBulk + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `fileMostRecent` | *Optional* | :heavy_minus_sign: | Sync only the most recent file for the configured folder path and file pattern | | +| `filePattern` | *Optional* | :heavy_minus_sign: | The regular expression to specify files for sync in a chosen Folder Path | log-([0-9]{4})([0-9]{2})([0-9]{2}) - This will filter files which `log-yearmmdd` | +| `fileType` | [Optional](../../models/shared/FileType.md) | :heavy_minus_sign: | The file type you want to sync. Currently only 'csv' and 'json' files are supported. | csv | +| `folderPath` | *Optional* | :heavy_minus_sign: | The directory to search files for sync | /logs/2022 | +| `host` | *String* | :heavy_check_mark: | The server host address | www.host.com | +| `password` | *Optional* | :heavy_minus_sign: | OS-level password for logging into the jump server host | | +| `port` | *Optional* | :heavy_minus_sign: | The server port | 22 | +| `privateKey` | *Optional* | :heavy_minus_sign: | The private key | | +| `separator` | *Optional* | :heavy_minus_sign: | The separator used in the CSV files. Define None if you want to use the Sniffer functionality | , | +| `sourceType` | [com.airbyte.api.models.shared.SftpBulk](../../models/shared/SftpBulk.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | The date from which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. | 2017-01-25T00:00:00Z | +| `streamName` | *String* | :heavy_check_mark: | The name of the stream or table you want to create | ftp_contacts | +| `username` | *String* | :heavy_check_mark: | The server user | | \ No newline at end of file diff --git a/docs/models/shared/SourceSftpPasswordAuthentication.md b/docs/models/shared/SourceSftpPasswordAuthentication.md new file mode 100644 index 000000000..f8d7b0a0f --- /dev/null +++ b/docs/models/shared/SourceSftpPasswordAuthentication.md @@ -0,0 +1,9 @@ +# SourceSftpPasswordAuthentication + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `authMethod` | [com.airbyte.api.models.shared.SourceSftpAuthMethod](../../models/shared/SourceSftpAuthMethod.md) | :heavy_check_mark: | Connect through password authentication | +| `authUserPassword` | *String* | :heavy_check_mark: | OS-level password for logging into the jump server host | \ No newline at end of file diff --git a/docs/models/shared/SourceSftpSSHKeyAuthentication.md b/docs/models/shared/SourceSftpSSHKeyAuthentication.md new file mode 100644 index 000000000..08f16adc4 --- /dev/null +++ b/docs/models/shared/SourceSftpSSHKeyAuthentication.md @@ -0,0 +1,9 @@ +# SourceSftpSSHKeyAuthentication + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| `authMethod` | [com.airbyte.api.models.shared.SourceSftpSchemasAuthMethod](../../models/shared/SourceSftpSchemasAuthMethod.md) | :heavy_check_mark: | Connect through ssh key | +| `authSshKey` | *String* | :heavy_check_mark: | OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) | \ No newline at end of file diff --git a/docs/models/shared/SourceSftpSchemasAuthMethod.md b/docs/models/shared/SourceSftpSchemasAuthMethod.md new file mode 100644 index 000000000..3b686352b --- /dev/null +++ b/docs/models/shared/SourceSftpSchemasAuthMethod.md @@ -0,0 +1,10 @@ +# SourceSftpSchemasAuthMethod + +Connect through ssh key + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `SSH_KEY_AUTH` | SSH_KEY_AUTH | \ No newline at end of file diff --git a/docs/models/shared/SourceShopify.md b/docs/models/shared/SourceShopify.md new file mode 100644 index 000000000..df4cafb56 --- /dev/null +++ b/docs/models/shared/SourceShopify.md @@ -0,0 +1,13 @@ +# SourceShopify + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `bulkWindowInDays` | *Optional* | :heavy_minus_sign: | Defines what would be a date range per single BULK Job | | +| `credentials` | [Optional](../../models/shared/ShopifyAuthorizationMethod.md) | :heavy_minus_sign: | The authorization method to use to retrieve data from Shopify | | +| `fetchTransactionsUserId` | *Optional* | :heavy_minus_sign: | Defines which API type (REST/BULK) to use to fetch `Transactions` data. If you are a `Shopify Plus` user, leave the default value to speed up the fetch. | | +| `shop` | *String* | :heavy_check_mark: | The name of your Shopify store found in the URL. For example, if your URL was https://NAME.myshopify.com, then the name would be 'NAME' or 'NAME.myshopify.com'. | my-store | +| `sourceType` | [com.airbyte.api.models.shared.SourceShopifyShopify](../../models/shared/SourceShopifyShopify.md) | :heavy_check_mark: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | The date you would like to replicate data from. Format: YYYY-MM-DD. Any data before this date will not be replicated. | | \ No newline at end of file diff --git a/docs/models/shared/SourceShopifyAuthMethod.md b/docs/models/shared/SourceShopifyAuthMethod.md new file mode 100644 index 000000000..412df4443 --- /dev/null +++ b/docs/models/shared/SourceShopifyAuthMethod.md @@ -0,0 +1,8 @@ +# SourceShopifyAuthMethod + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceShopifyOAuth20.md b/docs/models/shared/SourceShopifyOAuth20.md new file mode 100644 index 000000000..d1ea9551b --- /dev/null +++ b/docs/models/shared/SourceShopifyOAuth20.md @@ -0,0 +1,13 @@ +# SourceShopifyOAuth20 + +OAuth2.0 + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `accessToken` | *Optional* | :heavy_minus_sign: | The Access Token for making authenticated requests. | +| `authMethod` | [com.airbyte.api.models.shared.SourceShopifyAuthMethod](../../models/shared/SourceShopifyAuthMethod.md) | :heavy_check_mark: | N/A | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of the Shopify developer application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of the Shopify developer application. | \ No newline at end of file diff --git a/docs/models/shared/SourceShopifySchemasAuthMethod.md b/docs/models/shared/SourceShopifySchemasAuthMethod.md new file mode 100644 index 000000000..6b9d151ed --- /dev/null +++ b/docs/models/shared/SourceShopifySchemasAuthMethod.md @@ -0,0 +1,8 @@ +# SourceShopifySchemasAuthMethod + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `API_PASSWORD` | api_password | \ No newline at end of file diff --git a/docs/models/shared/SourceShopifyShopify.md b/docs/models/shared/SourceShopifyShopify.md new file mode 100644 index 000000000..a508cb831 --- /dev/null +++ b/docs/models/shared/SourceShopifyShopify.md @@ -0,0 +1,8 @@ +# SourceShopifyShopify + + +## Values + +| Name | Value | +| --------- | --------- | +| `SHOPIFY` | shopify | \ No newline at end of file diff --git a/docs/models/shared/SourceShortio.md b/docs/models/shared/SourceShortio.md new file mode 100644 index 000000000..59d90144b --- /dev/null +++ b/docs/models/shared/SourceShortio.md @@ -0,0 +1,11 @@ +# SourceShortio + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `domainId` | *String* | :heavy_check_mark: | N/A | | +| `secretKey` | *String* | :heavy_check_mark: | Short.io Secret Key | | +| `sourceType` | [com.airbyte.api.models.shared.Shortio](../../models/shared/Shortio.md) | :heavy_check_mark: | N/A | | +| `startDate` | *String* | :heavy_check_mark: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. | 2023-07-30T03:43:59.244Z | \ No newline at end of file diff --git a/docs/models/shared/SourceSlack.md b/docs/models/shared/SourceSlack.md new file mode 100644 index 000000000..f14a76acc --- /dev/null +++ b/docs/models/shared/SourceSlack.md @@ -0,0 +1,13 @@ +# SourceSlack + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `channelFilter` | List<*String*> | :heavy_minus_sign: | A channel name list (without leading '#' char) which limit the channels from which you'd like to sync. Empty list means no filter. | channel_one | +| `credentials` | [Optional](../../models/shared/SourceSlackAuthenticationMechanism.md) | :heavy_minus_sign: | Choose how to authenticate into Slack | | +| `joinChannels` | *Optional* | :heavy_minus_sign: | Whether to join all channels or to sync data only from channels the bot is already in. If false, you'll need to manually add the bot to all the channels from which you'd like to sync messages. | | +| `lookbackWindow` | *Optional* | :heavy_minus_sign: | How far into the past to look for messages in threads, default is 0 days | 7 | +| `sourceType` | [com.airbyte.api.models.shared.SourceSlackSlack](../../models/shared/SourceSlackSlack.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. | 2017-01-25T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceSlackAPIToken.md b/docs/models/shared/SourceSlackAPIToken.md new file mode 100644 index 000000000..eaef34382 --- /dev/null +++ b/docs/models/shared/SourceSlackAPIToken.md @@ -0,0 +1,9 @@ +# SourceSlackAPIToken + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `apiToken` | *String* | :heavy_check_mark: | A Slack bot token. See the docs for instructions on how to generate it. | +| `optionTitle` | [com.airbyte.api.models.shared.SourceSlackSchemasOptionTitle](../../models/shared/SourceSlackSchemasOptionTitle.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceSlackAuthenticationMechanism.md b/docs/models/shared/SourceSlackAuthenticationMechanism.md new file mode 100644 index 000000000..d1182eba9 --- /dev/null +++ b/docs/models/shared/SourceSlackAuthenticationMechanism.md @@ -0,0 +1,4 @@ +# SourceSlackAuthenticationMechanism + +Choose how to authenticate into Slack + diff --git a/docs/models/shared/SourceSlackOptionTitle.md b/docs/models/shared/SourceSlackOptionTitle.md new file mode 100644 index 000000000..58e147e00 --- /dev/null +++ b/docs/models/shared/SourceSlackOptionTitle.md @@ -0,0 +1,8 @@ +# SourceSlackOptionTitle + + +## Values + +| Name | Value | +| -------------------------------- | -------------------------------- | +| `DEFAULT_O_AUTH20_AUTHORIZATION` | Default OAuth2.0 authorization | \ No newline at end of file diff --git a/docs/models/shared/SourceSlackSchemasOptionTitle.md b/docs/models/shared/SourceSlackSchemasOptionTitle.md new file mode 100644 index 000000000..dbe7a7c2d --- /dev/null +++ b/docs/models/shared/SourceSlackSchemasOptionTitle.md @@ -0,0 +1,8 @@ +# SourceSlackSchemasOptionTitle + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `API_TOKEN_CREDENTIALS` | API Token Credentials | \ No newline at end of file diff --git a/docs/models/shared/SourceSlackSlack.md b/docs/models/shared/SourceSlackSlack.md new file mode 100644 index 000000000..add185958 --- /dev/null +++ b/docs/models/shared/SourceSlackSlack.md @@ -0,0 +1,8 @@ +# SourceSlackSlack + + +## Values + +| Name | Value | +| ------- | ------- | +| `SLACK` | slack | \ No newline at end of file diff --git a/docs/models/shared/SourceSmaily.md b/docs/models/shared/SourceSmaily.md new file mode 100644 index 000000000..848929894 --- /dev/null +++ b/docs/models/shared/SourceSmaily.md @@ -0,0 +1,11 @@ +# SourceSmaily + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `apiPassword` | *String* | :heavy_check_mark: | API user password. See https://smaily.com/help/api/general/create-api-user/ | +| `apiSubdomain` | *String* | :heavy_check_mark: | API Subdomain. See https://smaily.com/help/api/general/create-api-user/ | +| `apiUsername` | *String* | :heavy_check_mark: | API user username. See https://smaily.com/help/api/general/create-api-user/ | +| `sourceType` | [com.airbyte.api.models.shared.Smaily](../../models/shared/Smaily.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceSmartengage.md b/docs/models/shared/SourceSmartengage.md new file mode 100644 index 000000000..3cf11b8dc --- /dev/null +++ b/docs/models/shared/SourceSmartengage.md @@ -0,0 +1,9 @@ +# SourceSmartengage + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | API Key | +| `sourceType` | [com.airbyte.api.models.shared.Smartengage](../../models/shared/Smartengage.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceSmartsheets.md b/docs/models/shared/SourceSmartsheets.md new file mode 100644 index 000000000..a3e401687 --- /dev/null +++ b/docs/models/shared/SourceSmartsheets.md @@ -0,0 +1,12 @@ +# SourceSmartsheets + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [com.airbyte.api.models.shared.SourceSmartsheetsAuthorizationMethod](../../models/shared/SourceSmartsheetsAuthorizationMethod.md) | :heavy_check_mark: | N/A | | +| `metadataFields` | List<[com.airbyte.api.models.shared.Validenums](../../models/shared/Validenums.md)> | :heavy_minus_sign: | A List of available columns which metadata can be pulled from. | | +| `sourceType` | [com.airbyte.api.models.shared.SourceSmartsheetsSmartsheets](../../models/shared/SourceSmartsheetsSmartsheets.md) | :heavy_check_mark: | N/A | | +| `spreadsheetId` | *String* | :heavy_check_mark: | The spreadsheet ID. Find it by opening the spreadsheet then navigating to File > Properties | | +| `startDatetime` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Only rows modified after this date/time will be replicated. This should be an ISO 8601 string, for instance: `2000-01-01T13:00:00` | 2000-01-01T13:00:00 | \ No newline at end of file diff --git a/docs/models/shared/SourceSmartsheetsAuthType.md b/docs/models/shared/SourceSmartsheetsAuthType.md new file mode 100644 index 000000000..cf99790e2 --- /dev/null +++ b/docs/models/shared/SourceSmartsheetsAuthType.md @@ -0,0 +1,8 @@ +# SourceSmartsheetsAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceSmartsheetsAuthorizationMethod.md b/docs/models/shared/SourceSmartsheetsAuthorizationMethod.md new file mode 100644 index 000000000..b30af1ef6 --- /dev/null +++ b/docs/models/shared/SourceSmartsheetsAuthorizationMethod.md @@ -0,0 +1,2 @@ +# SourceSmartsheetsAuthorizationMethod + diff --git a/docs/models/shared/SourceSmartsheetsOAuth20.md b/docs/models/shared/SourceSmartsheetsOAuth20.md new file mode 100644 index 000000000..eeab4b162 --- /dev/null +++ b/docs/models/shared/SourceSmartsheetsOAuth20.md @@ -0,0 +1,13 @@ +# SourceSmartsheetsOAuth20 + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Access Token for making authenticated requests. | +| `authType` | [Optional](../../models/shared/SourceSmartsheetsAuthType.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The API ID of the SmartSheets developer application. | +| `clientSecret` | *String* | :heavy_check_mark: | The API Secret the SmartSheets developer application. | +| `refreshToken` | *String* | :heavy_check_mark: | The key to refresh the expired access_token. | +| `tokenExpiryDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | The date-time when the access token should be refreshed. | \ No newline at end of file diff --git a/docs/models/shared/SourceSmartsheetsSchemasAuthType.md b/docs/models/shared/SourceSmartsheetsSchemasAuthType.md new file mode 100644 index 000000000..5a2cb872a --- /dev/null +++ b/docs/models/shared/SourceSmartsheetsSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceSmartsheetsSchemasAuthType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `ACCESS_TOKEN` | access_token | \ No newline at end of file diff --git a/docs/models/shared/SourceSmartsheetsSmartsheets.md b/docs/models/shared/SourceSmartsheetsSmartsheets.md new file mode 100644 index 000000000..1735775c6 --- /dev/null +++ b/docs/models/shared/SourceSmartsheetsSmartsheets.md @@ -0,0 +1,8 @@ +# SourceSmartsheetsSmartsheets + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `SMARTSHEETS` | smartsheets | \ No newline at end of file diff --git a/docs/models/shared/SourceSnapchatMarketing.md b/docs/models/shared/SourceSnapchatMarketing.md new file mode 100644 index 000000000..3e9391ce5 --- /dev/null +++ b/docs/models/shared/SourceSnapchatMarketing.md @@ -0,0 +1,16 @@ +# SourceSnapchatMarketing + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `actionReportTime` | [Optional](../../models/shared/ActionReportTime.md) | :heavy_minus_sign: | Specifies the principle for conversion reporting. | | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your Snapchat developer application. | | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret of your Snapchat developer application. | | +| `endDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | Date in the format 2017-01-25. Any data after this date will not be replicated. | 2022-01-30 | +| `refreshToken` | *String* | :heavy_check_mark: | Refresh Token to renew the expired Access Token. | | +| `sourceType` | [com.airbyte.api.models.shared.SourceSnapchatMarketingSnapchatMarketing](../../models/shared/SourceSnapchatMarketingSnapchatMarketing.md) | :heavy_check_mark: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | Date in the format 2022-01-01. Any data before this date will not be replicated. | 2022-01-01 | +| `swipeUpAttributionWindow` | [Optional](../../models/shared/SwipeUpAttributionWindow.md) | :heavy_minus_sign: | Attribution window for swipe ups. | | +| `viewAttributionWindow` | [Optional](../../models/shared/ViewAttributionWindow.md) | :heavy_minus_sign: | Attribution window for views. | | \ No newline at end of file diff --git a/docs/models/shared/SourceSnapchatMarketingSnapchatMarketing.md b/docs/models/shared/SourceSnapchatMarketingSnapchatMarketing.md new file mode 100644 index 000000000..860af1e0c --- /dev/null +++ b/docs/models/shared/SourceSnapchatMarketingSnapchatMarketing.md @@ -0,0 +1,8 @@ +# SourceSnapchatMarketingSnapchatMarketing + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `SNAPCHAT_MARKETING` | snapchat-marketing | \ No newline at end of file diff --git a/docs/models/shared/SourceSnowflake.md b/docs/models/shared/SourceSnowflake.md new file mode 100644 index 000000000..0a1317528 --- /dev/null +++ b/docs/models/shared/SourceSnowflake.md @@ -0,0 +1,15 @@ +# SourceSnowflake + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `credentials` | [Optional](../../models/shared/SourceSnowflakeAuthorizationMethod.md) | :heavy_minus_sign: | N/A | | +| `database` | *String* | :heavy_check_mark: | The database you created for Airbyte to access data. | AIRBYTE_DATABASE | +| `host` | *String* | :heavy_check_mark: | The host domain of the snowflake instance (must include the account, region, cloud environment, and end with snowflakecomputing.com). | accountname.us-east-2.aws.snowflakecomputing.com | +| `jdbcUrlParams` | *Optional* | :heavy_minus_sign: | Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). | | +| `role` | *String* | :heavy_check_mark: | The role you created for Airbyte to access Snowflake. | AIRBYTE_ROLE | +| `schema` | *Optional* | :heavy_minus_sign: | The source Snowflake schema tables. Leave empty to access tables from multiple schemas. | AIRBYTE_SCHEMA | +| `sourceType` | [com.airbyte.api.models.shared.SourceSnowflakeSnowflake](../../models/shared/SourceSnowflakeSnowflake.md) | :heavy_check_mark: | N/A | | +| `warehouse` | *String* | :heavy_check_mark: | The warehouse you created for Airbyte to access data. | AIRBYTE_WAREHOUSE | \ No newline at end of file diff --git a/docs/models/shared/SourceSnowflakeAuthType.md b/docs/models/shared/SourceSnowflakeAuthType.md new file mode 100644 index 000000000..0371d1af1 --- /dev/null +++ b/docs/models/shared/SourceSnowflakeAuthType.md @@ -0,0 +1,8 @@ +# SourceSnowflakeAuthType + + +## Values + +| Name | Value | +| -------- | -------- | +| `O_AUTH` | OAuth | \ No newline at end of file diff --git a/docs/models/shared/SourceSnowflakeAuthorizationMethod.md b/docs/models/shared/SourceSnowflakeAuthorizationMethod.md new file mode 100644 index 000000000..f410e7693 --- /dev/null +++ b/docs/models/shared/SourceSnowflakeAuthorizationMethod.md @@ -0,0 +1,2 @@ +# SourceSnowflakeAuthorizationMethod + diff --git a/docs/models/shared/SourceSnowflakeOAuth20.md b/docs/models/shared/SourceSnowflakeOAuth20.md new file mode 100644 index 000000000..a42423a6e --- /dev/null +++ b/docs/models/shared/SourceSnowflakeOAuth20.md @@ -0,0 +1,12 @@ +# SourceSnowflakeOAuth20 + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `accessToken` | *Optional* | :heavy_minus_sign: | Access Token for making authenticated requests. | +| `authType` | [com.airbyte.api.models.shared.SourceSnowflakeAuthType](../../models/shared/SourceSnowflakeAuthType.md) | :heavy_check_mark: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your Snowflake developer application. | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret of your Snowflake developer application. | +| `refreshToken` | *Optional* | :heavy_minus_sign: | Refresh Token for making authenticated requests. | \ No newline at end of file diff --git a/docs/models/shared/SourceSnowflakeSchemasAuthType.md b/docs/models/shared/SourceSnowflakeSchemasAuthType.md new file mode 100644 index 000000000..518e93bd3 --- /dev/null +++ b/docs/models/shared/SourceSnowflakeSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceSnowflakeSchemasAuthType + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `USERNAME_PASSWORD` | username/password | \ No newline at end of file diff --git a/docs/models/shared/SourceSnowflakeSnowflake.md b/docs/models/shared/SourceSnowflakeSnowflake.md new file mode 100644 index 000000000..425d7931a --- /dev/null +++ b/docs/models/shared/SourceSnowflakeSnowflake.md @@ -0,0 +1,8 @@ +# SourceSnowflakeSnowflake + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `SNOWFLAKE` | snowflake | \ No newline at end of file diff --git a/docs/models/shared/SourceSnowflakeUsernameAndPassword.md b/docs/models/shared/SourceSnowflakeUsernameAndPassword.md new file mode 100644 index 000000000..e5a2da7bd --- /dev/null +++ b/docs/models/shared/SourceSnowflakeUsernameAndPassword.md @@ -0,0 +1,10 @@ +# SourceSnowflakeUsernameAndPassword + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `authType` | [com.airbyte.api.models.shared.SourceSnowflakeSchemasAuthType](../../models/shared/SourceSnowflakeSchemasAuthType.md) | :heavy_check_mark: | N/A | | +| `password` | *String* | :heavy_check_mark: | The password associated with the username. | | +| `username` | *String* | :heavy_check_mark: | The username you created to allow Airbyte to access the database. | AIRBYTE_USER | \ No newline at end of file diff --git a/docs/models/shared/SourceSonarCloud.md b/docs/models/shared/SourceSonarCloud.md new file mode 100644 index 000000000..400ef64f4 --- /dev/null +++ b/docs/models/shared/SourceSonarCloud.md @@ -0,0 +1,13 @@ +# SourceSonarCloud + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `componentKeys` | List<*java.lang.Object*> | :heavy_check_mark: | Comma-separated list of component keys. | airbyte-ws-order | +| `endDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | To retrieve issues created before the given date (inclusive). | YYYY-MM-DD | +| `organization` | *String* | :heavy_check_mark: | Organization key. See here. | airbyte | +| `sourceType` | [com.airbyte.api.models.shared.SonarCloud](../../models/shared/SonarCloud.md) | :heavy_check_mark: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | To retrieve issues created after the given date (inclusive). | YYYY-MM-DD | +| `userToken` | *String* | :heavy_check_mark: | Your User Token. See here. The token is case sensitive. | | \ No newline at end of file diff --git a/docs/models/shared/SourceSpacexApi.md b/docs/models/shared/SourceSpacexApi.md new file mode 100644 index 000000000..5179502a1 --- /dev/null +++ b/docs/models/shared/SourceSpacexApi.md @@ -0,0 +1,10 @@ +# SourceSpacexApi + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `id` | *Optional* | :heavy_minus_sign: | N/A | +| `options` | *Optional* | :heavy_minus_sign: | N/A | +| `sourceType` | [com.airbyte.api.models.shared.SpacexApi](../../models/shared/SpacexApi.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceSquare.md b/docs/models/shared/SourceSquare.md new file mode 100644 index 000000000..0d1d78918 --- /dev/null +++ b/docs/models/shared/SourceSquare.md @@ -0,0 +1,12 @@ +# SourceSquare + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/SourceSquareAuthentication.md) | :heavy_minus_sign: | Choose how to authenticate to Square. | +| `includeDeletedObjects` | *Optional* | :heavy_minus_sign: | In some streams there is an option to include deleted objects (Items, Categories, Discounts, Taxes) | +| `isSandbox` | *Optional* | :heavy_minus_sign: | Determines whether to use the sandbox or production environment. | +| `sourceType` | [com.airbyte.api.models.shared.SourceSquareSquare](../../models/shared/SourceSquareSquare.md) | :heavy_check_mark: | N/A | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. If not set, all data will be replicated. | \ No newline at end of file diff --git a/docs/models/shared/SourceSquareAPIKey.md b/docs/models/shared/SourceSquareAPIKey.md new file mode 100644 index 000000000..f8626199a --- /dev/null +++ b/docs/models/shared/SourceSquareAPIKey.md @@ -0,0 +1,9 @@ +# SourceSquareAPIKey + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | The API key for a Square application | +| `authType` | [com.airbyte.api.models.shared.SourceSquareSchemasAuthType](../../models/shared/SourceSquareSchemasAuthType.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceSquareAuthType.md b/docs/models/shared/SourceSquareAuthType.md new file mode 100644 index 000000000..ba33f4607 --- /dev/null +++ b/docs/models/shared/SourceSquareAuthType.md @@ -0,0 +1,8 @@ +# SourceSquareAuthType + + +## Values + +| Name | Value | +| -------- | -------- | +| `O_AUTH` | OAuth | \ No newline at end of file diff --git a/docs/models/shared/SourceSquareAuthentication.md b/docs/models/shared/SourceSquareAuthentication.md new file mode 100644 index 000000000..fbdb0f188 --- /dev/null +++ b/docs/models/shared/SourceSquareAuthentication.md @@ -0,0 +1,4 @@ +# SourceSquareAuthentication + +Choose how to authenticate to Square. + diff --git a/docs/models/shared/SourceSquareSchemasAuthType.md b/docs/models/shared/SourceSquareSchemasAuthType.md new file mode 100644 index 000000000..92a7b7e5a --- /dev/null +++ b/docs/models/shared/SourceSquareSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceSquareSchemasAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `API_KEY` | API Key | \ No newline at end of file diff --git a/docs/models/shared/SourceSquareSquare.md b/docs/models/shared/SourceSquareSquare.md new file mode 100644 index 000000000..715c6be7d --- /dev/null +++ b/docs/models/shared/SourceSquareSquare.md @@ -0,0 +1,8 @@ +# SourceSquareSquare + + +## Values + +| Name | Value | +| -------- | -------- | +| `SQUARE` | square | \ No newline at end of file diff --git a/docs/models/shared/SourceStrava.md b/docs/models/shared/SourceStrava.md new file mode 100644 index 000000000..19daf3a38 --- /dev/null +++ b/docs/models/shared/SourceStrava.md @@ -0,0 +1,14 @@ +# SourceStrava + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `athleteId` | *long* | :heavy_check_mark: | The Athlete ID of your Strava developer application. | 17831421 | +| `authType` | [Optional](../../models/shared/SourceStravaAuthType.md) | :heavy_minus_sign: | N/A | | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your Strava developer application. | 12345 | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret of your Strava developer application. | fc6243f283e51f6ca989aab298b17da125496f50 | +| `refreshToken` | *String* | :heavy_check_mark: | The Refresh Token with the activity: read_all permissions. | fc6243f283e51f6ca989aab298b17da125496f50 | +| `sourceType` | [com.airbyte.api.models.shared.SourceStravaStrava](../../models/shared/SourceStravaStrava.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | UTC date and time. Any data before this date will not be replicated. | 2021-03-01T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceStravaAuthType.md b/docs/models/shared/SourceStravaAuthType.md new file mode 100644 index 000000000..a58a427b1 --- /dev/null +++ b/docs/models/shared/SourceStravaAuthType.md @@ -0,0 +1,8 @@ +# SourceStravaAuthType + + +## Values + +| Name | Value | +| -------- | -------- | +| `CLIENT` | Client | \ No newline at end of file diff --git a/docs/models/shared/SourceStravaStrava.md b/docs/models/shared/SourceStravaStrava.md new file mode 100644 index 000000000..b80c72ae4 --- /dev/null +++ b/docs/models/shared/SourceStravaStrava.md @@ -0,0 +1,8 @@ +# SourceStravaStrava + + +## Values + +| Name | Value | +| -------- | -------- | +| `STRAVA` | strava | \ No newline at end of file diff --git a/docs/models/shared/SourceStripe.md b/docs/models/shared/SourceStripe.md new file mode 100644 index 000000000..9be4ac811 --- /dev/null +++ b/docs/models/shared/SourceStripe.md @@ -0,0 +1,15 @@ +# SourceStripe + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accountId` | *String* | :heavy_check_mark: | Your Stripe account ID (starts with 'acct_', find yours here). | | +| `callRateLimit` | *Optional* | :heavy_minus_sign: | The number of API calls per second that you allow connector to make. This value can not be bigger than real API call rate limit (https://stripe.com/docs/rate-limits). If not specified the default maximum is 25 and 100 calls per second for test and production tokens respectively. | 25 | +| `clientSecret` | *String* | :heavy_check_mark: | Stripe API key (usually starts with 'sk_live_'; find yours here). | | +| `lookbackWindowDays` | *Optional* | :heavy_minus_sign: | When set, the connector will always re-export data from the past N days, where N is the value set here. This is useful if your data is frequently updated after creation. The Lookback Window only applies to streams that do not support event-based incremental syncs: Events, SetupAttempts, ShippingRates, BalanceTransactions, Files, FileLinks, Refunds. More info here | | +| `numWorkers` | *Optional* | :heavy_minus_sign: | The number of worker thread to use for the sync. The performance upper boundary depends on call_rate_limit setting and type of account. | 1 | +| `sliceRange` | *Optional* | :heavy_minus_sign: | The time increment used by the connector when requesting data from the Stripe API. The bigger the value is, the less requests will be made and faster the sync will be. On the other hand, the more seldom the state is persisted. | 1 | +| `sourceType` | [com.airbyte.api.models.shared.Stripe](../../models/shared/Stripe.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | UTC date and time in the format 2017-01-25T00:00:00Z. Only data generated after this date will be replicated. | 2017-01-25T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceSurveySparrow.md b/docs/models/shared/SourceSurveySparrow.md new file mode 100644 index 000000000..0f38805ba --- /dev/null +++ b/docs/models/shared/SourceSurveySparrow.md @@ -0,0 +1,11 @@ +# SourceSurveySparrow + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Your access token. See here. The key is case sensitive. | +| `region` | [Optional](../../models/shared/BaseURL.md) | :heavy_minus_sign: | Is your account location is EU based? If yes, the base url to retrieve data will be different. | +| `sourceType` | [com.airbyte.api.models.shared.SurveySparrow](../../models/shared/SurveySparrow.md) | :heavy_check_mark: | N/A | +| `surveyId` | List<*java.lang.Object*> | :heavy_minus_sign: | A List of your survey ids for survey-specific stream | \ No newline at end of file diff --git a/docs/models/shared/SourceSurveySparrowUrlBase.md b/docs/models/shared/SourceSurveySparrowUrlBase.md new file mode 100644 index 000000000..539dcbc88 --- /dev/null +++ b/docs/models/shared/SourceSurveySparrowUrlBase.md @@ -0,0 +1,8 @@ +# SourceSurveySparrowUrlBase + + +## Values + +| Name | Value | +| -------------------------------- | -------------------------------- | +| `HTTPS_API_SURVEYSPARROW_COM_V3` | https://api.surveysparrow.com/v3 | \ No newline at end of file diff --git a/docs/models/shared/SourceSurveymonkey.md b/docs/models/shared/SourceSurveymonkey.md new file mode 100644 index 000000000..45b32b5c4 --- /dev/null +++ b/docs/models/shared/SourceSurveymonkey.md @@ -0,0 +1,12 @@ +# SourceSurveymonkey + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [com.airbyte.api.models.shared.SurveyMonkeyAuthorizationMethod](../../models/shared/SurveyMonkeyAuthorizationMethod.md) | :heavy_check_mark: | The authorization method to use to retrieve data from SurveyMonkey | | +| `origin` | [Optional](../../models/shared/OriginDatacenterOfTheSurveyMonkeyAccount.md) | :heavy_minus_sign: | Depending on the originating datacenter of the SurveyMonkey account, the API access URL may be different. | | +| `sourceType` | [com.airbyte.api.models.shared.SourceSurveymonkeySurveymonkey](../../models/shared/SourceSurveymonkeySurveymonkey.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. | 2021-01-01T00:00:00Z | +| `surveyIds` | List<*String*> | :heavy_minus_sign: | IDs of the surveys from which you'd like to replicate data. If left empty, data from all boards to which you have access will be replicated. | | \ No newline at end of file diff --git a/docs/models/shared/SourceSurveymonkeyAuthMethod.md b/docs/models/shared/SourceSurveymonkeyAuthMethod.md new file mode 100644 index 000000000..6dc089268 --- /dev/null +++ b/docs/models/shared/SourceSurveymonkeyAuthMethod.md @@ -0,0 +1,8 @@ +# SourceSurveymonkeyAuthMethod + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceSurveymonkeySurveymonkey.md b/docs/models/shared/SourceSurveymonkeySurveymonkey.md new file mode 100644 index 000000000..814afea60 --- /dev/null +++ b/docs/models/shared/SourceSurveymonkeySurveymonkey.md @@ -0,0 +1,8 @@ +# SourceSurveymonkeySurveymonkey + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `SURVEYMONKEY` | surveymonkey | \ No newline at end of file diff --git a/docs/models/shared/SourceTempo.md b/docs/models/shared/SourceTempo.md new file mode 100644 index 000000000..4cb1e86b9 --- /dev/null +++ b/docs/models/shared/SourceTempo.md @@ -0,0 +1,9 @@ +# SourceTempo + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `apiToken` | *String* | :heavy_check_mark: | Tempo API Token. Go to Tempo>Settings, scroll down to Data Access and select API integration. | +| `sourceType` | [com.airbyte.api.models.shared.Tempo](../../models/shared/Tempo.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceTheGuardianApi.md b/docs/models/shared/SourceTheGuardianApi.md new file mode 100644 index 000000000..5a25a6c48 --- /dev/null +++ b/docs/models/shared/SourceTheGuardianApi.md @@ -0,0 +1,14 @@ +# SourceTheGuardianApi + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Your API Key. See here. The key is case sensitive. | | +| `endDate` | *Optional* | :heavy_minus_sign: | (Optional) Use this to set the maximum date (YYYY-MM-DD) of the results. Results newer than the end_date will not be shown. Default is set to the current date (today) for incremental syncs. | YYYY-MM-DD | +| `query` | *Optional* | :heavy_minus_sign: | (Optional) The query (q) parameter filters the results to only those that include that search term. The q parameter supports AND, OR and NOT operators. | environment AND NOT water | +| `section` | *Optional* | :heavy_minus_sign: | (Optional) Use this to filter the results by a particular section. See here for a list of all sections, and here for the sections endpoint documentation. | media | +| `sourceType` | [com.airbyte.api.models.shared.TheGuardianApi](../../models/shared/TheGuardianApi.md) | :heavy_check_mark: | N/A | | +| `startDate` | *String* | :heavy_check_mark: | Use this to set the minimum date (YYYY-MM-DD) of the results. Results older than the start_date will not be shown. | YYYY-MM-DD | +| `tag` | *Optional* | :heavy_minus_sign: | (Optional) A tag is a piece of data that is used by The Guardian to categorise content. Use this parameter to filter results by showing only the ones matching the entered tag. See here for a list of all tags, and here for the tags endpoint documentation. | environment/recycling | \ No newline at end of file diff --git a/docs/models/shared/SourceTiktokMarketing.md b/docs/models/shared/SourceTiktokMarketing.md new file mode 100644 index 000000000..36c62114d --- /dev/null +++ b/docs/models/shared/SourceTiktokMarketing.md @@ -0,0 +1,13 @@ +# SourceTiktokMarketing + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `attributionWindow` | *Optional* | :heavy_minus_sign: | The attribution window in days. | +| `credentials` | [Optional](../../models/shared/SourceTiktokMarketingAuthenticationMethod.md) | :heavy_minus_sign: | Authentication method | +| `endDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | The date until which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DD. All data generated between start_date and this date will be replicated. Not setting this option will result in always syncing the data till the current date. | +| `includeDeleted` | *Optional* | :heavy_minus_sign: | Set to active if you want to include deleted data in reports. | +| `sourceType` | [Optional](../../models/shared/SourceTiktokMarketingTiktokMarketing.md) | :heavy_minus_sign: | N/A | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | The Start Date in format: YYYY-MM-DD. Any data before this date will not be replicated. If this parameter is not set, all data will be replicated. | \ No newline at end of file diff --git a/docs/models/shared/SourceTiktokMarketingAuthType.md b/docs/models/shared/SourceTiktokMarketingAuthType.md new file mode 100644 index 000000000..8b610a8b6 --- /dev/null +++ b/docs/models/shared/SourceTiktokMarketingAuthType.md @@ -0,0 +1,8 @@ +# SourceTiktokMarketingAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceTiktokMarketingAuthenticationMethod.md b/docs/models/shared/SourceTiktokMarketingAuthenticationMethod.md new file mode 100644 index 000000000..76d1a4831 --- /dev/null +++ b/docs/models/shared/SourceTiktokMarketingAuthenticationMethod.md @@ -0,0 +1,4 @@ +# SourceTiktokMarketingAuthenticationMethod + +Authentication method + diff --git a/docs/models/shared/SourceTiktokMarketingOAuth20.md b/docs/models/shared/SourceTiktokMarketingOAuth20.md new file mode 100644 index 000000000..1b650d495 --- /dev/null +++ b/docs/models/shared/SourceTiktokMarketingOAuth20.md @@ -0,0 +1,12 @@ +# SourceTiktokMarketingOAuth20 + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Long-term Authorized Access Token. | +| `advertiserId` | *Optional* | :heavy_minus_sign: | The Advertiser ID to filter reports and streams. Let this empty to retrieve all. | +| `appId` | *String* | :heavy_check_mark: | The Developer Application App ID. | +| `authType` | [Optional](../../models/shared/SourceTiktokMarketingAuthType.md) | :heavy_minus_sign: | N/A | +| `secret` | *String* | :heavy_check_mark: | The Developer Application Secret. | \ No newline at end of file diff --git a/docs/models/shared/SourceTiktokMarketingSchemasAuthType.md b/docs/models/shared/SourceTiktokMarketingSchemasAuthType.md new file mode 100644 index 000000000..8aee2477d --- /dev/null +++ b/docs/models/shared/SourceTiktokMarketingSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceTiktokMarketingSchemasAuthType + + +## Values + +| Name | Value | +| ---------------------- | ---------------------- | +| `SANDBOX_ACCESS_TOKEN` | sandbox_access_token | \ No newline at end of file diff --git a/docs/models/shared/SourceTiktokMarketingTiktokMarketing.md b/docs/models/shared/SourceTiktokMarketingTiktokMarketing.md new file mode 100644 index 000000000..c9a2791fc --- /dev/null +++ b/docs/models/shared/SourceTiktokMarketingTiktokMarketing.md @@ -0,0 +1,8 @@ +# SourceTiktokMarketingTiktokMarketing + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `TIKTOK_MARKETING` | tiktok-marketing | \ No newline at end of file diff --git a/docs/models/shared/SourceTrello.md b/docs/models/shared/SourceTrello.md new file mode 100644 index 000000000..e24de68c5 --- /dev/null +++ b/docs/models/shared/SourceTrello.md @@ -0,0 +1,12 @@ +# SourceTrello + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `boardIds` | List<*String*> | :heavy_minus_sign: | IDs of the boards to replicate data from. If left empty, data from all boards to which you have access will be replicated. Please note that this is not the 8-character ID in the board's shortLink (URL of the board). Rather, what is required here is the 24-character ID usually returned by the API | | +| `key` | *String* | :heavy_check_mark: | Trello API key. See the docs for instructions on how to generate it. | | +| `sourceType` | [com.airbyte.api.models.shared.Trello](../../models/shared/Trello.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. | 2021-03-01T00:00:00Z | +| `token` | *String* | :heavy_check_mark: | Trello API token. See the docs for instructions on how to generate it. | | \ No newline at end of file diff --git a/docs/models/shared/SourceTrustpilot.md b/docs/models/shared/SourceTrustpilot.md new file mode 100644 index 000000000..4117ab659 --- /dev/null +++ b/docs/models/shared/SourceTrustpilot.md @@ -0,0 +1,11 @@ +# SourceTrustpilot + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| `businessUnits` | List<*String*> | :heavy_check_mark: | The names of business units which shall be synchronized. Some streams e.g. configured_business_units or private_reviews use this configuration. | mydomain.com | +| `credentials` | [com.airbyte.api.models.shared.SourceTrustpilotAuthorizationMethod](../../models/shared/SourceTrustpilotAuthorizationMethod.md) | :heavy_check_mark: | N/A | | +| `sourceType` | [com.airbyte.api.models.shared.Trustpilot](../../models/shared/Trustpilot.md) | :heavy_check_mark: | N/A | | +| `startDate` | *String* | :heavy_check_mark: | For streams with sync. method incremental the start date time to be used | %Y-%m-%dT%H:%M:%S | \ No newline at end of file diff --git a/docs/models/shared/SourceTrustpilotAPIKey.md b/docs/models/shared/SourceTrustpilotAPIKey.md new file mode 100644 index 000000000..c163c16aa --- /dev/null +++ b/docs/models/shared/SourceTrustpilotAPIKey.md @@ -0,0 +1,11 @@ +# SourceTrustpilotAPIKey + +The API key authentication method gives you access to only the streams which are part of the Public API. When you want to get streams available via the Consumer API (e.g. the private reviews) you need to use authentication method OAuth 2.0. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [Optional](../../models/shared/SourceTrustpilotSchemasAuthType.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The API key of the Trustpilot API application. | \ No newline at end of file diff --git a/docs/models/shared/SourceTrustpilotAuthType.md b/docs/models/shared/SourceTrustpilotAuthType.md new file mode 100644 index 000000000..bc9607721 --- /dev/null +++ b/docs/models/shared/SourceTrustpilotAuthType.md @@ -0,0 +1,8 @@ +# SourceTrustpilotAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceTrustpilotAuthorizationMethod.md b/docs/models/shared/SourceTrustpilotAuthorizationMethod.md new file mode 100644 index 000000000..cc56a325c --- /dev/null +++ b/docs/models/shared/SourceTrustpilotAuthorizationMethod.md @@ -0,0 +1,2 @@ +# SourceTrustpilotAuthorizationMethod + diff --git a/docs/models/shared/SourceTrustpilotOAuth20.md b/docs/models/shared/SourceTrustpilotOAuth20.md new file mode 100644 index 000000000..09cd3a47c --- /dev/null +++ b/docs/models/shared/SourceTrustpilotOAuth20.md @@ -0,0 +1,13 @@ +# SourceTrustpilotOAuth20 + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Access Token for making authenticated requests. | +| `authType` | [Optional](../../models/shared/SourceTrustpilotAuthType.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The API key of the Trustpilot API application. (represents the OAuth Client ID) | +| `clientSecret` | *String* | :heavy_check_mark: | The Secret of the Trustpilot API application. (represents the OAuth Client Secret) | +| `refreshToken` | *String* | :heavy_check_mark: | The key to refresh the expired access_token. | +| `tokenExpiryDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | The date-time when the access token should be refreshed. | \ No newline at end of file diff --git a/docs/models/shared/SourceTrustpilotSchemasAuthType.md b/docs/models/shared/SourceTrustpilotSchemasAuthType.md new file mode 100644 index 000000000..00294ad19 --- /dev/null +++ b/docs/models/shared/SourceTrustpilotSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceTrustpilotSchemasAuthType + + +## Values + +| Name | Value | +| -------- | -------- | +| `APIKEY` | apikey | \ No newline at end of file diff --git a/docs/models/shared/SourceTvmazeSchedule.md b/docs/models/shared/SourceTvmazeSchedule.md new file mode 100644 index 000000000..2ee37f64a --- /dev/null +++ b/docs/models/shared/SourceTvmazeSchedule.md @@ -0,0 +1,12 @@ +# SourceTvmazeSchedule + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `domesticScheduleCountryCode` | *String* | :heavy_check_mark: | Country code for domestic TV schedule retrieval. | US | +| `endDate` | *Optional* | :heavy_minus_sign: | End date for TV schedule retrieval. May be in the future. Optional.
    | | +| `sourceType` | [com.airbyte.api.models.shared.TvmazeSchedule](../../models/shared/TvmazeSchedule.md) | :heavy_check_mark: | N/A | | +| `startDate` | *String* | :heavy_check_mark: | Start date for TV schedule retrieval. May be in the future. | | +| `webScheduleCountryCode` | *Optional* | :heavy_minus_sign: | ISO 3166-1 country code for web TV schedule retrieval. Leave blank for
    all countries plus global web channels (e.g. Netflix). Alternatively,
    set to 'global' for just global web channels.
    | US | \ No newline at end of file diff --git a/docs/models/shared/SourceTwilio.md b/docs/models/shared/SourceTwilio.md new file mode 100644 index 000000000..805ab04f7 --- /dev/null +++ b/docs/models/shared/SourceTwilio.md @@ -0,0 +1,12 @@ +# SourceTwilio + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `accountSid` | *String* | :heavy_check_mark: | Twilio account SID | | +| `authToken` | *String* | :heavy_check_mark: | Twilio Auth Token. | | +| `lookbackWindow` | *Optional* | :heavy_minus_sign: | How far into the past to look for records. (in minutes) | 60 | +| `sourceType` | [com.airbyte.api.models.shared.Twilio](../../models/shared/Twilio.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | UTC date and time in the format 2020-10-01T00:00:00Z. Any data before this date will not be replicated. | 2020-10-01T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceTwilioTaskrouter.md b/docs/models/shared/SourceTwilioTaskrouter.md new file mode 100644 index 000000000..156659eee --- /dev/null +++ b/docs/models/shared/SourceTwilioTaskrouter.md @@ -0,0 +1,10 @@ +# SourceTwilioTaskrouter + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `accountSid` | *String* | :heavy_check_mark: | Twilio Account ID | +| `authToken` | *String* | :heavy_check_mark: | Twilio Auth Token | +| `sourceType` | [com.airbyte.api.models.shared.TwilioTaskrouter](../../models/shared/TwilioTaskrouter.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceTwitter.md b/docs/models/shared/SourceTwitter.md new file mode 100644 index 000000000..cce2f37d3 --- /dev/null +++ b/docs/models/shared/SourceTwitter.md @@ -0,0 +1,12 @@ +# SourceTwitter + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | App only Bearer Token. See the docs for more information on how to obtain this token. | +| `endDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The end date for retrieving tweets must be a minimum of 10 seconds prior to the request time. | +| `query` | *String* | :heavy_check_mark: | Query for matching Tweets. You can learn how to build this query by reading build a query guide . | +| `sourceType` | [com.airbyte.api.models.shared.Twitter](../../models/shared/Twitter.md) | :heavy_check_mark: | N/A | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The start date for retrieving tweets cannot be more than 7 days in the past. | \ No newline at end of file diff --git a/docs/models/shared/SourceTypeform.md b/docs/models/shared/SourceTypeform.md new file mode 100644 index 000000000..5e4360d56 --- /dev/null +++ b/docs/models/shared/SourceTypeform.md @@ -0,0 +1,11 @@ +# SourceTypeform + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [com.airbyte.api.models.shared.SourceTypeformAuthorizationMethod](../../models/shared/SourceTypeformAuthorizationMethod.md) | :heavy_check_mark: | N/A | | +| `formIds` | List<*String*> | :heavy_minus_sign: | When this parameter is set, the connector will replicate data only from the input forms. Otherwise, all forms in your Typeform account will be replicated. You can find form IDs in your form URLs. For example, in the URL "https://mysite.typeform.com/to/u6nXL7" the form_id is u6nXL7. You can find form URLs on Share panel | | +| `sourceType` | [com.airbyte.api.models.shared.SourceTypeformTypeform](../../models/shared/SourceTypeformTypeform.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The date from which you'd like to replicate data for Typeform API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. | 2021-03-01T00:00:00Z | \ No newline at end of file diff --git a/docs/models/shared/SourceTypeformAuthType.md b/docs/models/shared/SourceTypeformAuthType.md new file mode 100644 index 000000000..3b08ddae1 --- /dev/null +++ b/docs/models/shared/SourceTypeformAuthType.md @@ -0,0 +1,8 @@ +# SourceTypeformAuthType + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceTypeformAuthorizationMethod.md b/docs/models/shared/SourceTypeformAuthorizationMethod.md new file mode 100644 index 000000000..d16748521 --- /dev/null +++ b/docs/models/shared/SourceTypeformAuthorizationMethod.md @@ -0,0 +1,2 @@ +# SourceTypeformAuthorizationMethod + diff --git a/docs/models/shared/SourceTypeformOAuth20.md b/docs/models/shared/SourceTypeformOAuth20.md new file mode 100644 index 000000000..6ba78dae0 --- /dev/null +++ b/docs/models/shared/SourceTypeformOAuth20.md @@ -0,0 +1,13 @@ +# SourceTypeformOAuth20 + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Access Token for making authenticated requests. | +| `authType` | [Optional](../../models/shared/SourceTypeformAuthType.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of the Typeform developer application. | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret the Typeform developer application. | +| `refreshToken` | *String* | :heavy_check_mark: | The key to refresh the expired access_token. | +| `tokenExpiryDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | The date-time when the access token should be refreshed. | \ No newline at end of file diff --git a/docs/models/shared/SourceTypeformPrivateToken.md b/docs/models/shared/SourceTypeformPrivateToken.md new file mode 100644 index 000000000..9b1998643 --- /dev/null +++ b/docs/models/shared/SourceTypeformPrivateToken.md @@ -0,0 +1,9 @@ +# SourceTypeformPrivateToken + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Log into your Typeform account and then generate a personal Access Token. | +| `authType` | [Optional](../../models/shared/SourceTypeformSchemasAuthType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceTypeformSchemasAuthType.md b/docs/models/shared/SourceTypeformSchemasAuthType.md new file mode 100644 index 000000000..d8bef1972 --- /dev/null +++ b/docs/models/shared/SourceTypeformSchemasAuthType.md @@ -0,0 +1,8 @@ +# SourceTypeformSchemasAuthType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `ACCESS_TOKEN` | access_token | \ No newline at end of file diff --git a/docs/models/shared/SourceTypeformTypeform.md b/docs/models/shared/SourceTypeformTypeform.md new file mode 100644 index 000000000..d7a13dac8 --- /dev/null +++ b/docs/models/shared/SourceTypeformTypeform.md @@ -0,0 +1,8 @@ +# SourceTypeformTypeform + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `TYPEFORM` | typeform | \ No newline at end of file diff --git a/docs/models/shared/SourceUsCensus.md b/docs/models/shared/SourceUsCensus.md new file mode 100644 index 000000000..548409b3e --- /dev/null +++ b/docs/models/shared/SourceUsCensus.md @@ -0,0 +1,11 @@ +# SourceUsCensus + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Your API Key. Get your key here. | | +| `queryParams` | *Optional* | :heavy_minus_sign: | The query parameters portion of the GET request, without the api key | get=NAME,NAICS2017_LABEL,LFO_LABEL,EMPSZES_LABEL,ESTAB,PAYANN,PAYQTR1,EMP&for=us:*&NAICS2017=72&LFO=001&EMPSZES=001 | +| `queryPath` | *String* | :heavy_check_mark: | The path portion of the GET request | data/2019/cbp | +| `sourceType` | [com.airbyte.api.models.shared.UsCensus](../../models/shared/UsCensus.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourceVantage.md b/docs/models/shared/SourceVantage.md new file mode 100644 index 000000000..3c009985d --- /dev/null +++ b/docs/models/shared/SourceVantage.md @@ -0,0 +1,9 @@ +# SourceVantage + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Your API Access token. See here. | +| `sourceType` | [com.airbyte.api.models.shared.Vantage](../../models/shared/Vantage.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceWebflow.md b/docs/models/shared/SourceWebflow.md new file mode 100644 index 000000000..17990aaa4 --- /dev/null +++ b/docs/models/shared/SourceWebflow.md @@ -0,0 +1,11 @@ +# SourceWebflow + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `acceptVersion` | *Optional* | :heavy_minus_sign: | The version of the Webflow API to use. See https://developers.webflow.com/#versioning | 1.0.0 | +| `apiKey` | *String* | :heavy_check_mark: | The API token for authenticating to Webflow. See https://university.webflow.com/lesson/intro-to-the-webflow-api | a very long hex sequence | +| `siteId` | *String* | :heavy_check_mark: | The id of the Webflow site you are requesting data from. See https://developers.webflow.com/#sites | a relatively long hex sequence | +| `sourceType` | [com.airbyte.api.models.shared.Webflow](../../models/shared/Webflow.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourceWhiskyHunter.md b/docs/models/shared/SourceWhiskyHunter.md new file mode 100644 index 000000000..a69e3e351 --- /dev/null +++ b/docs/models/shared/SourceWhiskyHunter.md @@ -0,0 +1,8 @@ +# SourceWhiskyHunter + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `sourceType` | [Optional](../../models/shared/WhiskyHunter.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceWikipediaPageviews.md b/docs/models/shared/SourceWikipediaPageviews.md new file mode 100644 index 000000000..2bcb340a2 --- /dev/null +++ b/docs/models/shared/SourceWikipediaPageviews.md @@ -0,0 +1,15 @@ +# SourceWikipediaPageviews + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `access` | *String* | :heavy_check_mark: | If you want to filter by access method, use one of desktop, mobile-app or mobile-web. If you are interested in pageviews regardless of access method, use all-access. | all-access | +| `agent` | *String* | :heavy_check_mark: | If you want to filter by agent type, use one of user, automated or spider. If you are interested in pageviews regardless of agent type, use all-agents. | all-agents | +| `article` | *String* | :heavy_check_mark: | The title of any article in the specified project. Any spaces should be replaced with underscores. It also should be URI-encoded, so that non-URI-safe characters like %, / or ? are accepted. | Are_You_the_One%3F | +| `country` | *String* | :heavy_check_mark: | The ISO 3166-1 alpha-2 code of a country for which to retrieve top articles. | FR | +| `end` | *String* | :heavy_check_mark: | The date of the last day to include, in YYYYMMDD or YYYYMMDDHH format. | | +| `project` | *String* | :heavy_check_mark: | If you want to filter by project, use the domain of any Wikimedia project. | en.wikipedia.org | +| `sourceType` | [com.airbyte.api.models.shared.WikipediaPageviews](../../models/shared/WikipediaPageviews.md) | :heavy_check_mark: | N/A | | +| `start` | *String* | :heavy_check_mark: | The date of the first day to include, in YYYYMMDD or YYYYMMDDHH format. | | \ No newline at end of file diff --git a/docs/models/shared/SourceWoocommerce.md b/docs/models/shared/SourceWoocommerce.md new file mode 100644 index 000000000..adb089824 --- /dev/null +++ b/docs/models/shared/SourceWoocommerce.md @@ -0,0 +1,12 @@ +# SourceWoocommerce + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `apiKey` | *String* | :heavy_check_mark: | Customer Key for API in WooCommerce shop | | +| `apiSecret` | *String* | :heavy_check_mark: | Customer Secret for API in WooCommerce shop | | +| `shop` | *String* | :heavy_check_mark: | The name of the store. For https://EXAMPLE.com, the shop name is 'EXAMPLE.com'. | | +| `sourceType` | [com.airbyte.api.models.shared.Woocommerce](../../models/shared/Woocommerce.md) | :heavy_check_mark: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_check_mark: | The date you would like to replicate data from. Format: YYYY-MM-DD | 2021-01-01 | \ No newline at end of file diff --git a/docs/models/shared/SourceXkcd.md b/docs/models/shared/SourceXkcd.md new file mode 100644 index 000000000..8bb1de819 --- /dev/null +++ b/docs/models/shared/SourceXkcd.md @@ -0,0 +1,8 @@ +# SourceXkcd + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `sourceType` | [Optional](../../models/shared/Xkcd.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceYandexMetrica.md b/docs/models/shared/SourceYandexMetrica.md new file mode 100644 index 000000000..5ff7cc1e3 --- /dev/null +++ b/docs/models/shared/SourceYandexMetrica.md @@ -0,0 +1,12 @@ +# SourceYandexMetrica + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `authToken` | *String* | :heavy_check_mark: | Your Yandex Metrica API access token | | +| `counterId` | *String* | :heavy_check_mark: | Counter ID | | +| `endDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | Starting point for your data replication, in format of "YYYY-MM-DD". If not provided will sync till most recent date. | 2022-01-01 | +| `sourceType` | [com.airbyte.api.models.shared.YandexMetrica](../../models/shared/YandexMetrica.md) | :heavy_check_mark: | N/A | | +| `startDate` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_check_mark: | Starting point for your data replication, in format of "YYYY-MM-DD". | 2022-01-01 | \ No newline at end of file diff --git a/docs/models/shared/SourceYotpo.md b/docs/models/shared/SourceYotpo.md new file mode 100644 index 000000000..b83570db7 --- /dev/null +++ b/docs/models/shared/SourceYotpo.md @@ -0,0 +1,12 @@ +# SourceYotpo + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Access token recieved as a result of API call to https://api.yotpo.com/oauth/token (Ref- https://apidocs.yotpo.com/reference/yotpo-authentication) | | +| `appKey` | *String* | :heavy_check_mark: | App key found at settings (Ref- https://settings.yotpo.com/#/general_settings) | | +| `email` | *Optional* | :heavy_minus_sign: | Email address registered with yotpo. | | +| `sourceType` | [com.airbyte.api.models.shared.Yotpo](../../models/shared/Yotpo.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | Date time filter for incremental filter, Specify which date to extract from. | 2022-03-01T00:00:00.000Z | \ No newline at end of file diff --git a/docs/models/shared/SourceYoutubeAnalytics.md b/docs/models/shared/SourceYoutubeAnalytics.md new file mode 100644 index 000000000..ae78a5fa7 --- /dev/null +++ b/docs/models/shared/SourceYoutubeAnalytics.md @@ -0,0 +1,9 @@ +# SourceYoutubeAnalytics + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | Map | :heavy_check_mark: | N/A | +| `sourceType` | [com.airbyte.api.models.shared.SourceYoutubeAnalyticsYoutubeAnalytics](../../models/shared/SourceYoutubeAnalyticsYoutubeAnalytics.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceYoutubeAnalyticsYoutubeAnalytics.md b/docs/models/shared/SourceYoutubeAnalyticsYoutubeAnalytics.md new file mode 100644 index 000000000..3e92a48cd --- /dev/null +++ b/docs/models/shared/SourceYoutubeAnalyticsYoutubeAnalytics.md @@ -0,0 +1,8 @@ +# SourceYoutubeAnalyticsYoutubeAnalytics + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `YOUTUBE_ANALYTICS` | youtube-analytics | \ No newline at end of file diff --git a/docs/models/shared/SourceZendeskChat.md b/docs/models/shared/SourceZendeskChat.md new file mode 100644 index 000000000..798067bde --- /dev/null +++ b/docs/models/shared/SourceZendeskChat.md @@ -0,0 +1,11 @@ +# SourceZendeskChat + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/SourceZendeskChatAuthorizationMethod.md) | :heavy_minus_sign: | N/A | | +| `sourceType` | [com.airbyte.api.models.shared.SourceZendeskChatZendeskChat](../../models/shared/SourceZendeskChatZendeskChat.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | The date from which you'd like to replicate data for Zendesk Chat API, in the format YYYY-MM-DDT00:00:00Z. | 2021-02-01T00:00:00Z | +| `subdomain` | *Optional* | :heavy_minus_sign: | Required if you access Zendesk Chat from a Zendesk Support subdomain. | | \ No newline at end of file diff --git a/docs/models/shared/SourceZendeskChatAccessToken.md b/docs/models/shared/SourceZendeskChatAccessToken.md new file mode 100644 index 000000000..0cc9de204 --- /dev/null +++ b/docs/models/shared/SourceZendeskChatAccessToken.md @@ -0,0 +1,9 @@ +# SourceZendeskChatAccessToken + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | The Access Token to make authenticated requests. | +| `credentials` | [com.airbyte.api.models.shared.SourceZendeskChatSchemasCredentials](../../models/shared/SourceZendeskChatSchemasCredentials.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourceZendeskChatAuthorizationMethod.md b/docs/models/shared/SourceZendeskChatAuthorizationMethod.md new file mode 100644 index 000000000..d7113011c --- /dev/null +++ b/docs/models/shared/SourceZendeskChatAuthorizationMethod.md @@ -0,0 +1,2 @@ +# SourceZendeskChatAuthorizationMethod + diff --git a/docs/models/shared/SourceZendeskChatCredentials.md b/docs/models/shared/SourceZendeskChatCredentials.md new file mode 100644 index 000000000..deeb9ce4e --- /dev/null +++ b/docs/models/shared/SourceZendeskChatCredentials.md @@ -0,0 +1,8 @@ +# SourceZendeskChatCredentials + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceZendeskChatOAuth20.md b/docs/models/shared/SourceZendeskChatOAuth20.md new file mode 100644 index 000000000..149d15907 --- /dev/null +++ b/docs/models/shared/SourceZendeskChatOAuth20.md @@ -0,0 +1,12 @@ +# SourceZendeskChatOAuth20 + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *Optional* | :heavy_minus_sign: | Access Token for making authenticated requests. | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your OAuth application | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your OAuth application. | +| `credentials` | [com.airbyte.api.models.shared.SourceZendeskChatCredentials](../../models/shared/SourceZendeskChatCredentials.md) | :heavy_check_mark: | N/A | +| `refreshToken` | *Optional* | :heavy_minus_sign: | Refresh Token to obtain new Access Token, when it's expired. | \ No newline at end of file diff --git a/docs/models/shared/SourceZendeskChatSchemasCredentials.md b/docs/models/shared/SourceZendeskChatSchemasCredentials.md new file mode 100644 index 000000000..ac62fee45 --- /dev/null +++ b/docs/models/shared/SourceZendeskChatSchemasCredentials.md @@ -0,0 +1,8 @@ +# SourceZendeskChatSchemasCredentials + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `ACCESS_TOKEN` | access_token | \ No newline at end of file diff --git a/docs/models/shared/SourceZendeskChatZendeskChat.md b/docs/models/shared/SourceZendeskChatZendeskChat.md new file mode 100644 index 000000000..fa7129a9d --- /dev/null +++ b/docs/models/shared/SourceZendeskChatZendeskChat.md @@ -0,0 +1,8 @@ +# SourceZendeskChatZendeskChat + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `ZENDESK_CHAT` | zendesk-chat | \ No newline at end of file diff --git a/docs/models/shared/SourceZendeskSell.md b/docs/models/shared/SourceZendeskSell.md new file mode 100644 index 000000000..11d621f60 --- /dev/null +++ b/docs/models/shared/SourceZendeskSell.md @@ -0,0 +1,9 @@ +# SourceZendeskSell + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `apiToken` | *String* | :heavy_check_mark: | The API token for authenticating to Zendesk Sell | f23yhd630otl94y85a8bf384958473pto95847fd006da49382716or937ruw059 | +| `sourceType` | [com.airbyte.api.models.shared.ZendeskSell](../../models/shared/ZendeskSell.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/SourceZendeskSunshine.md b/docs/models/shared/SourceZendeskSunshine.md new file mode 100644 index 000000000..c5604ac6a --- /dev/null +++ b/docs/models/shared/SourceZendeskSunshine.md @@ -0,0 +1,11 @@ +# SourceZendeskSunshine + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/SourceZendeskSunshineAuthorizationMethod.md) | :heavy_minus_sign: | N/A | | +| `sourceType` | [com.airbyte.api.models.shared.SourceZendeskSunshineZendeskSunshine](../../models/shared/SourceZendeskSunshineZendeskSunshine.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | The date from which you'd like to replicate data for Zendesk Sunshine API, in the format YYYY-MM-DDT00:00:00Z. | 2021-01-01T00:00:00Z | +| `subdomain` | *String* | :heavy_check_mark: | The subdomain for your Zendesk Account. | | \ No newline at end of file diff --git a/docs/models/shared/SourceZendeskSunshineAPIToken.md b/docs/models/shared/SourceZendeskSunshineAPIToken.md new file mode 100644 index 000000000..441400c55 --- /dev/null +++ b/docs/models/shared/SourceZendeskSunshineAPIToken.md @@ -0,0 +1,10 @@ +# SourceZendeskSunshineAPIToken + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiToken` | *String* | :heavy_check_mark: | API Token. See the docs for information on how to generate this key. | +| `authMethod` | [Optional](../../models/shared/SourceZendeskSunshineSchemasAuthMethod.md) | :heavy_minus_sign: | N/A | +| `email` | *String* | :heavy_check_mark: | The user email for your Zendesk account | \ No newline at end of file diff --git a/docs/models/shared/SourceZendeskSunshineAuthMethod.md b/docs/models/shared/SourceZendeskSunshineAuthMethod.md new file mode 100644 index 000000000..f6fb661db --- /dev/null +++ b/docs/models/shared/SourceZendeskSunshineAuthMethod.md @@ -0,0 +1,8 @@ +# SourceZendeskSunshineAuthMethod + + +## Values + +| Name | Value | +| --------- | --------- | +| `OAUTH20` | oauth2.0 | \ No newline at end of file diff --git a/docs/models/shared/SourceZendeskSunshineAuthorizationMethod.md b/docs/models/shared/SourceZendeskSunshineAuthorizationMethod.md new file mode 100644 index 000000000..ea413be57 --- /dev/null +++ b/docs/models/shared/SourceZendeskSunshineAuthorizationMethod.md @@ -0,0 +1,2 @@ +# SourceZendeskSunshineAuthorizationMethod + diff --git a/docs/models/shared/SourceZendeskSunshineOAuth20.md b/docs/models/shared/SourceZendeskSunshineOAuth20.md new file mode 100644 index 000000000..bd55c6233 --- /dev/null +++ b/docs/models/shared/SourceZendeskSunshineOAuth20.md @@ -0,0 +1,11 @@ +# SourceZendeskSunshineOAuth20 + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Long-term access Token for making authenticated requests. | +| `authMethod` | [Optional](../../models/shared/SourceZendeskSunshineAuthMethod.md) | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The Client ID of your OAuth application. | +| `clientSecret` | *String* | :heavy_check_mark: | The Client Secret of your OAuth application. | \ No newline at end of file diff --git a/docs/models/shared/SourceZendeskSunshineSchemasAuthMethod.md b/docs/models/shared/SourceZendeskSunshineSchemasAuthMethod.md new file mode 100644 index 000000000..f488814b4 --- /dev/null +++ b/docs/models/shared/SourceZendeskSunshineSchemasAuthMethod.md @@ -0,0 +1,8 @@ +# SourceZendeskSunshineSchemasAuthMethod + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `API_TOKEN` | api_token | \ No newline at end of file diff --git a/docs/models/shared/SourceZendeskSunshineZendeskSunshine.md b/docs/models/shared/SourceZendeskSunshineZendeskSunshine.md new file mode 100644 index 000000000..963bb60b1 --- /dev/null +++ b/docs/models/shared/SourceZendeskSunshineZendeskSunshine.md @@ -0,0 +1,8 @@ +# SourceZendeskSunshineZendeskSunshine + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `ZENDESK_SUNSHINE` | zendesk-sunshine | \ No newline at end of file diff --git a/docs/models/shared/SourceZendeskSupport.md b/docs/models/shared/SourceZendeskSupport.md new file mode 100644 index 000000000..66963603a --- /dev/null +++ b/docs/models/shared/SourceZendeskSupport.md @@ -0,0 +1,12 @@ +# SourceZendeskSupport + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | *Optional* | :heavy_minus_sign: | Zendesk allows two authentication methods. We recommend using `OAuth2.0` for Airbyte Cloud users and `API token` for Airbyte Open Source users. | | +| `ignorePagination` | *Optional* | :heavy_minus_sign: | Makes each stream read a single page of data. | | +| `sourceType` | [com.airbyte.api.models.shared.SourceZendeskSupportZendeskSupport](../../models/shared/SourceZendeskSupportZendeskSupport.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The UTC date and time from which you'd like to replicate data, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. | 2020-10-15T00:00:00Z | +| `subdomain` | *String* | :heavy_check_mark: | This is your unique Zendesk subdomain that can be found in your account URL. For example, in https://MY_SUBDOMAIN.zendesk.com/, MY_SUBDOMAIN is the value of your subdomain. | | \ No newline at end of file diff --git a/docs/models/shared/SourceZendeskSupportZendeskSupport.md b/docs/models/shared/SourceZendeskSupportZendeskSupport.md new file mode 100644 index 000000000..5673d9785 --- /dev/null +++ b/docs/models/shared/SourceZendeskSupportZendeskSupport.md @@ -0,0 +1,8 @@ +# SourceZendeskSupportZendeskSupport + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `ZENDESK_SUPPORT` | zendesk-support | \ No newline at end of file diff --git a/docs/models/shared/SourceZendeskTalk.md b/docs/models/shared/SourceZendeskTalk.md new file mode 100644 index 000000000..4fb8b8add --- /dev/null +++ b/docs/models/shared/SourceZendeskTalk.md @@ -0,0 +1,11 @@ +# SourceZendeskTalk + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | *Optional* | :heavy_minus_sign: | Zendesk service provides two authentication methods. Choose between: `OAuth2.0` or `API token`. | | +| `sourceType` | [com.airbyte.api.models.shared.SourceZendeskTalkZendeskTalk](../../models/shared/SourceZendeskTalkZendeskTalk.md) | :heavy_check_mark: | N/A | | +| `startDate` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_check_mark: | The date from which you'd like to replicate data for Zendesk Talk API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. | 2020-10-15T00:00:00Z | +| `subdomain` | *String* | :heavy_check_mark: | This is your Zendesk subdomain that can be found in your account URL. For example, in https://{MY_SUBDOMAIN}.zendesk.com/, where MY_SUBDOMAIN is the value of your subdomain. | | \ No newline at end of file diff --git a/docs/models/shared/SourceZendeskTalkZendeskTalk.md b/docs/models/shared/SourceZendeskTalkZendeskTalk.md new file mode 100644 index 000000000..d63ad3a23 --- /dev/null +++ b/docs/models/shared/SourceZendeskTalkZendeskTalk.md @@ -0,0 +1,8 @@ +# SourceZendeskTalkZendeskTalk + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `ZENDESK_TALK` | zendesk-talk | \ No newline at end of file diff --git a/docs/models/shared/SourceZenloop.md b/docs/models/shared/SourceZenloop.md new file mode 100644 index 000000000..0eca5f239 --- /dev/null +++ b/docs/models/shared/SourceZenloop.md @@ -0,0 +1,12 @@ +# SourceZenloop + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiToken` | *String* | :heavy_check_mark: | Zenloop API Token. You can get the API token in settings page here | | +| `dateFrom` | *Optional* | :heavy_minus_sign: | Zenloop date_from. Format: 2021-10-24T03:30:30Z or 2021-10-24. Leave empty if only data from current data should be synced | 2021-10-24T03:30:30Z | +| `sourceType` | [com.airbyte.api.models.shared.Zenloop](../../models/shared/Zenloop.md) | :heavy_check_mark: | N/A | | +| `surveyGroupId` | *Optional* | :heavy_minus_sign: | Zenloop Survey Group ID. Can be found by pulling All Survey Groups via SurveyGroups stream. Leave empty to pull answers from all survey groups | | +| `surveyId` | *Optional* | :heavy_minus_sign: | Zenloop Survey ID. Can be found here. Leave empty to pull answers from all surveys | | \ No newline at end of file diff --git a/docs/models/shared/SourceZohoCrm.md b/docs/models/shared/SourceZohoCrm.md new file mode 100644 index 000000000..8c3e7d456 --- /dev/null +++ b/docs/models/shared/SourceZohoCrm.md @@ -0,0 +1,15 @@ +# SourceZohoCrm + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `clientId` | *String* | :heavy_check_mark: | OAuth2.0 Client ID | | +| `clientSecret` | *String* | :heavy_check_mark: | OAuth2.0 Client Secret | | +| `dcRegion` | [com.airbyte.api.models.shared.DataCenterLocation](../../models/shared/DataCenterLocation.md) | :heavy_check_mark: | Please choose the region of your Data Center location. More info by this Link | | +| `edition` | [Optional](../../models/shared/ZohoCRMEdition.md) | :heavy_minus_sign: | Choose your Edition of Zoho CRM to determine API Concurrency Limits | | +| `environment` | [com.airbyte.api.models.shared.SourceZohoCrmEnvironment](../../models/shared/SourceZohoCrmEnvironment.md) | :heavy_check_mark: | Please choose the environment | | +| `refreshToken` | *String* | :heavy_check_mark: | OAuth2.0 Refresh Token | | +| `sourceType` | [com.airbyte.api.models.shared.ZohoCrm](../../models/shared/ZohoCrm.md) | :heavy_check_mark: | N/A | | +| `startDatetime` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | ISO 8601, for instance: `YYYY-MM-DD`, `YYYY-MM-DD HH:MM:SS+HH:MM` | 2000-01-01 | \ No newline at end of file diff --git a/docs/models/shared/SourceZohoCrmEnvironment.md b/docs/models/shared/SourceZohoCrmEnvironment.md new file mode 100644 index 000000000..bbd9ce97a --- /dev/null +++ b/docs/models/shared/SourceZohoCrmEnvironment.md @@ -0,0 +1,12 @@ +# SourceZohoCrmEnvironment + +Please choose the environment + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `PRODUCTION` | Production | +| `DEVELOPER` | Developer | +| `SANDBOX` | Sandbox | \ No newline at end of file diff --git a/docs/models/shared/SourceZoom.md b/docs/models/shared/SourceZoom.md new file mode 100644 index 000000000..75e7ee368 --- /dev/null +++ b/docs/models/shared/SourceZoom.md @@ -0,0 +1,12 @@ +# SourceZoom + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `accountId` | *String* | :heavy_check_mark: | The account ID for your Zoom account. You can find this in the Zoom Marketplace under the "Manage" tab for your app. | +| `authorizationEndpoint` | *Optional* | :heavy_minus_sign: | N/A | +| `clientId` | *String* | :heavy_check_mark: | The client ID for your Zoom app. You can find this in the Zoom Marketplace under the "Manage" tab for your app. | +| `clientSecret` | *String* | :heavy_check_mark: | The client secret for your Zoom app. You can find this in the Zoom Marketplace under the "Manage" tab for your app. | +| `sourceType` | [com.airbyte.api.models.shared.Zoom](../../models/shared/Zoom.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SourcesResponse.md b/docs/models/shared/SourcesResponse.md index cec8a335c..6de915f14 100644 --- a/docs/models/shared/SourcesResponse.md +++ b/docs/models/shared/SourcesResponse.md @@ -6,5 +6,5 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | | `data` | List<[com.airbyte.api.models.shared.SourceResponse](../../models/shared/SourceResponse.md)> | :heavy_check_mark: | N/A | -| `next` | *String* | :heavy_minus_sign: | N/A | -| `previous` | *String* | :heavy_minus_sign: | N/A | \ No newline at end of file +| `next` | *Optional* | :heavy_minus_sign: | N/A | +| `previous` | *Optional* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SpacexApi.md b/docs/models/shared/SpacexApi.md new file mode 100644 index 000000000..8b3e412b9 --- /dev/null +++ b/docs/models/shared/SpacexApi.md @@ -0,0 +1,8 @@ +# SpacexApi + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `SPACEX_API` | spacex-api | \ No newline at end of file diff --git a/docs/models/shared/Square.md b/docs/models/shared/Square.md new file mode 100644 index 000000000..821f7321f --- /dev/null +++ b/docs/models/shared/Square.md @@ -0,0 +1,8 @@ +# Square + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/SquareCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SquareCredentials.md b/docs/models/shared/SquareCredentials.md new file mode 100644 index 000000000..81a34ab22 --- /dev/null +++ b/docs/models/shared/SquareCredentials.md @@ -0,0 +1,9 @@ +# SquareCredentials + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Square-issued ID of your application | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Square-issued application secret for your application | \ No newline at end of file diff --git a/docs/models/shared/StandaloneMongoDbInstance.md b/docs/models/shared/StandaloneMongoDbInstance.md new file mode 100644 index 000000000..50a9f3827 --- /dev/null +++ b/docs/models/shared/StandaloneMongoDbInstance.md @@ -0,0 +1,10 @@ +# StandaloneMongoDbInstance + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `host` | *String* | :heavy_check_mark: | The Host of a Mongo database to be replicated. | | +| `instance` | [Optional](../../models/shared/Instance.md) | :heavy_minus_sign: | N/A | | +| `port` | *Optional* | :heavy_minus_sign: | The Port of a Mongo database to be replicated. | 27017 | \ No newline at end of file diff --git a/docs/models/shared/Standard.md b/docs/models/shared/Standard.md new file mode 100644 index 000000000..49026ec56 --- /dev/null +++ b/docs/models/shared/Standard.md @@ -0,0 +1,10 @@ +# Standard + +(not recommended) Direct loading using SQL INSERT statements. This method is extremely inefficient and provided only for quick testing. In all other cases, you should use S3 uploading. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | +| `method` | [com.airbyte.api.models.shared.DestinationRedshiftSchemasMethod](../../models/shared/DestinationRedshiftSchemasMethod.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/StandardInserts.md b/docs/models/shared/StandardInserts.md new file mode 100644 index 000000000..911ac9eac --- /dev/null +++ b/docs/models/shared/StandardInserts.md @@ -0,0 +1,10 @@ +# StandardInserts + +(not recommended) Direct loading using SQL INSERT statements. This method is extremely inefficient and provided only for quick testing. In all other cases, you should use GCS staging. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `method` | [com.airbyte.api.models.shared.DestinationBigqueryMethod](../../models/shared/DestinationBigqueryMethod.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/State.md b/docs/models/shared/State.md new file mode 100644 index 000000000..89738ebbf --- /dev/null +++ b/docs/models/shared/State.md @@ -0,0 +1,12 @@ +# State + +Select the state of the items to retrieve. + + +## Values + +| Name | Value | +| --------- | --------- | +| `UNREAD` | unread | +| `ARCHIVE` | archive | +| `ALL` | all | \ No newline at end of file diff --git a/docs/models/shared/StateFilter.md b/docs/models/shared/StateFilter.md new file mode 100644 index 000000000..ad988aee6 --- /dev/null +++ b/docs/models/shared/StateFilter.md @@ -0,0 +1,10 @@ +# StateFilter + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `ENABLED` | enabled | +| `PAUSED` | paused | +| `ARCHIVED` | archived | \ No newline at end of file diff --git a/docs/models/shared/Status.md b/docs/models/shared/Status.md new file mode 100644 index 000000000..2f6ebab50 --- /dev/null +++ b/docs/models/shared/Status.md @@ -0,0 +1,10 @@ +# Status + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `ACTIVE` | ACTIVE | +| `PAUSED` | PAUSED | +| `ARCHIVED` | ARCHIVED | \ No newline at end of file diff --git a/docs/models/shared/Storage.md b/docs/models/shared/Storage.md new file mode 100644 index 000000000..26ccf8c56 --- /dev/null +++ b/docs/models/shared/Storage.md @@ -0,0 +1,8 @@ +# Storage + + +## Values + +| Name | Value | +| ------- | ------- | +| `HTTPS` | HTTPS | \ No newline at end of file diff --git a/docs/models/shared/StorageProvider.md b/docs/models/shared/StorageProvider.md new file mode 100644 index 000000000..bc33531a8 --- /dev/null +++ b/docs/models/shared/StorageProvider.md @@ -0,0 +1,4 @@ +# StorageProvider + +The storage Provider or Location of the file(s) which should be replicated. + diff --git a/docs/models/shared/Strategies.md b/docs/models/shared/Strategies.md new file mode 100644 index 000000000..e7dc85bb1 --- /dev/null +++ b/docs/models/shared/Strategies.md @@ -0,0 +1,9 @@ +# Strategies + + +## Values + +| Name | Value | +| --------- | --------- | +| `DESKTOP` | desktop | +| `MOBILE` | mobile | \ No newline at end of file diff --git a/docs/models/shared/Strava.md b/docs/models/shared/Strava.md new file mode 100644 index 000000000..082e65668 --- /dev/null +++ b/docs/models/shared/Strava.md @@ -0,0 +1,9 @@ +# Strava + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your Strava developer application. | 12345 | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your Strava developer application. | fc6243f283e51f6ca989aab298b17da125496f50 | \ No newline at end of file diff --git a/docs/models/shared/StreamConfiguration.md b/docs/models/shared/StreamConfiguration.md index c563bdfc3..cfadaf9cd 100644 --- a/docs/models/shared/StreamConfiguration.md +++ b/docs/models/shared/StreamConfiguration.md @@ -10,4 +10,4 @@ Configurations for a single stream. | `cursorField` | List<*String*> | :heavy_minus_sign: | Path to the field that will be used to determine if a record is new or modified since the last sync. This field is REQUIRED if `sync_mode` is `incremental` unless there is a default. | | `name` | *String* | :heavy_check_mark: | N/A | | `primaryKey` | List> | :heavy_minus_sign: | Paths to the fields that will be used as primary key. This field is REQUIRED if `destination_sync_mode` is `*_dedup` unless it is already supplied by the source schema. | -| `syncMode` | [com.airbyte.api.models.shared.ConnectionSyncModeEnum](../../models/shared/ConnectionSyncModeEnum.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| `syncMode` | [Optional](../../models/shared/ConnectionSyncModeEnum.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/StreamName.md b/docs/models/shared/StreamName.md new file mode 100644 index 000000000..f7842e725 --- /dev/null +++ b/docs/models/shared/StreamName.md @@ -0,0 +1,51 @@ +# StreamName + + +## Values + +| Name | Value | +| -------------------------------------------------------- | -------------------------------------------------------- | +| `GET_AFN_INVENTORY_DATA` | GET_AFN_INVENTORY_DATA | +| `GET_AFN_INVENTORY_DATA_BY_COUNTRY` | GET_AFN_INVENTORY_DATA_BY_COUNTRY | +| `GET_AMAZON_FULFILLED_SHIPMENTS_DATA_GENERAL` | GET_AMAZON_FULFILLED_SHIPMENTS_DATA_GENERAL | +| `GET_BRAND_ANALYTICS_MARKET_BASKET_REPORT` | GET_BRAND_ANALYTICS_MARKET_BASKET_REPORT | +| `GET_BRAND_ANALYTICS_REPEAT_PURCHASE_REPORT` | GET_BRAND_ANALYTICS_REPEAT_PURCHASE_REPORT | +| `GET_BRAND_ANALYTICS_SEARCH_TERMS_REPORT` | GET_BRAND_ANALYTICS_SEARCH_TERMS_REPORT | +| `GET_FBA_ESTIMATED_FBA_FEES_TXT_DATA` | GET_FBA_ESTIMATED_FBA_FEES_TXT_DATA | +| `GET_FBA_FULFILLMENT_CUSTOMER_RETURNS_DATA` | GET_FBA_FULFILLMENT_CUSTOMER_RETURNS_DATA | +| `GET_FBA_FULFILLMENT_CUSTOMER_SHIPMENT_PROMOTION_DATA` | GET_FBA_FULFILLMENT_CUSTOMER_SHIPMENT_PROMOTION_DATA | +| `GET_FBA_FULFILLMENT_CUSTOMER_SHIPMENT_REPLACEMENT_DATA` | GET_FBA_FULFILLMENT_CUSTOMER_SHIPMENT_REPLACEMENT_DATA | +| `GET_FBA_FULFILLMENT_REMOVAL_ORDER_DETAIL_DATA` | GET_FBA_FULFILLMENT_REMOVAL_ORDER_DETAIL_DATA | +| `GET_FBA_FULFILLMENT_REMOVAL_SHIPMENT_DETAIL_DATA` | GET_FBA_FULFILLMENT_REMOVAL_SHIPMENT_DETAIL_DATA | +| `GET_FBA_INVENTORY_PLANNING_DATA` | GET_FBA_INVENTORY_PLANNING_DATA | +| `GET_FBA_MYI_UNSUPPRESSED_INVENTORY_DATA` | GET_FBA_MYI_UNSUPPRESSED_INVENTORY_DATA | +| `GET_FBA_REIMBURSEMENTS_DATA` | GET_FBA_REIMBURSEMENTS_DATA | +| `GET_FBA_SNS_FORECAST_DATA` | GET_FBA_SNS_FORECAST_DATA | +| `GET_FBA_SNS_PERFORMANCE_DATA` | GET_FBA_SNS_PERFORMANCE_DATA | +| `GET_FBA_STORAGE_FEE_CHARGES_DATA` | GET_FBA_STORAGE_FEE_CHARGES_DATA | +| `GET_FLAT_FILE_ACTIONABLE_ORDER_DATA_SHIPPING` | GET_FLAT_FILE_ACTIONABLE_ORDER_DATA_SHIPPING | +| `GET_FLAT_FILE_ALL_ORDERS_DATA_BY_LAST_UPDATE_GENERAL` | GET_FLAT_FILE_ALL_ORDERS_DATA_BY_LAST_UPDATE_GENERAL | +| `GET_FLAT_FILE_ALL_ORDERS_DATA_BY_ORDER_DATE_GENERAL` | GET_FLAT_FILE_ALL_ORDERS_DATA_BY_ORDER_DATE_GENERAL | +| `GET_FLAT_FILE_ARCHIVED_ORDERS_DATA_BY_ORDER_DATE` | GET_FLAT_FILE_ARCHIVED_ORDERS_DATA_BY_ORDER_DATE | +| `GET_FLAT_FILE_OPEN_LISTINGS_DATA` | GET_FLAT_FILE_OPEN_LISTINGS_DATA | +| `GET_FLAT_FILE_RETURNS_DATA_BY_RETURN_DATE` | GET_FLAT_FILE_RETURNS_DATA_BY_RETURN_DATE | +| `GET_LEDGER_DETAIL_VIEW_DATA` | GET_LEDGER_DETAIL_VIEW_DATA | +| `GET_LEDGER_SUMMARY_VIEW_DATA` | GET_LEDGER_SUMMARY_VIEW_DATA | +| `GET_MERCHANT_CANCELLED_LISTINGS_DATA` | GET_MERCHANT_CANCELLED_LISTINGS_DATA | +| `GET_MERCHANT_LISTINGS_ALL_DATA` | GET_MERCHANT_LISTINGS_ALL_DATA | +| `GET_MERCHANT_LISTINGS_DATA` | GET_MERCHANT_LISTINGS_DATA | +| `GET_MERCHANT_LISTINGS_DATA_BACK_COMPAT` | GET_MERCHANT_LISTINGS_DATA_BACK_COMPAT | +| `GET_MERCHANT_LISTINGS_INACTIVE_DATA` | GET_MERCHANT_LISTINGS_INACTIVE_DATA | +| `GET_MERCHANTS_LISTINGS_FYP_REPORT` | GET_MERCHANTS_LISTINGS_FYP_REPORT | +| `GET_ORDER_REPORT_DATA_SHIPPING` | GET_ORDER_REPORT_DATA_SHIPPING | +| `GET_RESTOCK_INVENTORY_RECOMMENDATIONS_REPORT` | GET_RESTOCK_INVENTORY_RECOMMENDATIONS_REPORT | +| `GET_SALES_AND_TRAFFIC_REPORT` | GET_SALES_AND_TRAFFIC_REPORT | +| `GET_SELLER_FEEDBACK_DATA` | GET_SELLER_FEEDBACK_DATA | +| `GET_STRANDED_INVENTORY_UI_DATA` | GET_STRANDED_INVENTORY_UI_DATA | +| `GET_V2_SETTLEMENT_REPORT_DATA_FLAT_FILE` | GET_V2_SETTLEMENT_REPORT_DATA_FLAT_FILE | +| `GET_VENDOR_INVENTORY_REPORT` | GET_VENDOR_INVENTORY_REPORT | +| `GET_VENDOR_NET_PURE_PRODUCT_MARGIN_REPORT` | GET_VENDOR_NET_PURE_PRODUCT_MARGIN_REPORT | +| `GET_VENDOR_TRAFFIC_REPORT` | GET_VENDOR_TRAFFIC_REPORT | +| `GET_VENDOR_SALES_REPORT` | GET_VENDOR_SALES_REPORT | +| `GET_XML_ALL_ORDERS_DATA_BY_ORDER_DATE_GENERAL` | GET_XML_ALL_ORDERS_DATA_BY_ORDER_DATE_GENERAL | +| `GET_XML_BROWSE_TREE_DATA` | GET_XML_BROWSE_TREE_DATA | \ No newline at end of file diff --git a/docs/models/shared/StreamProperties.md b/docs/models/shared/StreamProperties.md index 1c571ebe0..e0fbcb7f0 100644 --- a/docs/models/shared/StreamProperties.md +++ b/docs/models/shared/StreamProperties.md @@ -9,7 +9,7 @@ The stream properties associated with a connection. | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | | `defaultCursorField` | List<*String*> | :heavy_minus_sign: | N/A | | `propertyFields` | List> | :heavy_minus_sign: | N/A | -| `sourceDefinedCursorField` | *Boolean* | :heavy_minus_sign: | N/A | +| `sourceDefinedCursorField` | *Optional* | :heavy_minus_sign: | N/A | | `sourceDefinedPrimaryKey` | List> | :heavy_minus_sign: | N/A | -| `streamName` | *String* | :heavy_minus_sign: | N/A | +| `streamName` | *Optional* | :heavy_minus_sign: | N/A | | `syncModes` | List<[com.airbyte.api.models.shared.ConnectionSyncModeEnum](../../models/shared/ConnectionSyncModeEnum.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/StreamsCriteria.md b/docs/models/shared/StreamsCriteria.md new file mode 100644 index 000000000..98bbbcb5e --- /dev/null +++ b/docs/models/shared/StreamsCriteria.md @@ -0,0 +1,9 @@ +# StreamsCriteria + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `criteria` | [Optional](../../models/shared/SearchCriteria.md) | :heavy_minus_sign: | N/A | +| `value` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/StringFilter.md b/docs/models/shared/StringFilter.md new file mode 100644 index 000000000..df85af02a --- /dev/null +++ b/docs/models/shared/StringFilter.md @@ -0,0 +1,11 @@ +# StringFilter + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `caseSensitive` | *Optional* | :heavy_minus_sign: | N/A | +| `filterName` | [com.airbyte.api.models.shared.FilterName](../../models/shared/FilterName.md) | :heavy_check_mark: | N/A | +| `matchType` | List<[com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiValidEnums](../../models/shared/SourceGoogleAnalyticsDataApiValidEnums.md)> | :heavy_minus_sign: | N/A | +| `value` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Stripe.md b/docs/models/shared/Stripe.md new file mode 100644 index 000000000..6cd8471a8 --- /dev/null +++ b/docs/models/shared/Stripe.md @@ -0,0 +1,8 @@ +# Stripe + + +## Values + +| Name | Value | +| -------- | -------- | +| `STRIPE` | stripe | \ No newline at end of file diff --git a/docs/models/shared/SurveyMonkeyAuthorizationMethod.md b/docs/models/shared/SurveyMonkeyAuthorizationMethod.md new file mode 100644 index 000000000..b8d21b322 --- /dev/null +++ b/docs/models/shared/SurveyMonkeyAuthorizationMethod.md @@ -0,0 +1,13 @@ +# SurveyMonkeyAuthorizationMethod + +The authorization method to use to retrieve data from SurveyMonkey + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessToken` | *String* | :heavy_check_mark: | Access Token for making authenticated requests. See the docs for information on how to generate this key. | +| `authMethod` | [com.airbyte.api.models.shared.SourceSurveymonkeyAuthMethod](../../models/shared/SourceSurveymonkeyAuthMethod.md) | :heavy_check_mark: | N/A | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of the SurveyMonkey developer application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of the SurveyMonkey developer application. | \ No newline at end of file diff --git a/docs/models/shared/SurveySparrow.md b/docs/models/shared/SurveySparrow.md new file mode 100644 index 000000000..5536ec067 --- /dev/null +++ b/docs/models/shared/SurveySparrow.md @@ -0,0 +1,8 @@ +# SurveySparrow + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `SURVEY_SPARROW` | survey-sparrow | \ No newline at end of file diff --git a/docs/models/shared/Surveymonkey.md b/docs/models/shared/Surveymonkey.md new file mode 100644 index 000000000..e1eae6722 --- /dev/null +++ b/docs/models/shared/Surveymonkey.md @@ -0,0 +1,8 @@ +# Surveymonkey + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/SurveymonkeyCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/SurveymonkeyCredentials.md b/docs/models/shared/SurveymonkeyCredentials.md new file mode 100644 index 000000000..c34627a30 --- /dev/null +++ b/docs/models/shared/SurveymonkeyCredentials.md @@ -0,0 +1,9 @@ +# SurveymonkeyCredentials + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of the SurveyMonkey developer application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of the SurveyMonkey developer application. | \ No newline at end of file diff --git a/docs/models/shared/SwipeUpAttributionWindow.md b/docs/models/shared/SwipeUpAttributionWindow.md new file mode 100644 index 000000000..75c3fc7c1 --- /dev/null +++ b/docs/models/shared/SwipeUpAttributionWindow.md @@ -0,0 +1,12 @@ +# SwipeUpAttributionWindow + +Attribution window for swipe ups. + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `ONE_DAY` | 1_DAY | +| `SEVEN_DAY` | 7_DAY | +| `TWENTY_EIGHT_DAY` | 28_DAY | \ No newline at end of file diff --git a/docs/models/shared/SystemIDSID.md b/docs/models/shared/SystemIDSID.md new file mode 100644 index 000000000..7faeba70d --- /dev/null +++ b/docs/models/shared/SystemIDSID.md @@ -0,0 +1,11 @@ +# SystemIDSID + +Use SID (Oracle System Identifier) + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `connectionType` | [Optional](../../models/shared/SourceOracleConnectionType.md) | :heavy_minus_sign: | N/A | +| `sid` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/TLSEncryptedVerifyCertificate.md b/docs/models/shared/TLSEncryptedVerifyCertificate.md new file mode 100644 index 000000000..859aa351d --- /dev/null +++ b/docs/models/shared/TLSEncryptedVerifyCertificate.md @@ -0,0 +1,11 @@ +# TLSEncryptedVerifyCertificate + +Verify and use the certificate provided by the server. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `encryptionMethod` | [com.airbyte.api.models.shared.SourceOracleEncryptionMethod](../../models/shared/SourceOracleEncryptionMethod.md) | :heavy_check_mark: | N/A | +| `sslCertificate` | *String* | :heavy_check_mark: | Privacy Enhanced Mail (PEM) files are concatenated certificate containers frequently used in certificate installations. | \ No newline at end of file diff --git a/docs/models/shared/Tempo.md b/docs/models/shared/Tempo.md new file mode 100644 index 000000000..ade96f805 --- /dev/null +++ b/docs/models/shared/Tempo.md @@ -0,0 +1,8 @@ +# Tempo + + +## Values + +| Name | Value | +| ------- | ------- | +| `TEMPO` | tempo | \ No newline at end of file diff --git a/docs/models/shared/Teradata.md b/docs/models/shared/Teradata.md new file mode 100644 index 000000000..3fd3ac410 --- /dev/null +++ b/docs/models/shared/Teradata.md @@ -0,0 +1,8 @@ +# Teradata + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `TERADATA` | teradata | \ No newline at end of file diff --git a/docs/models/shared/TestDestination.md b/docs/models/shared/TestDestination.md new file mode 100644 index 000000000..0cb393709 --- /dev/null +++ b/docs/models/shared/TestDestination.md @@ -0,0 +1,4 @@ +# TestDestination + +The type of destination to be used + diff --git a/docs/models/shared/TestDestinationType.md b/docs/models/shared/TestDestinationType.md new file mode 100644 index 000000000..b46e84b0f --- /dev/null +++ b/docs/models/shared/TestDestinationType.md @@ -0,0 +1,8 @@ +# TestDestinationType + + +## Values + +| Name | Value | +| -------- | -------- | +| `SILENT` | SILENT | \ No newline at end of file diff --git a/docs/models/shared/TextSplitter.md b/docs/models/shared/TextSplitter.md new file mode 100644 index 000000000..0404be39d --- /dev/null +++ b/docs/models/shared/TextSplitter.md @@ -0,0 +1,4 @@ +# TextSplitter + +Split text fields into chunks based on the specified method. + diff --git a/docs/models/shared/TheGuardianApi.md b/docs/models/shared/TheGuardianApi.md new file mode 100644 index 000000000..8f7e37c70 --- /dev/null +++ b/docs/models/shared/TheGuardianApi.md @@ -0,0 +1,8 @@ +# TheGuardianApi + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `THE_GUARDIAN_API` | the-guardian-api | \ No newline at end of file diff --git a/docs/models/shared/TiktokMarketing.md b/docs/models/shared/TiktokMarketing.md new file mode 100644 index 000000000..113ec1830 --- /dev/null +++ b/docs/models/shared/TiktokMarketing.md @@ -0,0 +1,8 @@ +# TiktokMarketing + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/TiktokMarketingCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/TiktokMarketingCredentials.md b/docs/models/shared/TiktokMarketingCredentials.md new file mode 100644 index 000000000..dd833974c --- /dev/null +++ b/docs/models/shared/TiktokMarketingCredentials.md @@ -0,0 +1,9 @@ +# TiktokMarketingCredentials + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | +| `appId` | *Optional* | :heavy_minus_sign: | The Developer Application App ID. | +| `secret` | *Optional* | :heavy_minus_sign: | The Developer Application Secret. | \ No newline at end of file diff --git a/docs/models/shared/TimeGranularity.md b/docs/models/shared/TimeGranularity.md new file mode 100644 index 000000000..b1ae9cc40 --- /dev/null +++ b/docs/models/shared/TimeGranularity.md @@ -0,0 +1,13 @@ +# TimeGranularity + +Choose how to group the data in your report by time. The options are:
    - 'ALL': A single result summarizing the entire time range.
    - 'DAILY': Group results by each day.
    - 'MONTHLY': Group results by each month.
    - 'YEARLY': Group results by each year.
    Selecting a time grouping helps you analyze trends and patterns over different time periods. + + +## Values + +| Name | Value | +| --------- | --------- | +| `ALL` | ALL | +| `DAILY` | DAILY | +| `MONTHLY` | MONTHLY | +| `YEARLY` | YEARLY | \ No newline at end of file diff --git a/docs/models/shared/ToValue.md b/docs/models/shared/ToValue.md new file mode 100644 index 000000000..ca8d91c32 --- /dev/null +++ b/docs/models/shared/ToValue.md @@ -0,0 +1,2 @@ +# ToValue + diff --git a/docs/models/shared/TopHeadlinesTopic.md b/docs/models/shared/TopHeadlinesTopic.md new file mode 100644 index 000000000..6e625fde6 --- /dev/null +++ b/docs/models/shared/TopHeadlinesTopic.md @@ -0,0 +1,18 @@ +# TopHeadlinesTopic + +This parameter allows you to change the category for the request. + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `BREAKING_NEWS` | breaking-news | +| `WORLD` | world | +| `NATION` | nation | +| `BUSINESS` | business | +| `TECHNOLOGY` | technology | +| `ENTERTAINMENT` | entertainment | +| `SPORTS` | sports | +| `SCIENCE` | science | +| `HEALTH` | health | \ No newline at end of file diff --git a/docs/models/shared/TransformationQueryRunType.md b/docs/models/shared/TransformationQueryRunType.md new file mode 100644 index 000000000..b6c7d2281 --- /dev/null +++ b/docs/models/shared/TransformationQueryRunType.md @@ -0,0 +1,11 @@ +# TransformationQueryRunType + +Interactive run type means that the query is executed as soon as possible, and these queries count towards concurrent rate limit and daily limit. Read more about interactive run type here. Batch queries are queued and started as soon as idle resources are available in the BigQuery shared resource pool, which usually occurs within a few minutes. Batch queries don’t count towards your concurrent rate limit. Read more about batch queries here. The default "interactive" value is used if not set explicitly. + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INTERACTIVE` | interactive | +| `BATCH` | batch | \ No newline at end of file diff --git a/docs/models/shared/Trello.md b/docs/models/shared/Trello.md new file mode 100644 index 000000000..2e51488f5 --- /dev/null +++ b/docs/models/shared/Trello.md @@ -0,0 +1,8 @@ +# Trello + + +## Values + +| Name | Value | +| -------- | -------- | +| `TRELLO` | trello | \ No newline at end of file diff --git a/docs/models/shared/Trustpilot.md b/docs/models/shared/Trustpilot.md new file mode 100644 index 000000000..d8fd5783d --- /dev/null +++ b/docs/models/shared/Trustpilot.md @@ -0,0 +1,8 @@ +# Trustpilot + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `TRUSTPILOT` | trustpilot | \ No newline at end of file diff --git a/docs/models/shared/TunnelMethod.md b/docs/models/shared/TunnelMethod.md new file mode 100644 index 000000000..57efeb60e --- /dev/null +++ b/docs/models/shared/TunnelMethod.md @@ -0,0 +1,10 @@ +# TunnelMethod + +No ssh tunnel needed to connect to database + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `NO_TUNNEL` | NO_TUNNEL | \ No newline at end of file diff --git a/docs/models/shared/TvmazeSchedule.md b/docs/models/shared/TvmazeSchedule.md new file mode 100644 index 000000000..56d2c0055 --- /dev/null +++ b/docs/models/shared/TvmazeSchedule.md @@ -0,0 +1,8 @@ +# TvmazeSchedule + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `TVMAZE_SCHEDULE` | tvmaze-schedule | \ No newline at end of file diff --git a/docs/models/shared/Twilio.md b/docs/models/shared/Twilio.md new file mode 100644 index 000000000..d7ac7b887 --- /dev/null +++ b/docs/models/shared/Twilio.md @@ -0,0 +1,8 @@ +# Twilio + + +## Values + +| Name | Value | +| -------- | -------- | +| `TWILIO` | twilio | \ No newline at end of file diff --git a/docs/models/shared/TwilioTaskrouter.md b/docs/models/shared/TwilioTaskrouter.md new file mode 100644 index 000000000..734800697 --- /dev/null +++ b/docs/models/shared/TwilioTaskrouter.md @@ -0,0 +1,8 @@ +# TwilioTaskrouter + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `TWILIO_TASKROUTER` | twilio-taskrouter | \ No newline at end of file diff --git a/docs/models/shared/Twitter.md b/docs/models/shared/Twitter.md new file mode 100644 index 000000000..a1e3fd997 --- /dev/null +++ b/docs/models/shared/Twitter.md @@ -0,0 +1,8 @@ +# Twitter + + +## Values + +| Name | Value | +| --------- | --------- | +| `TWITTER` | twitter | \ No newline at end of file diff --git a/docs/models/shared/Typeform.md b/docs/models/shared/Typeform.md new file mode 100644 index 000000000..c319c9f69 --- /dev/null +++ b/docs/models/shared/Typeform.md @@ -0,0 +1,8 @@ +# Typeform + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/TypeformCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/TypeformCredentials.md b/docs/models/shared/TypeformCredentials.md new file mode 100644 index 000000000..73c378578 --- /dev/null +++ b/docs/models/shared/TypeformCredentials.md @@ -0,0 +1,9 @@ +# TypeformCredentials + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of the Typeform developer application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret the Typeform developer application. | \ No newline at end of file diff --git a/docs/models/shared/Typesense.md b/docs/models/shared/Typesense.md new file mode 100644 index 000000000..fc75bef53 --- /dev/null +++ b/docs/models/shared/Typesense.md @@ -0,0 +1,8 @@ +# Typesense + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `TYPESENSE` | typesense | \ No newline at end of file diff --git a/docs/models/shared/Unencrypted.md b/docs/models/shared/Unencrypted.md new file mode 100644 index 000000000..5e5ebc674 --- /dev/null +++ b/docs/models/shared/Unencrypted.md @@ -0,0 +1,10 @@ +# Unencrypted + +Data transfer will not be encrypted. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `sslMethod` | [com.airbyte.api.models.shared.SourceMssqlSchemasSslMethod](../../models/shared/SourceMssqlSchemasSslMethod.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/UnexpectedFieldBehavior.md b/docs/models/shared/UnexpectedFieldBehavior.md new file mode 100644 index 000000000..dc09c75ab --- /dev/null +++ b/docs/models/shared/UnexpectedFieldBehavior.md @@ -0,0 +1,12 @@ +# UnexpectedFieldBehavior + +How JSON fields outside of explicit_schema (if given) are treated. Check PyArrow documentation for details + + +## Values + +| Name | Value | +| -------- | -------- | +| `IGNORE` | ignore | +| `INFER` | infer | +| `ERROR` | error | \ No newline at end of file diff --git a/docs/models/shared/UpdateMethod.md b/docs/models/shared/UpdateMethod.md new file mode 100644 index 000000000..6b9f79a79 --- /dev/null +++ b/docs/models/shared/UpdateMethod.md @@ -0,0 +1,4 @@ +# UpdateMethod + +Configures how data is extracted from the database. + diff --git a/docs/models/shared/UploadingMethod.md b/docs/models/shared/UploadingMethod.md new file mode 100644 index 000000000..fa6ced8ca --- /dev/null +++ b/docs/models/shared/UploadingMethod.md @@ -0,0 +1,4 @@ +# UploadingMethod + +The way data will be uploaded to Redshift. + diff --git a/docs/models/shared/UrlBase.md b/docs/models/shared/UrlBase.md new file mode 100644 index 000000000..aba348f53 --- /dev/null +++ b/docs/models/shared/UrlBase.md @@ -0,0 +1,8 @@ +# UrlBase + + +## Values + +| Name | Value | +| ----------------------------------- | ----------------------------------- | +| `HTTPS_EU_API_SURVEYSPARROW_COM_V3` | https://eu-api.surveysparrow.com/v3 | \ No newline at end of file diff --git a/docs/models/shared/UsCensus.md b/docs/models/shared/UsCensus.md new file mode 100644 index 000000000..c122f11fa --- /dev/null +++ b/docs/models/shared/UsCensus.md @@ -0,0 +1,8 @@ +# UsCensus + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `US_CENSUS` | us-census | \ No newline at end of file diff --git a/docs/models/shared/UserProvided.md b/docs/models/shared/UserProvided.md new file mode 100644 index 000000000..9142cc3d2 --- /dev/null +++ b/docs/models/shared/UserProvided.md @@ -0,0 +1,9 @@ +# UserProvided + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `columnNames` | List<*String*> | :heavy_check_mark: | The column names that will be used while emitting the CSV records | +| `headerDefinitionType` | [Optional](../../models/shared/SourceAzureBlobStorageSchemasHeaderDefinitionType.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/UsernameAndPassword.md b/docs/models/shared/UsernameAndPassword.md new file mode 100644 index 000000000..3e61537a6 --- /dev/null +++ b/docs/models/shared/UsernameAndPassword.md @@ -0,0 +1,9 @@ +# UsernameAndPassword + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| `authType` | [Optional](../../models/shared/DestinationSnowflakeAuthType.md) | :heavy_minus_sign: | N/A | +| `password` | *String* | :heavy_check_mark: | Enter the password associated with the username. | \ No newline at end of file diff --git a/docs/models/shared/UsernamePassword.md b/docs/models/shared/UsernamePassword.md new file mode 100644 index 000000000..dbfb846ab --- /dev/null +++ b/docs/models/shared/UsernamePassword.md @@ -0,0 +1,12 @@ +# UsernamePassword + +Basic auth header with a username and password + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `method` | [com.airbyte.api.models.shared.DestinationElasticsearchSchemasMethod](../../models/shared/DestinationElasticsearchSchemasMethod.md) | :heavy_check_mark: | N/A | +| `password` | *String* | :heavy_check_mark: | Basic auth password to access a secure Elasticsearch server | +| `username` | *String* | :heavy_check_mark: | Basic auth username to access a secure Elasticsearch server | \ No newline at end of file diff --git a/docs/models/shared/ValidActionBreakdowns.md b/docs/models/shared/ValidActionBreakdowns.md new file mode 100644 index 000000000..f51cd9432 --- /dev/null +++ b/docs/models/shared/ValidActionBreakdowns.md @@ -0,0 +1,20 @@ +# ValidActionBreakdowns + +An enumeration. + + +## Values + +| Name | Value | +| ------------------------------ | ------------------------------ | +| `ACTION_CANVAS_COMPONENT_NAME` | action_canvas_component_name | +| `ACTION_CAROUSEL_CARD_ID` | action_carousel_card_id | +| `ACTION_CAROUSEL_CARD_NAME` | action_carousel_card_name | +| `ACTION_DESTINATION` | action_destination | +| `ACTION_DEVICE` | action_device | +| `ACTION_REACTION` | action_reaction | +| `ACTION_TARGET_ID` | action_target_id | +| `ACTION_TYPE` | action_type | +| `ACTION_VIDEO_SOUND` | action_video_sound | +| `ACTION_VIDEO_TYPE` | action_video_type | +| `STANDARD_EVENT_CONTENT_TYPE` | standard_event_content_type | \ No newline at end of file diff --git a/docs/models/shared/ValidAdSetStatuses.md b/docs/models/shared/ValidAdSetStatuses.md new file mode 100644 index 000000000..ea5877583 --- /dev/null +++ b/docs/models/shared/ValidAdSetStatuses.md @@ -0,0 +1,16 @@ +# ValidAdSetStatuses + +An enumeration. + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `ACTIVE` | ACTIVE | +| `ARCHIVED` | ARCHIVED | +| `CAMPAIGN_PAUSED` | CAMPAIGN_PAUSED | +| `DELETED` | DELETED | +| `IN_PROCESS` | IN_PROCESS | +| `PAUSED` | PAUSED | +| `WITH_ISSUES` | WITH_ISSUES | \ No newline at end of file diff --git a/docs/models/shared/ValidAdStatuses.md b/docs/models/shared/ValidAdStatuses.md new file mode 100644 index 000000000..f038848b8 --- /dev/null +++ b/docs/models/shared/ValidAdStatuses.md @@ -0,0 +1,21 @@ +# ValidAdStatuses + +An enumeration. + + +## Values + +| Name | Value | +| ---------------------- | ---------------------- | +| `ACTIVE` | ACTIVE | +| `ADSET_PAUSED` | ADSET_PAUSED | +| `ARCHIVED` | ARCHIVED | +| `CAMPAIGN_PAUSED` | CAMPAIGN_PAUSED | +| `DELETED` | DELETED | +| `DISAPPROVED` | DISAPPROVED | +| `IN_PROCESS` | IN_PROCESS | +| `PAUSED` | PAUSED | +| `PENDING_BILLING_INFO` | PENDING_BILLING_INFO | +| `PENDING_REVIEW` | PENDING_REVIEW | +| `PREAPPROVED` | PREAPPROVED | +| `WITH_ISSUES` | WITH_ISSUES | \ No newline at end of file diff --git a/docs/models/shared/ValidBreakdowns.md b/docs/models/shared/ValidBreakdowns.md new file mode 100644 index 000000000..afc8fd596 --- /dev/null +++ b/docs/models/shared/ValidBreakdowns.md @@ -0,0 +1,52 @@ +# ValidBreakdowns + +An enumeration. + + +## Values + +| Name | Value | +| ------------------------------------------------- | ------------------------------------------------- | +| `AD_FORMAT_ASSET` | ad_format_asset | +| `AGE` | age | +| `APP_ID` | app_id | +| `BODY_ASSET` | body_asset | +| `CALL_TO_ACTION_ASSET` | call_to_action_asset | +| `COARSE_CONVERSION_VALUE` | coarse_conversion_value | +| `COUNTRY` | country | +| `DESCRIPTION_ASSET` | description_asset | +| `DEVICE_PLATFORM` | device_platform | +| `DMA` | dma | +| `FIDELITY_TYPE` | fidelity_type | +| `FREQUENCY_VALUE` | frequency_value | +| `GENDER` | gender | +| `HOURLY_STATS_AGGREGATED_BY_ADVERTISER_TIME_ZONE` | hourly_stats_aggregated_by_advertiser_time_zone | +| `HOURLY_STATS_AGGREGATED_BY_AUDIENCE_TIME_ZONE` | hourly_stats_aggregated_by_audience_time_zone | +| `HSID` | hsid | +| `IMAGE_ASSET` | image_asset | +| `IMPRESSION_DEVICE` | impression_device | +| `IS_CONVERSION_ID_MODELED` | is_conversion_id_modeled | +| `LANDING_DESTINATION` | landing_destination | +| `LINK_URL_ASSET` | link_url_asset | +| `MARKETING_MESSAGES_BTN_NAME` | marketing_messages_btn_name | +| `MDSA_LANDING_DESTINATION` | mdsa_landing_destination | +| `MEDIA_ASSET_URL` | media_asset_url | +| `MEDIA_CREATOR` | media_creator | +| `MEDIA_DESTINATION_URL` | media_destination_url | +| `MEDIA_FORMAT` | media_format | +| `MEDIA_ORIGIN_URL` | media_origin_url | +| `MEDIA_TEXT_CONTENT` | media_text_content | +| `MMM` | mmm | +| `PLACE_PAGE_ID` | place_page_id | +| `PLATFORM_POSITION` | platform_position | +| `POSTBACK_SEQUENCE_INDEX` | postback_sequence_index | +| `PRODUCT_ID` | product_id | +| `PUBLISHER_PLATFORM` | publisher_platform | +| `REDOWNLOAD` | redownload | +| `REGION` | region | +| `SKAN_CAMPAIGN_ID` | skan_campaign_id | +| `SKAN_CONVERSION_ID` | skan_conversion_id | +| `SKAN_VERSION` | skan_version | +| `STANDARD_EVENT_CONTENT_TYPE` | standard_event_content_type | +| `TITLE_ASSET` | title_asset | +| `VIDEO_ASSET` | video_asset | \ No newline at end of file diff --git a/docs/models/shared/ValidCampaignStatuses.md b/docs/models/shared/ValidCampaignStatuses.md new file mode 100644 index 000000000..db58aa0dc --- /dev/null +++ b/docs/models/shared/ValidCampaignStatuses.md @@ -0,0 +1,15 @@ +# ValidCampaignStatuses + +An enumeration. + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `ACTIVE` | ACTIVE | +| `ARCHIVED` | ARCHIVED | +| `DELETED` | DELETED | +| `IN_PROCESS` | IN_PROCESS | +| `PAUSED` | PAUSED | +| `WITH_ISSUES` | WITH_ISSUES | \ No newline at end of file diff --git a/docs/models/shared/ValidationPolicy.md b/docs/models/shared/ValidationPolicy.md new file mode 100644 index 000000000..a78da628a --- /dev/null +++ b/docs/models/shared/ValidationPolicy.md @@ -0,0 +1,12 @@ +# ValidationPolicy + +The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `EMIT_RECORD` | Emit Record | +| `SKIP_RECORD` | Skip Record | +| `WAIT_FOR_DISCOVER` | Wait for Discover | \ No newline at end of file diff --git a/docs/models/shared/Validenums.md b/docs/models/shared/Validenums.md new file mode 100644 index 000000000..19569a7e3 --- /dev/null +++ b/docs/models/shared/Validenums.md @@ -0,0 +1,24 @@ +# Validenums + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `SHEETCREATED_AT` | sheetcreatedAt | +| `SHEETID` | sheetid | +| `SHEETMODIFIED_AT` | sheetmodifiedAt | +| `SHEETNAME` | sheetname | +| `SHEETPERMALINK` | sheetpermalink | +| `SHEETVERSION` | sheetversion | +| `SHEETACCESS_LEVEL` | sheetaccess_level | +| `ROW_ID` | row_id | +| `ROW_ACCESS_LEVEL` | row_access_level | +| `ROW_CREATED_AT` | row_created_at | +| `ROW_CREATED_BY` | row_created_by | +| `ROW_EXPANDED` | row_expanded | +| `ROW_MODIFIED_BY` | row_modified_by | +| `ROW_PARENT_ID` | row_parent_id | +| `ROW_PERMALINK` | row_permalink | +| `ROW_NUMBER` | row_number | +| `ROW_VERSION` | row_version | \ No newline at end of file diff --git a/docs/models/shared/Value.md b/docs/models/shared/Value.md new file mode 100644 index 000000000..e9f5c1a81 --- /dev/null +++ b/docs/models/shared/Value.md @@ -0,0 +1,2 @@ +# Value + diff --git a/docs/models/shared/ValueType.md b/docs/models/shared/ValueType.md new file mode 100644 index 000000000..d44fabace --- /dev/null +++ b/docs/models/shared/ValueType.md @@ -0,0 +1,8 @@ +# ValueType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INT64_VALUE` | int64Value | \ No newline at end of file diff --git a/docs/models/shared/Vantage.md b/docs/models/shared/Vantage.md new file mode 100644 index 000000000..c3b63b53e --- /dev/null +++ b/docs/models/shared/Vantage.md @@ -0,0 +1,8 @@ +# Vantage + + +## Values + +| Name | Value | +| --------- | --------- | +| `VANTAGE` | vantage | \ No newline at end of file diff --git a/docs/models/shared/Vectara.md b/docs/models/shared/Vectara.md new file mode 100644 index 000000000..dcb9c007f --- /dev/null +++ b/docs/models/shared/Vectara.md @@ -0,0 +1,8 @@ +# Vectara + + +## Values + +| Name | Value | +| --------- | --------- | +| `VECTARA` | vectara | \ No newline at end of file diff --git a/docs/models/shared/VerifyCa.md b/docs/models/shared/VerifyCa.md new file mode 100644 index 000000000..2aa07b653 --- /dev/null +++ b/docs/models/shared/VerifyCa.md @@ -0,0 +1,12 @@ +# VerifyCa + +Verify-ca SSL mode. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `caCertificate` | *String* | :heavy_check_mark: | CA certificate | +| `clientKeyPassword` | *Optional* | :heavy_minus_sign: | Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. | +| `mode` | [Optional](../../models/shared/DestinationPostgresSchemasSSLModeSSLModesMode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/VerifyFull.md b/docs/models/shared/VerifyFull.md new file mode 100644 index 000000000..3a6a17b58 --- /dev/null +++ b/docs/models/shared/VerifyFull.md @@ -0,0 +1,14 @@ +# VerifyFull + +Verify-full SSL mode. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `caCertificate` | *String* | :heavy_check_mark: | CA certificate | +| `clientCertificate` | *String* | :heavy_check_mark: | Client certificate | +| `clientKey` | *String* | :heavy_check_mark: | Client key | +| `clientKeyPassword` | *Optional* | :heavy_minus_sign: | Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. | +| `mode` | [Optional](../../models/shared/DestinationPostgresSchemasSSLModeSSLModes6Mode.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/VerifyIdentity.md b/docs/models/shared/VerifyIdentity.md new file mode 100644 index 000000000..c1d90fc9c --- /dev/null +++ b/docs/models/shared/VerifyIdentity.md @@ -0,0 +1,14 @@ +# VerifyIdentity + +Always connect with SSL. Verify both CA and Hostname. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `caCertificate` | *String* | :heavy_check_mark: | CA certificate | +| `clientCertificate` | *Optional* | :heavy_minus_sign: | Client certificate (this is not a required field, but if you want to use it, you will need to add the Client key as well) | +| `clientKey` | *Optional* | :heavy_minus_sign: | Client key (this is not a required field, but if you want to use it, you will need to add the Client certificate as well) | +| `clientKeyPassword` | *Optional* | :heavy_minus_sign: | Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. | +| `mode` | [com.airbyte.api.models.shared.SourceMysqlSchemasSSLModeSSLModesMode](../../models/shared/SourceMysqlSchemasSSLModeSSLModesMode.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/ViewAttributionWindow.md b/docs/models/shared/ViewAttributionWindow.md new file mode 100644 index 000000000..96dcd3fe2 --- /dev/null +++ b/docs/models/shared/ViewAttributionWindow.md @@ -0,0 +1,14 @@ +# ViewAttributionWindow + +Attribution window for views. + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `ONE_HOUR` | 1_HOUR | +| `THREE_HOUR` | 3_HOUR | +| `SIX_HOUR` | 6_HOUR | +| `ONE_DAY` | 1_DAY | +| `SEVEN_DAY` | 7_DAY | \ No newline at end of file diff --git a/docs/models/shared/ViewWindowDays.md b/docs/models/shared/ViewWindowDays.md new file mode 100644 index 000000000..b825cfb0c --- /dev/null +++ b/docs/models/shared/ViewWindowDays.md @@ -0,0 +1,15 @@ +# ViewWindowDays + +Number of days to use as the conversion attribution window for a view action. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `ZERO` | 0 | +| `ONE` | 1 | +| `SEVEN` | 7 | +| `FOURTEEN` | 14 | +| `THIRTY` | 30 | +| `SIXTY` | 60 | \ No newline at end of file diff --git a/docs/models/shared/Weaviate.md b/docs/models/shared/Weaviate.md new file mode 100644 index 000000000..7184352fe --- /dev/null +++ b/docs/models/shared/Weaviate.md @@ -0,0 +1,8 @@ +# Weaviate + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `WEAVIATE` | weaviate | \ No newline at end of file diff --git a/docs/models/shared/Webflow.md b/docs/models/shared/Webflow.md new file mode 100644 index 000000000..196f8349e --- /dev/null +++ b/docs/models/shared/Webflow.md @@ -0,0 +1,8 @@ +# Webflow + + +## Values + +| Name | Value | +| --------- | --------- | +| `WEBFLOW` | webflow | \ No newline at end of file diff --git a/docs/models/shared/WhiskyHunter.md b/docs/models/shared/WhiskyHunter.md new file mode 100644 index 000000000..9699766b8 --- /dev/null +++ b/docs/models/shared/WhiskyHunter.md @@ -0,0 +1,8 @@ +# WhiskyHunter + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `WHISKY_HUNTER` | whisky-hunter | \ No newline at end of file diff --git a/docs/models/shared/WikipediaPageviews.md b/docs/models/shared/WikipediaPageviews.md new file mode 100644 index 000000000..15bcf00ab --- /dev/null +++ b/docs/models/shared/WikipediaPageviews.md @@ -0,0 +1,8 @@ +# WikipediaPageviews + + +## Values + +| Name | Value | +| --------------------- | --------------------- | +| `WIKIPEDIA_PAGEVIEWS` | wikipedia-pageviews | \ No newline at end of file diff --git a/docs/models/shared/Woocommerce.md b/docs/models/shared/Woocommerce.md new file mode 100644 index 000000000..d7ca4cb1a --- /dev/null +++ b/docs/models/shared/Woocommerce.md @@ -0,0 +1,8 @@ +# Woocommerce + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `WOOCOMMERCE` | woocommerce | \ No newline at end of file diff --git a/docs/models/shared/WorkspaceOAuthCredentialsRequest.md b/docs/models/shared/WorkspaceOAuthCredentialsRequest.md index eb0b11668..f403de816 100644 --- a/docs/models/shared/WorkspaceOAuthCredentialsRequest.md +++ b/docs/models/shared/WorkspaceOAuthCredentialsRequest.md @@ -5,8 +5,8 @@ POST body for creating/updating workspace level OAuth credentials ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | -| `actorType` | [com.airbyte.api.models.shared.ActorTypeEnum](../../models/shared/ActorTypeEnum.md) | :heavy_check_mark: | Whether you're setting this override for a source or destination | | -| `configuration` | *java.lang.Object* | :heavy_check_mark: | The values required to configure the source. | {
    "user": "charles"
    } | -| `name` | [com.airbyte.api.models.shared.OAuthActorNames](../../models/shared/OAuthActorNames.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| `actorType` | [com.airbyte.api.models.shared.ActorTypeEnum](../../models/shared/ActorTypeEnum.md) | :heavy_check_mark: | Whether you're setting this override for a source or destination | | +| `configuration` | [com.airbyte.api.models.shared.OAuthCredentialsConfiguration](../../models/shared/OAuthCredentialsConfiguration.md) | :heavy_check_mark: | The values required to configure the source. | {
    "user": "charles"
    } | +| `name` | [com.airbyte.api.models.shared.OAuthActorNames](../../models/shared/OAuthActorNames.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/shared/WorkspaceResponse.md b/docs/models/shared/WorkspaceResponse.md index 44d2e5e95..f7a0c1841 100644 --- a/docs/models/shared/WorkspaceResponse.md +++ b/docs/models/shared/WorkspaceResponse.md @@ -5,8 +5,8 @@ Provides details of a single workspace. ## Fields -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | -| `dataResidency` | [com.airbyte.api.models.shared.GeographyEnum](../../models/shared/GeographyEnum.md) | :heavy_check_mark: | N/A | -| `name` | *String* | :heavy_check_mark: | N/A | -| `workspaceId` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `dataResidency` | [Optional](../../models/shared/GeographyEnum.md) | :heavy_minus_sign: | N/A | +| `name` | *String* | :heavy_check_mark: | N/A | +| `workspaceId` | *String* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/shared/WorkspacesResponse.md b/docs/models/shared/WorkspacesResponse.md index 343856050..8a425cfc1 100644 --- a/docs/models/shared/WorkspacesResponse.md +++ b/docs/models/shared/WorkspacesResponse.md @@ -6,5 +6,5 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | | `data` | List<[com.airbyte.api.models.shared.WorkspaceResponse](../../models/shared/WorkspaceResponse.md)> | :heavy_check_mark: | N/A | -| `next` | *String* | :heavy_minus_sign: | N/A | -| `previous` | *String* | :heavy_minus_sign: | N/A | \ No newline at end of file +| `next` | *Optional* | :heavy_minus_sign: | N/A | +| `previous` | *Optional* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/Xkcd.md b/docs/models/shared/Xkcd.md new file mode 100644 index 000000000..635883803 --- /dev/null +++ b/docs/models/shared/Xkcd.md @@ -0,0 +1,8 @@ +# Xkcd + + +## Values + +| Name | Value | +| ------ | ------ | +| `XKCD` | xkcd | \ No newline at end of file diff --git a/docs/models/shared/Xz.md b/docs/models/shared/Xz.md new file mode 100644 index 000000000..4b399540e --- /dev/null +++ b/docs/models/shared/Xz.md @@ -0,0 +1,9 @@ +# Xz + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `codec` | [Optional](../../models/shared/DestinationGcsSchemasFormatCodec.md) | :heavy_minus_sign: | N/A | +| `compressionLevel` | *Optional* | :heavy_minus_sign: | The presets 0-3 are fast presets with medium compression. The presets 4-6 are fairly slow presets with high compression. The default preset is 6. The presets 7-9 are like the preset 6 but use bigger dictionaries and have higher compressor and decompressor memory requirements. Unless the uncompressed size of the file exceeds 8 MiB, 16 MiB, or 32 MiB, it is waste of memory to use the presets 7, 8, or 9, respectively. Read more here for details. | \ No newline at end of file diff --git a/docs/models/shared/YandexMetrica.md b/docs/models/shared/YandexMetrica.md new file mode 100644 index 000000000..b964fda5e --- /dev/null +++ b/docs/models/shared/YandexMetrica.md @@ -0,0 +1,8 @@ +# YandexMetrica + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `YANDEX_METRICA` | yandex-metrica | \ No newline at end of file diff --git a/docs/models/shared/Yotpo.md b/docs/models/shared/Yotpo.md new file mode 100644 index 000000000..7a319f90d --- /dev/null +++ b/docs/models/shared/Yotpo.md @@ -0,0 +1,8 @@ +# Yotpo + + +## Values + +| Name | Value | +| ------- | ------- | +| `YOTPO` | yotpo | \ No newline at end of file diff --git a/docs/models/shared/YoutubeAnalytics.md b/docs/models/shared/YoutubeAnalytics.md new file mode 100644 index 000000000..21c82634d --- /dev/null +++ b/docs/models/shared/YoutubeAnalytics.md @@ -0,0 +1,8 @@ +# YoutubeAnalytics + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/YoutubeAnalyticsCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/YoutubeAnalyticsCredentials.md b/docs/models/shared/YoutubeAnalyticsCredentials.md new file mode 100644 index 000000000..af91bbe81 --- /dev/null +++ b/docs/models/shared/YoutubeAnalyticsCredentials.md @@ -0,0 +1,9 @@ +# YoutubeAnalyticsCredentials + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your developer application | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The client secret of your developer application | \ No newline at end of file diff --git a/docs/models/shared/ZendeskChat.md b/docs/models/shared/ZendeskChat.md new file mode 100644 index 000000000..0213acb5f --- /dev/null +++ b/docs/models/shared/ZendeskChat.md @@ -0,0 +1,8 @@ +# ZendeskChat + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/ZendeskChatCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/ZendeskChatCredentials.md b/docs/models/shared/ZendeskChatCredentials.md new file mode 100644 index 000000000..1c6eaeea5 --- /dev/null +++ b/docs/models/shared/ZendeskChatCredentials.md @@ -0,0 +1,9 @@ +# ZendeskChatCredentials + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your OAuth application | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your OAuth application. | \ No newline at end of file diff --git a/docs/models/shared/ZendeskSell.md b/docs/models/shared/ZendeskSell.md new file mode 100644 index 000000000..f2e4f2c1b --- /dev/null +++ b/docs/models/shared/ZendeskSell.md @@ -0,0 +1,8 @@ +# ZendeskSell + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `ZENDESK_SELL` | zendesk-sell | \ No newline at end of file diff --git a/docs/models/shared/ZendeskSunshine.md b/docs/models/shared/ZendeskSunshine.md new file mode 100644 index 000000000..03195308d --- /dev/null +++ b/docs/models/shared/ZendeskSunshine.md @@ -0,0 +1,8 @@ +# ZendeskSunshine + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/ZendeskSunshineCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/ZendeskSunshineCredentials.md b/docs/models/shared/ZendeskSunshineCredentials.md new file mode 100644 index 000000000..9e66b023c --- /dev/null +++ b/docs/models/shared/ZendeskSunshineCredentials.md @@ -0,0 +1,9 @@ +# ZendeskSunshineCredentials + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The Client ID of your OAuth application. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The Client Secret of your OAuth application. | \ No newline at end of file diff --git a/docs/models/shared/ZendeskSupport.md b/docs/models/shared/ZendeskSupport.md new file mode 100644 index 000000000..37a855d9b --- /dev/null +++ b/docs/models/shared/ZendeskSupport.md @@ -0,0 +1,8 @@ +# ZendeskSupport + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/ZendeskSupportCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/ZendeskSupportCredentials.md b/docs/models/shared/ZendeskSupportCredentials.md new file mode 100644 index 000000000..ebd172f8e --- /dev/null +++ b/docs/models/shared/ZendeskSupportCredentials.md @@ -0,0 +1,9 @@ +# ZendeskSupportCredentials + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | The OAuth client's ID. See this guide for more information. | +| `clientSecret` | *Optional* | :heavy_minus_sign: | The OAuth client secret. See this guide for more information. | \ No newline at end of file diff --git a/docs/models/shared/ZendeskTalk.md b/docs/models/shared/ZendeskTalk.md new file mode 100644 index 000000000..13c5e65c0 --- /dev/null +++ b/docs/models/shared/ZendeskTalk.md @@ -0,0 +1,8 @@ +# ZendeskTalk + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | +| `credentials` | [Optional](../../models/shared/ZendeskTalkCredentials.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/shared/ZendeskTalkCredentials.md b/docs/models/shared/ZendeskTalkCredentials.md new file mode 100644 index 000000000..2a97cb146 --- /dev/null +++ b/docs/models/shared/ZendeskTalkCredentials.md @@ -0,0 +1,9 @@ +# ZendeskTalkCredentials + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- | +| `clientId` | *Optional* | :heavy_minus_sign: | Client ID | +| `clientSecret` | *Optional* | :heavy_minus_sign: | Client Secret | \ No newline at end of file diff --git a/docs/models/shared/Zenloop.md b/docs/models/shared/Zenloop.md new file mode 100644 index 000000000..1c2ab3cf9 --- /dev/null +++ b/docs/models/shared/Zenloop.md @@ -0,0 +1,8 @@ +# Zenloop + + +## Values + +| Name | Value | +| --------- | --------- | +| `ZENLOOP` | zenloop | \ No newline at end of file diff --git a/docs/models/shared/ZohoCRMEdition.md b/docs/models/shared/ZohoCRMEdition.md new file mode 100644 index 000000000..0eafb71f1 --- /dev/null +++ b/docs/models/shared/ZohoCRMEdition.md @@ -0,0 +1,14 @@ +# ZohoCRMEdition + +Choose your Edition of Zoho CRM to determine API Concurrency Limits + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `FREE` | Free | +| `STANDARD` | Standard | +| `PROFESSIONAL` | Professional | +| `ENTERPRISE` | Enterprise | +| `ULTIMATE` | Ultimate | \ No newline at end of file diff --git a/docs/models/shared/ZohoCrm.md b/docs/models/shared/ZohoCrm.md new file mode 100644 index 000000000..f9554a53f --- /dev/null +++ b/docs/models/shared/ZohoCrm.md @@ -0,0 +1,8 @@ +# ZohoCrm + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `ZOHO_CRM` | zoho-crm | \ No newline at end of file diff --git a/docs/models/shared/Zoom.md b/docs/models/shared/Zoom.md new file mode 100644 index 000000000..f2d988cea --- /dev/null +++ b/docs/models/shared/Zoom.md @@ -0,0 +1,8 @@ +# Zoom + + +## Values + +| Name | Value | +| ------ | ------ | +| `ZOOM` | zoom | \ No newline at end of file diff --git a/docs/models/shared/Zstandard.md b/docs/models/shared/Zstandard.md new file mode 100644 index 000000000..0af9b0f2e --- /dev/null +++ b/docs/models/shared/Zstandard.md @@ -0,0 +1,10 @@ +# Zstandard + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `codec` | [Optional](../../models/shared/DestinationGcsSchemasFormatOutputFormatCodec.md) | :heavy_minus_sign: | N/A | +| `compressionLevel` | *Optional* | :heavy_minus_sign: | Negative levels are 'fast' modes akin to lz4 or snappy, levels above 9 are generally for archival purposes, and levels above 18 use a lot of memory. | +| `includeChecksum` | *Optional* | :heavy_minus_sign: | If true, include a checksum with each data block. | \ No newline at end of file diff --git a/docs/sdks/airbyte/README.md b/docs/sdks/airbyte/README.md index 084117b37..236eabcb6 100644 --- a/docs/sdks/airbyte/README.md +++ b/docs/sdks/airbyte/README.md @@ -3,7 +3,7 @@ ## Overview -airbyte-api: Programatically control Airbyte Cloud, OSS & Enterprise. +airbyte-api: Programmatically control Airbyte Cloud, OSS & Enterprise. ### Available Operations diff --git a/docs/sdks/connections/README.md b/docs/sdks/connections/README.md index 7960f3bdd..3a934f79f 100644 --- a/docs/sdks/connections/README.md +++ b/docs/sdks/connections/README.md @@ -1,5 +1,5 @@ # Connections -(*connections*) +(*connections()*) ### Available Operations @@ -19,7 +19,9 @@ Create a connection package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.CreateConnectionResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.ConnectionCreateRequest; import com.airbyte.api.models.shared.ConnectionSchedule; import com.airbyte.api.models.shared.ConnectionStatusEnum; @@ -31,55 +33,57 @@ import com.airbyte.api.models.shared.ScheduleTypeEnum; import com.airbyte.api.models.shared.Security; import com.airbyte.api.models.shared.StreamConfiguration; import com.airbyte.api.models.shared.StreamConfigurations; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) + .build(); + + ConnectionCreateRequest req = ConnectionCreateRequest.builder() + .destinationId("c669dd1e-3620-483e-afc8-55914e0a570f") + .sourceId("6dd427d8-3a55-4584-b835-842325b6c7b3") + .configurations(StreamConfigurations.builder() + .streams(java.util.List.of( + StreamConfiguration.builder() + .name("") + .build())) + .build()) + .dataResidency(GeographyEnum.EU) + .name("") + .namespaceDefinition(NamespaceDefinitionEnum.CUSTOM_FORMAT) + .namespaceFormat("${SOURCE_NAMESPACE}") + .nonBreakingSchemaUpdatesBehavior(NonBreakingSchemaUpdatesBehaviorEnum.IGNORE) + .prefix("") + .schedule(ConnectionSchedule.builder() + .scheduleType(ScheduleTypeEnum.CRON) + .cronExpression("") + .build()) + .status(ConnectionStatusEnum.DEPRECATED) .build(); - com.airbyte.api.models.shared.ConnectionCreateRequest req = new ConnectionCreateRequest( - "c669dd1e-3620-483e-afc8-55914e0a570f", - "6dd427d8-3a55-4584-b835-842325b6c7b3"){{ - configurations = new StreamConfigurations( -){{ - streams = new com.airbyte.api.models.shared.StreamConfiguration[]{{ - add(new StreamConfiguration( - ""){{ - name = ""; - }}), - }}; - - }}; - dataResidency = GeographyEnum.EU; - name = ""; - namespaceDefinition = NamespaceDefinitionEnum.CUSTOM_FORMAT; - namespaceFormat = "${SOURCE_NAMESPACE}"; - nonBreakingSchemaUpdatesBehavior = NonBreakingSchemaUpdatesBehaviorEnum.IGNORE; - prefix = ""; - schedule = new ConnectionSchedule( - ScheduleTypeEnum.CRON){{ - cronExpression = ""; - - }}; - status = ConnectionStatusEnum.DEPRECATED; - - }}; - - com.airbyte.api.models.operations.CreateConnectionResponse res = sdk.connections.createConnection(req); - - if (res.connectionResponse != null) { + CreateConnectionResponse res = sdk.connections().createConnection() + .request(req) + .call(); + + if (res.connectionResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -96,8 +100,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.CreateConnectionResponse](../../models/operations/CreateConnectionResponse.md)** +**[Optional](../../models/operations/CreateConnectionResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## deleteConnection @@ -109,33 +117,42 @@ Delete a Connection package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.DeleteConnectionRequest; import com.airbyte.api.models.operations.DeleteConnectionResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.Security; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.DeleteConnectionRequest req = new DeleteConnectionRequest( - ""); + DeleteConnectionRequest req = DeleteConnectionRequest.builder() + .connectionId("") + .build(); - com.airbyte.api.models.operations.DeleteConnectionResponse res = sdk.connections.deleteConnection(req); + DeleteConnectionResponse res = sdk.connections().deleteConnection() + .request(req) + .call(); - if (res.statusCode == 200) { - // handle response - } + // handle response + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -152,8 +169,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.DeleteConnectionResponse](../../models/operations/DeleteConnectionResponse.md)** +**[Optional](../../models/operations/DeleteConnectionResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## getConnection @@ -165,33 +186,44 @@ Get Connection details package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.GetConnectionRequest; import com.airbyte.api.models.operations.GetConnectionResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.Security; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.GetConnectionRequest req = new GetConnectionRequest( - ""); + GetConnectionRequest req = GetConnectionRequest.builder() + .connectionId("") + .build(); - com.airbyte.api.models.operations.GetConnectionResponse res = sdk.connections.getConnection(req); + GetConnectionResponse res = sdk.connections().getConnection() + .request(req) + .call(); - if (res.connectionResponse != null) { + if (res.connectionResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -208,8 +240,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.GetConnectionResponse](../../models/operations/GetConnectionResponse.md)** +**[Optional](../../models/operations/GetConnectionResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## listConnections @@ -221,41 +257,48 @@ List connections package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.ListConnectionsRequest; import com.airbyte.api.models.operations.ListConnectionsResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.Security; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.ListConnectionsRequest req = new ListConnectionsRequest( -){{ - includeDeleted = false; - limit = 726733; - offset = 907316; - workspaceIds = new String[]{{ - add("d8f6e532-a55f-479c-ab30-682edc879612"), - }}; - - }}; + ListConnectionsRequest req = ListConnectionsRequest.builder() + .includeDeleted(false) + .limit(726733) + .offset(907316) + .workspaceIds(java.util.List.of( + "d8f6e532-a55f-479c-ab30-682edc879612")) + .build(); - com.airbyte.api.models.operations.ListConnectionsResponse res = sdk.connections.listConnections(req); + ListConnectionsResponse res = sdk.connections().listConnections() + .request(req) + .call(); - if (res.connectionsResponse != null) { + if (res.connectionsResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -272,8 +315,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.ListConnectionsResponse](../../models/operations/ListConnectionsResponse.md)** +**[Optional](../../models/operations/ListConnectionsResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## patchConnection @@ -285,8 +332,10 @@ Update Connection details package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.PatchConnectionRequest; import com.airbyte.api.models.operations.PatchConnectionResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.ConnectionPatchRequest; import com.airbyte.api.models.shared.ConnectionSchedule; import com.airbyte.api.models.shared.ConnectionStatusEnum; @@ -298,56 +347,58 @@ import com.airbyte.api.models.shared.ScheduleTypeEnum; import com.airbyte.api.models.shared.Security; import com.airbyte.api.models.shared.StreamConfiguration; import com.airbyte.api.models.shared.StreamConfigurations; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) + .build(); + + PatchConnectionRequest req = PatchConnectionRequest.builder() + .connectionPatchRequest(ConnectionPatchRequest.builder() + .configurations(StreamConfigurations.builder() + .streams(java.util.List.of( + StreamConfiguration.builder() + .name("") + .build())) + .build()) + .dataResidency(GeographyEnumNoDefault.AUTO) + .name("") + .namespaceDefinition(NamespaceDefinitionEnumNoDefault.SOURCE) + .namespaceFormat("${SOURCE_NAMESPACE}") + .nonBreakingSchemaUpdatesBehavior(NonBreakingSchemaUpdatesBehaviorEnumNoDefault.PROPAGATE_FULLY) + .prefix("") + .schedule(ConnectionSchedule.builder() + .scheduleType(ScheduleTypeEnum.CRON) + .cronExpression("") + .build()) + .status(ConnectionStatusEnum.ACTIVE) + .build()) + .connectionId("") .build(); - com.airbyte.api.models.operations.PatchConnectionRequest req = new PatchConnectionRequest( - new ConnectionPatchRequest( -){{ - configurations = new StreamConfigurations( -){{ - streams = new com.airbyte.api.models.shared.StreamConfiguration[]{{ - add(new StreamConfiguration( - ""){{ - name = ""; - }}), - }}; - - }}; - dataResidency = GeographyEnumNoDefault.AUTO; - name = ""; - namespaceDefinition = NamespaceDefinitionEnumNoDefault.SOURCE; - namespaceFormat = "${SOURCE_NAMESPACE}"; - nonBreakingSchemaUpdatesBehavior = NonBreakingSchemaUpdatesBehaviorEnumNoDefault.PROPAGATE_FULLY; - prefix = ""; - schedule = new ConnectionSchedule( - ScheduleTypeEnum.CRON){{ - cronExpression = ""; - - }}; - status = ConnectionStatusEnum.ACTIVE; - - }}, - ""); - - com.airbyte.api.models.operations.PatchConnectionResponse res = sdk.connections.patchConnection(req); - - if (res.connectionResponse != null) { + PatchConnectionResponse res = sdk.connections().patchConnection() + .request(req) + .call(); + + if (res.connectionResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -364,5 +415,9 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.PatchConnectionResponse](../../models/operations/PatchConnectionResponse.md)** +**[Optional](../../models/operations/PatchConnectionResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | diff --git a/docs/sdks/destinations/README.md b/docs/sdks/destinations/README.md index 02551814a..72a7d97fe 100644 --- a/docs/sdks/destinations/README.md +++ b/docs/sdks/destinations/README.md @@ -1,5 +1,5 @@ # Destinations -(*destinations*) +(*destinations()*) ### Available Operations @@ -20,38 +20,478 @@ Creates a destination given a name, workspace id, and a json blob containing the package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.CreateDestinationResponse; +import com.airbyte.api.models.shared.*; +import com.airbyte.api.models.shared.AESCBCEnvelopeEncryption; +import com.airbyte.api.models.shared.AWSS3Staging; +import com.airbyte.api.models.shared.Allow; +import com.airbyte.api.models.shared.AmazonS3; +import com.airbyte.api.models.shared.ApiKeyAuth; +import com.airbyte.api.models.shared.ApiKeySecret; +import com.airbyte.api.models.shared.Astra; +import com.airbyte.api.models.shared.AuthenticationViaGoogleOAuth; +import com.airbyte.api.models.shared.AvroApacheAvro; +import com.airbyte.api.models.shared.AwsDatalake; +import com.airbyte.api.models.shared.AzureBlobStorage; +import com.airbyte.api.models.shared.AzureOpenAI; +import com.airbyte.api.models.shared.Bigquery; +import com.airbyte.api.models.shared.ByMarkdownHeader; +import com.airbyte.api.models.shared.ByProgrammingLanguage; +import com.airbyte.api.models.shared.BySeparator; +import com.airbyte.api.models.shared.Bzip2; +import com.airbyte.api.models.shared.CSVCommaSeparatedValues; +import com.airbyte.api.models.shared.CacheType; +import com.airbyte.api.models.shared.ChooseHowToPartitionData; +import com.airbyte.api.models.shared.ChromaLocalPersistance; +import com.airbyte.api.models.shared.Clickhouse; +import com.airbyte.api.models.shared.Codec; +import com.airbyte.api.models.shared.Cohere; +import com.airbyte.api.models.shared.CompressionCodecOptional; +import com.airbyte.api.models.shared.CompressionType; +import com.airbyte.api.models.shared.Convex; +import com.airbyte.api.models.shared.CredentialType; +import com.airbyte.api.models.shared.CredentialsTitle; +import com.airbyte.api.models.shared.DataSourceType; +import com.airbyte.api.models.shared.Databricks; +import com.airbyte.api.models.shared.DatasetLocation; +import com.airbyte.api.models.shared.DefaultVectorizer; +import com.airbyte.api.models.shared.Deflate; +import com.airbyte.api.models.shared.DestinationAstra; +import com.airbyte.api.models.shared.DestinationAstraLanguage; +import com.airbyte.api.models.shared.DestinationAstraMode; +import com.airbyte.api.models.shared.DestinationAstraSchemasEmbeddingEmbedding1Mode; +import com.airbyte.api.models.shared.DestinationAstraSchemasEmbeddingEmbeddingMode; +import com.airbyte.api.models.shared.DestinationAstraSchemasEmbeddingMode; +import com.airbyte.api.models.shared.DestinationAstraSchemasMode; +import com.airbyte.api.models.shared.DestinationAstraSchemasProcessingMode; +import com.airbyte.api.models.shared.DestinationAstraSchemasProcessingTextSplitterMode; +import com.airbyte.api.models.shared.DestinationAstraSchemasProcessingTextSplitterTextSplitterMode; +import com.airbyte.api.models.shared.DestinationAwsDatalake; +import com.airbyte.api.models.shared.DestinationAwsDatalakeCompressionCodecOptional; +import com.airbyte.api.models.shared.DestinationAwsDatalakeCredentialsTitle; +import com.airbyte.api.models.shared.DestinationAwsDatalakeFormatTypeWildcard; +import com.airbyte.api.models.shared.DestinationAzureBlobStorage; +import com.airbyte.api.models.shared.DestinationAzureBlobStorageFormatType; +import com.airbyte.api.models.shared.DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON; +import com.airbyte.api.models.shared.DestinationBigquery; +import com.airbyte.api.models.shared.DestinationBigqueryCredentialType; +import com.airbyte.api.models.shared.DestinationBigqueryHMACKey; +import com.airbyte.api.models.shared.DestinationBigqueryMethod; +import com.airbyte.api.models.shared.DestinationClickhouse; +import com.airbyte.api.models.shared.DestinationClickhouseSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationClickhouseTunnelMethod; +import com.airbyte.api.models.shared.DestinationConvex; import com.airbyte.api.models.shared.DestinationCreateRequest; +import com.airbyte.api.models.shared.DestinationDatabricks; +import com.airbyte.api.models.shared.DestinationDatabricksAzureBlobStorage; +import com.airbyte.api.models.shared.DestinationDatabricksDataSourceType; +import com.airbyte.api.models.shared.DestinationDatabricksS3BucketRegion; +import com.airbyte.api.models.shared.DestinationDatabricksSchemasDataSourceType; +import com.airbyte.api.models.shared.DestinationDevNull; +import com.airbyte.api.models.shared.DestinationDuckdb; +import com.airbyte.api.models.shared.DestinationDynamodb; +import com.airbyte.api.models.shared.DestinationElasticsearch; +import com.airbyte.api.models.shared.DestinationElasticsearchMethod; +import com.airbyte.api.models.shared.DestinationElasticsearchSchemasMethod; +import com.airbyte.api.models.shared.DestinationFirestore; +import com.airbyte.api.models.shared.DestinationGcs; +import com.airbyte.api.models.shared.DestinationGcsCSVCommaSeparatedValues; +import com.airbyte.api.models.shared.DestinationGcsCodec; +import com.airbyte.api.models.shared.DestinationGcsCompressionCodec; +import com.airbyte.api.models.shared.DestinationGcsCompressionType; +import com.airbyte.api.models.shared.DestinationGcsFormatType; +import com.airbyte.api.models.shared.DestinationGcsGZIP; +import com.airbyte.api.models.shared.DestinationGcsJSONLinesNewlineDelimitedJSON; +import com.airbyte.api.models.shared.DestinationGcsNoCompression; +import com.airbyte.api.models.shared.DestinationGcsParquetColumnarStorage; +import com.airbyte.api.models.shared.DestinationGcsSchemasCodec; +import com.airbyte.api.models.shared.DestinationGcsSchemasCompressionType; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatCodec; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatCompressionType; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatFormatType; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatOutputFormat1Codec; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatOutputFormatCodec; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatOutputFormatFormatType; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatType; +import com.airbyte.api.models.shared.DestinationGcsSchemasNoCompression; +import com.airbyte.api.models.shared.DestinationGoogleSheets; +import com.airbyte.api.models.shared.DestinationGoogleSheetsGoogleSheets; +import com.airbyte.api.models.shared.DestinationLangchain; +import com.airbyte.api.models.shared.DestinationLangchainFake; +import com.airbyte.api.models.shared.DestinationLangchainMode; +import com.airbyte.api.models.shared.DestinationLangchainOpenAI; +import com.airbyte.api.models.shared.DestinationLangchainPinecone; +import com.airbyte.api.models.shared.DestinationLangchainProcessingConfigModel; +import com.airbyte.api.models.shared.DestinationLangchainSchemasIndexingIndexing3Mode; +import com.airbyte.api.models.shared.DestinationLangchainSchemasIndexingIndexingMode; +import com.airbyte.api.models.shared.DestinationLangchainSchemasIndexingMode; +import com.airbyte.api.models.shared.DestinationLangchainSchemasMode; +import com.airbyte.api.models.shared.DestinationMilvus; +import com.airbyte.api.models.shared.DestinationMilvusAPIToken; +import com.airbyte.api.models.shared.DestinationMilvusAzureOpenAI; +import com.airbyte.api.models.shared.DestinationMilvusByMarkdownHeader; +import com.airbyte.api.models.shared.DestinationMilvusByProgrammingLanguage; +import com.airbyte.api.models.shared.DestinationMilvusBySeparator; +import com.airbyte.api.models.shared.DestinationMilvusCohere; +import com.airbyte.api.models.shared.DestinationMilvusFake; +import com.airbyte.api.models.shared.DestinationMilvusFieldNameMappingConfigModel; +import com.airbyte.api.models.shared.DestinationMilvusIndexing; +import com.airbyte.api.models.shared.DestinationMilvusLanguage; +import com.airbyte.api.models.shared.DestinationMilvusMode; +import com.airbyte.api.models.shared.DestinationMilvusOpenAI; +import com.airbyte.api.models.shared.DestinationMilvusOpenAICompatible; +import com.airbyte.api.models.shared.DestinationMilvusProcessingConfigModel; +import com.airbyte.api.models.shared.DestinationMilvusSchemasEmbeddingEmbedding5Mode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasEmbeddingEmbeddingMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasEmbeddingMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasIndexingAuthAuthenticationMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasIndexingAuthMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasIndexingMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasProcessingMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasProcessingTextSplitterMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasProcessingTextSplitterTextSplitterMode; +import com.airbyte.api.models.shared.DestinationMilvusUsernamePassword; +import com.airbyte.api.models.shared.DestinationMongodb; +import com.airbyte.api.models.shared.DestinationMongodbAuthorization; +import com.airbyte.api.models.shared.DestinationMongodbInstance; +import com.airbyte.api.models.shared.DestinationMongodbNoTunnel; +import com.airbyte.api.models.shared.DestinationMongodbPasswordAuthentication; +import com.airbyte.api.models.shared.DestinationMongodbSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationMongodbSchemasAuthorization; +import com.airbyte.api.models.shared.DestinationMongodbSchemasInstance; +import com.airbyte.api.models.shared.DestinationMongodbSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationMongodbSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationMongodbTunnelMethod; +import com.airbyte.api.models.shared.DestinationMssql; +import com.airbyte.api.models.shared.DestinationMssqlNoTunnel; +import com.airbyte.api.models.shared.DestinationMssqlPasswordAuthentication; +import com.airbyte.api.models.shared.DestinationMssqlSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationMssqlSchemasSslMethod; +import com.airbyte.api.models.shared.DestinationMssqlSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationMssqlSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationMssqlSslMethod; +import com.airbyte.api.models.shared.DestinationMssqlTunnelMethod; +import com.airbyte.api.models.shared.DestinationMysql; +import com.airbyte.api.models.shared.DestinationMysqlNoTunnel; +import com.airbyte.api.models.shared.DestinationMysqlPasswordAuthentication; +import com.airbyte.api.models.shared.DestinationMysqlSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationMysqlSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationMysqlSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationMysqlTunnelMethod; +import com.airbyte.api.models.shared.DestinationOracle; +import com.airbyte.api.models.shared.DestinationOracleNoTunnel; +import com.airbyte.api.models.shared.DestinationOraclePasswordAuthentication; +import com.airbyte.api.models.shared.DestinationOracleSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationOracleSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationOracleSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationOracleTunnelMethod; +import com.airbyte.api.models.shared.DestinationPinecone; +import com.airbyte.api.models.shared.DestinationPineconeAzureOpenAI; +import com.airbyte.api.models.shared.DestinationPineconeByMarkdownHeader; +import com.airbyte.api.models.shared.DestinationPineconeByProgrammingLanguage; +import com.airbyte.api.models.shared.DestinationPineconeBySeparator; +import com.airbyte.api.models.shared.DestinationPineconeCohere; +import com.airbyte.api.models.shared.DestinationPineconeFake; +import com.airbyte.api.models.shared.DestinationPineconeFieldNameMappingConfigModel; +import com.airbyte.api.models.shared.DestinationPineconeIndexing; +import com.airbyte.api.models.shared.DestinationPineconeLanguage; +import com.airbyte.api.models.shared.DestinationPineconeMode; +import com.airbyte.api.models.shared.DestinationPineconeOpenAI; +import com.airbyte.api.models.shared.DestinationPineconeOpenAICompatible; +import com.airbyte.api.models.shared.DestinationPineconeProcessingConfigModel; +import com.airbyte.api.models.shared.DestinationPineconeSchemasEmbeddingEmbedding5Mode; +import com.airbyte.api.models.shared.DestinationPineconeSchemasEmbeddingEmbeddingMode; +import com.airbyte.api.models.shared.DestinationPineconeSchemasEmbeddingMode; +import com.airbyte.api.models.shared.DestinationPineconeSchemasMode; +import com.airbyte.api.models.shared.DestinationPineconeSchemasProcessingMode; +import com.airbyte.api.models.shared.DestinationPineconeSchemasProcessingTextSplitterMode; +import com.airbyte.api.models.shared.DestinationPineconeSchemasProcessingTextSplitterTextSplitterMode; +import com.airbyte.api.models.shared.DestinationPostgres; +import com.airbyte.api.models.shared.DestinationPostgresMode; +import com.airbyte.api.models.shared.DestinationPostgresNoTunnel; +import com.airbyte.api.models.shared.DestinationPostgresPasswordAuthentication; +import com.airbyte.api.models.shared.DestinationPostgresSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationPostgresSchemasMode; +import com.airbyte.api.models.shared.DestinationPostgresSchemasSSLModeSSLModes6Mode; +import com.airbyte.api.models.shared.DestinationPostgresSchemasSSLModeSSLModesMode; +import com.airbyte.api.models.shared.DestinationPostgresSchemasSslModeMode; +import com.airbyte.api.models.shared.DestinationPostgresSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationPostgresSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationPostgresTunnelMethod; +import com.airbyte.api.models.shared.DestinationPubsub; +import com.airbyte.api.models.shared.DestinationQdrant; +import com.airbyte.api.models.shared.DestinationQdrantAzureOpenAI; +import com.airbyte.api.models.shared.DestinationQdrantByMarkdownHeader; +import com.airbyte.api.models.shared.DestinationQdrantByProgrammingLanguage; +import com.airbyte.api.models.shared.DestinationQdrantBySeparator; +import com.airbyte.api.models.shared.DestinationQdrantCohere; +import com.airbyte.api.models.shared.DestinationQdrantFake; +import com.airbyte.api.models.shared.DestinationQdrantFieldNameMappingConfigModel; +import com.airbyte.api.models.shared.DestinationQdrantIndexing; +import com.airbyte.api.models.shared.DestinationQdrantLanguage; +import com.airbyte.api.models.shared.DestinationQdrantMode; +import com.airbyte.api.models.shared.DestinationQdrantNoAuth; +import com.airbyte.api.models.shared.DestinationQdrantOpenAI; +import com.airbyte.api.models.shared.DestinationQdrantOpenAICompatible; +import com.airbyte.api.models.shared.DestinationQdrantProcessingConfigModel; +import com.airbyte.api.models.shared.DestinationQdrantSchemasEmbeddingEmbedding5Mode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasEmbeddingEmbeddingMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasEmbeddingMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasIndexingAuthMethodMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasIndexingMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasProcessingMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasProcessingTextSplitterMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasProcessingTextSplitterTextSplitterMode; +import com.airbyte.api.models.shared.DestinationRedis; +import com.airbyte.api.models.shared.DestinationRedisDisable; +import com.airbyte.api.models.shared.DestinationRedisMode; +import com.airbyte.api.models.shared.DestinationRedisNoTunnel; +import com.airbyte.api.models.shared.DestinationRedisPasswordAuthentication; +import com.airbyte.api.models.shared.DestinationRedisSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationRedisSchemasMode; +import com.airbyte.api.models.shared.DestinationRedisSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationRedisSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationRedisTunnelMethod; +import com.airbyte.api.models.shared.DestinationRedisVerifyFull; +import com.airbyte.api.models.shared.DestinationRedshift; +import com.airbyte.api.models.shared.DestinationRedshiftEncryptionType; +import com.airbyte.api.models.shared.DestinationRedshiftMethod; +import com.airbyte.api.models.shared.DestinationRedshiftNoTunnel; +import com.airbyte.api.models.shared.DestinationRedshiftPasswordAuthentication; +import com.airbyte.api.models.shared.DestinationRedshiftS3BucketRegion; +import com.airbyte.api.models.shared.DestinationRedshiftSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationRedshiftSchemasMethod; +import com.airbyte.api.models.shared.DestinationRedshiftSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationRedshiftSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationRedshiftTunnelMethod; +import com.airbyte.api.models.shared.DestinationS3; +import com.airbyte.api.models.shared.DestinationS3AvroApacheAvro; +import com.airbyte.api.models.shared.DestinationS3Bzip2; +import com.airbyte.api.models.shared.DestinationS3CSVCommaSeparatedValues; +import com.airbyte.api.models.shared.DestinationS3Codec; +import com.airbyte.api.models.shared.DestinationS3CompressionType; +import com.airbyte.api.models.shared.DestinationS3Deflate; +import com.airbyte.api.models.shared.DestinationS3Flattening; +import com.airbyte.api.models.shared.DestinationS3FormatType; +import com.airbyte.api.models.shared.DestinationS3GZIP; +import com.airbyte.api.models.shared.DestinationS3Glue; +import com.airbyte.api.models.shared.DestinationS3GlueCompressionType; +import com.airbyte.api.models.shared.DestinationS3GlueFormatType; +import com.airbyte.api.models.shared.DestinationS3GlueGZIP; +import com.airbyte.api.models.shared.DestinationS3GlueJSONLinesNewlineDelimitedJSON; +import com.airbyte.api.models.shared.DestinationS3GlueNoCompression; +import com.airbyte.api.models.shared.DestinationS3GlueS3BucketRegion; +import com.airbyte.api.models.shared.DestinationS3GlueSchemasCompressionType; +import com.airbyte.api.models.shared.DestinationS3JSONLinesNewlineDelimitedJSON; +import com.airbyte.api.models.shared.DestinationS3NoCompression; +import com.airbyte.api.models.shared.DestinationS3ParquetColumnarStorage; +import com.airbyte.api.models.shared.DestinationS3S3BucketRegion; +import com.airbyte.api.models.shared.DestinationS3SchemasCodec; +import com.airbyte.api.models.shared.DestinationS3SchemasCompressionCodec; +import com.airbyte.api.models.shared.DestinationS3SchemasCompressionType; +import com.airbyte.api.models.shared.DestinationS3SchemasFlattening; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatCodec; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatCompressionType; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatFormatType; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatNoCompression; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatOutputFormat3Codec; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatOutputFormat3CompressionCodecCodec; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatOutputFormatCodec; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatOutputFormatCompressionType; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatOutputFormatFormatType; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatType; +import com.airbyte.api.models.shared.DestinationS3SchemasGZIP; +import com.airbyte.api.models.shared.DestinationS3SchemasNoCompression; +import com.airbyte.api.models.shared.DestinationS3Snappy; +import com.airbyte.api.models.shared.DestinationS3Xz; +import com.airbyte.api.models.shared.DestinationS3Zstandard; +import com.airbyte.api.models.shared.DestinationSftpJson; +import com.airbyte.api.models.shared.DestinationSnowflake; +import com.airbyte.api.models.shared.DestinationSnowflakeAuthType; +import com.airbyte.api.models.shared.DestinationSnowflakeOAuth20; +import com.airbyte.api.models.shared.DestinationSnowflakeSchemasAuthType; +import com.airbyte.api.models.shared.DestinationSnowflakeSchemasCredentialsAuthType; +import com.airbyte.api.models.shared.DestinationSnowflakeSnowflake; +import com.airbyte.api.models.shared.DestinationTeradata; +import com.airbyte.api.models.shared.DestinationTeradataAllow; +import com.airbyte.api.models.shared.DestinationTeradataDisable; +import com.airbyte.api.models.shared.DestinationTeradataMode; +import com.airbyte.api.models.shared.DestinationTeradataPrefer; +import com.airbyte.api.models.shared.DestinationTeradataRequire; +import com.airbyte.api.models.shared.DestinationTeradataSchemasMode; +import com.airbyte.api.models.shared.DestinationTeradataSchemasSSLModeSSLModes5Mode; +import com.airbyte.api.models.shared.DestinationTeradataSchemasSSLModeSSLModes6Mode; +import com.airbyte.api.models.shared.DestinationTeradataSchemasSSLModeSSLModesMode; +import com.airbyte.api.models.shared.DestinationTeradataSchemasSslModeMode; +import com.airbyte.api.models.shared.DestinationTeradataVerifyCa; +import com.airbyte.api.models.shared.DestinationTeradataVerifyFull; +import com.airbyte.api.models.shared.DestinationTypesense; +import com.airbyte.api.models.shared.DestinationVectara; +import com.airbyte.api.models.shared.DestinationWeaviate; +import com.airbyte.api.models.shared.DestinationWeaviateAPIToken; +import com.airbyte.api.models.shared.DestinationWeaviateAzureOpenAI; +import com.airbyte.api.models.shared.DestinationWeaviateByMarkdownHeader; +import com.airbyte.api.models.shared.DestinationWeaviateByProgrammingLanguage; +import com.airbyte.api.models.shared.DestinationWeaviateBySeparator; +import com.airbyte.api.models.shared.DestinationWeaviateCohere; +import com.airbyte.api.models.shared.DestinationWeaviateFake; +import com.airbyte.api.models.shared.DestinationWeaviateFieldNameMappingConfigModel; +import com.airbyte.api.models.shared.DestinationWeaviateIndexing; +import com.airbyte.api.models.shared.DestinationWeaviateLanguage; +import com.airbyte.api.models.shared.DestinationWeaviateMode; +import com.airbyte.api.models.shared.DestinationWeaviateOpenAI; +import com.airbyte.api.models.shared.DestinationWeaviateOpenAICompatible; +import com.airbyte.api.models.shared.DestinationWeaviateProcessingConfigModel; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasEmbeddingEmbedding5Mode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasEmbeddingEmbedding6Mode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasEmbeddingEmbedding7Mode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasEmbeddingEmbeddingMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasEmbeddingMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasIndexingAuthAuthenticationMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasIndexingAuthMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasIndexingMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasProcessingMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasProcessingTextSplitterMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasProcessingTextSplitterTextSplitterMode; +import com.airbyte.api.models.shared.DestinationWeaviateUsernamePassword; +import com.airbyte.api.models.shared.DevNull; +import com.airbyte.api.models.shared.Disable; +import com.airbyte.api.models.shared.DistanceMetric; +import com.airbyte.api.models.shared.DocArrayHnswSearch; +import com.airbyte.api.models.shared.Duckdb; +import com.airbyte.api.models.shared.DynamoDBRegion; +import com.airbyte.api.models.shared.Dynamodb; +import com.airbyte.api.models.shared.Elasticsearch; +import com.airbyte.api.models.shared.EncryptedTrustServerCertificate; +import com.airbyte.api.models.shared.EncryptedVerifyCertificate; +import com.airbyte.api.models.shared.EncryptionType; +import com.airbyte.api.models.shared.Fake; +import com.airbyte.api.models.shared.FieldNameMappingConfigModel; +import com.airbyte.api.models.shared.Firestore; +import com.airbyte.api.models.shared.Flattening; +import com.airbyte.api.models.shared.FormatType; +import com.airbyte.api.models.shared.FormatTypeWildcard; +import com.airbyte.api.models.shared.FromField; +import com.airbyte.api.models.shared.GCSBucketRegion; +import com.airbyte.api.models.shared.GCSStaging; +import com.airbyte.api.models.shared.GCSTmpFilesAfterwardProcessing; +import com.airbyte.api.models.shared.Gcs; +import com.airbyte.api.models.shared.Gzip; +import com.airbyte.api.models.shared.HMACKey; +import com.airbyte.api.models.shared.Header; +import com.airbyte.api.models.shared.IAMRole; +import com.airbyte.api.models.shared.IAMUser; +import com.airbyte.api.models.shared.Indexing; +import com.airbyte.api.models.shared.Instance; +import com.airbyte.api.models.shared.JSONLinesNewlineDelimitedJSON; +import com.airbyte.api.models.shared.KeyPairAuthentication; +import com.airbyte.api.models.shared.Langchain; +import com.airbyte.api.models.shared.LoginPassword; +import com.airbyte.api.models.shared.Method; +import com.airbyte.api.models.shared.Milvus; +import com.airbyte.api.models.shared.Mode; +import com.airbyte.api.models.shared.MongoDBAtlas; +import com.airbyte.api.models.shared.Mongodb; +import com.airbyte.api.models.shared.Mssql; +import com.airbyte.api.models.shared.Mysql; +import com.airbyte.api.models.shared.NoAuth; +import com.airbyte.api.models.shared.NoAuthentication; +import com.airbyte.api.models.shared.NoCompression; +import com.airbyte.api.models.shared.NoEncryption; +import com.airbyte.api.models.shared.NoExternalEmbedding; +import com.airbyte.api.models.shared.NoTunnel; +import com.airbyte.api.models.shared.None; +import com.airbyte.api.models.shared.Normalization; +import com.airbyte.api.models.shared.NormalizationFlattening; +import com.airbyte.api.models.shared.OAuth20Credentials; +import com.airbyte.api.models.shared.OpenAI; +import com.airbyte.api.models.shared.OpenAICompatible; +import com.airbyte.api.models.shared.Oracle; +import com.airbyte.api.models.shared.ParquetColumnarStorage; +import com.airbyte.api.models.shared.PasswordAuthentication; +import com.airbyte.api.models.shared.Pinecone; +import com.airbyte.api.models.shared.Postgres; +import com.airbyte.api.models.shared.Prefer; +import com.airbyte.api.models.shared.ProcessingConfigModel; +import com.airbyte.api.models.shared.Pubsub; +import com.airbyte.api.models.shared.Qdrant; +import com.airbyte.api.models.shared.RecommendedManagedTables; +import com.airbyte.api.models.shared.Redis; +import com.airbyte.api.models.shared.Redshift; +import com.airbyte.api.models.shared.ReplicaSet; +import com.airbyte.api.models.shared.Require; +import com.airbyte.api.models.shared.S3; +import com.airbyte.api.models.shared.S3BucketRegion; +import com.airbyte.api.models.shared.S3Glue; +import com.airbyte.api.models.shared.SSHKeyAuthentication; import com.airbyte.api.models.shared.Security; +import com.airbyte.api.models.shared.SerializationLibrary; +import com.airbyte.api.models.shared.SftpJson; +import com.airbyte.api.models.shared.Silent; +import com.airbyte.api.models.shared.Snappy; +import com.airbyte.api.models.shared.StandaloneMongoDbInstance; +import com.airbyte.api.models.shared.Standard; +import com.airbyte.api.models.shared.StandardInserts; +import com.airbyte.api.models.shared.Teradata; +import com.airbyte.api.models.shared.TestDestinationType; +import com.airbyte.api.models.shared.TransformationQueryRunType; +import com.airbyte.api.models.shared.TunnelMethod; +import com.airbyte.api.models.shared.Typesense; +import com.airbyte.api.models.shared.UsernameAndPassword; +import com.airbyte.api.models.shared.UsernamePassword; +import com.airbyte.api.models.shared.Vectara; +import com.airbyte.api.models.shared.VerifyCa; +import com.airbyte.api.models.shared.VerifyFull; +import com.airbyte.api.models.shared.Weaviate; +import com.airbyte.api.models.shared.Xz; +import com.airbyte.api.models.shared.Zstandard; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.shared.DestinationCreateRequest req = new DestinationCreateRequest( - "", - "", - "8360860a-d46e-48e6-af62-08e5ba5019ef"){{ - definitionId = "3492fc0e-ef56-45b0-b0c7-3d4dfc9aec3c"; - - }}; + DestinationCreateRequest req = DestinationCreateRequest.builder() + .configuration(DestinationConfiguration.of(DestinationGoogleSheets.builder() + .credentials(AuthenticationViaGoogleOAuth.builder() + .clientId("") + .clientSecret("") + .refreshToken("") + .build()) + .spreadsheetId("https://docs.google.com/spreadsheets/d/1hLd9Qqti3UyLXZB2aFfUWDT7BG/edit") + .build())) + .name("") + .workspaceId("8360860a-d46e-48e6-af62-08e5ba5019ef") + .definitionId("3492fc0e-ef56-45b0-b0c7-3d4dfc9aec3c") + .build(); - com.airbyte.api.models.operations.CreateDestinationResponse res = sdk.destinations.createDestination(req); + CreateDestinationResponse res = sdk.destinations().createDestination() + .request(req) + .call(); - if (res.destinationResponse != null) { + if (res.destinationResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -68,8 +508,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.CreateDestinationResponse](../../models/operations/CreateDestinationResponse.md)** +**[Optional](../../models/operations/CreateDestinationResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## deleteDestination @@ -81,33 +525,42 @@ Delete a Destination package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.DeleteDestinationRequest; import com.airbyte.api.models.operations.DeleteDestinationResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.Security; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.DeleteDestinationRequest req = new DeleteDestinationRequest( - ""); + DeleteDestinationRequest req = DeleteDestinationRequest.builder() + .destinationId("") + .build(); - com.airbyte.api.models.operations.DeleteDestinationResponse res = sdk.destinations.deleteDestination(req); + DeleteDestinationResponse res = sdk.destinations().deleteDestination() + .request(req) + .call(); - if (res.statusCode == 200) { - // handle response - } + // handle response + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -124,8 +577,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.DeleteDestinationResponse](../../models/operations/DeleteDestinationResponse.md)** +**[Optional](../../models/operations/DeleteDestinationResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## getDestination @@ -137,33 +594,44 @@ Get Destination details package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.GetDestinationRequest; import com.airbyte.api.models.operations.GetDestinationResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.Security; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.GetDestinationRequest req = new GetDestinationRequest( - ""); + GetDestinationRequest req = GetDestinationRequest.builder() + .destinationId("") + .build(); - com.airbyte.api.models.operations.GetDestinationResponse res = sdk.destinations.getDestination(req); + GetDestinationResponse res = sdk.destinations().getDestination() + .request(req) + .call(); - if (res.destinationResponse != null) { + if (res.destinationResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -180,8 +648,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.GetDestinationResponse](../../models/operations/GetDestinationResponse.md)** +**[Optional](../../models/operations/GetDestinationResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## listDestinations @@ -193,41 +665,48 @@ List destinations package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.ListDestinationsRequest; import com.airbyte.api.models.operations.ListDestinationsResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.Security; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.ListDestinationsRequest req = new ListDestinationsRequest( -){{ - includeDeleted = false; - limit = 772794; - offset = 125999; - workspaceIds = new String[]{{ - add("980b9a83-1720-4244-9cd2-6fb4455227f2"), - }}; - - }}; + ListDestinationsRequest req = ListDestinationsRequest.builder() + .includeDeleted(false) + .limit(772794) + .offset(125999) + .workspaceIds(java.util.List.of( + "980b9a83-1720-4244-9cd2-6fb4455227f2")) + .build(); - com.airbyte.api.models.operations.ListDestinationsResponse res = sdk.destinations.listDestinations(req); + ListDestinationsResponse res = sdk.destinations().listDestinations() + .request(req) + .call(); - if (res.destinationsResponse != null) { + if (res.destinationsResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -244,8 +723,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.ListDestinationsResponse](../../models/operations/ListDestinationsResponse.md)** +**[Optional](../../models/operations/ListDestinationsResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## patchDestination @@ -257,42 +740,480 @@ Update a Destination package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.PatchDestinationRequest; import com.airbyte.api.models.operations.PatchDestinationResponse; +import com.airbyte.api.models.shared.*; +import com.airbyte.api.models.shared.AESCBCEnvelopeEncryption; +import com.airbyte.api.models.shared.AWSS3Staging; +import com.airbyte.api.models.shared.Allow; +import com.airbyte.api.models.shared.AmazonS3; +import com.airbyte.api.models.shared.ApiKeyAuth; +import com.airbyte.api.models.shared.ApiKeySecret; +import com.airbyte.api.models.shared.Astra; +import com.airbyte.api.models.shared.AuthenticationViaGoogleOAuth; +import com.airbyte.api.models.shared.AvroApacheAvro; +import com.airbyte.api.models.shared.AwsDatalake; +import com.airbyte.api.models.shared.AzureBlobStorage; +import com.airbyte.api.models.shared.AzureOpenAI; +import com.airbyte.api.models.shared.Bigquery; +import com.airbyte.api.models.shared.ByMarkdownHeader; +import com.airbyte.api.models.shared.ByProgrammingLanguage; +import com.airbyte.api.models.shared.BySeparator; +import com.airbyte.api.models.shared.Bzip2; +import com.airbyte.api.models.shared.CSVCommaSeparatedValues; +import com.airbyte.api.models.shared.CacheType; +import com.airbyte.api.models.shared.ChooseHowToPartitionData; +import com.airbyte.api.models.shared.ChromaLocalPersistance; +import com.airbyte.api.models.shared.Clickhouse; +import com.airbyte.api.models.shared.Codec; +import com.airbyte.api.models.shared.Cohere; +import com.airbyte.api.models.shared.CompressionCodecOptional; +import com.airbyte.api.models.shared.CompressionType; +import com.airbyte.api.models.shared.Convex; +import com.airbyte.api.models.shared.CredentialType; +import com.airbyte.api.models.shared.CredentialsTitle; +import com.airbyte.api.models.shared.DataSourceType; +import com.airbyte.api.models.shared.Databricks; +import com.airbyte.api.models.shared.DatasetLocation; +import com.airbyte.api.models.shared.DefaultVectorizer; +import com.airbyte.api.models.shared.Deflate; +import com.airbyte.api.models.shared.DestinationAstra; +import com.airbyte.api.models.shared.DestinationAstraLanguage; +import com.airbyte.api.models.shared.DestinationAstraMode; +import com.airbyte.api.models.shared.DestinationAstraSchemasEmbeddingEmbedding1Mode; +import com.airbyte.api.models.shared.DestinationAstraSchemasEmbeddingEmbeddingMode; +import com.airbyte.api.models.shared.DestinationAstraSchemasEmbeddingMode; +import com.airbyte.api.models.shared.DestinationAstraSchemasMode; +import com.airbyte.api.models.shared.DestinationAstraSchemasProcessingMode; +import com.airbyte.api.models.shared.DestinationAstraSchemasProcessingTextSplitterMode; +import com.airbyte.api.models.shared.DestinationAstraSchemasProcessingTextSplitterTextSplitterMode; +import com.airbyte.api.models.shared.DestinationAwsDatalake; +import com.airbyte.api.models.shared.DestinationAwsDatalakeCompressionCodecOptional; +import com.airbyte.api.models.shared.DestinationAwsDatalakeCredentialsTitle; +import com.airbyte.api.models.shared.DestinationAwsDatalakeFormatTypeWildcard; +import com.airbyte.api.models.shared.DestinationAzureBlobStorage; +import com.airbyte.api.models.shared.DestinationAzureBlobStorageFormatType; +import com.airbyte.api.models.shared.DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON; +import com.airbyte.api.models.shared.DestinationBigquery; +import com.airbyte.api.models.shared.DestinationBigqueryCredentialType; +import com.airbyte.api.models.shared.DestinationBigqueryHMACKey; +import com.airbyte.api.models.shared.DestinationBigqueryMethod; +import com.airbyte.api.models.shared.DestinationClickhouse; +import com.airbyte.api.models.shared.DestinationClickhouseSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationClickhouseTunnelMethod; +import com.airbyte.api.models.shared.DestinationConvex; +import com.airbyte.api.models.shared.DestinationDatabricks; +import com.airbyte.api.models.shared.DestinationDatabricksAzureBlobStorage; +import com.airbyte.api.models.shared.DestinationDatabricksDataSourceType; +import com.airbyte.api.models.shared.DestinationDatabricksS3BucketRegion; +import com.airbyte.api.models.shared.DestinationDatabricksSchemasDataSourceType; +import com.airbyte.api.models.shared.DestinationDevNull; +import com.airbyte.api.models.shared.DestinationDuckdb; +import com.airbyte.api.models.shared.DestinationDynamodb; +import com.airbyte.api.models.shared.DestinationElasticsearch; +import com.airbyte.api.models.shared.DestinationElasticsearchMethod; +import com.airbyte.api.models.shared.DestinationElasticsearchSchemasMethod; +import com.airbyte.api.models.shared.DestinationFirestore; +import com.airbyte.api.models.shared.DestinationGcs; +import com.airbyte.api.models.shared.DestinationGcsCSVCommaSeparatedValues; +import com.airbyte.api.models.shared.DestinationGcsCodec; +import com.airbyte.api.models.shared.DestinationGcsCompressionCodec; +import com.airbyte.api.models.shared.DestinationGcsCompressionType; +import com.airbyte.api.models.shared.DestinationGcsFormatType; +import com.airbyte.api.models.shared.DestinationGcsGZIP; +import com.airbyte.api.models.shared.DestinationGcsJSONLinesNewlineDelimitedJSON; +import com.airbyte.api.models.shared.DestinationGcsNoCompression; +import com.airbyte.api.models.shared.DestinationGcsParquetColumnarStorage; +import com.airbyte.api.models.shared.DestinationGcsSchemasCodec; +import com.airbyte.api.models.shared.DestinationGcsSchemasCompressionType; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatCodec; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatCompressionType; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatFormatType; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatOutputFormat1Codec; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatOutputFormatCodec; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatOutputFormatFormatType; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatType; +import com.airbyte.api.models.shared.DestinationGcsSchemasNoCompression; +import com.airbyte.api.models.shared.DestinationGoogleSheets; +import com.airbyte.api.models.shared.DestinationGoogleSheetsGoogleSheets; +import com.airbyte.api.models.shared.DestinationLangchain; +import com.airbyte.api.models.shared.DestinationLangchainFake; +import com.airbyte.api.models.shared.DestinationLangchainMode; +import com.airbyte.api.models.shared.DestinationLangchainOpenAI; +import com.airbyte.api.models.shared.DestinationLangchainPinecone; +import com.airbyte.api.models.shared.DestinationLangchainProcessingConfigModel; +import com.airbyte.api.models.shared.DestinationLangchainSchemasIndexingIndexing3Mode; +import com.airbyte.api.models.shared.DestinationLangchainSchemasIndexingIndexingMode; +import com.airbyte.api.models.shared.DestinationLangchainSchemasIndexingMode; +import com.airbyte.api.models.shared.DestinationLangchainSchemasMode; +import com.airbyte.api.models.shared.DestinationMilvus; +import com.airbyte.api.models.shared.DestinationMilvusAPIToken; +import com.airbyte.api.models.shared.DestinationMilvusAzureOpenAI; +import com.airbyte.api.models.shared.DestinationMilvusByMarkdownHeader; +import com.airbyte.api.models.shared.DestinationMilvusByProgrammingLanguage; +import com.airbyte.api.models.shared.DestinationMilvusBySeparator; +import com.airbyte.api.models.shared.DestinationMilvusCohere; +import com.airbyte.api.models.shared.DestinationMilvusFake; +import com.airbyte.api.models.shared.DestinationMilvusFieldNameMappingConfigModel; +import com.airbyte.api.models.shared.DestinationMilvusIndexing; +import com.airbyte.api.models.shared.DestinationMilvusLanguage; +import com.airbyte.api.models.shared.DestinationMilvusMode; +import com.airbyte.api.models.shared.DestinationMilvusOpenAI; +import com.airbyte.api.models.shared.DestinationMilvusOpenAICompatible; +import com.airbyte.api.models.shared.DestinationMilvusProcessingConfigModel; +import com.airbyte.api.models.shared.DestinationMilvusSchemasEmbeddingEmbedding5Mode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasEmbeddingEmbeddingMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasEmbeddingMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasIndexingAuthAuthenticationMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasIndexingAuthMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasIndexingMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasProcessingMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasProcessingTextSplitterMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasProcessingTextSplitterTextSplitterMode; +import com.airbyte.api.models.shared.DestinationMilvusUsernamePassword; +import com.airbyte.api.models.shared.DestinationMongodb; +import com.airbyte.api.models.shared.DestinationMongodbAuthorization; +import com.airbyte.api.models.shared.DestinationMongodbInstance; +import com.airbyte.api.models.shared.DestinationMongodbNoTunnel; +import com.airbyte.api.models.shared.DestinationMongodbPasswordAuthentication; +import com.airbyte.api.models.shared.DestinationMongodbSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationMongodbSchemasAuthorization; +import com.airbyte.api.models.shared.DestinationMongodbSchemasInstance; +import com.airbyte.api.models.shared.DestinationMongodbSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationMongodbSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationMongodbTunnelMethod; +import com.airbyte.api.models.shared.DestinationMssql; +import com.airbyte.api.models.shared.DestinationMssqlNoTunnel; +import com.airbyte.api.models.shared.DestinationMssqlPasswordAuthentication; +import com.airbyte.api.models.shared.DestinationMssqlSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationMssqlSchemasSslMethod; +import com.airbyte.api.models.shared.DestinationMssqlSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationMssqlSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationMssqlSslMethod; +import com.airbyte.api.models.shared.DestinationMssqlTunnelMethod; +import com.airbyte.api.models.shared.DestinationMysql; +import com.airbyte.api.models.shared.DestinationMysqlNoTunnel; +import com.airbyte.api.models.shared.DestinationMysqlPasswordAuthentication; +import com.airbyte.api.models.shared.DestinationMysqlSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationMysqlSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationMysqlSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationMysqlTunnelMethod; +import com.airbyte.api.models.shared.DestinationOracle; +import com.airbyte.api.models.shared.DestinationOracleNoTunnel; +import com.airbyte.api.models.shared.DestinationOraclePasswordAuthentication; +import com.airbyte.api.models.shared.DestinationOracleSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationOracleSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationOracleSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationOracleTunnelMethod; import com.airbyte.api.models.shared.DestinationPatchRequest; +import com.airbyte.api.models.shared.DestinationPinecone; +import com.airbyte.api.models.shared.DestinationPineconeAzureOpenAI; +import com.airbyte.api.models.shared.DestinationPineconeByMarkdownHeader; +import com.airbyte.api.models.shared.DestinationPineconeByProgrammingLanguage; +import com.airbyte.api.models.shared.DestinationPineconeBySeparator; +import com.airbyte.api.models.shared.DestinationPineconeCohere; +import com.airbyte.api.models.shared.DestinationPineconeFake; +import com.airbyte.api.models.shared.DestinationPineconeFieldNameMappingConfigModel; +import com.airbyte.api.models.shared.DestinationPineconeIndexing; +import com.airbyte.api.models.shared.DestinationPineconeLanguage; +import com.airbyte.api.models.shared.DestinationPineconeMode; +import com.airbyte.api.models.shared.DestinationPineconeOpenAI; +import com.airbyte.api.models.shared.DestinationPineconeOpenAICompatible; +import com.airbyte.api.models.shared.DestinationPineconeProcessingConfigModel; +import com.airbyte.api.models.shared.DestinationPineconeSchemasEmbeddingEmbedding5Mode; +import com.airbyte.api.models.shared.DestinationPineconeSchemasEmbeddingEmbeddingMode; +import com.airbyte.api.models.shared.DestinationPineconeSchemasEmbeddingMode; +import com.airbyte.api.models.shared.DestinationPineconeSchemasMode; +import com.airbyte.api.models.shared.DestinationPineconeSchemasProcessingMode; +import com.airbyte.api.models.shared.DestinationPineconeSchemasProcessingTextSplitterMode; +import com.airbyte.api.models.shared.DestinationPineconeSchemasProcessingTextSplitterTextSplitterMode; +import com.airbyte.api.models.shared.DestinationPostgres; +import com.airbyte.api.models.shared.DestinationPostgresMode; +import com.airbyte.api.models.shared.DestinationPostgresNoTunnel; +import com.airbyte.api.models.shared.DestinationPostgresPasswordAuthentication; +import com.airbyte.api.models.shared.DestinationPostgresSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationPostgresSchemasMode; +import com.airbyte.api.models.shared.DestinationPostgresSchemasSSLModeSSLModes6Mode; +import com.airbyte.api.models.shared.DestinationPostgresSchemasSSLModeSSLModesMode; +import com.airbyte.api.models.shared.DestinationPostgresSchemasSslModeMode; +import com.airbyte.api.models.shared.DestinationPostgresSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationPostgresSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationPostgresTunnelMethod; +import com.airbyte.api.models.shared.DestinationPubsub; +import com.airbyte.api.models.shared.DestinationQdrant; +import com.airbyte.api.models.shared.DestinationQdrantAzureOpenAI; +import com.airbyte.api.models.shared.DestinationQdrantByMarkdownHeader; +import com.airbyte.api.models.shared.DestinationQdrantByProgrammingLanguage; +import com.airbyte.api.models.shared.DestinationQdrantBySeparator; +import com.airbyte.api.models.shared.DestinationQdrantCohere; +import com.airbyte.api.models.shared.DestinationQdrantFake; +import com.airbyte.api.models.shared.DestinationQdrantFieldNameMappingConfigModel; +import com.airbyte.api.models.shared.DestinationQdrantIndexing; +import com.airbyte.api.models.shared.DestinationQdrantLanguage; +import com.airbyte.api.models.shared.DestinationQdrantMode; +import com.airbyte.api.models.shared.DestinationQdrantNoAuth; +import com.airbyte.api.models.shared.DestinationQdrantOpenAI; +import com.airbyte.api.models.shared.DestinationQdrantOpenAICompatible; +import com.airbyte.api.models.shared.DestinationQdrantProcessingConfigModel; +import com.airbyte.api.models.shared.DestinationQdrantSchemasEmbeddingEmbedding5Mode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasEmbeddingEmbeddingMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasEmbeddingMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasIndexingAuthMethodMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasIndexingMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasProcessingMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasProcessingTextSplitterMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasProcessingTextSplitterTextSplitterMode; +import com.airbyte.api.models.shared.DestinationRedis; +import com.airbyte.api.models.shared.DestinationRedisDisable; +import com.airbyte.api.models.shared.DestinationRedisMode; +import com.airbyte.api.models.shared.DestinationRedisNoTunnel; +import com.airbyte.api.models.shared.DestinationRedisPasswordAuthentication; +import com.airbyte.api.models.shared.DestinationRedisSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationRedisSchemasMode; +import com.airbyte.api.models.shared.DestinationRedisSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationRedisSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationRedisTunnelMethod; +import com.airbyte.api.models.shared.DestinationRedisVerifyFull; +import com.airbyte.api.models.shared.DestinationRedshift; +import com.airbyte.api.models.shared.DestinationRedshiftEncryptionType; +import com.airbyte.api.models.shared.DestinationRedshiftMethod; +import com.airbyte.api.models.shared.DestinationRedshiftNoTunnel; +import com.airbyte.api.models.shared.DestinationRedshiftPasswordAuthentication; +import com.airbyte.api.models.shared.DestinationRedshiftS3BucketRegion; +import com.airbyte.api.models.shared.DestinationRedshiftSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationRedshiftSchemasMethod; +import com.airbyte.api.models.shared.DestinationRedshiftSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationRedshiftSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationRedshiftTunnelMethod; +import com.airbyte.api.models.shared.DestinationS3; +import com.airbyte.api.models.shared.DestinationS3AvroApacheAvro; +import com.airbyte.api.models.shared.DestinationS3Bzip2; +import com.airbyte.api.models.shared.DestinationS3CSVCommaSeparatedValues; +import com.airbyte.api.models.shared.DestinationS3Codec; +import com.airbyte.api.models.shared.DestinationS3CompressionType; +import com.airbyte.api.models.shared.DestinationS3Deflate; +import com.airbyte.api.models.shared.DestinationS3Flattening; +import com.airbyte.api.models.shared.DestinationS3FormatType; +import com.airbyte.api.models.shared.DestinationS3GZIP; +import com.airbyte.api.models.shared.DestinationS3Glue; +import com.airbyte.api.models.shared.DestinationS3GlueCompressionType; +import com.airbyte.api.models.shared.DestinationS3GlueFormatType; +import com.airbyte.api.models.shared.DestinationS3GlueGZIP; +import com.airbyte.api.models.shared.DestinationS3GlueJSONLinesNewlineDelimitedJSON; +import com.airbyte.api.models.shared.DestinationS3GlueNoCompression; +import com.airbyte.api.models.shared.DestinationS3GlueS3BucketRegion; +import com.airbyte.api.models.shared.DestinationS3GlueSchemasCompressionType; +import com.airbyte.api.models.shared.DestinationS3JSONLinesNewlineDelimitedJSON; +import com.airbyte.api.models.shared.DestinationS3NoCompression; +import com.airbyte.api.models.shared.DestinationS3ParquetColumnarStorage; +import com.airbyte.api.models.shared.DestinationS3S3BucketRegion; +import com.airbyte.api.models.shared.DestinationS3SchemasCodec; +import com.airbyte.api.models.shared.DestinationS3SchemasCompressionCodec; +import com.airbyte.api.models.shared.DestinationS3SchemasCompressionType; +import com.airbyte.api.models.shared.DestinationS3SchemasFlattening; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatCodec; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatCompressionType; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatFormatType; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatNoCompression; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatOutputFormat3Codec; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatOutputFormat3CompressionCodecCodec; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatOutputFormatCodec; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatOutputFormatCompressionType; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatOutputFormatFormatType; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatType; +import com.airbyte.api.models.shared.DestinationS3SchemasGZIP; +import com.airbyte.api.models.shared.DestinationS3SchemasNoCompression; +import com.airbyte.api.models.shared.DestinationS3Snappy; +import com.airbyte.api.models.shared.DestinationS3Xz; +import com.airbyte.api.models.shared.DestinationS3Zstandard; +import com.airbyte.api.models.shared.DestinationSftpJson; +import com.airbyte.api.models.shared.DestinationSnowflake; +import com.airbyte.api.models.shared.DestinationSnowflakeAuthType; +import com.airbyte.api.models.shared.DestinationSnowflakeOAuth20; +import com.airbyte.api.models.shared.DestinationSnowflakeSchemasAuthType; +import com.airbyte.api.models.shared.DestinationSnowflakeSchemasCredentialsAuthType; +import com.airbyte.api.models.shared.DestinationSnowflakeSnowflake; +import com.airbyte.api.models.shared.DestinationTeradata; +import com.airbyte.api.models.shared.DestinationTeradataAllow; +import com.airbyte.api.models.shared.DestinationTeradataDisable; +import com.airbyte.api.models.shared.DestinationTeradataMode; +import com.airbyte.api.models.shared.DestinationTeradataPrefer; +import com.airbyte.api.models.shared.DestinationTeradataRequire; +import com.airbyte.api.models.shared.DestinationTeradataSchemasMode; +import com.airbyte.api.models.shared.DestinationTeradataSchemasSSLModeSSLModes5Mode; +import com.airbyte.api.models.shared.DestinationTeradataSchemasSSLModeSSLModes6Mode; +import com.airbyte.api.models.shared.DestinationTeradataSchemasSSLModeSSLModesMode; +import com.airbyte.api.models.shared.DestinationTeradataSchemasSslModeMode; +import com.airbyte.api.models.shared.DestinationTeradataVerifyCa; +import com.airbyte.api.models.shared.DestinationTeradataVerifyFull; +import com.airbyte.api.models.shared.DestinationTypesense; +import com.airbyte.api.models.shared.DestinationVectara; +import com.airbyte.api.models.shared.DestinationWeaviate; +import com.airbyte.api.models.shared.DestinationWeaviateAPIToken; +import com.airbyte.api.models.shared.DestinationWeaviateAzureOpenAI; +import com.airbyte.api.models.shared.DestinationWeaviateByMarkdownHeader; +import com.airbyte.api.models.shared.DestinationWeaviateByProgrammingLanguage; +import com.airbyte.api.models.shared.DestinationWeaviateBySeparator; +import com.airbyte.api.models.shared.DestinationWeaviateCohere; +import com.airbyte.api.models.shared.DestinationWeaviateFake; +import com.airbyte.api.models.shared.DestinationWeaviateFieldNameMappingConfigModel; +import com.airbyte.api.models.shared.DestinationWeaviateIndexing; +import com.airbyte.api.models.shared.DestinationWeaviateLanguage; +import com.airbyte.api.models.shared.DestinationWeaviateMode; +import com.airbyte.api.models.shared.DestinationWeaviateOpenAI; +import com.airbyte.api.models.shared.DestinationWeaviateOpenAICompatible; +import com.airbyte.api.models.shared.DestinationWeaviateProcessingConfigModel; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasEmbeddingEmbedding5Mode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasEmbeddingEmbedding6Mode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasEmbeddingEmbedding7Mode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasEmbeddingEmbeddingMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasEmbeddingMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasIndexingAuthAuthenticationMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasIndexingAuthMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasIndexingMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasProcessingMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasProcessingTextSplitterMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasProcessingTextSplitterTextSplitterMode; +import com.airbyte.api.models.shared.DestinationWeaviateUsernamePassword; +import com.airbyte.api.models.shared.DevNull; +import com.airbyte.api.models.shared.Disable; +import com.airbyte.api.models.shared.DistanceMetric; +import com.airbyte.api.models.shared.DocArrayHnswSearch; +import com.airbyte.api.models.shared.Duckdb; +import com.airbyte.api.models.shared.DynamoDBRegion; +import com.airbyte.api.models.shared.Dynamodb; +import com.airbyte.api.models.shared.Elasticsearch; +import com.airbyte.api.models.shared.EncryptedTrustServerCertificate; +import com.airbyte.api.models.shared.EncryptedVerifyCertificate; +import com.airbyte.api.models.shared.EncryptionType; +import com.airbyte.api.models.shared.Fake; +import com.airbyte.api.models.shared.FieldNameMappingConfigModel; +import com.airbyte.api.models.shared.Firestore; +import com.airbyte.api.models.shared.Flattening; +import com.airbyte.api.models.shared.FormatType; +import com.airbyte.api.models.shared.FormatTypeWildcard; +import com.airbyte.api.models.shared.FromField; +import com.airbyte.api.models.shared.GCSBucketRegion; +import com.airbyte.api.models.shared.GCSStaging; +import com.airbyte.api.models.shared.GCSTmpFilesAfterwardProcessing; +import com.airbyte.api.models.shared.Gcs; +import com.airbyte.api.models.shared.Gzip; +import com.airbyte.api.models.shared.HMACKey; +import com.airbyte.api.models.shared.Header; +import com.airbyte.api.models.shared.IAMRole; +import com.airbyte.api.models.shared.IAMUser; +import com.airbyte.api.models.shared.Indexing; +import com.airbyte.api.models.shared.Instance; +import com.airbyte.api.models.shared.JSONLinesNewlineDelimitedJSON; +import com.airbyte.api.models.shared.KeyPairAuthentication; +import com.airbyte.api.models.shared.Langchain; +import com.airbyte.api.models.shared.LoginPassword; +import com.airbyte.api.models.shared.Method; +import com.airbyte.api.models.shared.Milvus; +import com.airbyte.api.models.shared.Mode; +import com.airbyte.api.models.shared.MongoDBAtlas; +import com.airbyte.api.models.shared.Mongodb; +import com.airbyte.api.models.shared.Mssql; +import com.airbyte.api.models.shared.Mysql; +import com.airbyte.api.models.shared.NoAuth; +import com.airbyte.api.models.shared.NoAuthentication; +import com.airbyte.api.models.shared.NoCompression; +import com.airbyte.api.models.shared.NoEncryption; +import com.airbyte.api.models.shared.NoExternalEmbedding; +import com.airbyte.api.models.shared.NoTunnel; +import com.airbyte.api.models.shared.None; +import com.airbyte.api.models.shared.Normalization; +import com.airbyte.api.models.shared.NormalizationFlattening; +import com.airbyte.api.models.shared.OAuth20Credentials; +import com.airbyte.api.models.shared.OpenAI; +import com.airbyte.api.models.shared.OpenAICompatible; +import com.airbyte.api.models.shared.Oracle; +import com.airbyte.api.models.shared.ParquetColumnarStorage; +import com.airbyte.api.models.shared.PasswordAuthentication; +import com.airbyte.api.models.shared.Pinecone; +import com.airbyte.api.models.shared.Postgres; +import com.airbyte.api.models.shared.Prefer; +import com.airbyte.api.models.shared.ProcessingConfigModel; +import com.airbyte.api.models.shared.Pubsub; +import com.airbyte.api.models.shared.Qdrant; +import com.airbyte.api.models.shared.RecommendedManagedTables; +import com.airbyte.api.models.shared.Redis; +import com.airbyte.api.models.shared.Redshift; +import com.airbyte.api.models.shared.ReplicaSet; +import com.airbyte.api.models.shared.Require; +import com.airbyte.api.models.shared.S3; +import com.airbyte.api.models.shared.S3BucketRegion; +import com.airbyte.api.models.shared.S3Glue; +import com.airbyte.api.models.shared.SSHKeyAuthentication; import com.airbyte.api.models.shared.Security; +import com.airbyte.api.models.shared.SerializationLibrary; +import com.airbyte.api.models.shared.SftpJson; +import com.airbyte.api.models.shared.Silent; +import com.airbyte.api.models.shared.Snappy; +import com.airbyte.api.models.shared.StandaloneMongoDbInstance; +import com.airbyte.api.models.shared.Standard; +import com.airbyte.api.models.shared.StandardInserts; +import com.airbyte.api.models.shared.Teradata; +import com.airbyte.api.models.shared.TestDestinationType; +import com.airbyte.api.models.shared.TransformationQueryRunType; +import com.airbyte.api.models.shared.TunnelMethod; +import com.airbyte.api.models.shared.Typesense; +import com.airbyte.api.models.shared.UsernameAndPassword; +import com.airbyte.api.models.shared.UsernamePassword; +import com.airbyte.api.models.shared.Vectara; +import com.airbyte.api.models.shared.VerifyCa; +import com.airbyte.api.models.shared.VerifyFull; +import com.airbyte.api.models.shared.Weaviate; +import com.airbyte.api.models.shared.Xz; +import com.airbyte.api.models.shared.Zstandard; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.PatchDestinationRequest req = new PatchDestinationRequest( - ""){{ - destinationPatchRequest = new DestinationPatchRequest( -){{ - configuration = ""; - name = ""; - - }}; - - }}; + PatchDestinationRequest req = PatchDestinationRequest.builder() + .destinationId("") + .destinationPatchRequest(DestinationPatchRequest.builder() + .configuration(DestinationConfiguration.of(DestinationGoogleSheets.builder() + .credentials(AuthenticationViaGoogleOAuth.builder() + .clientId("") + .clientSecret("") + .refreshToken("") + .build()) + .spreadsheetId("https://docs.google.com/spreadsheets/d/1hLd9Qqti3UyLXZB2aFfUWDT7BG/edit") + .build())) + .name("") + .build()) + .build(); - com.airbyte.api.models.operations.PatchDestinationResponse res = sdk.destinations.patchDestination(req); + PatchDestinationResponse res = sdk.destinations().patchDestination() + .request(req) + .call(); - if (res.destinationResponse != null) { + if (res.destinationResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -309,8 +1230,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.PatchDestinationResponse](../../models/operations/PatchDestinationResponse.md)** +**[Optional](../../models/operations/PatchDestinationResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## putDestination @@ -322,39 +1247,480 @@ Update a Destination and fully overwrite it package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.PutDestinationRequest; import com.airbyte.api.models.operations.PutDestinationResponse; +import com.airbyte.api.models.shared.*; +import com.airbyte.api.models.shared.AESCBCEnvelopeEncryption; +import com.airbyte.api.models.shared.AWSS3Staging; +import com.airbyte.api.models.shared.Allow; +import com.airbyte.api.models.shared.AmazonS3; +import com.airbyte.api.models.shared.ApiKeyAuth; +import com.airbyte.api.models.shared.ApiKeySecret; +import com.airbyte.api.models.shared.Astra; +import com.airbyte.api.models.shared.AuthenticationViaGoogleOAuth; +import com.airbyte.api.models.shared.AvroApacheAvro; +import com.airbyte.api.models.shared.AwsDatalake; +import com.airbyte.api.models.shared.AzureBlobStorage; +import com.airbyte.api.models.shared.AzureOpenAI; +import com.airbyte.api.models.shared.Bigquery; +import com.airbyte.api.models.shared.ByMarkdownHeader; +import com.airbyte.api.models.shared.ByProgrammingLanguage; +import com.airbyte.api.models.shared.BySeparator; +import com.airbyte.api.models.shared.Bzip2; +import com.airbyte.api.models.shared.CSVCommaSeparatedValues; +import com.airbyte.api.models.shared.CacheType; +import com.airbyte.api.models.shared.ChooseHowToPartitionData; +import com.airbyte.api.models.shared.ChromaLocalPersistance; +import com.airbyte.api.models.shared.Clickhouse; +import com.airbyte.api.models.shared.Codec; +import com.airbyte.api.models.shared.Cohere; +import com.airbyte.api.models.shared.CompressionCodecOptional; +import com.airbyte.api.models.shared.CompressionType; +import com.airbyte.api.models.shared.Convex; +import com.airbyte.api.models.shared.CredentialType; +import com.airbyte.api.models.shared.CredentialsTitle; +import com.airbyte.api.models.shared.DataSourceType; +import com.airbyte.api.models.shared.Databricks; +import com.airbyte.api.models.shared.DatasetLocation; +import com.airbyte.api.models.shared.DefaultVectorizer; +import com.airbyte.api.models.shared.Deflate; +import com.airbyte.api.models.shared.DestinationAstra; +import com.airbyte.api.models.shared.DestinationAstraLanguage; +import com.airbyte.api.models.shared.DestinationAstraMode; +import com.airbyte.api.models.shared.DestinationAstraSchemasEmbeddingEmbedding1Mode; +import com.airbyte.api.models.shared.DestinationAstraSchemasEmbeddingEmbeddingMode; +import com.airbyte.api.models.shared.DestinationAstraSchemasEmbeddingMode; +import com.airbyte.api.models.shared.DestinationAstraSchemasMode; +import com.airbyte.api.models.shared.DestinationAstraSchemasProcessingMode; +import com.airbyte.api.models.shared.DestinationAstraSchemasProcessingTextSplitterMode; +import com.airbyte.api.models.shared.DestinationAstraSchemasProcessingTextSplitterTextSplitterMode; +import com.airbyte.api.models.shared.DestinationAwsDatalake; +import com.airbyte.api.models.shared.DestinationAwsDatalakeCompressionCodecOptional; +import com.airbyte.api.models.shared.DestinationAwsDatalakeCredentialsTitle; +import com.airbyte.api.models.shared.DestinationAwsDatalakeFormatTypeWildcard; +import com.airbyte.api.models.shared.DestinationAzureBlobStorage; +import com.airbyte.api.models.shared.DestinationAzureBlobStorageFormatType; +import com.airbyte.api.models.shared.DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON; +import com.airbyte.api.models.shared.DestinationBigquery; +import com.airbyte.api.models.shared.DestinationBigqueryCredentialType; +import com.airbyte.api.models.shared.DestinationBigqueryHMACKey; +import com.airbyte.api.models.shared.DestinationBigqueryMethod; +import com.airbyte.api.models.shared.DestinationClickhouse; +import com.airbyte.api.models.shared.DestinationClickhouseSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationClickhouseTunnelMethod; +import com.airbyte.api.models.shared.DestinationConvex; +import com.airbyte.api.models.shared.DestinationDatabricks; +import com.airbyte.api.models.shared.DestinationDatabricksAzureBlobStorage; +import com.airbyte.api.models.shared.DestinationDatabricksDataSourceType; +import com.airbyte.api.models.shared.DestinationDatabricksS3BucketRegion; +import com.airbyte.api.models.shared.DestinationDatabricksSchemasDataSourceType; +import com.airbyte.api.models.shared.DestinationDevNull; +import com.airbyte.api.models.shared.DestinationDuckdb; +import com.airbyte.api.models.shared.DestinationDynamodb; +import com.airbyte.api.models.shared.DestinationElasticsearch; +import com.airbyte.api.models.shared.DestinationElasticsearchMethod; +import com.airbyte.api.models.shared.DestinationElasticsearchSchemasMethod; +import com.airbyte.api.models.shared.DestinationFirestore; +import com.airbyte.api.models.shared.DestinationGcs; +import com.airbyte.api.models.shared.DestinationGcsCSVCommaSeparatedValues; +import com.airbyte.api.models.shared.DestinationGcsCodec; +import com.airbyte.api.models.shared.DestinationGcsCompressionCodec; +import com.airbyte.api.models.shared.DestinationGcsCompressionType; +import com.airbyte.api.models.shared.DestinationGcsFormatType; +import com.airbyte.api.models.shared.DestinationGcsGZIP; +import com.airbyte.api.models.shared.DestinationGcsJSONLinesNewlineDelimitedJSON; +import com.airbyte.api.models.shared.DestinationGcsNoCompression; +import com.airbyte.api.models.shared.DestinationGcsParquetColumnarStorage; +import com.airbyte.api.models.shared.DestinationGcsSchemasCodec; +import com.airbyte.api.models.shared.DestinationGcsSchemasCompressionType; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatCodec; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatCompressionType; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatFormatType; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatOutputFormat1Codec; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatOutputFormatCodec; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatOutputFormatFormatType; +import com.airbyte.api.models.shared.DestinationGcsSchemasFormatType; +import com.airbyte.api.models.shared.DestinationGcsSchemasNoCompression; +import com.airbyte.api.models.shared.DestinationGoogleSheets; +import com.airbyte.api.models.shared.DestinationGoogleSheetsGoogleSheets; +import com.airbyte.api.models.shared.DestinationLangchain; +import com.airbyte.api.models.shared.DestinationLangchainFake; +import com.airbyte.api.models.shared.DestinationLangchainMode; +import com.airbyte.api.models.shared.DestinationLangchainOpenAI; +import com.airbyte.api.models.shared.DestinationLangchainPinecone; +import com.airbyte.api.models.shared.DestinationLangchainProcessingConfigModel; +import com.airbyte.api.models.shared.DestinationLangchainSchemasIndexingIndexing3Mode; +import com.airbyte.api.models.shared.DestinationLangchainSchemasIndexingIndexingMode; +import com.airbyte.api.models.shared.DestinationLangchainSchemasIndexingMode; +import com.airbyte.api.models.shared.DestinationLangchainSchemasMode; +import com.airbyte.api.models.shared.DestinationMilvus; +import com.airbyte.api.models.shared.DestinationMilvusAPIToken; +import com.airbyte.api.models.shared.DestinationMilvusAzureOpenAI; +import com.airbyte.api.models.shared.DestinationMilvusByMarkdownHeader; +import com.airbyte.api.models.shared.DestinationMilvusByProgrammingLanguage; +import com.airbyte.api.models.shared.DestinationMilvusBySeparator; +import com.airbyte.api.models.shared.DestinationMilvusCohere; +import com.airbyte.api.models.shared.DestinationMilvusFake; +import com.airbyte.api.models.shared.DestinationMilvusFieldNameMappingConfigModel; +import com.airbyte.api.models.shared.DestinationMilvusIndexing; +import com.airbyte.api.models.shared.DestinationMilvusLanguage; +import com.airbyte.api.models.shared.DestinationMilvusMode; +import com.airbyte.api.models.shared.DestinationMilvusOpenAI; +import com.airbyte.api.models.shared.DestinationMilvusOpenAICompatible; +import com.airbyte.api.models.shared.DestinationMilvusProcessingConfigModel; +import com.airbyte.api.models.shared.DestinationMilvusSchemasEmbeddingEmbedding5Mode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasEmbeddingEmbeddingMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasEmbeddingMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasIndexingAuthAuthenticationMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasIndexingAuthMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasIndexingMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasProcessingMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasProcessingTextSplitterMode; +import com.airbyte.api.models.shared.DestinationMilvusSchemasProcessingTextSplitterTextSplitterMode; +import com.airbyte.api.models.shared.DestinationMilvusUsernamePassword; +import com.airbyte.api.models.shared.DestinationMongodb; +import com.airbyte.api.models.shared.DestinationMongodbAuthorization; +import com.airbyte.api.models.shared.DestinationMongodbInstance; +import com.airbyte.api.models.shared.DestinationMongodbNoTunnel; +import com.airbyte.api.models.shared.DestinationMongodbPasswordAuthentication; +import com.airbyte.api.models.shared.DestinationMongodbSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationMongodbSchemasAuthorization; +import com.airbyte.api.models.shared.DestinationMongodbSchemasInstance; +import com.airbyte.api.models.shared.DestinationMongodbSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationMongodbSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationMongodbTunnelMethod; +import com.airbyte.api.models.shared.DestinationMssql; +import com.airbyte.api.models.shared.DestinationMssqlNoTunnel; +import com.airbyte.api.models.shared.DestinationMssqlPasswordAuthentication; +import com.airbyte.api.models.shared.DestinationMssqlSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationMssqlSchemasSslMethod; +import com.airbyte.api.models.shared.DestinationMssqlSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationMssqlSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationMssqlSslMethod; +import com.airbyte.api.models.shared.DestinationMssqlTunnelMethod; +import com.airbyte.api.models.shared.DestinationMysql; +import com.airbyte.api.models.shared.DestinationMysqlNoTunnel; +import com.airbyte.api.models.shared.DestinationMysqlPasswordAuthentication; +import com.airbyte.api.models.shared.DestinationMysqlSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationMysqlSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationMysqlSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationMysqlTunnelMethod; +import com.airbyte.api.models.shared.DestinationOracle; +import com.airbyte.api.models.shared.DestinationOracleNoTunnel; +import com.airbyte.api.models.shared.DestinationOraclePasswordAuthentication; +import com.airbyte.api.models.shared.DestinationOracleSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationOracleSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationOracleSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationOracleTunnelMethod; +import com.airbyte.api.models.shared.DestinationPinecone; +import com.airbyte.api.models.shared.DestinationPineconeAzureOpenAI; +import com.airbyte.api.models.shared.DestinationPineconeByMarkdownHeader; +import com.airbyte.api.models.shared.DestinationPineconeByProgrammingLanguage; +import com.airbyte.api.models.shared.DestinationPineconeBySeparator; +import com.airbyte.api.models.shared.DestinationPineconeCohere; +import com.airbyte.api.models.shared.DestinationPineconeFake; +import com.airbyte.api.models.shared.DestinationPineconeFieldNameMappingConfigModel; +import com.airbyte.api.models.shared.DestinationPineconeIndexing; +import com.airbyte.api.models.shared.DestinationPineconeLanguage; +import com.airbyte.api.models.shared.DestinationPineconeMode; +import com.airbyte.api.models.shared.DestinationPineconeOpenAI; +import com.airbyte.api.models.shared.DestinationPineconeOpenAICompatible; +import com.airbyte.api.models.shared.DestinationPineconeProcessingConfigModel; +import com.airbyte.api.models.shared.DestinationPineconeSchemasEmbeddingEmbedding5Mode; +import com.airbyte.api.models.shared.DestinationPineconeSchemasEmbeddingEmbeddingMode; +import com.airbyte.api.models.shared.DestinationPineconeSchemasEmbeddingMode; +import com.airbyte.api.models.shared.DestinationPineconeSchemasMode; +import com.airbyte.api.models.shared.DestinationPineconeSchemasProcessingMode; +import com.airbyte.api.models.shared.DestinationPineconeSchemasProcessingTextSplitterMode; +import com.airbyte.api.models.shared.DestinationPineconeSchemasProcessingTextSplitterTextSplitterMode; +import com.airbyte.api.models.shared.DestinationPostgres; +import com.airbyte.api.models.shared.DestinationPostgresMode; +import com.airbyte.api.models.shared.DestinationPostgresNoTunnel; +import com.airbyte.api.models.shared.DestinationPostgresPasswordAuthentication; +import com.airbyte.api.models.shared.DestinationPostgresSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationPostgresSchemasMode; +import com.airbyte.api.models.shared.DestinationPostgresSchemasSSLModeSSLModes6Mode; +import com.airbyte.api.models.shared.DestinationPostgresSchemasSSLModeSSLModesMode; +import com.airbyte.api.models.shared.DestinationPostgresSchemasSslModeMode; +import com.airbyte.api.models.shared.DestinationPostgresSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationPostgresSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationPostgresTunnelMethod; +import com.airbyte.api.models.shared.DestinationPubsub; import com.airbyte.api.models.shared.DestinationPutRequest; +import com.airbyte.api.models.shared.DestinationQdrant; +import com.airbyte.api.models.shared.DestinationQdrantAzureOpenAI; +import com.airbyte.api.models.shared.DestinationQdrantByMarkdownHeader; +import com.airbyte.api.models.shared.DestinationQdrantByProgrammingLanguage; +import com.airbyte.api.models.shared.DestinationQdrantBySeparator; +import com.airbyte.api.models.shared.DestinationQdrantCohere; +import com.airbyte.api.models.shared.DestinationQdrantFake; +import com.airbyte.api.models.shared.DestinationQdrantFieldNameMappingConfigModel; +import com.airbyte.api.models.shared.DestinationQdrantIndexing; +import com.airbyte.api.models.shared.DestinationQdrantLanguage; +import com.airbyte.api.models.shared.DestinationQdrantMode; +import com.airbyte.api.models.shared.DestinationQdrantNoAuth; +import com.airbyte.api.models.shared.DestinationQdrantOpenAI; +import com.airbyte.api.models.shared.DestinationQdrantOpenAICompatible; +import com.airbyte.api.models.shared.DestinationQdrantProcessingConfigModel; +import com.airbyte.api.models.shared.DestinationQdrantSchemasEmbeddingEmbedding5Mode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasEmbeddingEmbeddingMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasEmbeddingMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasIndexingAuthMethodMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasIndexingMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasProcessingMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasProcessingTextSplitterMode; +import com.airbyte.api.models.shared.DestinationQdrantSchemasProcessingTextSplitterTextSplitterMode; +import com.airbyte.api.models.shared.DestinationRedis; +import com.airbyte.api.models.shared.DestinationRedisDisable; +import com.airbyte.api.models.shared.DestinationRedisMode; +import com.airbyte.api.models.shared.DestinationRedisNoTunnel; +import com.airbyte.api.models.shared.DestinationRedisPasswordAuthentication; +import com.airbyte.api.models.shared.DestinationRedisSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationRedisSchemasMode; +import com.airbyte.api.models.shared.DestinationRedisSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationRedisSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationRedisTunnelMethod; +import com.airbyte.api.models.shared.DestinationRedisVerifyFull; +import com.airbyte.api.models.shared.DestinationRedshift; +import com.airbyte.api.models.shared.DestinationRedshiftEncryptionType; +import com.airbyte.api.models.shared.DestinationRedshiftMethod; +import com.airbyte.api.models.shared.DestinationRedshiftNoTunnel; +import com.airbyte.api.models.shared.DestinationRedshiftPasswordAuthentication; +import com.airbyte.api.models.shared.DestinationRedshiftS3BucketRegion; +import com.airbyte.api.models.shared.DestinationRedshiftSSHKeyAuthentication; +import com.airbyte.api.models.shared.DestinationRedshiftSchemasMethod; +import com.airbyte.api.models.shared.DestinationRedshiftSchemasTunnelMethod; +import com.airbyte.api.models.shared.DestinationRedshiftSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.DestinationRedshiftTunnelMethod; +import com.airbyte.api.models.shared.DestinationS3; +import com.airbyte.api.models.shared.DestinationS3AvroApacheAvro; +import com.airbyte.api.models.shared.DestinationS3Bzip2; +import com.airbyte.api.models.shared.DestinationS3CSVCommaSeparatedValues; +import com.airbyte.api.models.shared.DestinationS3Codec; +import com.airbyte.api.models.shared.DestinationS3CompressionType; +import com.airbyte.api.models.shared.DestinationS3Deflate; +import com.airbyte.api.models.shared.DestinationS3Flattening; +import com.airbyte.api.models.shared.DestinationS3FormatType; +import com.airbyte.api.models.shared.DestinationS3GZIP; +import com.airbyte.api.models.shared.DestinationS3Glue; +import com.airbyte.api.models.shared.DestinationS3GlueCompressionType; +import com.airbyte.api.models.shared.DestinationS3GlueFormatType; +import com.airbyte.api.models.shared.DestinationS3GlueGZIP; +import com.airbyte.api.models.shared.DestinationS3GlueJSONLinesNewlineDelimitedJSON; +import com.airbyte.api.models.shared.DestinationS3GlueNoCompression; +import com.airbyte.api.models.shared.DestinationS3GlueS3BucketRegion; +import com.airbyte.api.models.shared.DestinationS3GlueSchemasCompressionType; +import com.airbyte.api.models.shared.DestinationS3JSONLinesNewlineDelimitedJSON; +import com.airbyte.api.models.shared.DestinationS3NoCompression; +import com.airbyte.api.models.shared.DestinationS3ParquetColumnarStorage; +import com.airbyte.api.models.shared.DestinationS3S3BucketRegion; +import com.airbyte.api.models.shared.DestinationS3SchemasCodec; +import com.airbyte.api.models.shared.DestinationS3SchemasCompressionCodec; +import com.airbyte.api.models.shared.DestinationS3SchemasCompressionType; +import com.airbyte.api.models.shared.DestinationS3SchemasFlattening; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatCodec; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatCompressionType; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatFormatType; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatNoCompression; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatOutputFormat3Codec; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatOutputFormat3CompressionCodecCodec; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatOutputFormatCodec; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatOutputFormatCompressionType; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatOutputFormatFormatType; +import com.airbyte.api.models.shared.DestinationS3SchemasFormatType; +import com.airbyte.api.models.shared.DestinationS3SchemasGZIP; +import com.airbyte.api.models.shared.DestinationS3SchemasNoCompression; +import com.airbyte.api.models.shared.DestinationS3Snappy; +import com.airbyte.api.models.shared.DestinationS3Xz; +import com.airbyte.api.models.shared.DestinationS3Zstandard; +import com.airbyte.api.models.shared.DestinationSftpJson; +import com.airbyte.api.models.shared.DestinationSnowflake; +import com.airbyte.api.models.shared.DestinationSnowflakeAuthType; +import com.airbyte.api.models.shared.DestinationSnowflakeOAuth20; +import com.airbyte.api.models.shared.DestinationSnowflakeSchemasAuthType; +import com.airbyte.api.models.shared.DestinationSnowflakeSchemasCredentialsAuthType; +import com.airbyte.api.models.shared.DestinationSnowflakeSnowflake; +import com.airbyte.api.models.shared.DestinationTeradata; +import com.airbyte.api.models.shared.DestinationTeradataAllow; +import com.airbyte.api.models.shared.DestinationTeradataDisable; +import com.airbyte.api.models.shared.DestinationTeradataMode; +import com.airbyte.api.models.shared.DestinationTeradataPrefer; +import com.airbyte.api.models.shared.DestinationTeradataRequire; +import com.airbyte.api.models.shared.DestinationTeradataSchemasMode; +import com.airbyte.api.models.shared.DestinationTeradataSchemasSSLModeSSLModes5Mode; +import com.airbyte.api.models.shared.DestinationTeradataSchemasSSLModeSSLModes6Mode; +import com.airbyte.api.models.shared.DestinationTeradataSchemasSSLModeSSLModesMode; +import com.airbyte.api.models.shared.DestinationTeradataSchemasSslModeMode; +import com.airbyte.api.models.shared.DestinationTeradataVerifyCa; +import com.airbyte.api.models.shared.DestinationTeradataVerifyFull; +import com.airbyte.api.models.shared.DestinationTypesense; +import com.airbyte.api.models.shared.DestinationVectara; +import com.airbyte.api.models.shared.DestinationWeaviate; +import com.airbyte.api.models.shared.DestinationWeaviateAPIToken; +import com.airbyte.api.models.shared.DestinationWeaviateAzureOpenAI; +import com.airbyte.api.models.shared.DestinationWeaviateByMarkdownHeader; +import com.airbyte.api.models.shared.DestinationWeaviateByProgrammingLanguage; +import com.airbyte.api.models.shared.DestinationWeaviateBySeparator; +import com.airbyte.api.models.shared.DestinationWeaviateCohere; +import com.airbyte.api.models.shared.DestinationWeaviateFake; +import com.airbyte.api.models.shared.DestinationWeaviateFieldNameMappingConfigModel; +import com.airbyte.api.models.shared.DestinationWeaviateIndexing; +import com.airbyte.api.models.shared.DestinationWeaviateLanguage; +import com.airbyte.api.models.shared.DestinationWeaviateMode; +import com.airbyte.api.models.shared.DestinationWeaviateOpenAI; +import com.airbyte.api.models.shared.DestinationWeaviateOpenAICompatible; +import com.airbyte.api.models.shared.DestinationWeaviateProcessingConfigModel; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasEmbeddingEmbedding5Mode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasEmbeddingEmbedding6Mode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasEmbeddingEmbedding7Mode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasEmbeddingEmbeddingMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasEmbeddingMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasIndexingAuthAuthenticationMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasIndexingAuthMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasIndexingMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasProcessingMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasProcessingTextSplitterMode; +import com.airbyte.api.models.shared.DestinationWeaviateSchemasProcessingTextSplitterTextSplitterMode; +import com.airbyte.api.models.shared.DestinationWeaviateUsernamePassword; +import com.airbyte.api.models.shared.DevNull; +import com.airbyte.api.models.shared.Disable; +import com.airbyte.api.models.shared.DistanceMetric; +import com.airbyte.api.models.shared.DocArrayHnswSearch; +import com.airbyte.api.models.shared.Duckdb; +import com.airbyte.api.models.shared.DynamoDBRegion; +import com.airbyte.api.models.shared.Dynamodb; +import com.airbyte.api.models.shared.Elasticsearch; +import com.airbyte.api.models.shared.EncryptedTrustServerCertificate; +import com.airbyte.api.models.shared.EncryptedVerifyCertificate; +import com.airbyte.api.models.shared.EncryptionType; +import com.airbyte.api.models.shared.Fake; +import com.airbyte.api.models.shared.FieldNameMappingConfigModel; +import com.airbyte.api.models.shared.Firestore; +import com.airbyte.api.models.shared.Flattening; +import com.airbyte.api.models.shared.FormatType; +import com.airbyte.api.models.shared.FormatTypeWildcard; +import com.airbyte.api.models.shared.FromField; +import com.airbyte.api.models.shared.GCSBucketRegion; +import com.airbyte.api.models.shared.GCSStaging; +import com.airbyte.api.models.shared.GCSTmpFilesAfterwardProcessing; +import com.airbyte.api.models.shared.Gcs; +import com.airbyte.api.models.shared.Gzip; +import com.airbyte.api.models.shared.HMACKey; +import com.airbyte.api.models.shared.Header; +import com.airbyte.api.models.shared.IAMRole; +import com.airbyte.api.models.shared.IAMUser; +import com.airbyte.api.models.shared.Indexing; +import com.airbyte.api.models.shared.Instance; +import com.airbyte.api.models.shared.JSONLinesNewlineDelimitedJSON; +import com.airbyte.api.models.shared.KeyPairAuthentication; +import com.airbyte.api.models.shared.Langchain; +import com.airbyte.api.models.shared.LoginPassword; +import com.airbyte.api.models.shared.Method; +import com.airbyte.api.models.shared.Milvus; +import com.airbyte.api.models.shared.Mode; +import com.airbyte.api.models.shared.MongoDBAtlas; +import com.airbyte.api.models.shared.Mongodb; +import com.airbyte.api.models.shared.Mssql; +import com.airbyte.api.models.shared.Mysql; +import com.airbyte.api.models.shared.NoAuth; +import com.airbyte.api.models.shared.NoAuthentication; +import com.airbyte.api.models.shared.NoCompression; +import com.airbyte.api.models.shared.NoEncryption; +import com.airbyte.api.models.shared.NoExternalEmbedding; +import com.airbyte.api.models.shared.NoTunnel; +import com.airbyte.api.models.shared.None; +import com.airbyte.api.models.shared.Normalization; +import com.airbyte.api.models.shared.NormalizationFlattening; +import com.airbyte.api.models.shared.OAuth20Credentials; +import com.airbyte.api.models.shared.OpenAI; +import com.airbyte.api.models.shared.OpenAICompatible; +import com.airbyte.api.models.shared.Oracle; +import com.airbyte.api.models.shared.ParquetColumnarStorage; +import com.airbyte.api.models.shared.PasswordAuthentication; +import com.airbyte.api.models.shared.Pinecone; +import com.airbyte.api.models.shared.Postgres; +import com.airbyte.api.models.shared.Prefer; +import com.airbyte.api.models.shared.ProcessingConfigModel; +import com.airbyte.api.models.shared.Pubsub; +import com.airbyte.api.models.shared.Qdrant; +import com.airbyte.api.models.shared.RecommendedManagedTables; +import com.airbyte.api.models.shared.Redis; +import com.airbyte.api.models.shared.Redshift; +import com.airbyte.api.models.shared.ReplicaSet; +import com.airbyte.api.models.shared.Require; +import com.airbyte.api.models.shared.S3; +import com.airbyte.api.models.shared.S3BucketRegion; +import com.airbyte.api.models.shared.S3Glue; +import com.airbyte.api.models.shared.SSHKeyAuthentication; import com.airbyte.api.models.shared.Security; +import com.airbyte.api.models.shared.SerializationLibrary; +import com.airbyte.api.models.shared.SftpJson; +import com.airbyte.api.models.shared.Silent; +import com.airbyte.api.models.shared.Snappy; +import com.airbyte.api.models.shared.StandaloneMongoDbInstance; +import com.airbyte.api.models.shared.Standard; +import com.airbyte.api.models.shared.StandardInserts; +import com.airbyte.api.models.shared.Teradata; +import com.airbyte.api.models.shared.TestDestinationType; +import com.airbyte.api.models.shared.TransformationQueryRunType; +import com.airbyte.api.models.shared.TunnelMethod; +import com.airbyte.api.models.shared.Typesense; +import com.airbyte.api.models.shared.UsernameAndPassword; +import com.airbyte.api.models.shared.UsernamePassword; +import com.airbyte.api.models.shared.Vectara; +import com.airbyte.api.models.shared.VerifyCa; +import com.airbyte.api.models.shared.VerifyFull; +import com.airbyte.api.models.shared.Weaviate; +import com.airbyte.api.models.shared.Xz; +import com.airbyte.api.models.shared.Zstandard; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.PutDestinationRequest req = new PutDestinationRequest( - ""){{ - destinationPutRequest = new DestinationPutRequest( - "", - ""); - - }}; + PutDestinationRequest req = PutDestinationRequest.builder() + .destinationId("") + .destinationPutRequest(DestinationPutRequest.builder() + .configuration(DestinationConfiguration.of(DestinationGoogleSheets.builder() + .credentials(AuthenticationViaGoogleOAuth.builder() + .clientId("") + .clientSecret("") + .refreshToken("") + .build()) + .spreadsheetId("https://docs.google.com/spreadsheets/d/1hLd9Qqti3UyLXZB2aFfUWDT7BG/edit") + .build())) + .name("") + .build()) + .build(); - com.airbyte.api.models.operations.PutDestinationResponse res = sdk.destinations.putDestination(req); + PutDestinationResponse res = sdk.destinations().putDestination() + .request(req) + .call(); - if (res.destinationResponse != null) { + if (res.destinationResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -371,5 +1737,9 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.PutDestinationResponse](../../models/operations/PutDestinationResponse.md)** +**[Optional](../../models/operations/PutDestinationResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | diff --git a/docs/sdks/jobs/README.md b/docs/sdks/jobs/README.md index f900b9223..c9c5f7895 100644 --- a/docs/sdks/jobs/README.md +++ b/docs/sdks/jobs/README.md @@ -1,5 +1,5 @@ # Jobs -(*jobs*) +(*jobs()*) ### Available Operations @@ -18,33 +18,44 @@ Cancel a running Job package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.CancelJobRequest; import com.airbyte.api.models.operations.CancelJobResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.Security; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.CancelJobRequest req = new CancelJobRequest( - 801771L); + CancelJobRequest req = CancelJobRequest.builder() + .jobId(801771L) + .build(); - com.airbyte.api.models.operations.CancelJobResponse res = sdk.jobs.cancelJob(req); + CancelJobResponse res = sdk.jobs().cancelJob() + .request(req) + .call(); - if (res.jobResponse != null) { + if (res.jobResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -61,8 +72,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.CancelJobResponse](../../models/operations/CancelJobResponse.md)** +**[Optional](../../models/operations/CancelJobResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## createJob @@ -74,35 +89,46 @@ Trigger a sync or reset job of a connection package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.CreateJobResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.JobCreateRequest; import com.airbyte.api.models.shared.JobTypeEnum; import com.airbyte.api.models.shared.Security; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.shared.JobCreateRequest req = new JobCreateRequest( - "", - JobTypeEnum.SYNC); + JobCreateRequest req = JobCreateRequest.builder() + .connectionId("") + .jobType(JobTypeEnum.SYNC) + .build(); - com.airbyte.api.models.operations.CreateJobResponse res = sdk.jobs.createJob(req); + CreateJobResponse res = sdk.jobs().createJob() + .request(req) + .call(); - if (res.jobResponse != null) { + if (res.jobResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -119,8 +145,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.CreateJobResponse](../../models/operations/CreateJobResponse.md)** +**[Optional](../../models/operations/CreateJobResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## getJob @@ -132,33 +162,44 @@ Get Job status and details package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.GetJobRequest; import com.airbyte.api.models.operations.GetJobResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.Security; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.GetJobRequest req = new GetJobRequest( - 131101L); + GetJobRequest req = GetJobRequest.builder() + .jobId(131101L) + .build(); - com.airbyte.api.models.operations.GetJobResponse res = sdk.jobs.getJob(req); + GetJobResponse res = sdk.jobs().getJob() + .request(req) + .call(); - if (res.jobResponse != null) { + if (res.jobResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -175,8 +216,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.GetJobResponse](../../models/operations/GetJobResponse.md)** +**[Optional](../../models/operations/GetJobResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## listJobs @@ -188,51 +233,57 @@ List Jobs by sync type package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.ListJobsRequest; import com.airbyte.api.models.operations.ListJobsResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.JobStatusEnum; import com.airbyte.api.models.shared.JobTypeEnum; import com.airbyte.api.models.shared.Security; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.ListJobsRequest req = new ListJobsRequest( -){{ - connectionId = ""; - createdAtEnd = OffsetDateTime.parse("2024-06-04T16:21:45.917Z"); - createdAtStart = OffsetDateTime.parse("2023-04-03T04:39:28.005Z"); - jobType = JobTypeEnum.SYNC; - limit = 955698; - offset = 624731; - orderBy = ""; - status = JobStatusEnum.PENDING; - updatedAtEnd = OffsetDateTime.parse("2023-12-07T18:30:31.244Z"); - updatedAtStart = OffsetDateTime.parse("2023-06-02T22:15:44.179Z"); - workspaceIds = new String[]{{ - add("de801f6f-5d37-41c0-9bc4-dea632e540b9"), - }}; - - }}; - - com.airbyte.api.models.operations.ListJobsResponse res = sdk.jobs.listJobs(req); - - if (res.jobsResponse != null) { + ListJobsRequest req = ListJobsRequest.builder() + .connectionId("") + .createdAtEnd(OffsetDateTime.parse("2024-06-04T16:21:45.917Z")) + .createdAtStart(OffsetDateTime.parse("2023-04-03T04:39:28.005Z")) + .jobType(JobTypeEnum.SYNC) + .limit(955698) + .offset(624731) + .orderBy("") + .status(JobStatusEnum.PENDING) + .updatedAtEnd(OffsetDateTime.parse("2023-12-07T18:30:31.244Z")) + .updatedAtStart(OffsetDateTime.parse("2023-06-02T22:15:44.179Z")) + .workspaceIds(java.util.List.of( + "de801f6f-5d37-41c0-9bc4-dea632e540b9")) + .build(); + + ListJobsResponse res = sdk.jobs().listJobs() + .request(req) + .call(); + + if (res.jobsResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -249,5 +300,9 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.ListJobsResponse](../../models/operations/ListJobsResponse.md)** +**[Optional](../../models/operations/ListJobsResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | diff --git a/docs/sdks/sources/README.md b/docs/sdks/sources/README.md index ac97ae83d..77edd5b02 100644 --- a/docs/sdks/sources/README.md +++ b/docs/sdks/sources/README.md @@ -1,5 +1,5 @@ # Sources -(*sources*) +(*sources()*) ### Available Operations @@ -21,39 +21,1108 @@ Creates a source given a name, workspace id, and a json blob containing the conf package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.CreateSourceResponse; +import com.airbyte.api.models.shared.*; +import com.airbyte.api.models.shared.APIAccessToken; +import com.airbyte.api.models.shared.APIKey; +import com.airbyte.api.models.shared.APIPassword; +import com.airbyte.api.models.shared.APIToken; +import com.airbyte.api.models.shared.AWSEnvironment; +import com.airbyte.api.models.shared.AWSRegion; +import com.airbyte.api.models.shared.AWSSellerPartnerAccountType; +import com.airbyte.api.models.shared.AccessToken; +import com.airbyte.api.models.shared.AccessTokenIsRequiredForAuthenticationRequests; +import com.airbyte.api.models.shared.AccountNames; +import com.airbyte.api.models.shared.ActionReportTime; +import com.airbyte.api.models.shared.AdAnalyticsReportConfiguration; +import com.airbyte.api.models.shared.Aha; +import com.airbyte.api.models.shared.Aircall; +import com.airbyte.api.models.shared.AmazonSqs; +import com.airbyte.api.models.shared.Amplitude; +import com.airbyte.api.models.shared.AndGroup; +import com.airbyte.api.models.shared.ApifyDataset; +import com.airbyte.api.models.shared.Appfollow; +import com.airbyte.api.models.shared.Applications; +import com.airbyte.api.models.shared.Auth0; +import com.airbyte.api.models.shared.AuthMethod; +import com.airbyte.api.models.shared.AuthType; +import com.airbyte.api.models.shared.AuthenticateViaAPIKey; +import com.airbyte.api.models.shared.AuthenticateViaAsanaOauth; +import com.airbyte.api.models.shared.AuthenticateViaGoogleOauth; +import com.airbyte.api.models.shared.AuthenticateViaLeverApiKey; +import com.airbyte.api.models.shared.AuthenticateViaLeverOAuth; +import com.airbyte.api.models.shared.AuthenticateViaMicrosoft; +import com.airbyte.api.models.shared.AuthenticateViaMicrosoftOAuth20; +import com.airbyte.api.models.shared.AuthenticateViaMicrosoftOAuth; +import com.airbyte.api.models.shared.AuthenticateViaOAuth; +import com.airbyte.api.models.shared.AuthenticateWithPersonalAccessToken; +import com.airbyte.api.models.shared.Autogenerated; +import com.airbyte.api.models.shared.Avro; +import com.airbyte.api.models.shared.AvroFormat; +import com.airbyte.api.models.shared.AwsCloudtrail; +import com.airbyte.api.models.shared.AzBlobAzureBlobStorage; +import com.airbyte.api.models.shared.AzureTable; +import com.airbyte.api.models.shared.BambooHr; +import com.airbyte.api.models.shared.BetweenFilter; +import com.airbyte.api.models.shared.BothUsernameAndPasswordIsRequiredForAuthenticationRequest; +import com.airbyte.api.models.shared.Braintree; +import com.airbyte.api.models.shared.Braze; +import com.airbyte.api.models.shared.CSVFormat; +import com.airbyte.api.models.shared.Cart; +import com.airbyte.api.models.shared.Categories; +import com.airbyte.api.models.shared.CentralAPIRouter; +import com.airbyte.api.models.shared.Chargebee; +import com.airbyte.api.models.shared.Chartmogul; +import com.airbyte.api.models.shared.ClickWindowDays; +import com.airbyte.api.models.shared.ClickupApi; +import com.airbyte.api.models.shared.Clockify; +import com.airbyte.api.models.shared.CloseCom; +import com.airbyte.api.models.shared.Coda; +import com.airbyte.api.models.shared.CohortReportSettings; +import com.airbyte.api.models.shared.Cohorts; +import com.airbyte.api.models.shared.CohortsRange; +import com.airbyte.api.models.shared.CoinApi; +import com.airbyte.api.models.shared.Coinmarketcap; +import com.airbyte.api.models.shared.Collection; +import com.airbyte.api.models.shared.Configcat; +import com.airbyte.api.models.shared.Confluence; +import com.airbyte.api.models.shared.ConnectionType; +import com.airbyte.api.models.shared.ContentType; +import com.airbyte.api.models.shared.ConversionReportTime; +import com.airbyte.api.models.shared.Country; +import com.airbyte.api.models.shared.Csv; +import com.airbyte.api.models.shared.CustomQueriesArray; +import com.airbyte.api.models.shared.CustomReportConfig; +import com.airbyte.api.models.shared.CustomerStatus; +import com.airbyte.api.models.shared.DataCenterLocation; +import com.airbyte.api.models.shared.DataFreshness; +import com.airbyte.api.models.shared.DataRegion; +import com.airbyte.api.models.shared.DataType; +import com.airbyte.api.models.shared.Datascope; +import com.airbyte.api.models.shared.DateRange; +import com.airbyte.api.models.shared.Delighted; +import com.airbyte.api.models.shared.DetailType; +import com.airbyte.api.models.shared.DetectChangesWithXminSystemColumn; +import com.airbyte.api.models.shared.Dimension; +import com.airbyte.api.models.shared.Disabled; +import com.airbyte.api.models.shared.Dixa; +import com.airbyte.api.models.shared.Dockerhub; +import com.airbyte.api.models.shared.DocumentFileTypeFormatExperimental; +import com.airbyte.api.models.shared.DoubleValue; +import com.airbyte.api.models.shared.Dremio; +import com.airbyte.api.models.shared.EUBasedAccount; +import com.airbyte.api.models.shared.Emailoctopus; +import com.airbyte.api.models.shared.Enabled; +import com.airbyte.api.models.shared.EncryptionAlgorithm; +import com.airbyte.api.models.shared.EncryptionMethod; +import com.airbyte.api.models.shared.EngagementWindowDays; +import com.airbyte.api.models.shared.Environment; +import com.airbyte.api.models.shared.ExchangeRates; +import com.airbyte.api.models.shared.Expression; +import com.airbyte.api.models.shared.Faker; +import com.airbyte.api.models.shared.Fauna; +import com.airbyte.api.models.shared.File; +import com.airbyte.api.models.shared.FileBasedStreamConfig; +import com.airbyte.api.models.shared.FileFormat; +import com.airbyte.api.models.shared.FileType; +import com.airbyte.api.models.shared.Filter; +import com.airbyte.api.models.shared.FilterName; +import com.airbyte.api.models.shared.FilterType; +import com.airbyte.api.models.shared.Firebolt; +import com.airbyte.api.models.shared.Freshcaller; +import com.airbyte.api.models.shared.Freshdesk; +import com.airbyte.api.models.shared.Freshsales; +import com.airbyte.api.models.shared.FromCSV; +import com.airbyte.api.models.shared.GCSGoogleCloudStorage; +import com.airbyte.api.models.shared.GainsightPx; +import com.airbyte.api.models.shared.Getlago; +import com.airbyte.api.models.shared.Glassfrog; +import com.airbyte.api.models.shared.GlobalAccount; +import com.airbyte.api.models.shared.Gnews; +import com.airbyte.api.models.shared.GoogleAnalyticsV4ServiceAccountOnly; +import com.airbyte.api.models.shared.GoogleCredentials; +import com.airbyte.api.models.shared.GoogleDirectory; +import com.airbyte.api.models.shared.GooglePagespeedInsights; +import com.airbyte.api.models.shared.GoogleWebfonts; +import com.airbyte.api.models.shared.Granularity; +import com.airbyte.api.models.shared.GranularityForGeoLocationRegion; +import com.airbyte.api.models.shared.GranularityForPeriodicReports; +import com.airbyte.api.models.shared.Greenhouse; +import com.airbyte.api.models.shared.Gridly; +import com.airbyte.api.models.shared.HTTPSPublicWeb; +import com.airbyte.api.models.shared.HeaderDefinitionType; +import com.airbyte.api.models.shared.Hubplanner; +import com.airbyte.api.models.shared.In; +import com.airbyte.api.models.shared.InListFilter; +import com.airbyte.api.models.shared.InferenceType; +import com.airbyte.api.models.shared.InsightConfig; +import com.airbyte.api.models.shared.Insightly; +import com.airbyte.api.models.shared.Instatus; +import com.airbyte.api.models.shared.Int64Value; +import com.airbyte.api.models.shared.InvalidCDCPositionBehaviorAdvanced; +import com.airbyte.api.models.shared.Ip2whois; +import com.airbyte.api.models.shared.IssuesStreamExpandWith; +import com.airbyte.api.models.shared.Iterable; +import com.airbyte.api.models.shared.Jira; +import com.airbyte.api.models.shared.Jsonl; +import com.airbyte.api.models.shared.JsonlFormat; +import com.airbyte.api.models.shared.K6Cloud; +import com.airbyte.api.models.shared.Klarna; +import com.airbyte.api.models.shared.Klaviyo; +import com.airbyte.api.models.shared.Kyve; +import com.airbyte.api.models.shared.Language; +import com.airbyte.api.models.shared.Launchdarkly; +import com.airbyte.api.models.shared.Lemlist; +import com.airbyte.api.models.shared.Level; +import com.airbyte.api.models.shared.LinkedinPages; +import com.airbyte.api.models.shared.Linnworks; +import com.airbyte.api.models.shared.Local; +import com.airbyte.api.models.shared.Lokalise; +import com.airbyte.api.models.shared.Mailgun; +import com.airbyte.api.models.shared.MailjetSms; +import com.airbyte.api.models.shared.Marketo; +import com.airbyte.api.models.shared.Metabase; +import com.airbyte.api.models.shared.Mixpanel; +import com.airbyte.api.models.shared.MongodbInternalPoc; +import com.airbyte.api.models.shared.MongodbV2; +import com.airbyte.api.models.shared.MyHours; +import com.airbyte.api.models.shared.NativeNetworkEncryptionNNE; +import com.airbyte.api.models.shared.Netsuite; +import com.airbyte.api.models.shared.NotExpression; +import com.airbyte.api.models.shared.Nullable; +import com.airbyte.api.models.shared.NumericFilter; +import com.airbyte.api.models.shared.Nytimes; +import com.airbyte.api.models.shared.OAuth20; +import com.airbyte.api.models.shared.OAuth2AccessToken; +import com.airbyte.api.models.shared.OAuth2ConfidentialApplication; +import com.airbyte.api.models.shared.OAuth; +import com.airbyte.api.models.shared.OauthAuthentication; +import com.airbyte.api.models.shared.Okta; +import com.airbyte.api.models.shared.Omnisend; +import com.airbyte.api.models.shared.Onesignal; +import com.airbyte.api.models.shared.Operator; +import com.airbyte.api.models.shared.OptionTitle; +import com.airbyte.api.models.shared.OptionsList; +import com.airbyte.api.models.shared.OrGroup; +import com.airbyte.api.models.shared.Orb; +import com.airbyte.api.models.shared.Orbit; +import com.airbyte.api.models.shared.OriginDatacenterOfTheSurveyMonkeyAccount; +import com.airbyte.api.models.shared.OutbrainAmplify; +import com.airbyte.api.models.shared.Outreach; +import com.airbyte.api.models.shared.Parquet; +import com.airbyte.api.models.shared.ParquetFormat; +import com.airbyte.api.models.shared.ParsingStrategy; +import com.airbyte.api.models.shared.PaypalTransaction; +import com.airbyte.api.models.shared.Paystack; +import com.airbyte.api.models.shared.Pendo; +import com.airbyte.api.models.shared.PeriodUsedForMostPopularStreams; +import com.airbyte.api.models.shared.Persistiq; +import com.airbyte.api.models.shared.PersonalAccessToken; +import com.airbyte.api.models.shared.PexelsApi; +import com.airbyte.api.models.shared.Pipedrive; +import com.airbyte.api.models.shared.PivotCategory; +import com.airbyte.api.models.shared.Pocket; +import com.airbyte.api.models.shared.Pokeapi; +import com.airbyte.api.models.shared.PokemonName; +import com.airbyte.api.models.shared.PolygonStockApi; +import com.airbyte.api.models.shared.Posthog; +import com.airbyte.api.models.shared.Postmarkapp; +import com.airbyte.api.models.shared.Preferred; +import com.airbyte.api.models.shared.Prestashop; +import com.airbyte.api.models.shared.PrivateApp; +import com.airbyte.api.models.shared.PrivateToken; +import com.airbyte.api.models.shared.ProductCatalog; +import com.airbyte.api.models.shared.ProjectSecret; +import com.airbyte.api.models.shared.PunkApi; +import com.airbyte.api.models.shared.Pypi; +import com.airbyte.api.models.shared.Qualaroo; +import com.airbyte.api.models.shared.Quickbooks; +import com.airbyte.api.models.shared.Railz; +import com.airbyte.api.models.shared.ReadChangesUsingBinaryLogCDC; +import com.airbyte.api.models.shared.ReadChangesUsingChangeDataCaptureCDC; +import com.airbyte.api.models.shared.Recharge; +import com.airbyte.api.models.shared.Recreation; +import com.airbyte.api.models.shared.Recruitee; +import com.airbyte.api.models.shared.Recurly; +import com.airbyte.api.models.shared.Region; +import com.airbyte.api.models.shared.ReportConfig; +import com.airbyte.api.models.shared.ReportOptions; +import com.airbyte.api.models.shared.ReportRecordTypes; +import com.airbyte.api.models.shared.ReportingDataObject; +import com.airbyte.api.models.shared.Required; +import com.airbyte.api.models.shared.RkiCovid; +import com.airbyte.api.models.shared.Rss; +import com.airbyte.api.models.shared.S3AmazonWebServices; +import com.airbyte.api.models.shared.SCPSecureCopyProtocol; +import com.airbyte.api.models.shared.SFTPSecureFileTransferProtocol; +import com.airbyte.api.models.shared.SSHSecureShell; +import com.airbyte.api.models.shared.Salesloft; +import com.airbyte.api.models.shared.SandboxAccessToken; +import com.airbyte.api.models.shared.SapFieldglass; +import com.airbyte.api.models.shared.ScanChangesWithUserDefinedCursor; +import com.airbyte.api.models.shared.SearchCriteria; +import com.airbyte.api.models.shared.SearchScope; +import com.airbyte.api.models.shared.Secoda; import com.airbyte.api.models.shared.Security; +import com.airbyte.api.models.shared.Sendgrid; +import com.airbyte.api.models.shared.Sendinblue; +import com.airbyte.api.models.shared.Senseforce; +import com.airbyte.api.models.shared.Sentry; +import com.airbyte.api.models.shared.ServiceAccount; +import com.airbyte.api.models.shared.ServiceAccountKey; +import com.airbyte.api.models.shared.ServiceAccountKeyAuthentication; +import com.airbyte.api.models.shared.ServiceKeyAuthentication; +import com.airbyte.api.models.shared.ServiceName; +import com.airbyte.api.models.shared.Sftp; +import com.airbyte.api.models.shared.SftpBulk; +import com.airbyte.api.models.shared.ShareTypeUsedForMostPopularSharedStream; +import com.airbyte.api.models.shared.Shortio; +import com.airbyte.api.models.shared.SignInViaGoogleOAuth; +import com.airbyte.api.models.shared.SignInViaSlackOAuth; +import com.airbyte.api.models.shared.SingleStoreAccessToken; +import com.airbyte.api.models.shared.Smaily; +import com.airbyte.api.models.shared.Smartengage; +import com.airbyte.api.models.shared.SonarCloud; +import com.airbyte.api.models.shared.SortBy; +import com.airbyte.api.models.shared.SourceAha; +import com.airbyte.api.models.shared.SourceAircall; +import com.airbyte.api.models.shared.SourceAirtable; +import com.airbyte.api.models.shared.SourceAirtableAirtable; +import com.airbyte.api.models.shared.SourceAirtableAuthMethod; +import com.airbyte.api.models.shared.SourceAirtableOAuth20; +import com.airbyte.api.models.shared.SourceAirtableSchemasAuthMethod; +import com.airbyte.api.models.shared.SourceAmazonAds; +import com.airbyte.api.models.shared.SourceAmazonAdsAmazonAds; +import com.airbyte.api.models.shared.SourceAmazonAdsAuthType; +import com.airbyte.api.models.shared.SourceAmazonSellerPartner; +import com.airbyte.api.models.shared.SourceAmazonSellerPartnerAmazonSellerPartner; +import com.airbyte.api.models.shared.SourceAmazonSellerPartnerAuthType; +import com.airbyte.api.models.shared.SourceAmazonSqs; +import com.airbyte.api.models.shared.SourceAmazonSqsAWSRegion; +import com.airbyte.api.models.shared.SourceAmplitude; +import com.airbyte.api.models.shared.SourceApifyDataset; +import com.airbyte.api.models.shared.SourceAppfollow; +import com.airbyte.api.models.shared.SourceAsana; +import com.airbyte.api.models.shared.SourceAsanaAsana; +import com.airbyte.api.models.shared.SourceAsanaCredentialsTitle; +import com.airbyte.api.models.shared.SourceAsanaSchemasCredentialsTitle; +import com.airbyte.api.models.shared.SourceAuth0; +import com.airbyte.api.models.shared.SourceAuth0SchemasAuthenticationMethod; +import com.airbyte.api.models.shared.SourceAuth0SchemasCredentialsAuthenticationMethod; +import com.airbyte.api.models.shared.SourceAwsCloudtrail; +import com.airbyte.api.models.shared.SourceAzureBlobStorage; +import com.airbyte.api.models.shared.SourceAzureBlobStorageAzureBlobStorage; +import com.airbyte.api.models.shared.SourceAzureBlobStorageFiletype; +import com.airbyte.api.models.shared.SourceAzureBlobStorageHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceAzureBlobStorageMode; +import com.airbyte.api.models.shared.SourceAzureBlobStorageSchemasFiletype; +import com.airbyte.api.models.shared.SourceAzureBlobStorageSchemasHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceAzureBlobStorageSchemasStreamsFiletype; +import com.airbyte.api.models.shared.SourceAzureBlobStorageSchemasStreamsFormatFiletype; +import com.airbyte.api.models.shared.SourceAzureBlobStorageSchemasStreamsFormatFormatFiletype; +import com.airbyte.api.models.shared.SourceAzureTable; +import com.airbyte.api.models.shared.SourceBambooHr; +import com.airbyte.api.models.shared.SourceBigquery; +import com.airbyte.api.models.shared.SourceBigqueryBigquery; +import com.airbyte.api.models.shared.SourceBingAds; +import com.airbyte.api.models.shared.SourceBingAdsBingAds; +import com.airbyte.api.models.shared.SourceBraintree; +import com.airbyte.api.models.shared.SourceBraintreeEnvironment; +import com.airbyte.api.models.shared.SourceBraze; +import com.airbyte.api.models.shared.SourceCart; +import com.airbyte.api.models.shared.SourceCartAuthType; +import com.airbyte.api.models.shared.SourceCartSchemasAuthType; +import com.airbyte.api.models.shared.SourceChargebee; +import com.airbyte.api.models.shared.SourceChartmogul; +import com.airbyte.api.models.shared.SourceClickhouse; +import com.airbyte.api.models.shared.SourceClickhouseClickhouse; +import com.airbyte.api.models.shared.SourceClickhouseNoTunnel; +import com.airbyte.api.models.shared.SourceClickhousePasswordAuthentication; +import com.airbyte.api.models.shared.SourceClickhouseSSHKeyAuthentication; +import com.airbyte.api.models.shared.SourceClickhouseSchemasTunnelMethod; +import com.airbyte.api.models.shared.SourceClickhouseSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.SourceClickhouseTunnelMethod; +import com.airbyte.api.models.shared.SourceClickupApi; +import com.airbyte.api.models.shared.SourceClockify; +import com.airbyte.api.models.shared.SourceCloseCom; +import com.airbyte.api.models.shared.SourceCoda; +import com.airbyte.api.models.shared.SourceCoinApi; +import com.airbyte.api.models.shared.SourceCoinmarketcap; +import com.airbyte.api.models.shared.SourceConfigcat; +import com.airbyte.api.models.shared.SourceConfluence; +import com.airbyte.api.models.shared.SourceConvex; +import com.airbyte.api.models.shared.SourceConvexConvex; import com.airbyte.api.models.shared.SourceCreateRequest; +import com.airbyte.api.models.shared.SourceDatascope; +import com.airbyte.api.models.shared.SourceDelighted; +import com.airbyte.api.models.shared.SourceDixa; +import com.airbyte.api.models.shared.SourceDockerhub; +import com.airbyte.api.models.shared.SourceDremio; +import com.airbyte.api.models.shared.SourceDynamodb; +import com.airbyte.api.models.shared.SourceDynamodbDynamodb; +import com.airbyte.api.models.shared.SourceDynamodbDynamodbRegion; +import com.airbyte.api.models.shared.SourceEmailoctopus; +import com.airbyte.api.models.shared.SourceExchangeRates; +import com.airbyte.api.models.shared.SourceFacebookMarketing; +import com.airbyte.api.models.shared.SourceFacebookMarketingActionReportTime; +import com.airbyte.api.models.shared.SourceFacebookMarketingFacebookMarketing; +import com.airbyte.api.models.shared.SourceFacebookMarketingValidEnums; +import com.airbyte.api.models.shared.SourceFaker; +import com.airbyte.api.models.shared.SourceFauna; +import com.airbyte.api.models.shared.SourceFaunaDeletionMode; +import com.airbyte.api.models.shared.SourceFaunaSchemasDeletionMode; +import com.airbyte.api.models.shared.SourceFile; +import com.airbyte.api.models.shared.SourceFileS3AmazonWebServices; +import com.airbyte.api.models.shared.SourceFileSchemasProviderStorage; +import com.airbyte.api.models.shared.SourceFileSchemasProviderStorageProvider6Storage; +import com.airbyte.api.models.shared.SourceFileSchemasProviderStorageProvider7Storage; +import com.airbyte.api.models.shared.SourceFileSchemasProviderStorageProviderStorage; +import com.airbyte.api.models.shared.SourceFileSchemasStorage; +import com.airbyte.api.models.shared.SourceFileStorage; +import com.airbyte.api.models.shared.SourceFirebolt; +import com.airbyte.api.models.shared.SourceFreshcaller; +import com.airbyte.api.models.shared.SourceFreshdesk; +import com.airbyte.api.models.shared.SourceFreshsales; +import com.airbyte.api.models.shared.SourceGCSStreamConfig; +import com.airbyte.api.models.shared.SourceGainsightPx; +import com.airbyte.api.models.shared.SourceGcs; +import com.airbyte.api.models.shared.SourceGcsAutogenerated; +import com.airbyte.api.models.shared.SourceGcsCSVFormat; +import com.airbyte.api.models.shared.SourceGcsFiletype; +import com.airbyte.api.models.shared.SourceGcsFromCSV; +import com.airbyte.api.models.shared.SourceGcsGcs; +import com.airbyte.api.models.shared.SourceGcsHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceGcsInferenceType; +import com.airbyte.api.models.shared.SourceGcsSchemasHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceGcsSchemasStreamsHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceGcsUserProvided; +import com.airbyte.api.models.shared.SourceGcsValidationPolicy; +import com.airbyte.api.models.shared.SourceGetlago; +import com.airbyte.api.models.shared.SourceGithub; +import com.airbyte.api.models.shared.SourceGithubGithub; +import com.airbyte.api.models.shared.SourceGithubOptionTitle; +import com.airbyte.api.models.shared.SourceGithubPersonalAccessToken; +import com.airbyte.api.models.shared.SourceGitlab; +import com.airbyte.api.models.shared.SourceGitlabAuthType; +import com.airbyte.api.models.shared.SourceGitlabGitlab; +import com.airbyte.api.models.shared.SourceGitlabOAuth20; +import com.airbyte.api.models.shared.SourceGitlabSchemasAuthType; +import com.airbyte.api.models.shared.SourceGlassfrog; +import com.airbyte.api.models.shared.SourceGnews; +import com.airbyte.api.models.shared.SourceGoogleAds; +import com.airbyte.api.models.shared.SourceGoogleAdsGoogleAds; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApi; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiAndGroup; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiAuthType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiBetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiCustomReportConfig; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiDisabled; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiEnabled; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiExpression; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiFilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiGoogleAnalyticsDataApi; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiGranularity; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiInListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiNotExpression; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiNumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiOrGroup; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasAuthType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasBetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ToValueValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ToValueValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ToValueValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayEnabled; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ToValueValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ToValueValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasEnabled; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasExpression; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasFilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasInListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasNumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasStringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiStringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsV4ServiceAccountOnly; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsV4ServiceAccountOnlyAuthType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication; +import com.airbyte.api.models.shared.SourceGoogleDirectory; +import com.airbyte.api.models.shared.SourceGoogleDirectoryCredentialsTitle; +import com.airbyte.api.models.shared.SourceGoogleDirectorySchemasCredentialsTitle; +import com.airbyte.api.models.shared.SourceGoogleDrive; +import com.airbyte.api.models.shared.SourceGoogleDriveAuthType; +import com.airbyte.api.models.shared.SourceGoogleDriveAuthenticateViaGoogleOAuth; +import com.airbyte.api.models.shared.SourceGoogleDriveAutogenerated; +import com.airbyte.api.models.shared.SourceGoogleDriveAvroFormat; +import com.airbyte.api.models.shared.SourceGoogleDriveCSVFormat; +import com.airbyte.api.models.shared.SourceGoogleDriveDocumentFileTypeFormatExperimental; +import com.airbyte.api.models.shared.SourceGoogleDriveFileBasedStreamConfig; +import com.airbyte.api.models.shared.SourceGoogleDriveFiletype; +import com.airbyte.api.models.shared.SourceGoogleDriveFromCSV; +import com.airbyte.api.models.shared.SourceGoogleDriveGoogleDrive; +import com.airbyte.api.models.shared.SourceGoogleDriveHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceGoogleDriveJsonlFormat; +import com.airbyte.api.models.shared.SourceGoogleDriveLocal; +import com.airbyte.api.models.shared.SourceGoogleDriveMode; +import com.airbyte.api.models.shared.SourceGoogleDriveParquetFormat; +import com.airbyte.api.models.shared.SourceGoogleDriveParsingStrategy; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasAuthType; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasFiletype; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasStreamsFiletype; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasStreamsFormatFiletype; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasStreamsFormatFormatFiletype; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasStreamsHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceGoogleDriveServiceAccountKeyAuthentication; +import com.airbyte.api.models.shared.SourceGoogleDriveUserProvided; +import com.airbyte.api.models.shared.SourceGoogleDriveValidationPolicy; +import com.airbyte.api.models.shared.SourceGooglePagespeedInsights; +import com.airbyte.api.models.shared.SourceGoogleSearchConsole; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleAuthType; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleCustomReportConfig; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleGoogleSearchConsole; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleOAuth; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleSchemasAuthType; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleServiceAccountKeyAuthentication; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleValidEnums; +import com.airbyte.api.models.shared.SourceGoogleSheets; +import com.airbyte.api.models.shared.SourceGoogleSheetsAuthType; +import com.airbyte.api.models.shared.SourceGoogleSheetsAuthenticateViaGoogleOAuth; +import com.airbyte.api.models.shared.SourceGoogleSheetsGoogleSheets; +import com.airbyte.api.models.shared.SourceGoogleSheetsSchemasAuthType; +import com.airbyte.api.models.shared.SourceGoogleSheetsServiceAccountKeyAuthentication; +import com.airbyte.api.models.shared.SourceGoogleWebfonts; +import com.airbyte.api.models.shared.SourceGreenhouse; +import com.airbyte.api.models.shared.SourceGridly; +import com.airbyte.api.models.shared.SourceHarvest; +import com.airbyte.api.models.shared.SourceHarvestHarvest; +import com.airbyte.api.models.shared.SourceHubplanner; +import com.airbyte.api.models.shared.SourceHubspot; +import com.airbyte.api.models.shared.SourceHubspotAuthType; +import com.airbyte.api.models.shared.SourceHubspotHubspot; +import com.airbyte.api.models.shared.SourceHubspotOAuth; +import com.airbyte.api.models.shared.SourceHubspotSchemasAuthType; +import com.airbyte.api.models.shared.SourceInsightly; +import com.airbyte.api.models.shared.SourceInstagram; +import com.airbyte.api.models.shared.SourceInstagramInstagram; +import com.airbyte.api.models.shared.SourceInstatus; +import com.airbyte.api.models.shared.SourceIntercom; +import com.airbyte.api.models.shared.SourceIntercomIntercom; +import com.airbyte.api.models.shared.SourceIp2whois; +import com.airbyte.api.models.shared.SourceIterable; +import com.airbyte.api.models.shared.SourceJira; +import com.airbyte.api.models.shared.SourceK6Cloud; +import com.airbyte.api.models.shared.SourceKlarna; +import com.airbyte.api.models.shared.SourceKlarnaRegion; +import com.airbyte.api.models.shared.SourceKlaviyo; +import com.airbyte.api.models.shared.SourceKyve; +import com.airbyte.api.models.shared.SourceLaunchdarkly; +import com.airbyte.api.models.shared.SourceLemlist; +import com.airbyte.api.models.shared.SourceLeverHiring; +import com.airbyte.api.models.shared.SourceLeverHiringAuthType; +import com.airbyte.api.models.shared.SourceLeverHiringEnvironment; +import com.airbyte.api.models.shared.SourceLeverHiringLeverHiring; +import com.airbyte.api.models.shared.SourceLeverHiringSchemasAuthType; +import com.airbyte.api.models.shared.SourceLinkedinAds; +import com.airbyte.api.models.shared.SourceLinkedinAdsAuthMethod; +import com.airbyte.api.models.shared.SourceLinkedinAdsLinkedinAds; +import com.airbyte.api.models.shared.SourceLinkedinAdsOAuth20; +import com.airbyte.api.models.shared.SourceLinkedinAdsSchemasAuthMethod; +import com.airbyte.api.models.shared.SourceLinkedinPages; +import com.airbyte.api.models.shared.SourceLinkedinPagesAccessToken; +import com.airbyte.api.models.shared.SourceLinkedinPagesAuthMethod; +import com.airbyte.api.models.shared.SourceLinkedinPagesOAuth20; +import com.airbyte.api.models.shared.SourceLinkedinPagesSchemasAuthMethod; +import com.airbyte.api.models.shared.SourceLinnworks; +import com.airbyte.api.models.shared.SourceLokalise; +import com.airbyte.api.models.shared.SourceMailchimp; +import com.airbyte.api.models.shared.SourceMailchimpAuthType; +import com.airbyte.api.models.shared.SourceMailchimpMailchimp; +import com.airbyte.api.models.shared.SourceMailchimpOAuth20; +import com.airbyte.api.models.shared.SourceMailchimpSchemasAuthType; +import com.airbyte.api.models.shared.SourceMailgun; +import com.airbyte.api.models.shared.SourceMailjetSms; +import com.airbyte.api.models.shared.SourceMarketo; +import com.airbyte.api.models.shared.SourceMetabase; +import com.airbyte.api.models.shared.SourceMicrosoftOnedrive; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveAuthType; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveAutogenerated; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveAvroFormat; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveCSVFormat; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveFileBasedStreamConfig; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveFromCSV; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveJsonlFormat; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveLocal; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveMicrosoftOnedrive; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveMode; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveParquetFormat; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveParsingStrategy; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasAuthType; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasStreamsFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasStreamsFormatFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasStreamsFormatFormatFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasStreamsHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveUserProvided; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveValidationPolicy; +import com.airbyte.api.models.shared.SourceMicrosoftSharepoint; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointAuthType; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointAutogenerated; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointAvroFormat; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointCSVFormat; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointDocumentFileTypeFormatExperimental; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointFileBasedStreamConfig; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointFromCSV; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointJsonlFormat; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointLocal; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointMicrosoftSharepoint; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointMode; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointParquetFormat; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointParsingStrategy; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasAuthType; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasStreamsFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasStreamsFormatFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasStreamsFormatFormatFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasStreamsHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSearchScope; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointServiceKeyAuthentication; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointUserProvided; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointValidationPolicy; +import com.airbyte.api.models.shared.SourceMicrosoftTeams; +import com.airbyte.api.models.shared.SourceMicrosoftTeamsAuthType; +import com.airbyte.api.models.shared.SourceMicrosoftTeamsMicrosoftTeams; +import com.airbyte.api.models.shared.SourceMicrosoftTeamsSchemasAuthType; +import com.airbyte.api.models.shared.SourceMixpanel; +import com.airbyte.api.models.shared.SourceMixpanelOptionTitle; +import com.airbyte.api.models.shared.SourceMixpanelRegion; +import com.airbyte.api.models.shared.SourceMixpanelSchemasOptionTitle; +import com.airbyte.api.models.shared.SourceMonday; +import com.airbyte.api.models.shared.SourceMondayAuthType; +import com.airbyte.api.models.shared.SourceMondayMonday; +import com.airbyte.api.models.shared.SourceMondayOAuth20; +import com.airbyte.api.models.shared.SourceMondaySchemasAuthType; +import com.airbyte.api.models.shared.SourceMongodbInternalPoc; +import com.airbyte.api.models.shared.SourceMongodbV2; +import com.airbyte.api.models.shared.SourceMssql; +import com.airbyte.api.models.shared.SourceMssqlEncryptedTrustServerCertificate; +import com.airbyte.api.models.shared.SourceMssqlEncryptedVerifyCertificate; +import com.airbyte.api.models.shared.SourceMssqlInvalidCDCPositionBehaviorAdvanced; +import com.airbyte.api.models.shared.SourceMssqlMethod; +import com.airbyte.api.models.shared.SourceMssqlMssql; +import com.airbyte.api.models.shared.SourceMssqlNoTunnel; +import com.airbyte.api.models.shared.SourceMssqlPasswordAuthentication; +import com.airbyte.api.models.shared.SourceMssqlSSHKeyAuthentication; +import com.airbyte.api.models.shared.SourceMssqlSchemasMethod; +import com.airbyte.api.models.shared.SourceMssqlSchemasSSLMethodSSLMethodSSLMethod; +import com.airbyte.api.models.shared.SourceMssqlSchemasSslMethod; +import com.airbyte.api.models.shared.SourceMssqlSchemasSslMethodSslMethod; +import com.airbyte.api.models.shared.SourceMssqlSchemasTunnelMethod; +import com.airbyte.api.models.shared.SourceMssqlSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.SourceMssqlTunnelMethod; +import com.airbyte.api.models.shared.SourceMyHours; +import com.airbyte.api.models.shared.SourceMysql; +import com.airbyte.api.models.shared.SourceMysqlInvalidCDCPositionBehaviorAdvanced; +import com.airbyte.api.models.shared.SourceMysqlMethod; +import com.airbyte.api.models.shared.SourceMysqlMode; +import com.airbyte.api.models.shared.SourceMysqlMysql; +import com.airbyte.api.models.shared.SourceMysqlNoTunnel; +import com.airbyte.api.models.shared.SourceMysqlPasswordAuthentication; +import com.airbyte.api.models.shared.SourceMysqlSSHKeyAuthentication; +import com.airbyte.api.models.shared.SourceMysqlScanChangesWithUserDefinedCursor; +import com.airbyte.api.models.shared.SourceMysqlSchemasMethod; +import com.airbyte.api.models.shared.SourceMysqlSchemasMode; +import com.airbyte.api.models.shared.SourceMysqlSchemasSSLModeSSLModesMode; +import com.airbyte.api.models.shared.SourceMysqlSchemasSslModeMode; +import com.airbyte.api.models.shared.SourceMysqlSchemasTunnelMethod; +import com.airbyte.api.models.shared.SourceMysqlSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.SourceMysqlTunnelMethod; +import com.airbyte.api.models.shared.SourceMysqlVerifyCA; +import com.airbyte.api.models.shared.SourceNetsuite; +import com.airbyte.api.models.shared.SourceNotion; +import com.airbyte.api.models.shared.SourceNotionAccessToken; +import com.airbyte.api.models.shared.SourceNotionAuthType; +import com.airbyte.api.models.shared.SourceNotionNotion; +import com.airbyte.api.models.shared.SourceNotionOAuth20; +import com.airbyte.api.models.shared.SourceNotionSchemasAuthType; +import com.airbyte.api.models.shared.SourceNytimes; +import com.airbyte.api.models.shared.SourceOkta; +import com.airbyte.api.models.shared.SourceOktaAPIToken; +import com.airbyte.api.models.shared.SourceOktaAuthType; +import com.airbyte.api.models.shared.SourceOktaOAuth20; +import com.airbyte.api.models.shared.SourceOktaSchemasAuthType; +import com.airbyte.api.models.shared.SourceOmnisend; +import com.airbyte.api.models.shared.SourceOnesignal; +import com.airbyte.api.models.shared.SourceOracle; +import com.airbyte.api.models.shared.SourceOracleConnectionType; +import com.airbyte.api.models.shared.SourceOracleEncryptionMethod; +import com.airbyte.api.models.shared.SourceOracleNoTunnel; +import com.airbyte.api.models.shared.SourceOracleOracle; +import com.airbyte.api.models.shared.SourceOraclePasswordAuthentication; +import com.airbyte.api.models.shared.SourceOracleSSHKeyAuthentication; +import com.airbyte.api.models.shared.SourceOracleSchemasTunnelMethod; +import com.airbyte.api.models.shared.SourceOracleSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.SourceOracleTunnelMethod; +import com.airbyte.api.models.shared.SourceOrb; +import com.airbyte.api.models.shared.SourceOrbit; +import com.airbyte.api.models.shared.SourceOutbrainAmplify; +import com.airbyte.api.models.shared.SourceOutbrainAmplifyAccessToken; +import com.airbyte.api.models.shared.SourceOutbrainAmplifyUsernamePassword; +import com.airbyte.api.models.shared.SourceOutreach; +import com.airbyte.api.models.shared.SourcePaypalTransaction; +import com.airbyte.api.models.shared.SourcePaystack; +import com.airbyte.api.models.shared.SourcePendo; +import com.airbyte.api.models.shared.SourcePersistiq; +import com.airbyte.api.models.shared.SourcePexelsApi; +import com.airbyte.api.models.shared.SourcePinterest; +import com.airbyte.api.models.shared.SourcePinterestAuthMethod; +import com.airbyte.api.models.shared.SourcePinterestLevel; +import com.airbyte.api.models.shared.SourcePinterestPinterest; +import com.airbyte.api.models.shared.SourcePinterestSchemasValidEnums; +import com.airbyte.api.models.shared.SourcePinterestValidEnums; +import com.airbyte.api.models.shared.SourcePipedrive; +import com.airbyte.api.models.shared.SourcePocket; +import com.airbyte.api.models.shared.SourcePocketSortBy; +import com.airbyte.api.models.shared.SourcePokeapi; +import com.airbyte.api.models.shared.SourcePolygonStockApi; +import com.airbyte.api.models.shared.SourcePostgres; +import com.airbyte.api.models.shared.SourcePostgresMethod; +import com.airbyte.api.models.shared.SourcePostgresNoTunnel; +import com.airbyte.api.models.shared.SourcePostgresPasswordAuthentication; +import com.airbyte.api.models.shared.SourcePostgresPostgres; +import com.airbyte.api.models.shared.SourcePostgresSSHKeyAuthentication; +import com.airbyte.api.models.shared.SourcePostgresScanChangesWithUserDefinedCursor; +import com.airbyte.api.models.shared.SourcePostgresSchemasMethod; +import com.airbyte.api.models.shared.SourcePostgresSchemasTunnelMethod; +import com.airbyte.api.models.shared.SourcePostgresSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.SourcePostgresTunnelMethod; +import com.airbyte.api.models.shared.SourcePosthog; +import com.airbyte.api.models.shared.SourcePostmarkapp; +import com.airbyte.api.models.shared.SourcePrestashop; +import com.airbyte.api.models.shared.SourcePunkApi; +import com.airbyte.api.models.shared.SourcePypi; +import com.airbyte.api.models.shared.SourceQualaroo; +import com.airbyte.api.models.shared.SourceQuickbooks; +import com.airbyte.api.models.shared.SourceQuickbooksAuthType; +import com.airbyte.api.models.shared.SourceQuickbooksOAuth20; +import com.airbyte.api.models.shared.SourceRailz; +import com.airbyte.api.models.shared.SourceRecharge; +import com.airbyte.api.models.shared.SourceRecreation; +import com.airbyte.api.models.shared.SourceRecruitee; +import com.airbyte.api.models.shared.SourceRecurly; +import com.airbyte.api.models.shared.SourceRedshift; +import com.airbyte.api.models.shared.SourceRedshiftRedshift; +import com.airbyte.api.models.shared.SourceRetently; +import com.airbyte.api.models.shared.SourceRetentlyRetently; +import com.airbyte.api.models.shared.SourceRkiCovid; +import com.airbyte.api.models.shared.SourceRss; +import com.airbyte.api.models.shared.SourceS3; +import com.airbyte.api.models.shared.SourceS3Autogenerated; +import com.airbyte.api.models.shared.SourceS3AvroFormat; +import com.airbyte.api.models.shared.SourceS3CSVFormat; +import com.airbyte.api.models.shared.SourceS3DocumentFileTypeFormatExperimental; +import com.airbyte.api.models.shared.SourceS3FileBasedStreamConfig; +import com.airbyte.api.models.shared.SourceS3Filetype; +import com.airbyte.api.models.shared.SourceS3FromCSV; +import com.airbyte.api.models.shared.SourceS3HeaderDefinitionType; +import com.airbyte.api.models.shared.SourceS3InferenceType; +import com.airbyte.api.models.shared.SourceS3JsonlFormat; +import com.airbyte.api.models.shared.SourceS3Local; +import com.airbyte.api.models.shared.SourceS3Mode; +import com.airbyte.api.models.shared.SourceS3ParquetFormat; +import com.airbyte.api.models.shared.SourceS3ParsingStrategy; +import com.airbyte.api.models.shared.SourceS3S3; +import com.airbyte.api.models.shared.SourceS3SchemasFiletype; +import com.airbyte.api.models.shared.SourceS3SchemasFormatFileFormatFiletype; +import com.airbyte.api.models.shared.SourceS3SchemasFormatFiletype; +import com.airbyte.api.models.shared.SourceS3SchemasHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceS3SchemasStreamsFiletype; +import com.airbyte.api.models.shared.SourceS3SchemasStreamsFormatFiletype; +import com.airbyte.api.models.shared.SourceS3SchemasStreamsFormatFormat4Filetype; +import com.airbyte.api.models.shared.SourceS3SchemasStreamsFormatFormat5Filetype; +import com.airbyte.api.models.shared.SourceS3SchemasStreamsFormatFormatFiletype; +import com.airbyte.api.models.shared.SourceS3SchemasStreamsHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceS3UserProvided; +import com.airbyte.api.models.shared.SourceS3ValidationPolicy; +import com.airbyte.api.models.shared.SourceSalesforce; +import com.airbyte.api.models.shared.SourceSalesforceSalesforce; +import com.airbyte.api.models.shared.SourceSalesloft; +import com.airbyte.api.models.shared.SourceSalesloftAuthType; +import com.airbyte.api.models.shared.SourceSalesloftSchemasAuthType; +import com.airbyte.api.models.shared.SourceSapFieldglass; +import com.airbyte.api.models.shared.SourceSecoda; +import com.airbyte.api.models.shared.SourceSendgrid; +import com.airbyte.api.models.shared.SourceSendinblue; +import com.airbyte.api.models.shared.SourceSenseforce; +import com.airbyte.api.models.shared.SourceSentry; +import com.airbyte.api.models.shared.SourceSftp; +import com.airbyte.api.models.shared.SourceSftpAuthMethod; +import com.airbyte.api.models.shared.SourceSftpBulk; +import com.airbyte.api.models.shared.SourceSftpPasswordAuthentication; +import com.airbyte.api.models.shared.SourceSftpSSHKeyAuthentication; +import com.airbyte.api.models.shared.SourceSftpSchemasAuthMethod; +import com.airbyte.api.models.shared.SourceShopify; +import com.airbyte.api.models.shared.SourceShopifyAuthMethod; +import com.airbyte.api.models.shared.SourceShopifyOAuth20; +import com.airbyte.api.models.shared.SourceShopifySchemasAuthMethod; +import com.airbyte.api.models.shared.SourceShopifyShopify; +import com.airbyte.api.models.shared.SourceShortio; +import com.airbyte.api.models.shared.SourceSlack; +import com.airbyte.api.models.shared.SourceSlackAPIToken; +import com.airbyte.api.models.shared.SourceSlackOptionTitle; +import com.airbyte.api.models.shared.SourceSlackSchemasOptionTitle; +import com.airbyte.api.models.shared.SourceSlackSlack; +import com.airbyte.api.models.shared.SourceSmaily; +import com.airbyte.api.models.shared.SourceSmartengage; +import com.airbyte.api.models.shared.SourceSmartsheets; +import com.airbyte.api.models.shared.SourceSmartsheetsAuthType; +import com.airbyte.api.models.shared.SourceSmartsheetsOAuth20; +import com.airbyte.api.models.shared.SourceSmartsheetsSchemasAuthType; +import com.airbyte.api.models.shared.SourceSmartsheetsSmartsheets; +import com.airbyte.api.models.shared.SourceSnapchatMarketing; +import com.airbyte.api.models.shared.SourceSnapchatMarketingSnapchatMarketing; +import com.airbyte.api.models.shared.SourceSnowflake; +import com.airbyte.api.models.shared.SourceSnowflakeAuthType; +import com.airbyte.api.models.shared.SourceSnowflakeOAuth20; +import com.airbyte.api.models.shared.SourceSnowflakeSchemasAuthType; +import com.airbyte.api.models.shared.SourceSnowflakeSnowflake; +import com.airbyte.api.models.shared.SourceSnowflakeUsernameAndPassword; +import com.airbyte.api.models.shared.SourceSonarCloud; +import com.airbyte.api.models.shared.SourceSpacexApi; +import com.airbyte.api.models.shared.SourceSquare; +import com.airbyte.api.models.shared.SourceSquareAPIKey; +import com.airbyte.api.models.shared.SourceSquareAuthType; +import com.airbyte.api.models.shared.SourceSquareSchemasAuthType; +import com.airbyte.api.models.shared.SourceSquareSquare; +import com.airbyte.api.models.shared.SourceStrava; +import com.airbyte.api.models.shared.SourceStravaAuthType; +import com.airbyte.api.models.shared.SourceStravaStrava; +import com.airbyte.api.models.shared.SourceStripe; +import com.airbyte.api.models.shared.SourceSurveySparrow; +import com.airbyte.api.models.shared.SourceSurveySparrowUrlBase; +import com.airbyte.api.models.shared.SourceSurveymonkey; +import com.airbyte.api.models.shared.SourceSurveymonkeyAuthMethod; +import com.airbyte.api.models.shared.SourceSurveymonkeySurveymonkey; +import com.airbyte.api.models.shared.SourceTempo; +import com.airbyte.api.models.shared.SourceTheGuardianApi; +import com.airbyte.api.models.shared.SourceTiktokMarketing; +import com.airbyte.api.models.shared.SourceTiktokMarketingAuthType; +import com.airbyte.api.models.shared.SourceTiktokMarketingOAuth20; +import com.airbyte.api.models.shared.SourceTiktokMarketingSchemasAuthType; +import com.airbyte.api.models.shared.SourceTiktokMarketingTiktokMarketing; +import com.airbyte.api.models.shared.SourceTrello; +import com.airbyte.api.models.shared.SourceTrustpilot; +import com.airbyte.api.models.shared.SourceTrustpilotAPIKey; +import com.airbyte.api.models.shared.SourceTrustpilotAuthType; +import com.airbyte.api.models.shared.SourceTrustpilotOAuth20; +import com.airbyte.api.models.shared.SourceTrustpilotSchemasAuthType; +import com.airbyte.api.models.shared.SourceTvmazeSchedule; +import com.airbyte.api.models.shared.SourceTwilio; +import com.airbyte.api.models.shared.SourceTwilioTaskrouter; +import com.airbyte.api.models.shared.SourceTwitter; +import com.airbyte.api.models.shared.SourceTypeform; +import com.airbyte.api.models.shared.SourceTypeformAuthType; +import com.airbyte.api.models.shared.SourceTypeformOAuth20; +import com.airbyte.api.models.shared.SourceTypeformPrivateToken; +import com.airbyte.api.models.shared.SourceTypeformSchemasAuthType; +import com.airbyte.api.models.shared.SourceTypeformTypeform; +import com.airbyte.api.models.shared.SourceUsCensus; +import com.airbyte.api.models.shared.SourceVantage; +import com.airbyte.api.models.shared.SourceWebflow; +import com.airbyte.api.models.shared.SourceWhiskyHunter; +import com.airbyte.api.models.shared.SourceWikipediaPageviews; +import com.airbyte.api.models.shared.SourceWoocommerce; +import com.airbyte.api.models.shared.SourceXkcd; +import com.airbyte.api.models.shared.SourceYandexMetrica; +import com.airbyte.api.models.shared.SourceYotpo; +import com.airbyte.api.models.shared.SourceYoutubeAnalytics; +import com.airbyte.api.models.shared.SourceYoutubeAnalyticsYoutubeAnalytics; +import com.airbyte.api.models.shared.SourceZendeskChat; +import com.airbyte.api.models.shared.SourceZendeskChatAccessToken; +import com.airbyte.api.models.shared.SourceZendeskChatCredentials; +import com.airbyte.api.models.shared.SourceZendeskChatOAuth20; +import com.airbyte.api.models.shared.SourceZendeskChatSchemasCredentials; +import com.airbyte.api.models.shared.SourceZendeskChatZendeskChat; +import com.airbyte.api.models.shared.SourceZendeskSell; +import com.airbyte.api.models.shared.SourceZendeskSunshine; +import com.airbyte.api.models.shared.SourceZendeskSunshineAPIToken; +import com.airbyte.api.models.shared.SourceZendeskSunshineAuthMethod; +import com.airbyte.api.models.shared.SourceZendeskSunshineOAuth20; +import com.airbyte.api.models.shared.SourceZendeskSunshineSchemasAuthMethod; +import com.airbyte.api.models.shared.SourceZendeskSunshineZendeskSunshine; +import com.airbyte.api.models.shared.SourceZendeskSupport; +import com.airbyte.api.models.shared.SourceZendeskSupportZendeskSupport; +import com.airbyte.api.models.shared.SourceZendeskTalk; +import com.airbyte.api.models.shared.SourceZendeskTalkZendeskTalk; +import com.airbyte.api.models.shared.SourceZenloop; +import com.airbyte.api.models.shared.SourceZohoCrm; +import com.airbyte.api.models.shared.SourceZohoCrmEnvironment; +import com.airbyte.api.models.shared.SourceZoom; +import com.airbyte.api.models.shared.SpacexApi; +import com.airbyte.api.models.shared.State; +import com.airbyte.api.models.shared.StateFilter; +import com.airbyte.api.models.shared.Status; +import com.airbyte.api.models.shared.Storage; +import com.airbyte.api.models.shared.Strategies; +import com.airbyte.api.models.shared.StreamName; +import com.airbyte.api.models.shared.StreamsCriteria; +import com.airbyte.api.models.shared.StringFilter; +import com.airbyte.api.models.shared.Stripe; +import com.airbyte.api.models.shared.SurveyMonkeyAuthorizationMethod; +import com.airbyte.api.models.shared.SurveySparrow; +import com.airbyte.api.models.shared.SwipeUpAttributionWindow; +import com.airbyte.api.models.shared.SystemIDSID; +import com.airbyte.api.models.shared.TLSEncryptedVerifyCertificate; +import com.airbyte.api.models.shared.Tempo; +import com.airbyte.api.models.shared.TheGuardianApi; +import com.airbyte.api.models.shared.TimeGranularity; +import com.airbyte.api.models.shared.TopHeadlinesTopic; +import com.airbyte.api.models.shared.Trello; +import com.airbyte.api.models.shared.Trustpilot; +import com.airbyte.api.models.shared.TvmazeSchedule; +import com.airbyte.api.models.shared.Twilio; +import com.airbyte.api.models.shared.TwilioTaskrouter; +import com.airbyte.api.models.shared.Twitter; +import com.airbyte.api.models.shared.Unencrypted; +import com.airbyte.api.models.shared.UnexpectedFieldBehavior; +import com.airbyte.api.models.shared.UrlBase; +import com.airbyte.api.models.shared.UsCensus; +import com.airbyte.api.models.shared.UserProvided; +import com.airbyte.api.models.shared.ValidActionBreakdowns; +import com.airbyte.api.models.shared.ValidAdSetStatuses; +import com.airbyte.api.models.shared.ValidAdStatuses; +import com.airbyte.api.models.shared.ValidBreakdowns; +import com.airbyte.api.models.shared.ValidCampaignStatuses; +import com.airbyte.api.models.shared.ValidationPolicy; +import com.airbyte.api.models.shared.Validenums; +import com.airbyte.api.models.shared.ValueType; +import com.airbyte.api.models.shared.Vantage; +import com.airbyte.api.models.shared.VerifyIdentity; +import com.airbyte.api.models.shared.ViewAttributionWindow; +import com.airbyte.api.models.shared.ViewWindowDays; +import com.airbyte.api.models.shared.Webflow; +import com.airbyte.api.models.shared.WhiskyHunter; +import com.airbyte.api.models.shared.WikipediaPageviews; +import com.airbyte.api.models.shared.Woocommerce; +import com.airbyte.api.models.shared.Xkcd; +import com.airbyte.api.models.shared.YandexMetrica; +import com.airbyte.api.models.shared.Yotpo; +import com.airbyte.api.models.shared.ZendeskSell; +import com.airbyte.api.models.shared.Zenloop; +import com.airbyte.api.models.shared.ZohoCRMEdition; +import com.airbyte.api.models.shared.ZohoCrm; +import com.airbyte.api.models.shared.Zoom; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.shared.SourceCreateRequest req = new SourceCreateRequest( - "", - "", - "a2cf0f31-f3dd-4c98-88c3-4bdfb109056a"){{ - definitionId = "a6d6dedf-297b-4eb8-860e-3afe15240dda"; - secretId = ""; - - }}; + SourceCreateRequest req = SourceCreateRequest.builder() + .configuration(SourceConfiguration.of(SourceAha.builder() + .apiKey("") + .url("") + .build())) + .name("") + .workspaceId("a2cf0f31-f3dd-4c98-88c3-4bdfb109056a") + .definitionId("a6d6dedf-297b-4eb8-860e-3afe15240dda") + .secretId("") + .build(); - com.airbyte.api.models.operations.CreateSourceResponse res = sdk.sources.createSource(req); + CreateSourceResponse res = sdk.sources().createSource() + .request(req) + .call(); - if (res.sourceResponse != null) { + if (res.sourceResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -70,8 +1139,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.CreateSourceResponse](../../models/operations/CreateSourceResponse.md)** +**[Optional](../../models/operations/CreateSourceResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## deleteSource @@ -83,33 +1156,42 @@ Delete a Source package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.DeleteSourceRequest; import com.airbyte.api.models.operations.DeleteSourceResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.Security; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.DeleteSourceRequest req = new DeleteSourceRequest( - ""); + DeleteSourceRequest req = DeleteSourceRequest.builder() + .sourceId("") + .build(); - com.airbyte.api.models.operations.DeleteSourceResponse res = sdk.sources.deleteSource(req); + DeleteSourceResponse res = sdk.sources().deleteSource() + .request(req) + .call(); - if (res.statusCode == 200) { - // handle response - } + // handle response + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -126,8 +1208,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.DeleteSourceResponse](../../models/operations/DeleteSourceResponse.md)** +**[Optional](../../models/operations/DeleteSourceResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## getSource @@ -139,33 +1225,44 @@ Get Source details package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.GetSourceRequest; import com.airbyte.api.models.operations.GetSourceResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.Security; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.GetSourceRequest req = new GetSourceRequest( - ""); + GetSourceRequest req = GetSourceRequest.builder() + .sourceId("") + .build(); - com.airbyte.api.models.operations.GetSourceResponse res = sdk.sources.getSource(req); + GetSourceResponse res = sdk.sources().getSource() + .request(req) + .call(); - if (res.sourceResponse != null) { + if (res.sourceResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -182,8 +1279,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.GetSourceResponse](../../models/operations/GetSourceResponse.md)** +**[Optional](../../models/operations/GetSourceResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## initiateOAuth @@ -199,41 +1300,48 @@ That secret ID can be used to create a source with credentials in place of actua package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.InitiateOAuthResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.InitiateOauthRequest; import com.airbyte.api.models.shared.OAuthActorNames; import com.airbyte.api.models.shared.OAuthInputConfiguration; import com.airbyte.api.models.shared.Security; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.shared.InitiateOauthRequest req = new InitiateOauthRequest( - "", - OAuthActorNames.GOOGLE_ADS, - "fd28130d-9919-4ffa-a67d-4e12eb099447"){{ - oAuthInputConfiguration = new OAuthInputConfiguration( -); - - }}; + InitiateOauthRequest req = InitiateOauthRequest.builder() + .redirectUrl("") + .sourceType(OAuthActorNames.GOOGLE_ADS) + .workspaceId("fd28130d-9919-4ffa-a67d-4e12eb099447") + .oAuthInputConfiguration(OAuthInputConfiguration.builder() + .build()) + .build(); - com.airbyte.api.models.operations.InitiateOAuthResponse res = sdk.sources.initiateOAuth(req); + InitiateOAuthResponse res = sdk.sources().initiateOAuth() + .request(req) + .call(); - if (res.statusCode == 200) { - // handle response - } + // handle response + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -250,8 +1358,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.InitiateOAuthResponse](../../models/operations/InitiateOAuthResponse.md)** +**[Optional](../../models/operations/InitiateOAuthResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## listSources @@ -263,41 +1375,48 @@ List sources package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.ListSourcesRequest; import com.airbyte.api.models.operations.ListSourcesResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.Security; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.ListSourcesRequest req = new ListSourcesRequest( -){{ - includeDeleted = false; - limit = 442892; - offset = 284564; - workspaceIds = new String[]{{ - add("dbbb77f8-0b57-4c45-800c-5d47a64428ce"), - }}; - - }}; + ListSourcesRequest req = ListSourcesRequest.builder() + .includeDeleted(false) + .limit(442892) + .offset(284564) + .workspaceIds(java.util.List.of( + "dbbb77f8-0b57-4c45-800c-5d47a64428ce")) + .build(); - com.airbyte.api.models.operations.ListSourcesResponse res = sdk.sources.listSources(req); + ListSourcesResponse res = sdk.sources().listSources() + .request(req) + .call(); - if (res.sourcesResponse != null) { + if (res.sourcesResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -314,8 +1433,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.ListSourcesResponse](../../models/operations/ListSourcesResponse.md)** +**[Optional](../../models/operations/ListSourcesResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## patchSource @@ -327,44 +1450,1111 @@ Update a Source package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.PatchSourceRequest; import com.airbyte.api.models.operations.PatchSourceResponse; +import com.airbyte.api.models.shared.*; +import com.airbyte.api.models.shared.APIAccessToken; +import com.airbyte.api.models.shared.APIKey; +import com.airbyte.api.models.shared.APIPassword; +import com.airbyte.api.models.shared.APIToken; +import com.airbyte.api.models.shared.AWSEnvironment; +import com.airbyte.api.models.shared.AWSRegion; +import com.airbyte.api.models.shared.AWSSellerPartnerAccountType; +import com.airbyte.api.models.shared.AccessToken; +import com.airbyte.api.models.shared.AccessTokenIsRequiredForAuthenticationRequests; +import com.airbyte.api.models.shared.AccountNames; +import com.airbyte.api.models.shared.ActionReportTime; +import com.airbyte.api.models.shared.AdAnalyticsReportConfiguration; +import com.airbyte.api.models.shared.Aha; +import com.airbyte.api.models.shared.Aircall; +import com.airbyte.api.models.shared.AmazonSqs; +import com.airbyte.api.models.shared.Amplitude; +import com.airbyte.api.models.shared.AndGroup; +import com.airbyte.api.models.shared.ApifyDataset; +import com.airbyte.api.models.shared.Appfollow; +import com.airbyte.api.models.shared.Applications; +import com.airbyte.api.models.shared.Auth0; +import com.airbyte.api.models.shared.AuthMethod; +import com.airbyte.api.models.shared.AuthType; +import com.airbyte.api.models.shared.AuthenticateViaAPIKey; +import com.airbyte.api.models.shared.AuthenticateViaAsanaOauth; +import com.airbyte.api.models.shared.AuthenticateViaGoogleOauth; +import com.airbyte.api.models.shared.AuthenticateViaLeverApiKey; +import com.airbyte.api.models.shared.AuthenticateViaLeverOAuth; +import com.airbyte.api.models.shared.AuthenticateViaMicrosoft; +import com.airbyte.api.models.shared.AuthenticateViaMicrosoftOAuth20; +import com.airbyte.api.models.shared.AuthenticateViaMicrosoftOAuth; +import com.airbyte.api.models.shared.AuthenticateViaOAuth; +import com.airbyte.api.models.shared.AuthenticateWithPersonalAccessToken; +import com.airbyte.api.models.shared.Autogenerated; +import com.airbyte.api.models.shared.Avro; +import com.airbyte.api.models.shared.AvroFormat; +import com.airbyte.api.models.shared.AwsCloudtrail; +import com.airbyte.api.models.shared.AzBlobAzureBlobStorage; +import com.airbyte.api.models.shared.AzureTable; +import com.airbyte.api.models.shared.BambooHr; +import com.airbyte.api.models.shared.BetweenFilter; +import com.airbyte.api.models.shared.BothUsernameAndPasswordIsRequiredForAuthenticationRequest; +import com.airbyte.api.models.shared.Braintree; +import com.airbyte.api.models.shared.Braze; +import com.airbyte.api.models.shared.CSVFormat; +import com.airbyte.api.models.shared.Cart; +import com.airbyte.api.models.shared.Categories; +import com.airbyte.api.models.shared.CentralAPIRouter; +import com.airbyte.api.models.shared.Chargebee; +import com.airbyte.api.models.shared.Chartmogul; +import com.airbyte.api.models.shared.ClickWindowDays; +import com.airbyte.api.models.shared.ClickupApi; +import com.airbyte.api.models.shared.Clockify; +import com.airbyte.api.models.shared.CloseCom; +import com.airbyte.api.models.shared.Coda; +import com.airbyte.api.models.shared.CohortReportSettings; +import com.airbyte.api.models.shared.Cohorts; +import com.airbyte.api.models.shared.CohortsRange; +import com.airbyte.api.models.shared.CoinApi; +import com.airbyte.api.models.shared.Coinmarketcap; +import com.airbyte.api.models.shared.Collection; +import com.airbyte.api.models.shared.Configcat; +import com.airbyte.api.models.shared.Confluence; +import com.airbyte.api.models.shared.ConnectionType; +import com.airbyte.api.models.shared.ContentType; +import com.airbyte.api.models.shared.ConversionReportTime; +import com.airbyte.api.models.shared.Country; +import com.airbyte.api.models.shared.Csv; +import com.airbyte.api.models.shared.CustomQueriesArray; +import com.airbyte.api.models.shared.CustomReportConfig; +import com.airbyte.api.models.shared.CustomerStatus; +import com.airbyte.api.models.shared.DataCenterLocation; +import com.airbyte.api.models.shared.DataFreshness; +import com.airbyte.api.models.shared.DataRegion; +import com.airbyte.api.models.shared.DataType; +import com.airbyte.api.models.shared.Datascope; +import com.airbyte.api.models.shared.DateRange; +import com.airbyte.api.models.shared.Delighted; +import com.airbyte.api.models.shared.DetailType; +import com.airbyte.api.models.shared.DetectChangesWithXminSystemColumn; +import com.airbyte.api.models.shared.Dimension; +import com.airbyte.api.models.shared.Disabled; +import com.airbyte.api.models.shared.Dixa; +import com.airbyte.api.models.shared.Dockerhub; +import com.airbyte.api.models.shared.DocumentFileTypeFormatExperimental; +import com.airbyte.api.models.shared.DoubleValue; +import com.airbyte.api.models.shared.Dremio; +import com.airbyte.api.models.shared.EUBasedAccount; +import com.airbyte.api.models.shared.Emailoctopus; +import com.airbyte.api.models.shared.Enabled; +import com.airbyte.api.models.shared.EncryptionAlgorithm; +import com.airbyte.api.models.shared.EncryptionMethod; +import com.airbyte.api.models.shared.EngagementWindowDays; +import com.airbyte.api.models.shared.Environment; +import com.airbyte.api.models.shared.ExchangeRates; +import com.airbyte.api.models.shared.Expression; +import com.airbyte.api.models.shared.Faker; +import com.airbyte.api.models.shared.Fauna; +import com.airbyte.api.models.shared.File; +import com.airbyte.api.models.shared.FileBasedStreamConfig; +import com.airbyte.api.models.shared.FileFormat; +import com.airbyte.api.models.shared.FileType; +import com.airbyte.api.models.shared.Filter; +import com.airbyte.api.models.shared.FilterName; +import com.airbyte.api.models.shared.FilterType; +import com.airbyte.api.models.shared.Firebolt; +import com.airbyte.api.models.shared.Freshcaller; +import com.airbyte.api.models.shared.Freshdesk; +import com.airbyte.api.models.shared.Freshsales; +import com.airbyte.api.models.shared.FromCSV; +import com.airbyte.api.models.shared.GCSGoogleCloudStorage; +import com.airbyte.api.models.shared.GainsightPx; +import com.airbyte.api.models.shared.Getlago; +import com.airbyte.api.models.shared.Glassfrog; +import com.airbyte.api.models.shared.GlobalAccount; +import com.airbyte.api.models.shared.Gnews; +import com.airbyte.api.models.shared.GoogleAnalyticsV4ServiceAccountOnly; +import com.airbyte.api.models.shared.GoogleCredentials; +import com.airbyte.api.models.shared.GoogleDirectory; +import com.airbyte.api.models.shared.GooglePagespeedInsights; +import com.airbyte.api.models.shared.GoogleWebfonts; +import com.airbyte.api.models.shared.Granularity; +import com.airbyte.api.models.shared.GranularityForGeoLocationRegion; +import com.airbyte.api.models.shared.GranularityForPeriodicReports; +import com.airbyte.api.models.shared.Greenhouse; +import com.airbyte.api.models.shared.Gridly; +import com.airbyte.api.models.shared.HTTPSPublicWeb; +import com.airbyte.api.models.shared.HeaderDefinitionType; +import com.airbyte.api.models.shared.Hubplanner; +import com.airbyte.api.models.shared.In; +import com.airbyte.api.models.shared.InListFilter; +import com.airbyte.api.models.shared.InferenceType; +import com.airbyte.api.models.shared.InsightConfig; +import com.airbyte.api.models.shared.Insightly; +import com.airbyte.api.models.shared.Instatus; +import com.airbyte.api.models.shared.Int64Value; +import com.airbyte.api.models.shared.InvalidCDCPositionBehaviorAdvanced; +import com.airbyte.api.models.shared.Ip2whois; +import com.airbyte.api.models.shared.IssuesStreamExpandWith; +import com.airbyte.api.models.shared.Iterable; +import com.airbyte.api.models.shared.Jira; +import com.airbyte.api.models.shared.Jsonl; +import com.airbyte.api.models.shared.JsonlFormat; +import com.airbyte.api.models.shared.K6Cloud; +import com.airbyte.api.models.shared.Klarna; +import com.airbyte.api.models.shared.Klaviyo; +import com.airbyte.api.models.shared.Kyve; +import com.airbyte.api.models.shared.Language; +import com.airbyte.api.models.shared.Launchdarkly; +import com.airbyte.api.models.shared.Lemlist; +import com.airbyte.api.models.shared.Level; +import com.airbyte.api.models.shared.LinkedinPages; +import com.airbyte.api.models.shared.Linnworks; +import com.airbyte.api.models.shared.Local; +import com.airbyte.api.models.shared.Lokalise; +import com.airbyte.api.models.shared.Mailgun; +import com.airbyte.api.models.shared.MailjetSms; +import com.airbyte.api.models.shared.Marketo; +import com.airbyte.api.models.shared.Metabase; +import com.airbyte.api.models.shared.Mixpanel; +import com.airbyte.api.models.shared.MongodbInternalPoc; +import com.airbyte.api.models.shared.MongodbV2; +import com.airbyte.api.models.shared.MyHours; +import com.airbyte.api.models.shared.NativeNetworkEncryptionNNE; +import com.airbyte.api.models.shared.Netsuite; +import com.airbyte.api.models.shared.NotExpression; +import com.airbyte.api.models.shared.Nullable; +import com.airbyte.api.models.shared.NumericFilter; +import com.airbyte.api.models.shared.Nytimes; +import com.airbyte.api.models.shared.OAuth20; +import com.airbyte.api.models.shared.OAuth2AccessToken; +import com.airbyte.api.models.shared.OAuth2ConfidentialApplication; +import com.airbyte.api.models.shared.OAuth; +import com.airbyte.api.models.shared.OauthAuthentication; +import com.airbyte.api.models.shared.Okta; +import com.airbyte.api.models.shared.Omnisend; +import com.airbyte.api.models.shared.Onesignal; +import com.airbyte.api.models.shared.Operator; +import com.airbyte.api.models.shared.OptionTitle; +import com.airbyte.api.models.shared.OptionsList; +import com.airbyte.api.models.shared.OrGroup; +import com.airbyte.api.models.shared.Orb; +import com.airbyte.api.models.shared.Orbit; +import com.airbyte.api.models.shared.OriginDatacenterOfTheSurveyMonkeyAccount; +import com.airbyte.api.models.shared.OutbrainAmplify; +import com.airbyte.api.models.shared.Outreach; +import com.airbyte.api.models.shared.Parquet; +import com.airbyte.api.models.shared.ParquetFormat; +import com.airbyte.api.models.shared.ParsingStrategy; +import com.airbyte.api.models.shared.PaypalTransaction; +import com.airbyte.api.models.shared.Paystack; +import com.airbyte.api.models.shared.Pendo; +import com.airbyte.api.models.shared.PeriodUsedForMostPopularStreams; +import com.airbyte.api.models.shared.Persistiq; +import com.airbyte.api.models.shared.PersonalAccessToken; +import com.airbyte.api.models.shared.PexelsApi; +import com.airbyte.api.models.shared.Pipedrive; +import com.airbyte.api.models.shared.PivotCategory; +import com.airbyte.api.models.shared.Pocket; +import com.airbyte.api.models.shared.Pokeapi; +import com.airbyte.api.models.shared.PokemonName; +import com.airbyte.api.models.shared.PolygonStockApi; +import com.airbyte.api.models.shared.Posthog; +import com.airbyte.api.models.shared.Postmarkapp; +import com.airbyte.api.models.shared.Preferred; +import com.airbyte.api.models.shared.Prestashop; +import com.airbyte.api.models.shared.PrivateApp; +import com.airbyte.api.models.shared.PrivateToken; +import com.airbyte.api.models.shared.ProductCatalog; +import com.airbyte.api.models.shared.ProjectSecret; +import com.airbyte.api.models.shared.PunkApi; +import com.airbyte.api.models.shared.Pypi; +import com.airbyte.api.models.shared.Qualaroo; +import com.airbyte.api.models.shared.Quickbooks; +import com.airbyte.api.models.shared.Railz; +import com.airbyte.api.models.shared.ReadChangesUsingBinaryLogCDC; +import com.airbyte.api.models.shared.ReadChangesUsingChangeDataCaptureCDC; +import com.airbyte.api.models.shared.Recharge; +import com.airbyte.api.models.shared.Recreation; +import com.airbyte.api.models.shared.Recruitee; +import com.airbyte.api.models.shared.Recurly; +import com.airbyte.api.models.shared.Region; +import com.airbyte.api.models.shared.ReportConfig; +import com.airbyte.api.models.shared.ReportOptions; +import com.airbyte.api.models.shared.ReportRecordTypes; +import com.airbyte.api.models.shared.ReportingDataObject; +import com.airbyte.api.models.shared.Required; +import com.airbyte.api.models.shared.RkiCovid; +import com.airbyte.api.models.shared.Rss; +import com.airbyte.api.models.shared.S3AmazonWebServices; +import com.airbyte.api.models.shared.SCPSecureCopyProtocol; +import com.airbyte.api.models.shared.SFTPSecureFileTransferProtocol; +import com.airbyte.api.models.shared.SSHSecureShell; +import com.airbyte.api.models.shared.Salesloft; +import com.airbyte.api.models.shared.SandboxAccessToken; +import com.airbyte.api.models.shared.SapFieldglass; +import com.airbyte.api.models.shared.ScanChangesWithUserDefinedCursor; +import com.airbyte.api.models.shared.SearchCriteria; +import com.airbyte.api.models.shared.SearchScope; +import com.airbyte.api.models.shared.Secoda; import com.airbyte.api.models.shared.Security; +import com.airbyte.api.models.shared.Sendgrid; +import com.airbyte.api.models.shared.Sendinblue; +import com.airbyte.api.models.shared.Senseforce; +import com.airbyte.api.models.shared.Sentry; +import com.airbyte.api.models.shared.ServiceAccount; +import com.airbyte.api.models.shared.ServiceAccountKey; +import com.airbyte.api.models.shared.ServiceAccountKeyAuthentication; +import com.airbyte.api.models.shared.ServiceKeyAuthentication; +import com.airbyte.api.models.shared.ServiceName; +import com.airbyte.api.models.shared.Sftp; +import com.airbyte.api.models.shared.SftpBulk; +import com.airbyte.api.models.shared.ShareTypeUsedForMostPopularSharedStream; +import com.airbyte.api.models.shared.Shortio; +import com.airbyte.api.models.shared.SignInViaGoogleOAuth; +import com.airbyte.api.models.shared.SignInViaSlackOAuth; +import com.airbyte.api.models.shared.SingleStoreAccessToken; +import com.airbyte.api.models.shared.Smaily; +import com.airbyte.api.models.shared.Smartengage; +import com.airbyte.api.models.shared.SonarCloud; +import com.airbyte.api.models.shared.SortBy; +import com.airbyte.api.models.shared.SourceAha; +import com.airbyte.api.models.shared.SourceAircall; +import com.airbyte.api.models.shared.SourceAirtable; +import com.airbyte.api.models.shared.SourceAirtableAirtable; +import com.airbyte.api.models.shared.SourceAirtableAuthMethod; +import com.airbyte.api.models.shared.SourceAirtableOAuth20; +import com.airbyte.api.models.shared.SourceAirtableSchemasAuthMethod; +import com.airbyte.api.models.shared.SourceAmazonAds; +import com.airbyte.api.models.shared.SourceAmazonAdsAmazonAds; +import com.airbyte.api.models.shared.SourceAmazonAdsAuthType; +import com.airbyte.api.models.shared.SourceAmazonSellerPartner; +import com.airbyte.api.models.shared.SourceAmazonSellerPartnerAmazonSellerPartner; +import com.airbyte.api.models.shared.SourceAmazonSellerPartnerAuthType; +import com.airbyte.api.models.shared.SourceAmazonSqs; +import com.airbyte.api.models.shared.SourceAmazonSqsAWSRegion; +import com.airbyte.api.models.shared.SourceAmplitude; +import com.airbyte.api.models.shared.SourceApifyDataset; +import com.airbyte.api.models.shared.SourceAppfollow; +import com.airbyte.api.models.shared.SourceAsana; +import com.airbyte.api.models.shared.SourceAsanaAsana; +import com.airbyte.api.models.shared.SourceAsanaCredentialsTitle; +import com.airbyte.api.models.shared.SourceAsanaSchemasCredentialsTitle; +import com.airbyte.api.models.shared.SourceAuth0; +import com.airbyte.api.models.shared.SourceAuth0SchemasAuthenticationMethod; +import com.airbyte.api.models.shared.SourceAuth0SchemasCredentialsAuthenticationMethod; +import com.airbyte.api.models.shared.SourceAwsCloudtrail; +import com.airbyte.api.models.shared.SourceAzureBlobStorage; +import com.airbyte.api.models.shared.SourceAzureBlobStorageAzureBlobStorage; +import com.airbyte.api.models.shared.SourceAzureBlobStorageFiletype; +import com.airbyte.api.models.shared.SourceAzureBlobStorageHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceAzureBlobStorageMode; +import com.airbyte.api.models.shared.SourceAzureBlobStorageSchemasFiletype; +import com.airbyte.api.models.shared.SourceAzureBlobStorageSchemasHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceAzureBlobStorageSchemasStreamsFiletype; +import com.airbyte.api.models.shared.SourceAzureBlobStorageSchemasStreamsFormatFiletype; +import com.airbyte.api.models.shared.SourceAzureBlobStorageSchemasStreamsFormatFormatFiletype; +import com.airbyte.api.models.shared.SourceAzureTable; +import com.airbyte.api.models.shared.SourceBambooHr; +import com.airbyte.api.models.shared.SourceBigquery; +import com.airbyte.api.models.shared.SourceBigqueryBigquery; +import com.airbyte.api.models.shared.SourceBingAds; +import com.airbyte.api.models.shared.SourceBingAdsBingAds; +import com.airbyte.api.models.shared.SourceBraintree; +import com.airbyte.api.models.shared.SourceBraintreeEnvironment; +import com.airbyte.api.models.shared.SourceBraze; +import com.airbyte.api.models.shared.SourceCart; +import com.airbyte.api.models.shared.SourceCartAuthType; +import com.airbyte.api.models.shared.SourceCartSchemasAuthType; +import com.airbyte.api.models.shared.SourceChargebee; +import com.airbyte.api.models.shared.SourceChartmogul; +import com.airbyte.api.models.shared.SourceClickhouse; +import com.airbyte.api.models.shared.SourceClickhouseClickhouse; +import com.airbyte.api.models.shared.SourceClickhouseNoTunnel; +import com.airbyte.api.models.shared.SourceClickhousePasswordAuthentication; +import com.airbyte.api.models.shared.SourceClickhouseSSHKeyAuthentication; +import com.airbyte.api.models.shared.SourceClickhouseSchemasTunnelMethod; +import com.airbyte.api.models.shared.SourceClickhouseSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.SourceClickhouseTunnelMethod; +import com.airbyte.api.models.shared.SourceClickupApi; +import com.airbyte.api.models.shared.SourceClockify; +import com.airbyte.api.models.shared.SourceCloseCom; +import com.airbyte.api.models.shared.SourceCoda; +import com.airbyte.api.models.shared.SourceCoinApi; +import com.airbyte.api.models.shared.SourceCoinmarketcap; +import com.airbyte.api.models.shared.SourceConfigcat; +import com.airbyte.api.models.shared.SourceConfluence; +import com.airbyte.api.models.shared.SourceConvex; +import com.airbyte.api.models.shared.SourceConvexConvex; +import com.airbyte.api.models.shared.SourceDatascope; +import com.airbyte.api.models.shared.SourceDelighted; +import com.airbyte.api.models.shared.SourceDixa; +import com.airbyte.api.models.shared.SourceDockerhub; +import com.airbyte.api.models.shared.SourceDremio; +import com.airbyte.api.models.shared.SourceDynamodb; +import com.airbyte.api.models.shared.SourceDynamodbDynamodb; +import com.airbyte.api.models.shared.SourceDynamodbDynamodbRegion; +import com.airbyte.api.models.shared.SourceEmailoctopus; +import com.airbyte.api.models.shared.SourceExchangeRates; +import com.airbyte.api.models.shared.SourceFacebookMarketing; +import com.airbyte.api.models.shared.SourceFacebookMarketingActionReportTime; +import com.airbyte.api.models.shared.SourceFacebookMarketingFacebookMarketing; +import com.airbyte.api.models.shared.SourceFacebookMarketingValidEnums; +import com.airbyte.api.models.shared.SourceFaker; +import com.airbyte.api.models.shared.SourceFauna; +import com.airbyte.api.models.shared.SourceFaunaDeletionMode; +import com.airbyte.api.models.shared.SourceFaunaSchemasDeletionMode; +import com.airbyte.api.models.shared.SourceFile; +import com.airbyte.api.models.shared.SourceFileS3AmazonWebServices; +import com.airbyte.api.models.shared.SourceFileSchemasProviderStorage; +import com.airbyte.api.models.shared.SourceFileSchemasProviderStorageProvider6Storage; +import com.airbyte.api.models.shared.SourceFileSchemasProviderStorageProvider7Storage; +import com.airbyte.api.models.shared.SourceFileSchemasProviderStorageProviderStorage; +import com.airbyte.api.models.shared.SourceFileSchemasStorage; +import com.airbyte.api.models.shared.SourceFileStorage; +import com.airbyte.api.models.shared.SourceFirebolt; +import com.airbyte.api.models.shared.SourceFreshcaller; +import com.airbyte.api.models.shared.SourceFreshdesk; +import com.airbyte.api.models.shared.SourceFreshsales; +import com.airbyte.api.models.shared.SourceGCSStreamConfig; +import com.airbyte.api.models.shared.SourceGainsightPx; +import com.airbyte.api.models.shared.SourceGcs; +import com.airbyte.api.models.shared.SourceGcsAutogenerated; +import com.airbyte.api.models.shared.SourceGcsCSVFormat; +import com.airbyte.api.models.shared.SourceGcsFiletype; +import com.airbyte.api.models.shared.SourceGcsFromCSV; +import com.airbyte.api.models.shared.SourceGcsGcs; +import com.airbyte.api.models.shared.SourceGcsHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceGcsInferenceType; +import com.airbyte.api.models.shared.SourceGcsSchemasHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceGcsSchemasStreamsHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceGcsUserProvided; +import com.airbyte.api.models.shared.SourceGcsValidationPolicy; +import com.airbyte.api.models.shared.SourceGetlago; +import com.airbyte.api.models.shared.SourceGithub; +import com.airbyte.api.models.shared.SourceGithubGithub; +import com.airbyte.api.models.shared.SourceGithubOptionTitle; +import com.airbyte.api.models.shared.SourceGithubPersonalAccessToken; +import com.airbyte.api.models.shared.SourceGitlab; +import com.airbyte.api.models.shared.SourceGitlabAuthType; +import com.airbyte.api.models.shared.SourceGitlabGitlab; +import com.airbyte.api.models.shared.SourceGitlabOAuth20; +import com.airbyte.api.models.shared.SourceGitlabSchemasAuthType; +import com.airbyte.api.models.shared.SourceGlassfrog; +import com.airbyte.api.models.shared.SourceGnews; +import com.airbyte.api.models.shared.SourceGoogleAds; +import com.airbyte.api.models.shared.SourceGoogleAdsGoogleAds; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApi; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiAndGroup; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiAuthType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiBetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiCustomReportConfig; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiDisabled; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiEnabled; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiExpression; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiFilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiGoogleAnalyticsDataApi; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiGranularity; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiInListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiNotExpression; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiNumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiOrGroup; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasAuthType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasBetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ToValueValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ToValueValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ToValueValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayEnabled; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ToValueValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ToValueValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasEnabled; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasExpression; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasFilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasInListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasNumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasStringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiStringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsV4ServiceAccountOnly; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsV4ServiceAccountOnlyAuthType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication; +import com.airbyte.api.models.shared.SourceGoogleDirectory; +import com.airbyte.api.models.shared.SourceGoogleDirectoryCredentialsTitle; +import com.airbyte.api.models.shared.SourceGoogleDirectorySchemasCredentialsTitle; +import com.airbyte.api.models.shared.SourceGoogleDrive; +import com.airbyte.api.models.shared.SourceGoogleDriveAuthType; +import com.airbyte.api.models.shared.SourceGoogleDriveAuthenticateViaGoogleOAuth; +import com.airbyte.api.models.shared.SourceGoogleDriveAutogenerated; +import com.airbyte.api.models.shared.SourceGoogleDriveAvroFormat; +import com.airbyte.api.models.shared.SourceGoogleDriveCSVFormat; +import com.airbyte.api.models.shared.SourceGoogleDriveDocumentFileTypeFormatExperimental; +import com.airbyte.api.models.shared.SourceGoogleDriveFileBasedStreamConfig; +import com.airbyte.api.models.shared.SourceGoogleDriveFiletype; +import com.airbyte.api.models.shared.SourceGoogleDriveFromCSV; +import com.airbyte.api.models.shared.SourceGoogleDriveGoogleDrive; +import com.airbyte.api.models.shared.SourceGoogleDriveHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceGoogleDriveJsonlFormat; +import com.airbyte.api.models.shared.SourceGoogleDriveLocal; +import com.airbyte.api.models.shared.SourceGoogleDriveMode; +import com.airbyte.api.models.shared.SourceGoogleDriveParquetFormat; +import com.airbyte.api.models.shared.SourceGoogleDriveParsingStrategy; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasAuthType; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasFiletype; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasStreamsFiletype; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasStreamsFormatFiletype; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasStreamsFormatFormatFiletype; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasStreamsHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceGoogleDriveServiceAccountKeyAuthentication; +import com.airbyte.api.models.shared.SourceGoogleDriveUserProvided; +import com.airbyte.api.models.shared.SourceGoogleDriveValidationPolicy; +import com.airbyte.api.models.shared.SourceGooglePagespeedInsights; +import com.airbyte.api.models.shared.SourceGoogleSearchConsole; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleAuthType; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleCustomReportConfig; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleGoogleSearchConsole; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleOAuth; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleSchemasAuthType; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleServiceAccountKeyAuthentication; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleValidEnums; +import com.airbyte.api.models.shared.SourceGoogleSheets; +import com.airbyte.api.models.shared.SourceGoogleSheetsAuthType; +import com.airbyte.api.models.shared.SourceGoogleSheetsAuthenticateViaGoogleOAuth; +import com.airbyte.api.models.shared.SourceGoogleSheetsGoogleSheets; +import com.airbyte.api.models.shared.SourceGoogleSheetsSchemasAuthType; +import com.airbyte.api.models.shared.SourceGoogleSheetsServiceAccountKeyAuthentication; +import com.airbyte.api.models.shared.SourceGoogleWebfonts; +import com.airbyte.api.models.shared.SourceGreenhouse; +import com.airbyte.api.models.shared.SourceGridly; +import com.airbyte.api.models.shared.SourceHarvest; +import com.airbyte.api.models.shared.SourceHarvestHarvest; +import com.airbyte.api.models.shared.SourceHubplanner; +import com.airbyte.api.models.shared.SourceHubspot; +import com.airbyte.api.models.shared.SourceHubspotAuthType; +import com.airbyte.api.models.shared.SourceHubspotHubspot; +import com.airbyte.api.models.shared.SourceHubspotOAuth; +import com.airbyte.api.models.shared.SourceHubspotSchemasAuthType; +import com.airbyte.api.models.shared.SourceInsightly; +import com.airbyte.api.models.shared.SourceInstagram; +import com.airbyte.api.models.shared.SourceInstagramInstagram; +import com.airbyte.api.models.shared.SourceInstatus; +import com.airbyte.api.models.shared.SourceIntercom; +import com.airbyte.api.models.shared.SourceIntercomIntercom; +import com.airbyte.api.models.shared.SourceIp2whois; +import com.airbyte.api.models.shared.SourceIterable; +import com.airbyte.api.models.shared.SourceJira; +import com.airbyte.api.models.shared.SourceK6Cloud; +import com.airbyte.api.models.shared.SourceKlarna; +import com.airbyte.api.models.shared.SourceKlarnaRegion; +import com.airbyte.api.models.shared.SourceKlaviyo; +import com.airbyte.api.models.shared.SourceKyve; +import com.airbyte.api.models.shared.SourceLaunchdarkly; +import com.airbyte.api.models.shared.SourceLemlist; +import com.airbyte.api.models.shared.SourceLeverHiring; +import com.airbyte.api.models.shared.SourceLeverHiringAuthType; +import com.airbyte.api.models.shared.SourceLeverHiringEnvironment; +import com.airbyte.api.models.shared.SourceLeverHiringLeverHiring; +import com.airbyte.api.models.shared.SourceLeverHiringSchemasAuthType; +import com.airbyte.api.models.shared.SourceLinkedinAds; +import com.airbyte.api.models.shared.SourceLinkedinAdsAuthMethod; +import com.airbyte.api.models.shared.SourceLinkedinAdsLinkedinAds; +import com.airbyte.api.models.shared.SourceLinkedinAdsOAuth20; +import com.airbyte.api.models.shared.SourceLinkedinAdsSchemasAuthMethod; +import com.airbyte.api.models.shared.SourceLinkedinPages; +import com.airbyte.api.models.shared.SourceLinkedinPagesAccessToken; +import com.airbyte.api.models.shared.SourceLinkedinPagesAuthMethod; +import com.airbyte.api.models.shared.SourceLinkedinPagesOAuth20; +import com.airbyte.api.models.shared.SourceLinkedinPagesSchemasAuthMethod; +import com.airbyte.api.models.shared.SourceLinnworks; +import com.airbyte.api.models.shared.SourceLokalise; +import com.airbyte.api.models.shared.SourceMailchimp; +import com.airbyte.api.models.shared.SourceMailchimpAuthType; +import com.airbyte.api.models.shared.SourceMailchimpMailchimp; +import com.airbyte.api.models.shared.SourceMailchimpOAuth20; +import com.airbyte.api.models.shared.SourceMailchimpSchemasAuthType; +import com.airbyte.api.models.shared.SourceMailgun; +import com.airbyte.api.models.shared.SourceMailjetSms; +import com.airbyte.api.models.shared.SourceMarketo; +import com.airbyte.api.models.shared.SourceMetabase; +import com.airbyte.api.models.shared.SourceMicrosoftOnedrive; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveAuthType; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveAutogenerated; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveAvroFormat; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveCSVFormat; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveFileBasedStreamConfig; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveFromCSV; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveJsonlFormat; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveLocal; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveMicrosoftOnedrive; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveMode; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveParquetFormat; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveParsingStrategy; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasAuthType; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasStreamsFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasStreamsFormatFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasStreamsFormatFormatFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasStreamsHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveUserProvided; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveValidationPolicy; +import com.airbyte.api.models.shared.SourceMicrosoftSharepoint; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointAuthType; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointAutogenerated; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointAvroFormat; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointCSVFormat; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointDocumentFileTypeFormatExperimental; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointFileBasedStreamConfig; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointFromCSV; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointJsonlFormat; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointLocal; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointMicrosoftSharepoint; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointMode; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointParquetFormat; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointParsingStrategy; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasAuthType; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasStreamsFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasStreamsFormatFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasStreamsFormatFormatFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasStreamsHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSearchScope; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointServiceKeyAuthentication; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointUserProvided; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointValidationPolicy; +import com.airbyte.api.models.shared.SourceMicrosoftTeams; +import com.airbyte.api.models.shared.SourceMicrosoftTeamsAuthType; +import com.airbyte.api.models.shared.SourceMicrosoftTeamsMicrosoftTeams; +import com.airbyte.api.models.shared.SourceMicrosoftTeamsSchemasAuthType; +import com.airbyte.api.models.shared.SourceMixpanel; +import com.airbyte.api.models.shared.SourceMixpanelOptionTitle; +import com.airbyte.api.models.shared.SourceMixpanelRegion; +import com.airbyte.api.models.shared.SourceMixpanelSchemasOptionTitle; +import com.airbyte.api.models.shared.SourceMonday; +import com.airbyte.api.models.shared.SourceMondayAuthType; +import com.airbyte.api.models.shared.SourceMondayMonday; +import com.airbyte.api.models.shared.SourceMondayOAuth20; +import com.airbyte.api.models.shared.SourceMondaySchemasAuthType; +import com.airbyte.api.models.shared.SourceMongodbInternalPoc; +import com.airbyte.api.models.shared.SourceMongodbV2; +import com.airbyte.api.models.shared.SourceMssql; +import com.airbyte.api.models.shared.SourceMssqlEncryptedTrustServerCertificate; +import com.airbyte.api.models.shared.SourceMssqlEncryptedVerifyCertificate; +import com.airbyte.api.models.shared.SourceMssqlInvalidCDCPositionBehaviorAdvanced; +import com.airbyte.api.models.shared.SourceMssqlMethod; +import com.airbyte.api.models.shared.SourceMssqlMssql; +import com.airbyte.api.models.shared.SourceMssqlNoTunnel; +import com.airbyte.api.models.shared.SourceMssqlPasswordAuthentication; +import com.airbyte.api.models.shared.SourceMssqlSSHKeyAuthentication; +import com.airbyte.api.models.shared.SourceMssqlSchemasMethod; +import com.airbyte.api.models.shared.SourceMssqlSchemasSSLMethodSSLMethodSSLMethod; +import com.airbyte.api.models.shared.SourceMssqlSchemasSslMethod; +import com.airbyte.api.models.shared.SourceMssqlSchemasSslMethodSslMethod; +import com.airbyte.api.models.shared.SourceMssqlSchemasTunnelMethod; +import com.airbyte.api.models.shared.SourceMssqlSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.SourceMssqlTunnelMethod; +import com.airbyte.api.models.shared.SourceMyHours; +import com.airbyte.api.models.shared.SourceMysql; +import com.airbyte.api.models.shared.SourceMysqlInvalidCDCPositionBehaviorAdvanced; +import com.airbyte.api.models.shared.SourceMysqlMethod; +import com.airbyte.api.models.shared.SourceMysqlMode; +import com.airbyte.api.models.shared.SourceMysqlMysql; +import com.airbyte.api.models.shared.SourceMysqlNoTunnel; +import com.airbyte.api.models.shared.SourceMysqlPasswordAuthentication; +import com.airbyte.api.models.shared.SourceMysqlSSHKeyAuthentication; +import com.airbyte.api.models.shared.SourceMysqlScanChangesWithUserDefinedCursor; +import com.airbyte.api.models.shared.SourceMysqlSchemasMethod; +import com.airbyte.api.models.shared.SourceMysqlSchemasMode; +import com.airbyte.api.models.shared.SourceMysqlSchemasSSLModeSSLModesMode; +import com.airbyte.api.models.shared.SourceMysqlSchemasSslModeMode; +import com.airbyte.api.models.shared.SourceMysqlSchemasTunnelMethod; +import com.airbyte.api.models.shared.SourceMysqlSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.SourceMysqlTunnelMethod; +import com.airbyte.api.models.shared.SourceMysqlVerifyCA; +import com.airbyte.api.models.shared.SourceNetsuite; +import com.airbyte.api.models.shared.SourceNotion; +import com.airbyte.api.models.shared.SourceNotionAccessToken; +import com.airbyte.api.models.shared.SourceNotionAuthType; +import com.airbyte.api.models.shared.SourceNotionNotion; +import com.airbyte.api.models.shared.SourceNotionOAuth20; +import com.airbyte.api.models.shared.SourceNotionSchemasAuthType; +import com.airbyte.api.models.shared.SourceNytimes; +import com.airbyte.api.models.shared.SourceOkta; +import com.airbyte.api.models.shared.SourceOktaAPIToken; +import com.airbyte.api.models.shared.SourceOktaAuthType; +import com.airbyte.api.models.shared.SourceOktaOAuth20; +import com.airbyte.api.models.shared.SourceOktaSchemasAuthType; +import com.airbyte.api.models.shared.SourceOmnisend; +import com.airbyte.api.models.shared.SourceOnesignal; +import com.airbyte.api.models.shared.SourceOracle; +import com.airbyte.api.models.shared.SourceOracleConnectionType; +import com.airbyte.api.models.shared.SourceOracleEncryptionMethod; +import com.airbyte.api.models.shared.SourceOracleNoTunnel; +import com.airbyte.api.models.shared.SourceOracleOracle; +import com.airbyte.api.models.shared.SourceOraclePasswordAuthentication; +import com.airbyte.api.models.shared.SourceOracleSSHKeyAuthentication; +import com.airbyte.api.models.shared.SourceOracleSchemasTunnelMethod; +import com.airbyte.api.models.shared.SourceOracleSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.SourceOracleTunnelMethod; +import com.airbyte.api.models.shared.SourceOrb; +import com.airbyte.api.models.shared.SourceOrbit; +import com.airbyte.api.models.shared.SourceOutbrainAmplify; +import com.airbyte.api.models.shared.SourceOutbrainAmplifyAccessToken; +import com.airbyte.api.models.shared.SourceOutbrainAmplifyUsernamePassword; +import com.airbyte.api.models.shared.SourceOutreach; import com.airbyte.api.models.shared.SourcePatchRequest; +import com.airbyte.api.models.shared.SourcePaypalTransaction; +import com.airbyte.api.models.shared.SourcePaystack; +import com.airbyte.api.models.shared.SourcePendo; +import com.airbyte.api.models.shared.SourcePersistiq; +import com.airbyte.api.models.shared.SourcePexelsApi; +import com.airbyte.api.models.shared.SourcePinterest; +import com.airbyte.api.models.shared.SourcePinterestAuthMethod; +import com.airbyte.api.models.shared.SourcePinterestLevel; +import com.airbyte.api.models.shared.SourcePinterestPinterest; +import com.airbyte.api.models.shared.SourcePinterestSchemasValidEnums; +import com.airbyte.api.models.shared.SourcePinterestValidEnums; +import com.airbyte.api.models.shared.SourcePipedrive; +import com.airbyte.api.models.shared.SourcePocket; +import com.airbyte.api.models.shared.SourcePocketSortBy; +import com.airbyte.api.models.shared.SourcePokeapi; +import com.airbyte.api.models.shared.SourcePolygonStockApi; +import com.airbyte.api.models.shared.SourcePostgres; +import com.airbyte.api.models.shared.SourcePostgresMethod; +import com.airbyte.api.models.shared.SourcePostgresNoTunnel; +import com.airbyte.api.models.shared.SourcePostgresPasswordAuthentication; +import com.airbyte.api.models.shared.SourcePostgresPostgres; +import com.airbyte.api.models.shared.SourcePostgresSSHKeyAuthentication; +import com.airbyte.api.models.shared.SourcePostgresScanChangesWithUserDefinedCursor; +import com.airbyte.api.models.shared.SourcePostgresSchemasMethod; +import com.airbyte.api.models.shared.SourcePostgresSchemasTunnelMethod; +import com.airbyte.api.models.shared.SourcePostgresSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.SourcePostgresTunnelMethod; +import com.airbyte.api.models.shared.SourcePosthog; +import com.airbyte.api.models.shared.SourcePostmarkapp; +import com.airbyte.api.models.shared.SourcePrestashop; +import com.airbyte.api.models.shared.SourcePunkApi; +import com.airbyte.api.models.shared.SourcePypi; +import com.airbyte.api.models.shared.SourceQualaroo; +import com.airbyte.api.models.shared.SourceQuickbooks; +import com.airbyte.api.models.shared.SourceQuickbooksAuthType; +import com.airbyte.api.models.shared.SourceQuickbooksOAuth20; +import com.airbyte.api.models.shared.SourceRailz; +import com.airbyte.api.models.shared.SourceRecharge; +import com.airbyte.api.models.shared.SourceRecreation; +import com.airbyte.api.models.shared.SourceRecruitee; +import com.airbyte.api.models.shared.SourceRecurly; +import com.airbyte.api.models.shared.SourceRedshift; +import com.airbyte.api.models.shared.SourceRedshiftRedshift; +import com.airbyte.api.models.shared.SourceRetently; +import com.airbyte.api.models.shared.SourceRetentlyRetently; +import com.airbyte.api.models.shared.SourceRkiCovid; +import com.airbyte.api.models.shared.SourceRss; +import com.airbyte.api.models.shared.SourceS3; +import com.airbyte.api.models.shared.SourceS3Autogenerated; +import com.airbyte.api.models.shared.SourceS3AvroFormat; +import com.airbyte.api.models.shared.SourceS3CSVFormat; +import com.airbyte.api.models.shared.SourceS3DocumentFileTypeFormatExperimental; +import com.airbyte.api.models.shared.SourceS3FileBasedStreamConfig; +import com.airbyte.api.models.shared.SourceS3Filetype; +import com.airbyte.api.models.shared.SourceS3FromCSV; +import com.airbyte.api.models.shared.SourceS3HeaderDefinitionType; +import com.airbyte.api.models.shared.SourceS3InferenceType; +import com.airbyte.api.models.shared.SourceS3JsonlFormat; +import com.airbyte.api.models.shared.SourceS3Local; +import com.airbyte.api.models.shared.SourceS3Mode; +import com.airbyte.api.models.shared.SourceS3ParquetFormat; +import com.airbyte.api.models.shared.SourceS3ParsingStrategy; +import com.airbyte.api.models.shared.SourceS3S3; +import com.airbyte.api.models.shared.SourceS3SchemasFiletype; +import com.airbyte.api.models.shared.SourceS3SchemasFormatFileFormatFiletype; +import com.airbyte.api.models.shared.SourceS3SchemasFormatFiletype; +import com.airbyte.api.models.shared.SourceS3SchemasHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceS3SchemasStreamsFiletype; +import com.airbyte.api.models.shared.SourceS3SchemasStreamsFormatFiletype; +import com.airbyte.api.models.shared.SourceS3SchemasStreamsFormatFormat4Filetype; +import com.airbyte.api.models.shared.SourceS3SchemasStreamsFormatFormat5Filetype; +import com.airbyte.api.models.shared.SourceS3SchemasStreamsFormatFormatFiletype; +import com.airbyte.api.models.shared.SourceS3SchemasStreamsHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceS3UserProvided; +import com.airbyte.api.models.shared.SourceS3ValidationPolicy; +import com.airbyte.api.models.shared.SourceSalesforce; +import com.airbyte.api.models.shared.SourceSalesforceSalesforce; +import com.airbyte.api.models.shared.SourceSalesloft; +import com.airbyte.api.models.shared.SourceSalesloftAuthType; +import com.airbyte.api.models.shared.SourceSalesloftSchemasAuthType; +import com.airbyte.api.models.shared.SourceSapFieldglass; +import com.airbyte.api.models.shared.SourceSecoda; +import com.airbyte.api.models.shared.SourceSendgrid; +import com.airbyte.api.models.shared.SourceSendinblue; +import com.airbyte.api.models.shared.SourceSenseforce; +import com.airbyte.api.models.shared.SourceSentry; +import com.airbyte.api.models.shared.SourceSftp; +import com.airbyte.api.models.shared.SourceSftpAuthMethod; +import com.airbyte.api.models.shared.SourceSftpBulk; +import com.airbyte.api.models.shared.SourceSftpPasswordAuthentication; +import com.airbyte.api.models.shared.SourceSftpSSHKeyAuthentication; +import com.airbyte.api.models.shared.SourceSftpSchemasAuthMethod; +import com.airbyte.api.models.shared.SourceShopify; +import com.airbyte.api.models.shared.SourceShopifyAuthMethod; +import com.airbyte.api.models.shared.SourceShopifyOAuth20; +import com.airbyte.api.models.shared.SourceShopifySchemasAuthMethod; +import com.airbyte.api.models.shared.SourceShopifyShopify; +import com.airbyte.api.models.shared.SourceShortio; +import com.airbyte.api.models.shared.SourceSlack; +import com.airbyte.api.models.shared.SourceSlackAPIToken; +import com.airbyte.api.models.shared.SourceSlackOptionTitle; +import com.airbyte.api.models.shared.SourceSlackSchemasOptionTitle; +import com.airbyte.api.models.shared.SourceSlackSlack; +import com.airbyte.api.models.shared.SourceSmaily; +import com.airbyte.api.models.shared.SourceSmartengage; +import com.airbyte.api.models.shared.SourceSmartsheets; +import com.airbyte.api.models.shared.SourceSmartsheetsAuthType; +import com.airbyte.api.models.shared.SourceSmartsheetsOAuth20; +import com.airbyte.api.models.shared.SourceSmartsheetsSchemasAuthType; +import com.airbyte.api.models.shared.SourceSmartsheetsSmartsheets; +import com.airbyte.api.models.shared.SourceSnapchatMarketing; +import com.airbyte.api.models.shared.SourceSnapchatMarketingSnapchatMarketing; +import com.airbyte.api.models.shared.SourceSnowflake; +import com.airbyte.api.models.shared.SourceSnowflakeAuthType; +import com.airbyte.api.models.shared.SourceSnowflakeOAuth20; +import com.airbyte.api.models.shared.SourceSnowflakeSchemasAuthType; +import com.airbyte.api.models.shared.SourceSnowflakeSnowflake; +import com.airbyte.api.models.shared.SourceSnowflakeUsernameAndPassword; +import com.airbyte.api.models.shared.SourceSonarCloud; +import com.airbyte.api.models.shared.SourceSpacexApi; +import com.airbyte.api.models.shared.SourceSquare; +import com.airbyte.api.models.shared.SourceSquareAPIKey; +import com.airbyte.api.models.shared.SourceSquareAuthType; +import com.airbyte.api.models.shared.SourceSquareSchemasAuthType; +import com.airbyte.api.models.shared.SourceSquareSquare; +import com.airbyte.api.models.shared.SourceStrava; +import com.airbyte.api.models.shared.SourceStravaAuthType; +import com.airbyte.api.models.shared.SourceStravaStrava; +import com.airbyte.api.models.shared.SourceStripe; +import com.airbyte.api.models.shared.SourceSurveySparrow; +import com.airbyte.api.models.shared.SourceSurveySparrowUrlBase; +import com.airbyte.api.models.shared.SourceSurveymonkey; +import com.airbyte.api.models.shared.SourceSurveymonkeyAuthMethod; +import com.airbyte.api.models.shared.SourceSurveymonkeySurveymonkey; +import com.airbyte.api.models.shared.SourceTempo; +import com.airbyte.api.models.shared.SourceTheGuardianApi; +import com.airbyte.api.models.shared.SourceTiktokMarketing; +import com.airbyte.api.models.shared.SourceTiktokMarketingAuthType; +import com.airbyte.api.models.shared.SourceTiktokMarketingOAuth20; +import com.airbyte.api.models.shared.SourceTiktokMarketingSchemasAuthType; +import com.airbyte.api.models.shared.SourceTiktokMarketingTiktokMarketing; +import com.airbyte.api.models.shared.SourceTrello; +import com.airbyte.api.models.shared.SourceTrustpilot; +import com.airbyte.api.models.shared.SourceTrustpilotAPIKey; +import com.airbyte.api.models.shared.SourceTrustpilotAuthType; +import com.airbyte.api.models.shared.SourceTrustpilotOAuth20; +import com.airbyte.api.models.shared.SourceTrustpilotSchemasAuthType; +import com.airbyte.api.models.shared.SourceTvmazeSchedule; +import com.airbyte.api.models.shared.SourceTwilio; +import com.airbyte.api.models.shared.SourceTwilioTaskrouter; +import com.airbyte.api.models.shared.SourceTwitter; +import com.airbyte.api.models.shared.SourceTypeform; +import com.airbyte.api.models.shared.SourceTypeformAuthType; +import com.airbyte.api.models.shared.SourceTypeformOAuth20; +import com.airbyte.api.models.shared.SourceTypeformPrivateToken; +import com.airbyte.api.models.shared.SourceTypeformSchemasAuthType; +import com.airbyte.api.models.shared.SourceTypeformTypeform; +import com.airbyte.api.models.shared.SourceUsCensus; +import com.airbyte.api.models.shared.SourceVantage; +import com.airbyte.api.models.shared.SourceWebflow; +import com.airbyte.api.models.shared.SourceWhiskyHunter; +import com.airbyte.api.models.shared.SourceWikipediaPageviews; +import com.airbyte.api.models.shared.SourceWoocommerce; +import com.airbyte.api.models.shared.SourceXkcd; +import com.airbyte.api.models.shared.SourceYandexMetrica; +import com.airbyte.api.models.shared.SourceYotpo; +import com.airbyte.api.models.shared.SourceYoutubeAnalytics; +import com.airbyte.api.models.shared.SourceYoutubeAnalyticsYoutubeAnalytics; +import com.airbyte.api.models.shared.SourceZendeskChat; +import com.airbyte.api.models.shared.SourceZendeskChatAccessToken; +import com.airbyte.api.models.shared.SourceZendeskChatCredentials; +import com.airbyte.api.models.shared.SourceZendeskChatOAuth20; +import com.airbyte.api.models.shared.SourceZendeskChatSchemasCredentials; +import com.airbyte.api.models.shared.SourceZendeskChatZendeskChat; +import com.airbyte.api.models.shared.SourceZendeskSell; +import com.airbyte.api.models.shared.SourceZendeskSunshine; +import com.airbyte.api.models.shared.SourceZendeskSunshineAPIToken; +import com.airbyte.api.models.shared.SourceZendeskSunshineAuthMethod; +import com.airbyte.api.models.shared.SourceZendeskSunshineOAuth20; +import com.airbyte.api.models.shared.SourceZendeskSunshineSchemasAuthMethod; +import com.airbyte.api.models.shared.SourceZendeskSunshineZendeskSunshine; +import com.airbyte.api.models.shared.SourceZendeskSupport; +import com.airbyte.api.models.shared.SourceZendeskSupportZendeskSupport; +import com.airbyte.api.models.shared.SourceZendeskTalk; +import com.airbyte.api.models.shared.SourceZendeskTalkZendeskTalk; +import com.airbyte.api.models.shared.SourceZenloop; +import com.airbyte.api.models.shared.SourceZohoCrm; +import com.airbyte.api.models.shared.SourceZohoCrmEnvironment; +import com.airbyte.api.models.shared.SourceZoom; +import com.airbyte.api.models.shared.SpacexApi; +import com.airbyte.api.models.shared.State; +import com.airbyte.api.models.shared.StateFilter; +import com.airbyte.api.models.shared.Status; +import com.airbyte.api.models.shared.Storage; +import com.airbyte.api.models.shared.Strategies; +import com.airbyte.api.models.shared.StreamName; +import com.airbyte.api.models.shared.StreamsCriteria; +import com.airbyte.api.models.shared.StringFilter; +import com.airbyte.api.models.shared.Stripe; +import com.airbyte.api.models.shared.SurveyMonkeyAuthorizationMethod; +import com.airbyte.api.models.shared.SurveySparrow; +import com.airbyte.api.models.shared.SwipeUpAttributionWindow; +import com.airbyte.api.models.shared.SystemIDSID; +import com.airbyte.api.models.shared.TLSEncryptedVerifyCertificate; +import com.airbyte.api.models.shared.Tempo; +import com.airbyte.api.models.shared.TheGuardianApi; +import com.airbyte.api.models.shared.TimeGranularity; +import com.airbyte.api.models.shared.TopHeadlinesTopic; +import com.airbyte.api.models.shared.Trello; +import com.airbyte.api.models.shared.Trustpilot; +import com.airbyte.api.models.shared.TvmazeSchedule; +import com.airbyte.api.models.shared.Twilio; +import com.airbyte.api.models.shared.TwilioTaskrouter; +import com.airbyte.api.models.shared.Twitter; +import com.airbyte.api.models.shared.Unencrypted; +import com.airbyte.api.models.shared.UnexpectedFieldBehavior; +import com.airbyte.api.models.shared.UrlBase; +import com.airbyte.api.models.shared.UsCensus; +import com.airbyte.api.models.shared.UserProvided; +import com.airbyte.api.models.shared.ValidActionBreakdowns; +import com.airbyte.api.models.shared.ValidAdSetStatuses; +import com.airbyte.api.models.shared.ValidAdStatuses; +import com.airbyte.api.models.shared.ValidBreakdowns; +import com.airbyte.api.models.shared.ValidCampaignStatuses; +import com.airbyte.api.models.shared.ValidationPolicy; +import com.airbyte.api.models.shared.Validenums; +import com.airbyte.api.models.shared.ValueType; +import com.airbyte.api.models.shared.Vantage; +import com.airbyte.api.models.shared.VerifyIdentity; +import com.airbyte.api.models.shared.ViewAttributionWindow; +import com.airbyte.api.models.shared.ViewWindowDays; +import com.airbyte.api.models.shared.Webflow; +import com.airbyte.api.models.shared.WhiskyHunter; +import com.airbyte.api.models.shared.WikipediaPageviews; +import com.airbyte.api.models.shared.Woocommerce; +import com.airbyte.api.models.shared.Xkcd; +import com.airbyte.api.models.shared.YandexMetrica; +import com.airbyte.api.models.shared.Yotpo; +import com.airbyte.api.models.shared.ZendeskSell; +import com.airbyte.api.models.shared.Zenloop; +import com.airbyte.api.models.shared.ZohoCRMEdition; +import com.airbyte.api.models.shared.ZohoCrm; +import com.airbyte.api.models.shared.Zoom; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.PatchSourceRequest req = new PatchSourceRequest( - ""){{ - sourcePatchRequest = new SourcePatchRequest( -){{ - configuration = ""; - name = "My source"; - secretId = ""; - workspaceId = "30fc2511-c44f-479e-92c3-0df4fd46c0e4"; - - }}; - - }}; + PatchSourceRequest req = PatchSourceRequest.builder() + .sourceId("") + .sourcePatchRequest(SourcePatchRequest.builder() + .configuration(SourceConfiguration.of(SourceAha.builder() + .apiKey("") + .url("") + .build())) + .name("My source") + .secretId("") + .workspaceId("30fc2511-c44f-479e-92c3-0df4fd46c0e4") + .build()) + .build(); - com.airbyte.api.models.operations.PatchSourceResponse res = sdk.sources.patchSource(req); + PatchSourceResponse res = sdk.sources().patchSource() + .request(req) + .call(); - if (res.sourceResponse != null) { + if (res.sourceResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -381,8 +2571,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.PatchSourceResponse](../../models/operations/PatchSourceResponse.md)** +**[Optional](../../models/operations/PatchSourceResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## putSource @@ -394,39 +2588,1109 @@ Update a Source and fully overwrite it package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.PutSourceRequest; import com.airbyte.api.models.operations.PutSourceResponse; +import com.airbyte.api.models.shared.*; +import com.airbyte.api.models.shared.APIAccessToken; +import com.airbyte.api.models.shared.APIKey; +import com.airbyte.api.models.shared.APIPassword; +import com.airbyte.api.models.shared.APIToken; +import com.airbyte.api.models.shared.AWSEnvironment; +import com.airbyte.api.models.shared.AWSRegion; +import com.airbyte.api.models.shared.AWSSellerPartnerAccountType; +import com.airbyte.api.models.shared.AccessToken; +import com.airbyte.api.models.shared.AccessTokenIsRequiredForAuthenticationRequests; +import com.airbyte.api.models.shared.AccountNames; +import com.airbyte.api.models.shared.ActionReportTime; +import com.airbyte.api.models.shared.AdAnalyticsReportConfiguration; +import com.airbyte.api.models.shared.Aha; +import com.airbyte.api.models.shared.Aircall; +import com.airbyte.api.models.shared.AmazonSqs; +import com.airbyte.api.models.shared.Amplitude; +import com.airbyte.api.models.shared.AndGroup; +import com.airbyte.api.models.shared.ApifyDataset; +import com.airbyte.api.models.shared.Appfollow; +import com.airbyte.api.models.shared.Applications; +import com.airbyte.api.models.shared.Auth0; +import com.airbyte.api.models.shared.AuthMethod; +import com.airbyte.api.models.shared.AuthType; +import com.airbyte.api.models.shared.AuthenticateViaAPIKey; +import com.airbyte.api.models.shared.AuthenticateViaAsanaOauth; +import com.airbyte.api.models.shared.AuthenticateViaGoogleOauth; +import com.airbyte.api.models.shared.AuthenticateViaLeverApiKey; +import com.airbyte.api.models.shared.AuthenticateViaLeverOAuth; +import com.airbyte.api.models.shared.AuthenticateViaMicrosoft; +import com.airbyte.api.models.shared.AuthenticateViaMicrosoftOAuth20; +import com.airbyte.api.models.shared.AuthenticateViaMicrosoftOAuth; +import com.airbyte.api.models.shared.AuthenticateViaOAuth; +import com.airbyte.api.models.shared.AuthenticateWithPersonalAccessToken; +import com.airbyte.api.models.shared.Autogenerated; +import com.airbyte.api.models.shared.Avro; +import com.airbyte.api.models.shared.AvroFormat; +import com.airbyte.api.models.shared.AwsCloudtrail; +import com.airbyte.api.models.shared.AzBlobAzureBlobStorage; +import com.airbyte.api.models.shared.AzureTable; +import com.airbyte.api.models.shared.BambooHr; +import com.airbyte.api.models.shared.BetweenFilter; +import com.airbyte.api.models.shared.BothUsernameAndPasswordIsRequiredForAuthenticationRequest; +import com.airbyte.api.models.shared.Braintree; +import com.airbyte.api.models.shared.Braze; +import com.airbyte.api.models.shared.CSVFormat; +import com.airbyte.api.models.shared.Cart; +import com.airbyte.api.models.shared.Categories; +import com.airbyte.api.models.shared.CentralAPIRouter; +import com.airbyte.api.models.shared.Chargebee; +import com.airbyte.api.models.shared.Chartmogul; +import com.airbyte.api.models.shared.ClickWindowDays; +import com.airbyte.api.models.shared.ClickupApi; +import com.airbyte.api.models.shared.Clockify; +import com.airbyte.api.models.shared.CloseCom; +import com.airbyte.api.models.shared.Coda; +import com.airbyte.api.models.shared.CohortReportSettings; +import com.airbyte.api.models.shared.Cohorts; +import com.airbyte.api.models.shared.CohortsRange; +import com.airbyte.api.models.shared.CoinApi; +import com.airbyte.api.models.shared.Coinmarketcap; +import com.airbyte.api.models.shared.Collection; +import com.airbyte.api.models.shared.Configcat; +import com.airbyte.api.models.shared.Confluence; +import com.airbyte.api.models.shared.ConnectionType; +import com.airbyte.api.models.shared.ContentType; +import com.airbyte.api.models.shared.ConversionReportTime; +import com.airbyte.api.models.shared.Country; +import com.airbyte.api.models.shared.Csv; +import com.airbyte.api.models.shared.CustomQueriesArray; +import com.airbyte.api.models.shared.CustomReportConfig; +import com.airbyte.api.models.shared.CustomerStatus; +import com.airbyte.api.models.shared.DataCenterLocation; +import com.airbyte.api.models.shared.DataFreshness; +import com.airbyte.api.models.shared.DataRegion; +import com.airbyte.api.models.shared.DataType; +import com.airbyte.api.models.shared.Datascope; +import com.airbyte.api.models.shared.DateRange; +import com.airbyte.api.models.shared.Delighted; +import com.airbyte.api.models.shared.DetailType; +import com.airbyte.api.models.shared.DetectChangesWithXminSystemColumn; +import com.airbyte.api.models.shared.Dimension; +import com.airbyte.api.models.shared.Disabled; +import com.airbyte.api.models.shared.Dixa; +import com.airbyte.api.models.shared.Dockerhub; +import com.airbyte.api.models.shared.DocumentFileTypeFormatExperimental; +import com.airbyte.api.models.shared.DoubleValue; +import com.airbyte.api.models.shared.Dremio; +import com.airbyte.api.models.shared.EUBasedAccount; +import com.airbyte.api.models.shared.Emailoctopus; +import com.airbyte.api.models.shared.Enabled; +import com.airbyte.api.models.shared.EncryptionAlgorithm; +import com.airbyte.api.models.shared.EncryptionMethod; +import com.airbyte.api.models.shared.EngagementWindowDays; +import com.airbyte.api.models.shared.Environment; +import com.airbyte.api.models.shared.ExchangeRates; +import com.airbyte.api.models.shared.Expression; +import com.airbyte.api.models.shared.Faker; +import com.airbyte.api.models.shared.Fauna; +import com.airbyte.api.models.shared.File; +import com.airbyte.api.models.shared.FileBasedStreamConfig; +import com.airbyte.api.models.shared.FileFormat; +import com.airbyte.api.models.shared.FileType; +import com.airbyte.api.models.shared.Filter; +import com.airbyte.api.models.shared.FilterName; +import com.airbyte.api.models.shared.FilterType; +import com.airbyte.api.models.shared.Firebolt; +import com.airbyte.api.models.shared.Freshcaller; +import com.airbyte.api.models.shared.Freshdesk; +import com.airbyte.api.models.shared.Freshsales; +import com.airbyte.api.models.shared.FromCSV; +import com.airbyte.api.models.shared.GCSGoogleCloudStorage; +import com.airbyte.api.models.shared.GainsightPx; +import com.airbyte.api.models.shared.Getlago; +import com.airbyte.api.models.shared.Glassfrog; +import com.airbyte.api.models.shared.GlobalAccount; +import com.airbyte.api.models.shared.Gnews; +import com.airbyte.api.models.shared.GoogleAnalyticsV4ServiceAccountOnly; +import com.airbyte.api.models.shared.GoogleCredentials; +import com.airbyte.api.models.shared.GoogleDirectory; +import com.airbyte.api.models.shared.GooglePagespeedInsights; +import com.airbyte.api.models.shared.GoogleWebfonts; +import com.airbyte.api.models.shared.Granularity; +import com.airbyte.api.models.shared.GranularityForGeoLocationRegion; +import com.airbyte.api.models.shared.GranularityForPeriodicReports; +import com.airbyte.api.models.shared.Greenhouse; +import com.airbyte.api.models.shared.Gridly; +import com.airbyte.api.models.shared.HTTPSPublicWeb; +import com.airbyte.api.models.shared.HeaderDefinitionType; +import com.airbyte.api.models.shared.Hubplanner; +import com.airbyte.api.models.shared.In; +import com.airbyte.api.models.shared.InListFilter; +import com.airbyte.api.models.shared.InferenceType; +import com.airbyte.api.models.shared.InsightConfig; +import com.airbyte.api.models.shared.Insightly; +import com.airbyte.api.models.shared.Instatus; +import com.airbyte.api.models.shared.Int64Value; +import com.airbyte.api.models.shared.InvalidCDCPositionBehaviorAdvanced; +import com.airbyte.api.models.shared.Ip2whois; +import com.airbyte.api.models.shared.IssuesStreamExpandWith; +import com.airbyte.api.models.shared.Iterable; +import com.airbyte.api.models.shared.Jira; +import com.airbyte.api.models.shared.Jsonl; +import com.airbyte.api.models.shared.JsonlFormat; +import com.airbyte.api.models.shared.K6Cloud; +import com.airbyte.api.models.shared.Klarna; +import com.airbyte.api.models.shared.Klaviyo; +import com.airbyte.api.models.shared.Kyve; +import com.airbyte.api.models.shared.Language; +import com.airbyte.api.models.shared.Launchdarkly; +import com.airbyte.api.models.shared.Lemlist; +import com.airbyte.api.models.shared.Level; +import com.airbyte.api.models.shared.LinkedinPages; +import com.airbyte.api.models.shared.Linnworks; +import com.airbyte.api.models.shared.Local; +import com.airbyte.api.models.shared.Lokalise; +import com.airbyte.api.models.shared.Mailgun; +import com.airbyte.api.models.shared.MailjetSms; +import com.airbyte.api.models.shared.Marketo; +import com.airbyte.api.models.shared.Metabase; +import com.airbyte.api.models.shared.Mixpanel; +import com.airbyte.api.models.shared.MongodbInternalPoc; +import com.airbyte.api.models.shared.MongodbV2; +import com.airbyte.api.models.shared.MyHours; +import com.airbyte.api.models.shared.NativeNetworkEncryptionNNE; +import com.airbyte.api.models.shared.Netsuite; +import com.airbyte.api.models.shared.NotExpression; +import com.airbyte.api.models.shared.Nullable; +import com.airbyte.api.models.shared.NumericFilter; +import com.airbyte.api.models.shared.Nytimes; +import com.airbyte.api.models.shared.OAuth20; +import com.airbyte.api.models.shared.OAuth2AccessToken; +import com.airbyte.api.models.shared.OAuth2ConfidentialApplication; +import com.airbyte.api.models.shared.OAuth; +import com.airbyte.api.models.shared.OauthAuthentication; +import com.airbyte.api.models.shared.Okta; +import com.airbyte.api.models.shared.Omnisend; +import com.airbyte.api.models.shared.Onesignal; +import com.airbyte.api.models.shared.Operator; +import com.airbyte.api.models.shared.OptionTitle; +import com.airbyte.api.models.shared.OptionsList; +import com.airbyte.api.models.shared.OrGroup; +import com.airbyte.api.models.shared.Orb; +import com.airbyte.api.models.shared.Orbit; +import com.airbyte.api.models.shared.OriginDatacenterOfTheSurveyMonkeyAccount; +import com.airbyte.api.models.shared.OutbrainAmplify; +import com.airbyte.api.models.shared.Outreach; +import com.airbyte.api.models.shared.Parquet; +import com.airbyte.api.models.shared.ParquetFormat; +import com.airbyte.api.models.shared.ParsingStrategy; +import com.airbyte.api.models.shared.PaypalTransaction; +import com.airbyte.api.models.shared.Paystack; +import com.airbyte.api.models.shared.Pendo; +import com.airbyte.api.models.shared.PeriodUsedForMostPopularStreams; +import com.airbyte.api.models.shared.Persistiq; +import com.airbyte.api.models.shared.PersonalAccessToken; +import com.airbyte.api.models.shared.PexelsApi; +import com.airbyte.api.models.shared.Pipedrive; +import com.airbyte.api.models.shared.PivotCategory; +import com.airbyte.api.models.shared.Pocket; +import com.airbyte.api.models.shared.Pokeapi; +import com.airbyte.api.models.shared.PokemonName; +import com.airbyte.api.models.shared.PolygonStockApi; +import com.airbyte.api.models.shared.Posthog; +import com.airbyte.api.models.shared.Postmarkapp; +import com.airbyte.api.models.shared.Preferred; +import com.airbyte.api.models.shared.Prestashop; +import com.airbyte.api.models.shared.PrivateApp; +import com.airbyte.api.models.shared.PrivateToken; +import com.airbyte.api.models.shared.ProductCatalog; +import com.airbyte.api.models.shared.ProjectSecret; +import com.airbyte.api.models.shared.PunkApi; +import com.airbyte.api.models.shared.Pypi; +import com.airbyte.api.models.shared.Qualaroo; +import com.airbyte.api.models.shared.Quickbooks; +import com.airbyte.api.models.shared.Railz; +import com.airbyte.api.models.shared.ReadChangesUsingBinaryLogCDC; +import com.airbyte.api.models.shared.ReadChangesUsingChangeDataCaptureCDC; +import com.airbyte.api.models.shared.Recharge; +import com.airbyte.api.models.shared.Recreation; +import com.airbyte.api.models.shared.Recruitee; +import com.airbyte.api.models.shared.Recurly; +import com.airbyte.api.models.shared.Region; +import com.airbyte.api.models.shared.ReportConfig; +import com.airbyte.api.models.shared.ReportOptions; +import com.airbyte.api.models.shared.ReportRecordTypes; +import com.airbyte.api.models.shared.ReportingDataObject; +import com.airbyte.api.models.shared.Required; +import com.airbyte.api.models.shared.RkiCovid; +import com.airbyte.api.models.shared.Rss; +import com.airbyte.api.models.shared.S3AmazonWebServices; +import com.airbyte.api.models.shared.SCPSecureCopyProtocol; +import com.airbyte.api.models.shared.SFTPSecureFileTransferProtocol; +import com.airbyte.api.models.shared.SSHSecureShell; +import com.airbyte.api.models.shared.Salesloft; +import com.airbyte.api.models.shared.SandboxAccessToken; +import com.airbyte.api.models.shared.SapFieldglass; +import com.airbyte.api.models.shared.ScanChangesWithUserDefinedCursor; +import com.airbyte.api.models.shared.SearchCriteria; +import com.airbyte.api.models.shared.SearchScope; +import com.airbyte.api.models.shared.Secoda; import com.airbyte.api.models.shared.Security; +import com.airbyte.api.models.shared.Sendgrid; +import com.airbyte.api.models.shared.Sendinblue; +import com.airbyte.api.models.shared.Senseforce; +import com.airbyte.api.models.shared.Sentry; +import com.airbyte.api.models.shared.ServiceAccount; +import com.airbyte.api.models.shared.ServiceAccountKey; +import com.airbyte.api.models.shared.ServiceAccountKeyAuthentication; +import com.airbyte.api.models.shared.ServiceKeyAuthentication; +import com.airbyte.api.models.shared.ServiceName; +import com.airbyte.api.models.shared.Sftp; +import com.airbyte.api.models.shared.SftpBulk; +import com.airbyte.api.models.shared.ShareTypeUsedForMostPopularSharedStream; +import com.airbyte.api.models.shared.Shortio; +import com.airbyte.api.models.shared.SignInViaGoogleOAuth; +import com.airbyte.api.models.shared.SignInViaSlackOAuth; +import com.airbyte.api.models.shared.SingleStoreAccessToken; +import com.airbyte.api.models.shared.Smaily; +import com.airbyte.api.models.shared.Smartengage; +import com.airbyte.api.models.shared.SonarCloud; +import com.airbyte.api.models.shared.SortBy; +import com.airbyte.api.models.shared.SourceAha; +import com.airbyte.api.models.shared.SourceAircall; +import com.airbyte.api.models.shared.SourceAirtable; +import com.airbyte.api.models.shared.SourceAirtableAirtable; +import com.airbyte.api.models.shared.SourceAirtableAuthMethod; +import com.airbyte.api.models.shared.SourceAirtableOAuth20; +import com.airbyte.api.models.shared.SourceAirtableSchemasAuthMethod; +import com.airbyte.api.models.shared.SourceAmazonAds; +import com.airbyte.api.models.shared.SourceAmazonAdsAmazonAds; +import com.airbyte.api.models.shared.SourceAmazonAdsAuthType; +import com.airbyte.api.models.shared.SourceAmazonSellerPartner; +import com.airbyte.api.models.shared.SourceAmazonSellerPartnerAmazonSellerPartner; +import com.airbyte.api.models.shared.SourceAmazonSellerPartnerAuthType; +import com.airbyte.api.models.shared.SourceAmazonSqs; +import com.airbyte.api.models.shared.SourceAmazonSqsAWSRegion; +import com.airbyte.api.models.shared.SourceAmplitude; +import com.airbyte.api.models.shared.SourceApifyDataset; +import com.airbyte.api.models.shared.SourceAppfollow; +import com.airbyte.api.models.shared.SourceAsana; +import com.airbyte.api.models.shared.SourceAsanaAsana; +import com.airbyte.api.models.shared.SourceAsanaCredentialsTitle; +import com.airbyte.api.models.shared.SourceAsanaSchemasCredentialsTitle; +import com.airbyte.api.models.shared.SourceAuth0; +import com.airbyte.api.models.shared.SourceAuth0SchemasAuthenticationMethod; +import com.airbyte.api.models.shared.SourceAuth0SchemasCredentialsAuthenticationMethod; +import com.airbyte.api.models.shared.SourceAwsCloudtrail; +import com.airbyte.api.models.shared.SourceAzureBlobStorage; +import com.airbyte.api.models.shared.SourceAzureBlobStorageAzureBlobStorage; +import com.airbyte.api.models.shared.SourceAzureBlobStorageFiletype; +import com.airbyte.api.models.shared.SourceAzureBlobStorageHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceAzureBlobStorageMode; +import com.airbyte.api.models.shared.SourceAzureBlobStorageSchemasFiletype; +import com.airbyte.api.models.shared.SourceAzureBlobStorageSchemasHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceAzureBlobStorageSchemasStreamsFiletype; +import com.airbyte.api.models.shared.SourceAzureBlobStorageSchemasStreamsFormatFiletype; +import com.airbyte.api.models.shared.SourceAzureBlobStorageSchemasStreamsFormatFormatFiletype; +import com.airbyte.api.models.shared.SourceAzureTable; +import com.airbyte.api.models.shared.SourceBambooHr; +import com.airbyte.api.models.shared.SourceBigquery; +import com.airbyte.api.models.shared.SourceBigqueryBigquery; +import com.airbyte.api.models.shared.SourceBingAds; +import com.airbyte.api.models.shared.SourceBingAdsBingAds; +import com.airbyte.api.models.shared.SourceBraintree; +import com.airbyte.api.models.shared.SourceBraintreeEnvironment; +import com.airbyte.api.models.shared.SourceBraze; +import com.airbyte.api.models.shared.SourceCart; +import com.airbyte.api.models.shared.SourceCartAuthType; +import com.airbyte.api.models.shared.SourceCartSchemasAuthType; +import com.airbyte.api.models.shared.SourceChargebee; +import com.airbyte.api.models.shared.SourceChartmogul; +import com.airbyte.api.models.shared.SourceClickhouse; +import com.airbyte.api.models.shared.SourceClickhouseClickhouse; +import com.airbyte.api.models.shared.SourceClickhouseNoTunnel; +import com.airbyte.api.models.shared.SourceClickhousePasswordAuthentication; +import com.airbyte.api.models.shared.SourceClickhouseSSHKeyAuthentication; +import com.airbyte.api.models.shared.SourceClickhouseSchemasTunnelMethod; +import com.airbyte.api.models.shared.SourceClickhouseSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.SourceClickhouseTunnelMethod; +import com.airbyte.api.models.shared.SourceClickupApi; +import com.airbyte.api.models.shared.SourceClockify; +import com.airbyte.api.models.shared.SourceCloseCom; +import com.airbyte.api.models.shared.SourceCoda; +import com.airbyte.api.models.shared.SourceCoinApi; +import com.airbyte.api.models.shared.SourceCoinmarketcap; +import com.airbyte.api.models.shared.SourceConfigcat; +import com.airbyte.api.models.shared.SourceConfluence; +import com.airbyte.api.models.shared.SourceConvex; +import com.airbyte.api.models.shared.SourceConvexConvex; +import com.airbyte.api.models.shared.SourceDatascope; +import com.airbyte.api.models.shared.SourceDelighted; +import com.airbyte.api.models.shared.SourceDixa; +import com.airbyte.api.models.shared.SourceDockerhub; +import com.airbyte.api.models.shared.SourceDremio; +import com.airbyte.api.models.shared.SourceDynamodb; +import com.airbyte.api.models.shared.SourceDynamodbDynamodb; +import com.airbyte.api.models.shared.SourceDynamodbDynamodbRegion; +import com.airbyte.api.models.shared.SourceEmailoctopus; +import com.airbyte.api.models.shared.SourceExchangeRates; +import com.airbyte.api.models.shared.SourceFacebookMarketing; +import com.airbyte.api.models.shared.SourceFacebookMarketingActionReportTime; +import com.airbyte.api.models.shared.SourceFacebookMarketingFacebookMarketing; +import com.airbyte.api.models.shared.SourceFacebookMarketingValidEnums; +import com.airbyte.api.models.shared.SourceFaker; +import com.airbyte.api.models.shared.SourceFauna; +import com.airbyte.api.models.shared.SourceFaunaDeletionMode; +import com.airbyte.api.models.shared.SourceFaunaSchemasDeletionMode; +import com.airbyte.api.models.shared.SourceFile; +import com.airbyte.api.models.shared.SourceFileS3AmazonWebServices; +import com.airbyte.api.models.shared.SourceFileSchemasProviderStorage; +import com.airbyte.api.models.shared.SourceFileSchemasProviderStorageProvider6Storage; +import com.airbyte.api.models.shared.SourceFileSchemasProviderStorageProvider7Storage; +import com.airbyte.api.models.shared.SourceFileSchemasProviderStorageProviderStorage; +import com.airbyte.api.models.shared.SourceFileSchemasStorage; +import com.airbyte.api.models.shared.SourceFileStorage; +import com.airbyte.api.models.shared.SourceFirebolt; +import com.airbyte.api.models.shared.SourceFreshcaller; +import com.airbyte.api.models.shared.SourceFreshdesk; +import com.airbyte.api.models.shared.SourceFreshsales; +import com.airbyte.api.models.shared.SourceGCSStreamConfig; +import com.airbyte.api.models.shared.SourceGainsightPx; +import com.airbyte.api.models.shared.SourceGcs; +import com.airbyte.api.models.shared.SourceGcsAutogenerated; +import com.airbyte.api.models.shared.SourceGcsCSVFormat; +import com.airbyte.api.models.shared.SourceGcsFiletype; +import com.airbyte.api.models.shared.SourceGcsFromCSV; +import com.airbyte.api.models.shared.SourceGcsGcs; +import com.airbyte.api.models.shared.SourceGcsHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceGcsInferenceType; +import com.airbyte.api.models.shared.SourceGcsSchemasHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceGcsSchemasStreamsHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceGcsUserProvided; +import com.airbyte.api.models.shared.SourceGcsValidationPolicy; +import com.airbyte.api.models.shared.SourceGetlago; +import com.airbyte.api.models.shared.SourceGithub; +import com.airbyte.api.models.shared.SourceGithubGithub; +import com.airbyte.api.models.shared.SourceGithubOptionTitle; +import com.airbyte.api.models.shared.SourceGithubPersonalAccessToken; +import com.airbyte.api.models.shared.SourceGitlab; +import com.airbyte.api.models.shared.SourceGitlabAuthType; +import com.airbyte.api.models.shared.SourceGitlabGitlab; +import com.airbyte.api.models.shared.SourceGitlabOAuth20; +import com.airbyte.api.models.shared.SourceGitlabSchemasAuthType; +import com.airbyte.api.models.shared.SourceGlassfrog; +import com.airbyte.api.models.shared.SourceGnews; +import com.airbyte.api.models.shared.SourceGoogleAds; +import com.airbyte.api.models.shared.SourceGoogleAdsGoogleAds; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApi; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiAndGroup; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiAuthType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiBetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiCustomReportConfig; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiDisabled; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiEnabled; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiExpression; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiFilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiGoogleAnalyticsDataApi; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiGranularity; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiInListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiNotExpression; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiNumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiOrGroup; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasAuthType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasBetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ToValueValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ToValueValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ToValueValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayEnabled; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ToValueValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ToValueValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4ValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasDoubleValue; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasEnabled; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasExpression; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasFilterName; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasFilterType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasInListFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasInt64Value; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasNumericFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasStringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiSchemasValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiStringFilter; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiValidEnums; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsDataApiValueType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsV4ServiceAccountOnly; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsV4ServiceAccountOnlyAuthType; +import com.airbyte.api.models.shared.SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication; +import com.airbyte.api.models.shared.SourceGoogleDirectory; +import com.airbyte.api.models.shared.SourceGoogleDirectoryCredentialsTitle; +import com.airbyte.api.models.shared.SourceGoogleDirectorySchemasCredentialsTitle; +import com.airbyte.api.models.shared.SourceGoogleDrive; +import com.airbyte.api.models.shared.SourceGoogleDriveAuthType; +import com.airbyte.api.models.shared.SourceGoogleDriveAuthenticateViaGoogleOAuth; +import com.airbyte.api.models.shared.SourceGoogleDriveAutogenerated; +import com.airbyte.api.models.shared.SourceGoogleDriveAvroFormat; +import com.airbyte.api.models.shared.SourceGoogleDriveCSVFormat; +import com.airbyte.api.models.shared.SourceGoogleDriveDocumentFileTypeFormatExperimental; +import com.airbyte.api.models.shared.SourceGoogleDriveFileBasedStreamConfig; +import com.airbyte.api.models.shared.SourceGoogleDriveFiletype; +import com.airbyte.api.models.shared.SourceGoogleDriveFromCSV; +import com.airbyte.api.models.shared.SourceGoogleDriveGoogleDrive; +import com.airbyte.api.models.shared.SourceGoogleDriveHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceGoogleDriveJsonlFormat; +import com.airbyte.api.models.shared.SourceGoogleDriveLocal; +import com.airbyte.api.models.shared.SourceGoogleDriveMode; +import com.airbyte.api.models.shared.SourceGoogleDriveParquetFormat; +import com.airbyte.api.models.shared.SourceGoogleDriveParsingStrategy; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasAuthType; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasFiletype; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasStreamsFiletype; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasStreamsFormatFiletype; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasStreamsFormatFormatFiletype; +import com.airbyte.api.models.shared.SourceGoogleDriveSchemasStreamsHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceGoogleDriveServiceAccountKeyAuthentication; +import com.airbyte.api.models.shared.SourceGoogleDriveUserProvided; +import com.airbyte.api.models.shared.SourceGoogleDriveValidationPolicy; +import com.airbyte.api.models.shared.SourceGooglePagespeedInsights; +import com.airbyte.api.models.shared.SourceGoogleSearchConsole; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleAuthType; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleCustomReportConfig; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleGoogleSearchConsole; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleOAuth; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleSchemasAuthType; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleServiceAccountKeyAuthentication; +import com.airbyte.api.models.shared.SourceGoogleSearchConsoleValidEnums; +import com.airbyte.api.models.shared.SourceGoogleSheets; +import com.airbyte.api.models.shared.SourceGoogleSheetsAuthType; +import com.airbyte.api.models.shared.SourceGoogleSheetsAuthenticateViaGoogleOAuth; +import com.airbyte.api.models.shared.SourceGoogleSheetsGoogleSheets; +import com.airbyte.api.models.shared.SourceGoogleSheetsSchemasAuthType; +import com.airbyte.api.models.shared.SourceGoogleSheetsServiceAccountKeyAuthentication; +import com.airbyte.api.models.shared.SourceGoogleWebfonts; +import com.airbyte.api.models.shared.SourceGreenhouse; +import com.airbyte.api.models.shared.SourceGridly; +import com.airbyte.api.models.shared.SourceHarvest; +import com.airbyte.api.models.shared.SourceHarvestHarvest; +import com.airbyte.api.models.shared.SourceHubplanner; +import com.airbyte.api.models.shared.SourceHubspot; +import com.airbyte.api.models.shared.SourceHubspotAuthType; +import com.airbyte.api.models.shared.SourceHubspotHubspot; +import com.airbyte.api.models.shared.SourceHubspotOAuth; +import com.airbyte.api.models.shared.SourceHubspotSchemasAuthType; +import com.airbyte.api.models.shared.SourceInsightly; +import com.airbyte.api.models.shared.SourceInstagram; +import com.airbyte.api.models.shared.SourceInstagramInstagram; +import com.airbyte.api.models.shared.SourceInstatus; +import com.airbyte.api.models.shared.SourceIntercom; +import com.airbyte.api.models.shared.SourceIntercomIntercom; +import com.airbyte.api.models.shared.SourceIp2whois; +import com.airbyte.api.models.shared.SourceIterable; +import com.airbyte.api.models.shared.SourceJira; +import com.airbyte.api.models.shared.SourceK6Cloud; +import com.airbyte.api.models.shared.SourceKlarna; +import com.airbyte.api.models.shared.SourceKlarnaRegion; +import com.airbyte.api.models.shared.SourceKlaviyo; +import com.airbyte.api.models.shared.SourceKyve; +import com.airbyte.api.models.shared.SourceLaunchdarkly; +import com.airbyte.api.models.shared.SourceLemlist; +import com.airbyte.api.models.shared.SourceLeverHiring; +import com.airbyte.api.models.shared.SourceLeverHiringAuthType; +import com.airbyte.api.models.shared.SourceLeverHiringEnvironment; +import com.airbyte.api.models.shared.SourceLeverHiringLeverHiring; +import com.airbyte.api.models.shared.SourceLeverHiringSchemasAuthType; +import com.airbyte.api.models.shared.SourceLinkedinAds; +import com.airbyte.api.models.shared.SourceLinkedinAdsAuthMethod; +import com.airbyte.api.models.shared.SourceLinkedinAdsLinkedinAds; +import com.airbyte.api.models.shared.SourceLinkedinAdsOAuth20; +import com.airbyte.api.models.shared.SourceLinkedinAdsSchemasAuthMethod; +import com.airbyte.api.models.shared.SourceLinkedinPages; +import com.airbyte.api.models.shared.SourceLinkedinPagesAccessToken; +import com.airbyte.api.models.shared.SourceLinkedinPagesAuthMethod; +import com.airbyte.api.models.shared.SourceLinkedinPagesOAuth20; +import com.airbyte.api.models.shared.SourceLinkedinPagesSchemasAuthMethod; +import com.airbyte.api.models.shared.SourceLinnworks; +import com.airbyte.api.models.shared.SourceLokalise; +import com.airbyte.api.models.shared.SourceMailchimp; +import com.airbyte.api.models.shared.SourceMailchimpAuthType; +import com.airbyte.api.models.shared.SourceMailchimpMailchimp; +import com.airbyte.api.models.shared.SourceMailchimpOAuth20; +import com.airbyte.api.models.shared.SourceMailchimpSchemasAuthType; +import com.airbyte.api.models.shared.SourceMailgun; +import com.airbyte.api.models.shared.SourceMailjetSms; +import com.airbyte.api.models.shared.SourceMarketo; +import com.airbyte.api.models.shared.SourceMetabase; +import com.airbyte.api.models.shared.SourceMicrosoftOnedrive; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveAuthType; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveAutogenerated; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveAvroFormat; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveCSVFormat; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveFileBasedStreamConfig; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveFromCSV; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveJsonlFormat; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveLocal; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveMicrosoftOnedrive; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveMode; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveParquetFormat; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveParsingStrategy; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasAuthType; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasStreamsFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasStreamsFormatFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasStreamsFormatFormatFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveSchemasStreamsHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveUserProvided; +import com.airbyte.api.models.shared.SourceMicrosoftOnedriveValidationPolicy; +import com.airbyte.api.models.shared.SourceMicrosoftSharepoint; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointAuthType; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointAutogenerated; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointAvroFormat; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointCSVFormat; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointDocumentFileTypeFormatExperimental; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointFileBasedStreamConfig; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointFromCSV; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointJsonlFormat; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointLocal; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointMicrosoftSharepoint; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointMode; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointParquetFormat; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointParsingStrategy; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasAuthType; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasStreamsFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasStreamsFormatFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasStreamsFormatFormatFiletype; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSchemasStreamsHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointSearchScope; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointServiceKeyAuthentication; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointUserProvided; +import com.airbyte.api.models.shared.SourceMicrosoftSharepointValidationPolicy; +import com.airbyte.api.models.shared.SourceMicrosoftTeams; +import com.airbyte.api.models.shared.SourceMicrosoftTeamsAuthType; +import com.airbyte.api.models.shared.SourceMicrosoftTeamsMicrosoftTeams; +import com.airbyte.api.models.shared.SourceMicrosoftTeamsSchemasAuthType; +import com.airbyte.api.models.shared.SourceMixpanel; +import com.airbyte.api.models.shared.SourceMixpanelOptionTitle; +import com.airbyte.api.models.shared.SourceMixpanelRegion; +import com.airbyte.api.models.shared.SourceMixpanelSchemasOptionTitle; +import com.airbyte.api.models.shared.SourceMonday; +import com.airbyte.api.models.shared.SourceMondayAuthType; +import com.airbyte.api.models.shared.SourceMondayMonday; +import com.airbyte.api.models.shared.SourceMondayOAuth20; +import com.airbyte.api.models.shared.SourceMondaySchemasAuthType; +import com.airbyte.api.models.shared.SourceMongodbInternalPoc; +import com.airbyte.api.models.shared.SourceMongodbV2; +import com.airbyte.api.models.shared.SourceMssql; +import com.airbyte.api.models.shared.SourceMssqlEncryptedTrustServerCertificate; +import com.airbyte.api.models.shared.SourceMssqlEncryptedVerifyCertificate; +import com.airbyte.api.models.shared.SourceMssqlInvalidCDCPositionBehaviorAdvanced; +import com.airbyte.api.models.shared.SourceMssqlMethod; +import com.airbyte.api.models.shared.SourceMssqlMssql; +import com.airbyte.api.models.shared.SourceMssqlNoTunnel; +import com.airbyte.api.models.shared.SourceMssqlPasswordAuthentication; +import com.airbyte.api.models.shared.SourceMssqlSSHKeyAuthentication; +import com.airbyte.api.models.shared.SourceMssqlSchemasMethod; +import com.airbyte.api.models.shared.SourceMssqlSchemasSSLMethodSSLMethodSSLMethod; +import com.airbyte.api.models.shared.SourceMssqlSchemasSslMethod; +import com.airbyte.api.models.shared.SourceMssqlSchemasSslMethodSslMethod; +import com.airbyte.api.models.shared.SourceMssqlSchemasTunnelMethod; +import com.airbyte.api.models.shared.SourceMssqlSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.SourceMssqlTunnelMethod; +import com.airbyte.api.models.shared.SourceMyHours; +import com.airbyte.api.models.shared.SourceMysql; +import com.airbyte.api.models.shared.SourceMysqlInvalidCDCPositionBehaviorAdvanced; +import com.airbyte.api.models.shared.SourceMysqlMethod; +import com.airbyte.api.models.shared.SourceMysqlMode; +import com.airbyte.api.models.shared.SourceMysqlMysql; +import com.airbyte.api.models.shared.SourceMysqlNoTunnel; +import com.airbyte.api.models.shared.SourceMysqlPasswordAuthentication; +import com.airbyte.api.models.shared.SourceMysqlSSHKeyAuthentication; +import com.airbyte.api.models.shared.SourceMysqlScanChangesWithUserDefinedCursor; +import com.airbyte.api.models.shared.SourceMysqlSchemasMethod; +import com.airbyte.api.models.shared.SourceMysqlSchemasMode; +import com.airbyte.api.models.shared.SourceMysqlSchemasSSLModeSSLModesMode; +import com.airbyte.api.models.shared.SourceMysqlSchemasSslModeMode; +import com.airbyte.api.models.shared.SourceMysqlSchemasTunnelMethod; +import com.airbyte.api.models.shared.SourceMysqlSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.SourceMysqlTunnelMethod; +import com.airbyte.api.models.shared.SourceMysqlVerifyCA; +import com.airbyte.api.models.shared.SourceNetsuite; +import com.airbyte.api.models.shared.SourceNotion; +import com.airbyte.api.models.shared.SourceNotionAccessToken; +import com.airbyte.api.models.shared.SourceNotionAuthType; +import com.airbyte.api.models.shared.SourceNotionNotion; +import com.airbyte.api.models.shared.SourceNotionOAuth20; +import com.airbyte.api.models.shared.SourceNotionSchemasAuthType; +import com.airbyte.api.models.shared.SourceNytimes; +import com.airbyte.api.models.shared.SourceOkta; +import com.airbyte.api.models.shared.SourceOktaAPIToken; +import com.airbyte.api.models.shared.SourceOktaAuthType; +import com.airbyte.api.models.shared.SourceOktaOAuth20; +import com.airbyte.api.models.shared.SourceOktaSchemasAuthType; +import com.airbyte.api.models.shared.SourceOmnisend; +import com.airbyte.api.models.shared.SourceOnesignal; +import com.airbyte.api.models.shared.SourceOracle; +import com.airbyte.api.models.shared.SourceOracleConnectionType; +import com.airbyte.api.models.shared.SourceOracleEncryptionMethod; +import com.airbyte.api.models.shared.SourceOracleNoTunnel; +import com.airbyte.api.models.shared.SourceOracleOracle; +import com.airbyte.api.models.shared.SourceOraclePasswordAuthentication; +import com.airbyte.api.models.shared.SourceOracleSSHKeyAuthentication; +import com.airbyte.api.models.shared.SourceOracleSchemasTunnelMethod; +import com.airbyte.api.models.shared.SourceOracleSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.SourceOracleTunnelMethod; +import com.airbyte.api.models.shared.SourceOrb; +import com.airbyte.api.models.shared.SourceOrbit; +import com.airbyte.api.models.shared.SourceOutbrainAmplify; +import com.airbyte.api.models.shared.SourceOutbrainAmplifyAccessToken; +import com.airbyte.api.models.shared.SourceOutbrainAmplifyUsernamePassword; +import com.airbyte.api.models.shared.SourceOutreach; +import com.airbyte.api.models.shared.SourcePaypalTransaction; +import com.airbyte.api.models.shared.SourcePaystack; +import com.airbyte.api.models.shared.SourcePendo; +import com.airbyte.api.models.shared.SourcePersistiq; +import com.airbyte.api.models.shared.SourcePexelsApi; +import com.airbyte.api.models.shared.SourcePinterest; +import com.airbyte.api.models.shared.SourcePinterestAuthMethod; +import com.airbyte.api.models.shared.SourcePinterestLevel; +import com.airbyte.api.models.shared.SourcePinterestPinterest; +import com.airbyte.api.models.shared.SourcePinterestSchemasValidEnums; +import com.airbyte.api.models.shared.SourcePinterestValidEnums; +import com.airbyte.api.models.shared.SourcePipedrive; +import com.airbyte.api.models.shared.SourcePocket; +import com.airbyte.api.models.shared.SourcePocketSortBy; +import com.airbyte.api.models.shared.SourcePokeapi; +import com.airbyte.api.models.shared.SourcePolygonStockApi; +import com.airbyte.api.models.shared.SourcePostgres; +import com.airbyte.api.models.shared.SourcePostgresMethod; +import com.airbyte.api.models.shared.SourcePostgresNoTunnel; +import com.airbyte.api.models.shared.SourcePostgresPasswordAuthentication; +import com.airbyte.api.models.shared.SourcePostgresPostgres; +import com.airbyte.api.models.shared.SourcePostgresSSHKeyAuthentication; +import com.airbyte.api.models.shared.SourcePostgresScanChangesWithUserDefinedCursor; +import com.airbyte.api.models.shared.SourcePostgresSchemasMethod; +import com.airbyte.api.models.shared.SourcePostgresSchemasTunnelMethod; +import com.airbyte.api.models.shared.SourcePostgresSchemasTunnelMethodTunnelMethod; +import com.airbyte.api.models.shared.SourcePostgresTunnelMethod; +import com.airbyte.api.models.shared.SourcePosthog; +import com.airbyte.api.models.shared.SourcePostmarkapp; +import com.airbyte.api.models.shared.SourcePrestashop; +import com.airbyte.api.models.shared.SourcePunkApi; import com.airbyte.api.models.shared.SourcePutRequest; +import com.airbyte.api.models.shared.SourcePypi; +import com.airbyte.api.models.shared.SourceQualaroo; +import com.airbyte.api.models.shared.SourceQuickbooks; +import com.airbyte.api.models.shared.SourceQuickbooksAuthType; +import com.airbyte.api.models.shared.SourceQuickbooksOAuth20; +import com.airbyte.api.models.shared.SourceRailz; +import com.airbyte.api.models.shared.SourceRecharge; +import com.airbyte.api.models.shared.SourceRecreation; +import com.airbyte.api.models.shared.SourceRecruitee; +import com.airbyte.api.models.shared.SourceRecurly; +import com.airbyte.api.models.shared.SourceRedshift; +import com.airbyte.api.models.shared.SourceRedshiftRedshift; +import com.airbyte.api.models.shared.SourceRetently; +import com.airbyte.api.models.shared.SourceRetentlyRetently; +import com.airbyte.api.models.shared.SourceRkiCovid; +import com.airbyte.api.models.shared.SourceRss; +import com.airbyte.api.models.shared.SourceS3; +import com.airbyte.api.models.shared.SourceS3Autogenerated; +import com.airbyte.api.models.shared.SourceS3AvroFormat; +import com.airbyte.api.models.shared.SourceS3CSVFormat; +import com.airbyte.api.models.shared.SourceS3DocumentFileTypeFormatExperimental; +import com.airbyte.api.models.shared.SourceS3FileBasedStreamConfig; +import com.airbyte.api.models.shared.SourceS3Filetype; +import com.airbyte.api.models.shared.SourceS3FromCSV; +import com.airbyte.api.models.shared.SourceS3HeaderDefinitionType; +import com.airbyte.api.models.shared.SourceS3InferenceType; +import com.airbyte.api.models.shared.SourceS3JsonlFormat; +import com.airbyte.api.models.shared.SourceS3Local; +import com.airbyte.api.models.shared.SourceS3Mode; +import com.airbyte.api.models.shared.SourceS3ParquetFormat; +import com.airbyte.api.models.shared.SourceS3ParsingStrategy; +import com.airbyte.api.models.shared.SourceS3S3; +import com.airbyte.api.models.shared.SourceS3SchemasFiletype; +import com.airbyte.api.models.shared.SourceS3SchemasFormatFileFormatFiletype; +import com.airbyte.api.models.shared.SourceS3SchemasFormatFiletype; +import com.airbyte.api.models.shared.SourceS3SchemasHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceS3SchemasStreamsFiletype; +import com.airbyte.api.models.shared.SourceS3SchemasStreamsFormatFiletype; +import com.airbyte.api.models.shared.SourceS3SchemasStreamsFormatFormat4Filetype; +import com.airbyte.api.models.shared.SourceS3SchemasStreamsFormatFormat5Filetype; +import com.airbyte.api.models.shared.SourceS3SchemasStreamsFormatFormatFiletype; +import com.airbyte.api.models.shared.SourceS3SchemasStreamsHeaderDefinitionType; +import com.airbyte.api.models.shared.SourceS3UserProvided; +import com.airbyte.api.models.shared.SourceS3ValidationPolicy; +import com.airbyte.api.models.shared.SourceSalesforce; +import com.airbyte.api.models.shared.SourceSalesforceSalesforce; +import com.airbyte.api.models.shared.SourceSalesloft; +import com.airbyte.api.models.shared.SourceSalesloftAuthType; +import com.airbyte.api.models.shared.SourceSalesloftSchemasAuthType; +import com.airbyte.api.models.shared.SourceSapFieldglass; +import com.airbyte.api.models.shared.SourceSecoda; +import com.airbyte.api.models.shared.SourceSendgrid; +import com.airbyte.api.models.shared.SourceSendinblue; +import com.airbyte.api.models.shared.SourceSenseforce; +import com.airbyte.api.models.shared.SourceSentry; +import com.airbyte.api.models.shared.SourceSftp; +import com.airbyte.api.models.shared.SourceSftpAuthMethod; +import com.airbyte.api.models.shared.SourceSftpBulk; +import com.airbyte.api.models.shared.SourceSftpPasswordAuthentication; +import com.airbyte.api.models.shared.SourceSftpSSHKeyAuthentication; +import com.airbyte.api.models.shared.SourceSftpSchemasAuthMethod; +import com.airbyte.api.models.shared.SourceShopify; +import com.airbyte.api.models.shared.SourceShopifyAuthMethod; +import com.airbyte.api.models.shared.SourceShopifyOAuth20; +import com.airbyte.api.models.shared.SourceShopifySchemasAuthMethod; +import com.airbyte.api.models.shared.SourceShopifyShopify; +import com.airbyte.api.models.shared.SourceShortio; +import com.airbyte.api.models.shared.SourceSlack; +import com.airbyte.api.models.shared.SourceSlackAPIToken; +import com.airbyte.api.models.shared.SourceSlackOptionTitle; +import com.airbyte.api.models.shared.SourceSlackSchemasOptionTitle; +import com.airbyte.api.models.shared.SourceSlackSlack; +import com.airbyte.api.models.shared.SourceSmaily; +import com.airbyte.api.models.shared.SourceSmartengage; +import com.airbyte.api.models.shared.SourceSmartsheets; +import com.airbyte.api.models.shared.SourceSmartsheetsAuthType; +import com.airbyte.api.models.shared.SourceSmartsheetsOAuth20; +import com.airbyte.api.models.shared.SourceSmartsheetsSchemasAuthType; +import com.airbyte.api.models.shared.SourceSmartsheetsSmartsheets; +import com.airbyte.api.models.shared.SourceSnapchatMarketing; +import com.airbyte.api.models.shared.SourceSnapchatMarketingSnapchatMarketing; +import com.airbyte.api.models.shared.SourceSnowflake; +import com.airbyte.api.models.shared.SourceSnowflakeAuthType; +import com.airbyte.api.models.shared.SourceSnowflakeOAuth20; +import com.airbyte.api.models.shared.SourceSnowflakeSchemasAuthType; +import com.airbyte.api.models.shared.SourceSnowflakeSnowflake; +import com.airbyte.api.models.shared.SourceSnowflakeUsernameAndPassword; +import com.airbyte.api.models.shared.SourceSonarCloud; +import com.airbyte.api.models.shared.SourceSpacexApi; +import com.airbyte.api.models.shared.SourceSquare; +import com.airbyte.api.models.shared.SourceSquareAPIKey; +import com.airbyte.api.models.shared.SourceSquareAuthType; +import com.airbyte.api.models.shared.SourceSquareSchemasAuthType; +import com.airbyte.api.models.shared.SourceSquareSquare; +import com.airbyte.api.models.shared.SourceStrava; +import com.airbyte.api.models.shared.SourceStravaAuthType; +import com.airbyte.api.models.shared.SourceStravaStrava; +import com.airbyte.api.models.shared.SourceStripe; +import com.airbyte.api.models.shared.SourceSurveySparrow; +import com.airbyte.api.models.shared.SourceSurveySparrowUrlBase; +import com.airbyte.api.models.shared.SourceSurveymonkey; +import com.airbyte.api.models.shared.SourceSurveymonkeyAuthMethod; +import com.airbyte.api.models.shared.SourceSurveymonkeySurveymonkey; +import com.airbyte.api.models.shared.SourceTempo; +import com.airbyte.api.models.shared.SourceTheGuardianApi; +import com.airbyte.api.models.shared.SourceTiktokMarketing; +import com.airbyte.api.models.shared.SourceTiktokMarketingAuthType; +import com.airbyte.api.models.shared.SourceTiktokMarketingOAuth20; +import com.airbyte.api.models.shared.SourceTiktokMarketingSchemasAuthType; +import com.airbyte.api.models.shared.SourceTiktokMarketingTiktokMarketing; +import com.airbyte.api.models.shared.SourceTrello; +import com.airbyte.api.models.shared.SourceTrustpilot; +import com.airbyte.api.models.shared.SourceTrustpilotAPIKey; +import com.airbyte.api.models.shared.SourceTrustpilotAuthType; +import com.airbyte.api.models.shared.SourceTrustpilotOAuth20; +import com.airbyte.api.models.shared.SourceTrustpilotSchemasAuthType; +import com.airbyte.api.models.shared.SourceTvmazeSchedule; +import com.airbyte.api.models.shared.SourceTwilio; +import com.airbyte.api.models.shared.SourceTwilioTaskrouter; +import com.airbyte.api.models.shared.SourceTwitter; +import com.airbyte.api.models.shared.SourceTypeform; +import com.airbyte.api.models.shared.SourceTypeformAuthType; +import com.airbyte.api.models.shared.SourceTypeformOAuth20; +import com.airbyte.api.models.shared.SourceTypeformPrivateToken; +import com.airbyte.api.models.shared.SourceTypeformSchemasAuthType; +import com.airbyte.api.models.shared.SourceTypeformTypeform; +import com.airbyte.api.models.shared.SourceUsCensus; +import com.airbyte.api.models.shared.SourceVantage; +import com.airbyte.api.models.shared.SourceWebflow; +import com.airbyte.api.models.shared.SourceWhiskyHunter; +import com.airbyte.api.models.shared.SourceWikipediaPageviews; +import com.airbyte.api.models.shared.SourceWoocommerce; +import com.airbyte.api.models.shared.SourceXkcd; +import com.airbyte.api.models.shared.SourceYandexMetrica; +import com.airbyte.api.models.shared.SourceYotpo; +import com.airbyte.api.models.shared.SourceYoutubeAnalytics; +import com.airbyte.api.models.shared.SourceYoutubeAnalyticsYoutubeAnalytics; +import com.airbyte.api.models.shared.SourceZendeskChat; +import com.airbyte.api.models.shared.SourceZendeskChatAccessToken; +import com.airbyte.api.models.shared.SourceZendeskChatCredentials; +import com.airbyte.api.models.shared.SourceZendeskChatOAuth20; +import com.airbyte.api.models.shared.SourceZendeskChatSchemasCredentials; +import com.airbyte.api.models.shared.SourceZendeskChatZendeskChat; +import com.airbyte.api.models.shared.SourceZendeskSell; +import com.airbyte.api.models.shared.SourceZendeskSunshine; +import com.airbyte.api.models.shared.SourceZendeskSunshineAPIToken; +import com.airbyte.api.models.shared.SourceZendeskSunshineAuthMethod; +import com.airbyte.api.models.shared.SourceZendeskSunshineOAuth20; +import com.airbyte.api.models.shared.SourceZendeskSunshineSchemasAuthMethod; +import com.airbyte.api.models.shared.SourceZendeskSunshineZendeskSunshine; +import com.airbyte.api.models.shared.SourceZendeskSupport; +import com.airbyte.api.models.shared.SourceZendeskSupportZendeskSupport; +import com.airbyte.api.models.shared.SourceZendeskTalk; +import com.airbyte.api.models.shared.SourceZendeskTalkZendeskTalk; +import com.airbyte.api.models.shared.SourceZenloop; +import com.airbyte.api.models.shared.SourceZohoCrm; +import com.airbyte.api.models.shared.SourceZohoCrmEnvironment; +import com.airbyte.api.models.shared.SourceZoom; +import com.airbyte.api.models.shared.SpacexApi; +import com.airbyte.api.models.shared.State; +import com.airbyte.api.models.shared.StateFilter; +import com.airbyte.api.models.shared.Status; +import com.airbyte.api.models.shared.Storage; +import com.airbyte.api.models.shared.Strategies; +import com.airbyte.api.models.shared.StreamName; +import com.airbyte.api.models.shared.StreamsCriteria; +import com.airbyte.api.models.shared.StringFilter; +import com.airbyte.api.models.shared.Stripe; +import com.airbyte.api.models.shared.SurveyMonkeyAuthorizationMethod; +import com.airbyte.api.models.shared.SurveySparrow; +import com.airbyte.api.models.shared.SwipeUpAttributionWindow; +import com.airbyte.api.models.shared.SystemIDSID; +import com.airbyte.api.models.shared.TLSEncryptedVerifyCertificate; +import com.airbyte.api.models.shared.Tempo; +import com.airbyte.api.models.shared.TheGuardianApi; +import com.airbyte.api.models.shared.TimeGranularity; +import com.airbyte.api.models.shared.TopHeadlinesTopic; +import com.airbyte.api.models.shared.Trello; +import com.airbyte.api.models.shared.Trustpilot; +import com.airbyte.api.models.shared.TvmazeSchedule; +import com.airbyte.api.models.shared.Twilio; +import com.airbyte.api.models.shared.TwilioTaskrouter; +import com.airbyte.api.models.shared.Twitter; +import com.airbyte.api.models.shared.Unencrypted; +import com.airbyte.api.models.shared.UnexpectedFieldBehavior; +import com.airbyte.api.models.shared.UrlBase; +import com.airbyte.api.models.shared.UsCensus; +import com.airbyte.api.models.shared.UserProvided; +import com.airbyte.api.models.shared.ValidActionBreakdowns; +import com.airbyte.api.models.shared.ValidAdSetStatuses; +import com.airbyte.api.models.shared.ValidAdStatuses; +import com.airbyte.api.models.shared.ValidBreakdowns; +import com.airbyte.api.models.shared.ValidCampaignStatuses; +import com.airbyte.api.models.shared.ValidationPolicy; +import com.airbyte.api.models.shared.Validenums; +import com.airbyte.api.models.shared.ValueType; +import com.airbyte.api.models.shared.Vantage; +import com.airbyte.api.models.shared.VerifyIdentity; +import com.airbyte.api.models.shared.ViewAttributionWindow; +import com.airbyte.api.models.shared.ViewWindowDays; +import com.airbyte.api.models.shared.Webflow; +import com.airbyte.api.models.shared.WhiskyHunter; +import com.airbyte.api.models.shared.WikipediaPageviews; +import com.airbyte.api.models.shared.Woocommerce; +import com.airbyte.api.models.shared.Xkcd; +import com.airbyte.api.models.shared.YandexMetrica; +import com.airbyte.api.models.shared.Yotpo; +import com.airbyte.api.models.shared.ZendeskSell; +import com.airbyte.api.models.shared.Zenloop; +import com.airbyte.api.models.shared.ZohoCRMEdition; +import com.airbyte.api.models.shared.ZohoCrm; +import com.airbyte.api.models.shared.Zoom; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.PutSourceRequest req = new PutSourceRequest( - ""){{ - sourcePutRequest = new SourcePutRequest( - "", - ""); - - }}; + PutSourceRequest req = PutSourceRequest.builder() + .sourceId("") + .sourcePutRequest(SourcePutRequest.builder() + .configuration(SourceConfiguration.of(SourceAha.builder() + .apiKey("") + .url("") + .build())) + .name("") + .build()) + .build(); - com.airbyte.api.models.operations.PutSourceResponse res = sdk.sources.putSource(req); + PutSourceResponse res = sdk.sources().putSource() + .request(req) + .call(); - if (res.sourceResponse != null) { + if (res.sourceResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -443,5 +3707,9 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.PutSourceResponse](../../models/operations/PutSourceResponse.md)** +**[Optional](../../models/operations/PutSourceResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | diff --git a/docs/sdks/streams/README.md b/docs/sdks/streams/README.md index d5c16afb7..1f92ff506 100644 --- a/docs/sdks/streams/README.md +++ b/docs/sdks/streams/README.md @@ -1,5 +1,5 @@ # Streams -(*streams*) +(*streams()*) ### Available Operations @@ -15,37 +15,46 @@ Get stream properties package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.GetStreamPropertiesRequest; import com.airbyte.api.models.operations.GetStreamPropertiesResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.Security; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.GetStreamPropertiesRequest req = new GetStreamPropertiesRequest( - "", - ""){{ - ignoreCache = false; - - }}; + GetStreamPropertiesRequest req = GetStreamPropertiesRequest.builder() + .destinationId("") + .sourceId("") + .ignoreCache(false) + .build(); - com.airbyte.api.models.operations.GetStreamPropertiesResponse res = sdk.streams.getStreamProperties(req); + GetStreamPropertiesResponse res = sdk.streams().getStreamProperties() + .request(req) + .call(); - if (res.streamPropertiesResponse != null) { + if (res.streamPropertiesResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -62,5 +71,9 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.GetStreamPropertiesResponse](../../models/operations/GetStreamPropertiesResponse.md)** +**[Optional](../../models/operations/GetStreamPropertiesResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | diff --git a/docs/sdks/workspaces/README.md b/docs/sdks/workspaces/README.md index 1c7a710b5..0244f2e38 100644 --- a/docs/sdks/workspaces/README.md +++ b/docs/sdks/workspaces/README.md @@ -1,5 +1,5 @@ # Workspaces -(*workspaces*) +(*workspaces()*) ### Available Operations @@ -21,40 +21,132 @@ In order to determine what the credential configuration needs to be, please see package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsRequest; import com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.ActorTypeEnum; +import com.airbyte.api.models.shared.Airtable; +import com.airbyte.api.models.shared.AmazonAds; +import com.airbyte.api.models.shared.AmazonSellerPartner; +import com.airbyte.api.models.shared.Asana; +import com.airbyte.api.models.shared.AsanaCredentials; +import com.airbyte.api.models.shared.Authorization; +import com.airbyte.api.models.shared.BingAds; +import com.airbyte.api.models.shared.Credentials; +import com.airbyte.api.models.shared.FacebookMarketing; +import com.airbyte.api.models.shared.Github; +import com.airbyte.api.models.shared.GithubCredentials; +import com.airbyte.api.models.shared.Gitlab; +import com.airbyte.api.models.shared.GitlabCredentials; +import com.airbyte.api.models.shared.GoogleAds; +import com.airbyte.api.models.shared.GoogleAdsCredentials; +import com.airbyte.api.models.shared.GoogleAnalyticsDataApi; +import com.airbyte.api.models.shared.GoogleAnalyticsDataApiCredentials; +import com.airbyte.api.models.shared.GoogleDrive; +import com.airbyte.api.models.shared.GoogleDriveCredentials; +import com.airbyte.api.models.shared.GoogleSearchConsole; +import com.airbyte.api.models.shared.GoogleSheets; +import com.airbyte.api.models.shared.GoogleSheetsCredentials; +import com.airbyte.api.models.shared.Harvest; +import com.airbyte.api.models.shared.HarvestCredentials; +import com.airbyte.api.models.shared.Hubspot; +import com.airbyte.api.models.shared.HubspotCredentials; +import com.airbyte.api.models.shared.Instagram; +import com.airbyte.api.models.shared.Intercom; +import com.airbyte.api.models.shared.LeverHiring; +import com.airbyte.api.models.shared.LeverHiringCredentials; +import com.airbyte.api.models.shared.LinkedinAds; +import com.airbyte.api.models.shared.LinkedinAdsCredentials; +import com.airbyte.api.models.shared.Mailchimp; +import com.airbyte.api.models.shared.MailchimpCredentials; +import com.airbyte.api.models.shared.MicrosoftOnedrive; +import com.airbyte.api.models.shared.MicrosoftOnedriveCredentials; +import com.airbyte.api.models.shared.MicrosoftSharepoint; +import com.airbyte.api.models.shared.MicrosoftSharepointCredentials; +import com.airbyte.api.models.shared.MicrosoftTeams; +import com.airbyte.api.models.shared.MicrosoftTeamsCredentials; +import com.airbyte.api.models.shared.Monday; +import com.airbyte.api.models.shared.MondayCredentials; +import com.airbyte.api.models.shared.Notion; +import com.airbyte.api.models.shared.NotionCredentials; import com.airbyte.api.models.shared.OAuthActorNames; +import com.airbyte.api.models.shared.Pinterest; +import com.airbyte.api.models.shared.PinterestCredentials; +import com.airbyte.api.models.shared.Retently; +import com.airbyte.api.models.shared.RetentlyCredentials; +import com.airbyte.api.models.shared.Salesforce; import com.airbyte.api.models.shared.Security; +import com.airbyte.api.models.shared.Shopify; +import com.airbyte.api.models.shared.ShopifyCredentials; +import com.airbyte.api.models.shared.Slack; +import com.airbyte.api.models.shared.SlackCredentials; +import com.airbyte.api.models.shared.Smartsheets; +import com.airbyte.api.models.shared.SmartsheetsCredentials; +import com.airbyte.api.models.shared.SnapchatMarketing; +import com.airbyte.api.models.shared.Snowflake; +import com.airbyte.api.models.shared.SnowflakeCredentials; +import com.airbyte.api.models.shared.Square; +import com.airbyte.api.models.shared.SquareCredentials; +import com.airbyte.api.models.shared.Strava; +import com.airbyte.api.models.shared.Surveymonkey; +import com.airbyte.api.models.shared.SurveymonkeyCredentials; +import com.airbyte.api.models.shared.TiktokMarketing; +import com.airbyte.api.models.shared.TiktokMarketingCredentials; +import com.airbyte.api.models.shared.Typeform; +import com.airbyte.api.models.shared.TypeformCredentials; import com.airbyte.api.models.shared.WorkspaceOAuthCredentialsRequest; +import com.airbyte.api.models.shared.YoutubeAnalytics; +import com.airbyte.api.models.shared.YoutubeAnalyticsCredentials; +import com.airbyte.api.models.shared.ZendeskChat; +import com.airbyte.api.models.shared.ZendeskChatCredentials; +import com.airbyte.api.models.shared.ZendeskSunshine; +import com.airbyte.api.models.shared.ZendeskSunshineCredentials; +import com.airbyte.api.models.shared.ZendeskSupport; +import com.airbyte.api.models.shared.ZendeskSupportCredentials; +import com.airbyte.api.models.shared.ZendeskTalk; +import com.airbyte.api.models.shared.ZendeskTalkCredentials; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsRequest req = new CreateOrUpdateWorkspaceOAuthCredentialsRequest( - new WorkspaceOAuthCredentialsRequest( - ActorTypeEnum.DESTINATION, - "", - OAuthActorNames.AMAZON_ADS), - ""); + CreateOrUpdateWorkspaceOAuthCredentialsRequest req = CreateOrUpdateWorkspaceOAuthCredentialsRequest.builder() + .workspaceOAuthCredentialsRequest(WorkspaceOAuthCredentialsRequest.builder() + .actorType(ActorTypeEnum.DESTINATION) + .configuration(OAuthCredentialsConfiguration.of(Airtable.builder() + .credentials(Credentials.builder() + .clientId("") + .clientSecret("") + .build()) + .build())) + .name(OAuthActorNames.AMAZON_ADS) + .build()) + .workspaceId("") + .build(); - com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsResponse res = sdk.workspaces.createOrUpdateWorkspaceOAuthCredentials(req); + CreateOrUpdateWorkspaceOAuthCredentialsResponse res = sdk.workspaces().createOrUpdateWorkspaceOAuthCredentials() + .request(req) + .call(); - if (res.statusCode == 200) { - // handle response - } + // handle response + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -71,8 +163,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsResponse](../../models/operations/CreateOrUpdateWorkspaceOAuthCredentialsResponse.md)** +**[Optional](../../models/operations/CreateOrUpdateWorkspaceOAuthCredentialsResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## createWorkspace @@ -84,33 +180,44 @@ Create a workspace package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.CreateWorkspaceResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.Security; import com.airbyte.api.models.shared.WorkspaceCreateRequest; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.shared.WorkspaceCreateRequest req = new WorkspaceCreateRequest( - ""); + WorkspaceCreateRequest req = WorkspaceCreateRequest.builder() + .name("") + .build(); - com.airbyte.api.models.operations.CreateWorkspaceResponse res = sdk.workspaces.createWorkspace(req); + CreateWorkspaceResponse res = sdk.workspaces().createWorkspace() + .request(req) + .call(); - if (res.workspaceResponse != null) { + if (res.workspaceResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -127,8 +234,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.CreateWorkspaceResponse](../../models/operations/CreateWorkspaceResponse.md)** +**[Optional](../../models/operations/CreateWorkspaceResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## deleteWorkspace @@ -140,33 +251,42 @@ Delete a Workspace package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.DeleteWorkspaceRequest; import com.airbyte.api.models.operations.DeleteWorkspaceResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.Security; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.DeleteWorkspaceRequest req = new DeleteWorkspaceRequest( - ""); + DeleteWorkspaceRequest req = DeleteWorkspaceRequest.builder() + .workspaceId("") + .build(); - com.airbyte.api.models.operations.DeleteWorkspaceResponse res = sdk.workspaces.deleteWorkspace(req); + DeleteWorkspaceResponse res = sdk.workspaces().deleteWorkspace() + .request(req) + .call(); - if (res.statusCode == 200) { - // handle response - } + // handle response + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -183,8 +303,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.DeleteWorkspaceResponse](../../models/operations/DeleteWorkspaceResponse.md)** +**[Optional](../../models/operations/DeleteWorkspaceResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## getWorkspace @@ -196,33 +320,44 @@ Get Workspace details package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.GetWorkspaceRequest; import com.airbyte.api.models.operations.GetWorkspaceResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.Security; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.GetWorkspaceRequest req = new GetWorkspaceRequest( - ""); + GetWorkspaceRequest req = GetWorkspaceRequest.builder() + .workspaceId("") + .build(); - com.airbyte.api.models.operations.GetWorkspaceResponse res = sdk.workspaces.getWorkspace(req); + GetWorkspaceResponse res = sdk.workspaces().getWorkspace() + .request(req) + .call(); - if (res.workspaceResponse != null) { + if (res.workspaceResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -239,8 +374,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.GetWorkspaceResponse](../../models/operations/GetWorkspaceResponse.md)** +**[Optional](../../models/operations/GetWorkspaceResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## listWorkspaces @@ -252,41 +391,48 @@ List workspaces package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.ListWorkspacesRequest; import com.airbyte.api.models.operations.ListWorkspacesResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.Security; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.ListWorkspacesRequest req = new ListWorkspacesRequest( -){{ - includeDeleted = false; - limit = 283250; - offset = 568374; - workspaceIds = new String[]{{ - add("53f9aa38-0387-4f54-9d38-9888ede30708"), - }}; - - }}; + ListWorkspacesRequest req = ListWorkspacesRequest.builder() + .includeDeleted(false) + .limit(283250) + .offset(568374) + .workspaceIds(java.util.List.of( + "53f9aa38-0387-4f54-9d38-9888ede30708")) + .build(); - com.airbyte.api.models.operations.ListWorkspacesResponse res = sdk.workspaces.listWorkspaces(req); + ListWorkspacesResponse res = sdk.workspaces().listWorkspaces() + .request(req) + .call(); - if (res.workspacesResponse != null) { + if (res.workspacesResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -303,8 +449,12 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.ListWorkspacesResponse](../../models/operations/ListWorkspacesResponse.md)** +**[Optional](../../models/operations/ListWorkspacesResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | ## updateWorkspace @@ -316,36 +466,48 @@ Update a workspace package hello.world; import com.airbyte.api.Airbyte; +import com.airbyte.api.models.operations.*; import com.airbyte.api.models.operations.UpdateWorkspaceRequest; import com.airbyte.api.models.operations.UpdateWorkspaceResponse; +import com.airbyte.api.models.shared.*; import com.airbyte.api.models.shared.Security; import com.airbyte.api.models.shared.WorkspaceUpdateRequest; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import static java.util.Map.entry; public class Application { + public static void main(String[] args) { try { Airbyte sdk = Airbyte.builder() - .setSecurity(new Security( - ){{ - basicAuth = new SchemeBasicAuth( - "", - ""){{ - password = ""; - username = ""; - }}; - }}) + .security(Security.builder() + .basicAuth(SchemeBasicAuth.builder() + .password("") + .username("") + .build()) + .build()) .build(); - com.airbyte.api.models.operations.UpdateWorkspaceRequest req = new UpdateWorkspaceRequest( - new WorkspaceUpdateRequest( - ""), - ""); + UpdateWorkspaceRequest req = UpdateWorkspaceRequest.builder() + .workspaceUpdateRequest(WorkspaceUpdateRequest.builder() + .name("") + .build()) + .workspaceId("") + .build(); - com.airbyte.api.models.operations.UpdateWorkspaceResponse res = sdk.workspaces.updateWorkspace(req); + UpdateWorkspaceResponse res = sdk.workspaces().updateWorkspace() + .request(req) + .call(); - if (res.workspaceResponse != null) { + if (res.workspaceResponse().isPresent()) { // handle response } + } catch (com.airbyte.api.models.errors.SDKError e) { + // handle exception } catch (Exception e) { // handle exception } @@ -362,5 +524,9 @@ public class Application { ### Response -**[com.airbyte.api.models.operations.UpdateWorkspaceResponse](../../models/operations/UpdateWorkspaceResponse.md)** +**[Optional](../../models/operations/UpdateWorkspaceResponse.md)** +### Errors +| Error Object | Status Code | Content Type | +| ---------------------- | ---------------------- | ---------------------- | +| models/errors/SDKError | 4xx-5xx | */* | diff --git a/gen.yaml b/gen.yaml index 5ebdbed3b..82fc70683 100644 --- a/gen.yaml +++ b/gen.yaml @@ -11,11 +11,13 @@ generation: auth: oAuth2ClientCredentialsEnabled: false java: - version: 0.49.3 + version: 1.0.0 + additionalDependencies: [] artifactID: api companyEmail: info@airbyte.com companyName: Airbyte companyURL: www.airbyte.com + flattenGlobalSecurity: false githubURL: github.com/airbytehq/airbyte-api-java-sdk groupID: com.airbyte imports: diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 249e5832f..d64cd4917 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ae04661ee..1af9e0930 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index a69d9cb6c..1aa94a426 100755 --- a/gradlew +++ b/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -80,13 +80,11 @@ do esac done -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" +# This is normally unused +# shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -133,22 +131,29 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac case $MAX_FD in #( '' | soft) :;; #( *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -193,11 +198,15 @@ if "$cygwin" || "$msys" ; then done fi -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ diff --git a/gradlew.bat b/gradlew.bat index 53a6b238d..93e3f59f1 100755 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,91 +1,92 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/lib/src/main/java/com/airbyte/api/Airbyte.java b/lib/src/main/java/com/airbyte/api/Airbyte.java deleted file mode 100644 index d18b4463b..000000000 --- a/lib/src/main/java/com/airbyte/api/Airbyte.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api; - -import com.airbyte.api.utils.HTTPClient; -import com.airbyte.api.utils.SpeakeasyHTTPClient; - -/** - * airbyte-api: Programatically control Airbyte Cloud, OSS & Enterprise. - */ -public class Airbyte { - /** - * SERVERS contains the list of server urls available to the SDK. - */ - public static final String[] SERVERS = { - /** - * Airbyte API v1 - */ - "https://api.airbyte.com/v1", - }; - - public Connections connections; - public Destinations destinations; - public Jobs jobs; - public Sources sources; - public Streams streams; - public Workspaces workspaces; - - private SDKConfiguration sdkConfiguration; - - /** - * The Builder class allows the configuration of a new instance of the SDK. - */ - public static class Builder { - private SDKConfiguration sdkConfiguration = new SDKConfiguration(); - - private Builder() { - } - - /** - * Allows the default HTTP client to be overridden with a custom implementation. - * @param client The HTTP client to use for all requests. - * @return The builder instance. - */ - public Builder setClient(HTTPClient client) { - this.sdkConfiguration.defaultClient = client; - return this; - } - - /** - * Configures the SDK to use the provided security details. - * @param security The security details to use for all requests. - * @return The builder instance. - */ - public Builder setSecurity(com.airbyte.api.models.shared.Security security) { - this.sdkConfiguration.security = security; - return this; - } - - /** - * Allows the overriding of the default server URL. - * @param serverUrl The server URL to use for all requests. - * @return The builder instance. - */ - public Builder setServerURL(String serverUrl) { - this.sdkConfiguration.serverUrl = serverUrl; - return this; - } - - /** - * Allows the overriding of the default server URL with a templated URL populated with the provided parameters. - * @param serverUrl The server URL to use for all requests. - * @param params The parameters to use when templating the URL. - * @return The builder instance. - */ - public Builder setServerURL(String serverUrl, java.util.Map params) { - this.sdkConfiguration.serverUrl = com.airbyte.api.utils.Utils.templateUrl(serverUrl, params); - return this; - } - - /** - * Allows the overriding of the default server by index - * @param serverIdx The server to use for all requests. - * @return The builder instance. - */ - public Builder setServerIndex(int serverIdx) { - this.sdkConfiguration.serverIdx = serverIdx; - this.sdkConfiguration.serverUrl = SERVERS[serverIdx]; - return this; - } - - /** - * Builds a new instance of the SDK. - * @return The SDK instance. - * @throws Exception Thrown if the SDK could not be built. - */ - public Airbyte build() throws Exception { - if (this.sdkConfiguration.defaultClient == null) { - this.sdkConfiguration.defaultClient = new SpeakeasyHTTPClient(); - } - - if (this.sdkConfiguration.security != null) { - this.sdkConfiguration.securityClient = com.airbyte.api.utils.Utils.configureSecurityClient(this.sdkConfiguration.defaultClient, this.sdkConfiguration.security); - } - - if (this.sdkConfiguration.securityClient == null) { - this.sdkConfiguration.securityClient = this.sdkConfiguration.defaultClient; - } - - if (this.sdkConfiguration.serverUrl == null || this.sdkConfiguration.serverUrl.isBlank()) { - this.sdkConfiguration.serverUrl = SERVERS[0]; - this.sdkConfiguration.serverIdx = 0; - } - - if (this.sdkConfiguration.serverUrl.endsWith("/")) { - this.sdkConfiguration.serverUrl = this.sdkConfiguration.serverUrl.substring(0, this.sdkConfiguration.serverUrl.length() - 1); - } - - return new Airbyte(this.sdkConfiguration); - } - } - - /** - * Get a new instance of the SDK builder to configure a new instance of the SDK. - * @return The SDK builder instance. - */ - public static Builder builder() { - return new Builder(); - } - - private Airbyte(SDKConfiguration sdkConfiguration) throws Exception { - this.sdkConfiguration = sdkConfiguration; - - this.connections = new Connections(this.sdkConfiguration); - - this.destinations = new Destinations(this.sdkConfiguration); - - this.jobs = new Jobs(this.sdkConfiguration); - - this.sources = new Sources(this.sdkConfiguration); - - this.streams = new Streams(this.sdkConfiguration); - - this.workspaces = new Workspaces(this.sdkConfiguration); - } -} \ No newline at end of file diff --git a/lib/src/main/java/com/airbyte/api/Connections.java b/lib/src/main/java/com/airbyte/api/Connections.java deleted file mode 100644 index 42571bfa0..000000000 --- a/lib/src/main/java/com/airbyte/api/Connections.java +++ /dev/null @@ -1,231 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api; - -import com.airbyte.api.utils.HTTPClient; -import com.airbyte.api.utils.HTTPRequest; -import com.airbyte.api.utils.JSON; -import com.airbyte.api.utils.SerializedBody; -import com.fasterxml.jackson.databind.ObjectMapper; -import java.net.http.HttpResponse; -import java.nio.charset.StandardCharsets; -import org.apache.http.NameValuePair; - -public class Connections { - - private SDKConfiguration sdkConfiguration; - - public Connections(SDKConfiguration sdkConfiguration) { - this.sdkConfiguration = sdkConfiguration; - } - - /** - * Create a connection - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.CreateConnectionResponse createConnection(com.airbyte.api.models.shared.ConnectionCreateRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(baseUrl, "/connections"); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("POST"); - req.setURL(url); - SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody(request, "request", "json"); - if (serializedRequestBody == null) { - throw new Exception("Request body is required"); - } - req.setBody(serializedRequestBody); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.CreateConnectionResponse res = new com.airbyte.api.models.operations.CreateConnectionResponse(contentType, httpRes.statusCode(), httpRes) {{ - connectionResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.ConnectionResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.ConnectionResponse.class); - res.connectionResponse = out; - } - } - else if (httpRes.statusCode() == 400 || httpRes.statusCode() == 403) { - } - - return res; - } - - /** - * Delete a Connection - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.DeleteConnectionResponse deleteConnection(com.airbyte.api.models.operations.DeleteConnectionRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(com.airbyte.api.models.operations.DeleteConnectionRequest.class, baseUrl, "/connections/{connectionId}", request, null); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("DELETE"); - req.setURL(url); - - req.addHeader("Accept", "*/*"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.DeleteConnectionResponse res = new com.airbyte.api.models.operations.DeleteConnectionResponse(contentType, httpRes.statusCode(), httpRes) {{ - }}; - - if (httpRes.statusCode() == 204 || httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } - - /** - * Get Connection details - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.GetConnectionResponse getConnection(com.airbyte.api.models.operations.GetConnectionRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(com.airbyte.api.models.operations.GetConnectionRequest.class, baseUrl, "/connections/{connectionId}", request, null); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("GET"); - req.setURL(url); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.GetConnectionResponse res = new com.airbyte.api.models.operations.GetConnectionResponse(contentType, httpRes.statusCode(), httpRes) {{ - connectionResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.ConnectionResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.ConnectionResponse.class); - res.connectionResponse = out; - } - } - else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } - - /** - * List connections - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.ListConnectionsResponse listConnections(com.airbyte.api.models.operations.ListConnectionsRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(baseUrl, "/connections"); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("GET"); - req.setURL(url); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - java.util.List queryParams = com.airbyte.api.utils.Utils.getQueryParams(com.airbyte.api.models.operations.ListConnectionsRequest.class, request, null); - if (queryParams != null) { - for (NameValuePair queryParam : queryParams) { - req.addQueryParam(queryParam); - } - } - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.ListConnectionsResponse res = new com.airbyte.api.models.operations.ListConnectionsResponse(contentType, httpRes.statusCode(), httpRes) {{ - connectionsResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.ConnectionsResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.ConnectionsResponse.class); - res.connectionsResponse = out; - } - } - else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } - - /** - * Update Connection details - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.PatchConnectionResponse patchConnection(com.airbyte.api.models.operations.PatchConnectionRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(com.airbyte.api.models.operations.PatchConnectionRequest.class, baseUrl, "/connections/{connectionId}", request, null); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("PATCH"); - req.setURL(url); - SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody(request, "connectionPatchRequest", "json"); - if (serializedRequestBody == null) { - throw new Exception("Request body is required"); - } - req.setBody(serializedRequestBody); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.PatchConnectionResponse res = new com.airbyte.api.models.operations.PatchConnectionResponse(contentType, httpRes.statusCode(), httpRes) {{ - connectionResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.ConnectionResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.ConnectionResponse.class); - res.connectionResponse = out; - } - } - else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } -} \ No newline at end of file diff --git a/lib/src/main/java/com/airbyte/api/Destinations.java b/lib/src/main/java/com/airbyte/api/Destinations.java deleted file mode 100644 index 746ac8e21..000000000 --- a/lib/src/main/java/com/airbyte/api/Destinations.java +++ /dev/null @@ -1,268 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api; - -import com.airbyte.api.utils.HTTPClient; -import com.airbyte.api.utils.HTTPRequest; -import com.airbyte.api.utils.JSON; -import com.airbyte.api.utils.SerializedBody; -import com.fasterxml.jackson.databind.ObjectMapper; -import java.net.http.HttpResponse; -import java.nio.charset.StandardCharsets; -import org.apache.http.NameValuePair; - -public class Destinations { - - private SDKConfiguration sdkConfiguration; - - public Destinations(SDKConfiguration sdkConfiguration) { - this.sdkConfiguration = sdkConfiguration; - } - - /** - * Create a destination - * Creates a destination given a name, workspace id, and a json blob containing the configuration for the source. - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.CreateDestinationResponse createDestination(com.airbyte.api.models.shared.DestinationCreateRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(baseUrl, "/destinations"); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("POST"); - req.setURL(url); - SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody(request, "request", "json"); - req.setBody(serializedRequestBody); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.CreateDestinationResponse res = new com.airbyte.api.models.operations.CreateDestinationResponse(contentType, httpRes.statusCode(), httpRes) {{ - destinationResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.DestinationResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.DestinationResponse.class); - res.destinationResponse = out; - } - } - else if (httpRes.statusCode() == 400 || httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } - - /** - * Delete a Destination - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.DeleteDestinationResponse deleteDestination(com.airbyte.api.models.operations.DeleteDestinationRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(com.airbyte.api.models.operations.DeleteDestinationRequest.class, baseUrl, "/destinations/{destinationId}", request, null); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("DELETE"); - req.setURL(url); - - req.addHeader("Accept", "*/*"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.DeleteDestinationResponse res = new com.airbyte.api.models.operations.DeleteDestinationResponse(contentType, httpRes.statusCode(), httpRes) {{ - }}; - - if (httpRes.statusCode() == 204 || httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } - - /** - * Get Destination details - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.GetDestinationResponse getDestination(com.airbyte.api.models.operations.GetDestinationRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(com.airbyte.api.models.operations.GetDestinationRequest.class, baseUrl, "/destinations/{destinationId}", request, null); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("GET"); - req.setURL(url); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.GetDestinationResponse res = new com.airbyte.api.models.operations.GetDestinationResponse(contentType, httpRes.statusCode(), httpRes) {{ - destinationResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.DestinationResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.DestinationResponse.class); - res.destinationResponse = out; - } - } - else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } - - /** - * List destinations - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.ListDestinationsResponse listDestinations(com.airbyte.api.models.operations.ListDestinationsRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(baseUrl, "/destinations"); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("GET"); - req.setURL(url); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - java.util.List queryParams = com.airbyte.api.utils.Utils.getQueryParams(com.airbyte.api.models.operations.ListDestinationsRequest.class, request, null); - if (queryParams != null) { - for (NameValuePair queryParam : queryParams) { - req.addQueryParam(queryParam); - } - } - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.ListDestinationsResponse res = new com.airbyte.api.models.operations.ListDestinationsResponse(contentType, httpRes.statusCode(), httpRes) {{ - destinationsResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.DestinationsResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.DestinationsResponse.class); - res.destinationsResponse = out; - } - } - else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } - - /** - * Update a Destination - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.PatchDestinationResponse patchDestination(com.airbyte.api.models.operations.PatchDestinationRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(com.airbyte.api.models.operations.PatchDestinationRequest.class, baseUrl, "/destinations/{destinationId}", request, null); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("PATCH"); - req.setURL(url); - SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody(request, "destinationPatchRequest", "json"); - req.setBody(serializedRequestBody); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.PatchDestinationResponse res = new com.airbyte.api.models.operations.PatchDestinationResponse(contentType, httpRes.statusCode(), httpRes) {{ - destinationResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.DestinationResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.DestinationResponse.class); - res.destinationResponse = out; - } - } - else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } - - /** - * Update a Destination and fully overwrite it - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.PutDestinationResponse putDestination(com.airbyte.api.models.operations.PutDestinationRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(com.airbyte.api.models.operations.PutDestinationRequest.class, baseUrl, "/destinations/{destinationId}", request, null); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("PUT"); - req.setURL(url); - SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody(request, "destinationPutRequest", "json"); - req.setBody(serializedRequestBody); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.PutDestinationResponse res = new com.airbyte.api.models.operations.PutDestinationResponse(contentType, httpRes.statusCode(), httpRes) {{ - destinationResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.DestinationResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.DestinationResponse.class); - res.destinationResponse = out; - } - } - else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } -} \ No newline at end of file diff --git a/lib/src/main/java/com/airbyte/api/Jobs.java b/lib/src/main/java/com/airbyte/api/Jobs.java deleted file mode 100644 index 8ef25df5f..000000000 --- a/lib/src/main/java/com/airbyte/api/Jobs.java +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api; - -import com.airbyte.api.utils.HTTPClient; -import com.airbyte.api.utils.HTTPRequest; -import com.airbyte.api.utils.JSON; -import com.airbyte.api.utils.SerializedBody; -import com.fasterxml.jackson.databind.ObjectMapper; -import java.net.http.HttpResponse; -import java.nio.charset.StandardCharsets; -import org.apache.http.NameValuePair; - -public class Jobs { - - private SDKConfiguration sdkConfiguration; - - public Jobs(SDKConfiguration sdkConfiguration) { - this.sdkConfiguration = sdkConfiguration; - } - - /** - * Cancel a running Job - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.CancelJobResponse cancelJob(com.airbyte.api.models.operations.CancelJobRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(com.airbyte.api.models.operations.CancelJobRequest.class, baseUrl, "/jobs/{jobId}", request, null); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("DELETE"); - req.setURL(url); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.CancelJobResponse res = new com.airbyte.api.models.operations.CancelJobResponse(contentType, httpRes.statusCode(), httpRes) {{ - jobResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.JobResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.JobResponse.class); - res.jobResponse = out; - } - } - else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } - - /** - * Trigger a sync or reset job of a connection - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.CreateJobResponse createJob(com.airbyte.api.models.shared.JobCreateRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(baseUrl, "/jobs"); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("POST"); - req.setURL(url); - SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody(request, "request", "json"); - if (serializedRequestBody == null) { - throw new Exception("Request body is required"); - } - req.setBody(serializedRequestBody); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.CreateJobResponse res = new com.airbyte.api.models.operations.CreateJobResponse(contentType, httpRes.statusCode(), httpRes) {{ - jobResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.JobResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.JobResponse.class); - res.jobResponse = out; - } - } - else if (httpRes.statusCode() == 400 || httpRes.statusCode() == 403) { - } - - return res; - } - - /** - * Get Job status and details - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.GetJobResponse getJob(com.airbyte.api.models.operations.GetJobRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(com.airbyte.api.models.operations.GetJobRequest.class, baseUrl, "/jobs/{jobId}", request, null); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("GET"); - req.setURL(url); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.GetJobResponse res = new com.airbyte.api.models.operations.GetJobResponse(contentType, httpRes.statusCode(), httpRes) {{ - jobResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.JobResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.JobResponse.class); - res.jobResponse = out; - } - } - else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } - - /** - * List Jobs by sync type - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.ListJobsResponse listJobs(com.airbyte.api.models.operations.ListJobsRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(baseUrl, "/jobs"); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("GET"); - req.setURL(url); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - java.util.List queryParams = com.airbyte.api.utils.Utils.getQueryParams(com.airbyte.api.models.operations.ListJobsRequest.class, request, null); - if (queryParams != null) { - for (NameValuePair queryParam : queryParams) { - req.addQueryParam(queryParam); - } - } - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.ListJobsResponse res = new com.airbyte.api.models.operations.ListJobsResponse(contentType, httpRes.statusCode(), httpRes) {{ - jobsResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.JobsResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.JobsResponse.class); - res.jobsResponse = out; - } - } - else if (httpRes.statusCode() == 403) { - } - - return res; - } -} \ No newline at end of file diff --git a/lib/src/main/java/com/airbyte/api/SDKConfiguration.java b/lib/src/main/java/com/airbyte/api/SDKConfiguration.java deleted file mode 100644 index ddc80cd8f..000000000 --- a/lib/src/main/java/com/airbyte/api/SDKConfiguration.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api; - -import com.airbyte.api.utils.HTTPClient; -import com.airbyte.api.models.shared.Security; - -class SDKConfiguration { - public HTTPClient defaultClient; - public HTTPClient securityClient; - public Security security; - public String serverUrl; - public int serverIdx = 0; - public String language = "java"; - public String openapiDocVersion = "1.0.0"; - public String sdkVersion = "0.49.3"; - public String genVersion = "2.272.4"; - public String userAgent = "speakeasy-sdk/java 0.49.3 2.272.4 1.0.0 com.airbyte.api"; - - -} \ No newline at end of file diff --git a/lib/src/main/java/com/airbyte/api/Sources.java b/lib/src/main/java/com/airbyte/api/Sources.java deleted file mode 100644 index dd44bbb92..000000000 --- a/lib/src/main/java/com/airbyte/api/Sources.java +++ /dev/null @@ -1,310 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api; - -import com.airbyte.api.utils.HTTPClient; -import com.airbyte.api.utils.HTTPRequest; -import com.airbyte.api.utils.JSON; -import com.airbyte.api.utils.SerializedBody; -import com.fasterxml.jackson.databind.ObjectMapper; -import java.net.http.HttpResponse; -import java.nio.charset.StandardCharsets; -import org.apache.http.NameValuePair; - -public class Sources { - - private SDKConfiguration sdkConfiguration; - - public Sources(SDKConfiguration sdkConfiguration) { - this.sdkConfiguration = sdkConfiguration; - } - - /** - * Create a source - * Creates a source given a name, workspace id, and a json blob containing the configuration for the source. - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.CreateSourceResponse createSource(com.airbyte.api.models.shared.SourceCreateRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(baseUrl, "/sources"); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("POST"); - req.setURL(url); - SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody(request, "request", "json"); - req.setBody(serializedRequestBody); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.CreateSourceResponse res = new com.airbyte.api.models.operations.CreateSourceResponse(contentType, httpRes.statusCode(), httpRes) {{ - sourceResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.SourceResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.SourceResponse.class); - res.sourceResponse = out; - } - } - else if (httpRes.statusCode() == 400 || httpRes.statusCode() == 403) { - } - - return res; - } - - /** - * Delete a Source - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.DeleteSourceResponse deleteSource(com.airbyte.api.models.operations.DeleteSourceRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(com.airbyte.api.models.operations.DeleteSourceRequest.class, baseUrl, "/sources/{sourceId}", request, null); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("DELETE"); - req.setURL(url); - - req.addHeader("Accept", "*/*"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.DeleteSourceResponse res = new com.airbyte.api.models.operations.DeleteSourceResponse(contentType, httpRes.statusCode(), httpRes) {{ - }}; - - if (httpRes.statusCode() == 204 || httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } - - /** - * Get Source details - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.GetSourceResponse getSource(com.airbyte.api.models.operations.GetSourceRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(com.airbyte.api.models.operations.GetSourceRequest.class, baseUrl, "/sources/{sourceId}", request, null); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("GET"); - req.setURL(url); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.GetSourceResponse res = new com.airbyte.api.models.operations.GetSourceResponse(contentType, httpRes.statusCode(), httpRes) {{ - sourceResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.SourceResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.SourceResponse.class); - res.sourceResponse = out; - } - } - else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } - - /** - * Initiate OAuth for a source - * Given a source ID, workspace ID, and redirect URL, initiates OAuth for the source. - * - * This returns a fully formed URL for performing user authentication against the relevant source identity provider (IdP). Once authentication has been completed, the IdP will redirect to an Airbyte endpoint which will save the access and refresh tokens off as a secret and return the secret ID to the redirect URL specified in the `secret_id` query string parameter. - * - * That secret ID can be used to create a source with credentials in place of actual tokens. - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.InitiateOAuthResponse initiateOAuth(com.airbyte.api.models.shared.InitiateOauthRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(baseUrl, "/sources/initiateOAuth"); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("POST"); - req.setURL(url); - SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody(request, "request", "json"); - if (serializedRequestBody == null) { - throw new Exception("Request body is required"); - } - req.setBody(serializedRequestBody); - - req.addHeader("Accept", "*/*"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.InitiateOAuthResponse res = new com.airbyte.api.models.operations.InitiateOAuthResponse(contentType, httpRes.statusCode(), httpRes) {{ - }}; - - if (httpRes.statusCode() == 200 || httpRes.statusCode() == 400 || httpRes.statusCode() == 403) { - } - - return res; - } - - /** - * List sources - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.ListSourcesResponse listSources(com.airbyte.api.models.operations.ListSourcesRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(baseUrl, "/sources"); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("GET"); - req.setURL(url); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - java.util.List queryParams = com.airbyte.api.utils.Utils.getQueryParams(com.airbyte.api.models.operations.ListSourcesRequest.class, request, null); - if (queryParams != null) { - for (NameValuePair queryParam : queryParams) { - req.addQueryParam(queryParam); - } - } - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.ListSourcesResponse res = new com.airbyte.api.models.operations.ListSourcesResponse(contentType, httpRes.statusCode(), httpRes) {{ - sourcesResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.SourcesResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.SourcesResponse.class); - res.sourcesResponse = out; - } - } - else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } - - /** - * Update a Source - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.PatchSourceResponse patchSource(com.airbyte.api.models.operations.PatchSourceRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(com.airbyte.api.models.operations.PatchSourceRequest.class, baseUrl, "/sources/{sourceId}", request, null); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("PATCH"); - req.setURL(url); - SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody(request, "sourcePatchRequest", "json"); - req.setBody(serializedRequestBody); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.PatchSourceResponse res = new com.airbyte.api.models.operations.PatchSourceResponse(contentType, httpRes.statusCode(), httpRes) {{ - sourceResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.SourceResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.SourceResponse.class); - res.sourceResponse = out; - } - } - else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } - - /** - * Update a Source and fully overwrite it - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.PutSourceResponse putSource(com.airbyte.api.models.operations.PutSourceRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(com.airbyte.api.models.operations.PutSourceRequest.class, baseUrl, "/sources/{sourceId}", request, null); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("PUT"); - req.setURL(url); - SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody(request, "sourcePutRequest", "json"); - req.setBody(serializedRequestBody); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.PutSourceResponse res = new com.airbyte.api.models.operations.PutSourceResponse(contentType, httpRes.statusCode(), httpRes) {{ - sourceResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.SourceResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.SourceResponse.class); - res.sourceResponse = out; - } - } - else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } -} \ No newline at end of file diff --git a/lib/src/main/java/com/airbyte/api/Streams.java b/lib/src/main/java/com/airbyte/api/Streams.java deleted file mode 100644 index fb9e3747a..000000000 --- a/lib/src/main/java/com/airbyte/api/Streams.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api; - -import com.airbyte.api.utils.HTTPClient; -import com.airbyte.api.utils.HTTPRequest; -import com.airbyte.api.utils.JSON; -import com.fasterxml.jackson.databind.ObjectMapper; -import java.net.http.HttpResponse; -import java.nio.charset.StandardCharsets; -import org.apache.http.NameValuePair; - -public class Streams { - - private SDKConfiguration sdkConfiguration; - - public Streams(SDKConfiguration sdkConfiguration) { - this.sdkConfiguration = sdkConfiguration; - } - - /** - * Get stream properties - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.GetStreamPropertiesResponse getStreamProperties(com.airbyte.api.models.operations.GetStreamPropertiesRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(baseUrl, "/streams"); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("GET"); - req.setURL(url); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - java.util.List queryParams = com.airbyte.api.utils.Utils.getQueryParams(com.airbyte.api.models.operations.GetStreamPropertiesRequest.class, request, null); - if (queryParams != null) { - for (NameValuePair queryParam : queryParams) { - req.addQueryParam(queryParam); - } - } - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.GetStreamPropertiesResponse res = new com.airbyte.api.models.operations.GetStreamPropertiesResponse(contentType, httpRes.statusCode(), httpRes) {{ - streamPropertiesResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.StreamPropertiesResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.StreamPropertiesResponse.class); - res.streamPropertiesResponse = out; - } - } - else if (httpRes.statusCode() == 400 || httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } -} \ No newline at end of file diff --git a/lib/src/main/java/com/airbyte/api/Workspaces.java b/lib/src/main/java/com/airbyte/api/Workspaces.java deleted file mode 100644 index 68ced7c4e..000000000 --- a/lib/src/main/java/com/airbyte/api/Workspaces.java +++ /dev/null @@ -1,270 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api; - -import com.airbyte.api.utils.HTTPClient; -import com.airbyte.api.utils.HTTPRequest; -import com.airbyte.api.utils.JSON; -import com.airbyte.api.utils.SerializedBody; -import com.fasterxml.jackson.databind.ObjectMapper; -import java.net.http.HttpResponse; -import java.nio.charset.StandardCharsets; -import org.apache.http.NameValuePair; - -public class Workspaces { - - private SDKConfiguration sdkConfiguration; - - public Workspaces(SDKConfiguration sdkConfiguration) { - this.sdkConfiguration = sdkConfiguration; - } - - /** - * Create OAuth override credentials for a workspace and source type. - * Create/update a set of OAuth credentials to override the Airbyte-provided OAuth credentials used for source/destination OAuth. - * In order to determine what the credential configuration needs to be, please see the connector specification of the relevant source/destination. - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsResponse createOrUpdateWorkspaceOAuthCredentials(com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsRequest.class, baseUrl, "/workspaces/{workspaceId}/oauthCredentials", request, null); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("PUT"); - req.setURL(url); - SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody(request, "workspaceOAuthCredentialsRequest", "json"); - if (serializedRequestBody == null) { - throw new Exception("Request body is required"); - } - req.setBody(serializedRequestBody); - - req.addHeader("Accept", "*/*"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsResponse res = new com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsResponse(contentType, httpRes.statusCode(), httpRes) {{ - }}; - - if (httpRes.statusCode() == 200 || httpRes.statusCode() == 400 || httpRes.statusCode() == 403) { - } - - return res; - } - - /** - * Create a workspace - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.CreateWorkspaceResponse createWorkspace(com.airbyte.api.models.shared.WorkspaceCreateRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(baseUrl, "/workspaces"); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("POST"); - req.setURL(url); - SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody(request, "request", "json"); - if (serializedRequestBody == null) { - throw new Exception("Request body is required"); - } - req.setBody(serializedRequestBody); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.CreateWorkspaceResponse res = new com.airbyte.api.models.operations.CreateWorkspaceResponse(contentType, httpRes.statusCode(), httpRes) {{ - workspaceResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.WorkspaceResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.WorkspaceResponse.class); - res.workspaceResponse = out; - } - } - else if (httpRes.statusCode() == 400 || httpRes.statusCode() == 403) { - } - - return res; - } - - /** - * Delete a Workspace - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.DeleteWorkspaceResponse deleteWorkspace(com.airbyte.api.models.operations.DeleteWorkspaceRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(com.airbyte.api.models.operations.DeleteWorkspaceRequest.class, baseUrl, "/workspaces/{workspaceId}", request, null); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("DELETE"); - req.setURL(url); - - req.addHeader("Accept", "*/*"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.DeleteWorkspaceResponse res = new com.airbyte.api.models.operations.DeleteWorkspaceResponse(contentType, httpRes.statusCode(), httpRes) {{ - }}; - - if (httpRes.statusCode() == 204 || httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } - - /** - * Get Workspace details - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.GetWorkspaceResponse getWorkspace(com.airbyte.api.models.operations.GetWorkspaceRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(com.airbyte.api.models.operations.GetWorkspaceRequest.class, baseUrl, "/workspaces/{workspaceId}", request, null); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("GET"); - req.setURL(url); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.GetWorkspaceResponse res = new com.airbyte.api.models.operations.GetWorkspaceResponse(contentType, httpRes.statusCode(), httpRes) {{ - workspaceResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.WorkspaceResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.WorkspaceResponse.class); - res.workspaceResponse = out; - } - } - else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } - - /** - * List workspaces - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.ListWorkspacesResponse listWorkspaces(com.airbyte.api.models.operations.ListWorkspacesRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(baseUrl, "/workspaces"); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("GET"); - req.setURL(url); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - java.util.List queryParams = com.airbyte.api.utils.Utils.getQueryParams(com.airbyte.api.models.operations.ListWorkspacesRequest.class, request, null); - if (queryParams != null) { - for (NameValuePair queryParam : queryParams) { - req.addQueryParam(queryParam); - } - } - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.ListWorkspacesResponse res = new com.airbyte.api.models.operations.ListWorkspacesResponse(contentType, httpRes.statusCode(), httpRes) {{ - workspacesResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.WorkspacesResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.WorkspacesResponse.class); - res.workspacesResponse = out; - } - } - else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { - } - - return res; - } - - /** - * Update a workspace - * @param request the request object containing all of the parameters for the API call - * @return the response from the API call - * @throws Exception if the API call fails - */ - public com.airbyte.api.models.operations.UpdateWorkspaceResponse updateWorkspace(com.airbyte.api.models.operations.UpdateWorkspaceRequest request) throws Exception { - String baseUrl = this.sdkConfiguration.serverUrl; - String url = com.airbyte.api.utils.Utils.generateURL(com.airbyte.api.models.operations.UpdateWorkspaceRequest.class, baseUrl, "/workspaces/{workspaceId}", request, null); - - HTTPRequest req = new HTTPRequest(); - req.setMethod("PATCH"); - req.setURL(url); - SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody(request, "workspaceUpdateRequest", "json"); - if (serializedRequestBody == null) { - throw new Exception("Request body is required"); - } - req.setBody(serializedRequestBody); - - req.addHeader("Accept", "application/json"); - req.addHeader("user-agent", this.sdkConfiguration.userAgent); - - HTTPClient client = this.sdkConfiguration.securityClient; - - HttpResponse httpRes = client.send(req); - - String contentType = httpRes.headers().firstValue("Content-Type").orElse("application/octet-stream"); - - com.airbyte.api.models.operations.UpdateWorkspaceResponse res = new com.airbyte.api.models.operations.UpdateWorkspaceResponse(contentType, httpRes.statusCode(), httpRes) {{ - workspaceResponse = null; - }}; - - if (httpRes.statusCode() == 200) { - if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { - ObjectMapper mapper = JSON.getMapper(); - com.airbyte.api.models.shared.WorkspaceResponse out = mapper.readValue(new String(httpRes.body(), StandardCharsets.UTF_8), com.airbyte.api.models.shared.WorkspaceResponse.class); - res.workspaceResponse = out; - } - } - else if (httpRes.statusCode() == 400 || httpRes.statusCode() == 403) { - } - - return res; - } -} \ No newline at end of file diff --git a/lib/src/main/java/com/airbyte/api/models/operations/CancelJobRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/CancelJobRequest.java deleted file mode 100644 index 4f3182c43..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/CancelJobRequest.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class CancelJobRequest { - @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=jobId") - public Long jobId; - - public CancelJobRequest withJobId(Long jobId) { - this.jobId = jobId; - return this; - } - - public CancelJobRequest(@JsonProperty("jobId") Long jobId) { - this.jobId = jobId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/CancelJobResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/CancelJobResponse.java deleted file mode 100644 index 81dab1014..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/CancelJobResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class CancelJobResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public CancelJobResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * Cancel a Job. - */ - - public com.airbyte.api.models.shared.JobResponse jobResponse; - - public CancelJobResponse withJobResponse(com.airbyte.api.models.shared.JobResponse jobResponse) { - this.jobResponse = jobResponse; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public CancelJobResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public CancelJobResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public CancelJobResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/CreateConnectionResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/CreateConnectionResponse.java deleted file mode 100644 index 057de77c3..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/CreateConnectionResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class CreateConnectionResponse { - /** - * Successful operation - */ - - public com.airbyte.api.models.shared.ConnectionResponse connectionResponse; - - public CreateConnectionResponse withConnectionResponse(com.airbyte.api.models.shared.ConnectionResponse connectionResponse) { - this.connectionResponse = connectionResponse; - return this; - } - - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public CreateConnectionResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public CreateConnectionResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public CreateConnectionResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public CreateConnectionResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/CreateDestinationResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/CreateDestinationResponse.java deleted file mode 100644 index c6e0b4e5d..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/CreateDestinationResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class CreateDestinationResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public CreateDestinationResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * Successful operation - */ - - public com.airbyte.api.models.shared.DestinationResponse destinationResponse; - - public CreateDestinationResponse withDestinationResponse(com.airbyte.api.models.shared.DestinationResponse destinationResponse) { - this.destinationResponse = destinationResponse; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public CreateDestinationResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public CreateDestinationResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public CreateDestinationResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/CreateJobResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/CreateJobResponse.java deleted file mode 100644 index 98946cf16..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/CreateJobResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class CreateJobResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public CreateJobResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * Kicks off a new Job based on the JobType. The connectionId is the resource that Job will be run for. - */ - - public com.airbyte.api.models.shared.JobResponse jobResponse; - - public CreateJobResponse withJobResponse(com.airbyte.api.models.shared.JobResponse jobResponse) { - this.jobResponse = jobResponse; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public CreateJobResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public CreateJobResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public CreateJobResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsRequest.java deleted file mode 100644 index 65e29b824..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsRequest.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class CreateOrUpdateWorkspaceOAuthCredentialsRequest { - @SpeakeasyMetadata("request:mediaType=application/json") - public com.airbyte.api.models.shared.WorkspaceOAuthCredentialsRequest workspaceOAuthCredentialsRequest; - - public CreateOrUpdateWorkspaceOAuthCredentialsRequest withWorkspaceOAuthCredentialsRequest(com.airbyte.api.models.shared.WorkspaceOAuthCredentialsRequest workspaceOAuthCredentialsRequest) { - this.workspaceOAuthCredentialsRequest = workspaceOAuthCredentialsRequest; - return this; - } - - @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=workspaceId") - public String workspaceId; - - public CreateOrUpdateWorkspaceOAuthCredentialsRequest withWorkspaceId(String workspaceId) { - this.workspaceId = workspaceId; - return this; - } - - public CreateOrUpdateWorkspaceOAuthCredentialsRequest(@JsonProperty("WorkspaceOAuthCredentialsRequest") com.airbyte.api.models.shared.WorkspaceOAuthCredentialsRequest workspaceOAuthCredentialsRequest, @JsonProperty("workspaceId") String workspaceId) { - this.workspaceOAuthCredentialsRequest = workspaceOAuthCredentialsRequest; - this.workspaceId = workspaceId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsResponse.java deleted file mode 100644 index e44d2363d..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsResponse.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class CreateOrUpdateWorkspaceOAuthCredentialsResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public CreateOrUpdateWorkspaceOAuthCredentialsResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public CreateOrUpdateWorkspaceOAuthCredentialsResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public CreateOrUpdateWorkspaceOAuthCredentialsResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public CreateOrUpdateWorkspaceOAuthCredentialsResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/CreateSourceResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/CreateSourceResponse.java deleted file mode 100644 index bc90f58ad..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/CreateSourceResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class CreateSourceResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public CreateSourceResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * Successful operation - */ - - public com.airbyte.api.models.shared.SourceResponse sourceResponse; - - public CreateSourceResponse withSourceResponse(com.airbyte.api.models.shared.SourceResponse sourceResponse) { - this.sourceResponse = sourceResponse; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public CreateSourceResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public CreateSourceResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public CreateSourceResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/CreateWorkspaceResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/CreateWorkspaceResponse.java deleted file mode 100644 index e1fd07da5..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/CreateWorkspaceResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class CreateWorkspaceResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public CreateWorkspaceResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public CreateWorkspaceResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public CreateWorkspaceResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - /** - * Successful operation - */ - - public com.airbyte.api.models.shared.WorkspaceResponse workspaceResponse; - - public CreateWorkspaceResponse withWorkspaceResponse(com.airbyte.api.models.shared.WorkspaceResponse workspaceResponse) { - this.workspaceResponse = workspaceResponse; - return this; - } - - public CreateWorkspaceResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/DeleteConnectionRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/DeleteConnectionRequest.java deleted file mode 100644 index 162e67998..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/DeleteConnectionRequest.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class DeleteConnectionRequest { - @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=connectionId") - public String connectionId; - - public DeleteConnectionRequest withConnectionId(String connectionId) { - this.connectionId = connectionId; - return this; - } - - public DeleteConnectionRequest(@JsonProperty("connectionId") String connectionId) { - this.connectionId = connectionId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/DeleteConnectionResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/DeleteConnectionResponse.java deleted file mode 100644 index cb5c5450d..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/DeleteConnectionResponse.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class DeleteConnectionResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public DeleteConnectionResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public DeleteConnectionResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public DeleteConnectionResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public DeleteConnectionResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/DeleteDestinationRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/DeleteDestinationRequest.java deleted file mode 100644 index 8e869b925..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/DeleteDestinationRequest.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class DeleteDestinationRequest { - @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=destinationId") - public String destinationId; - - public DeleteDestinationRequest withDestinationId(String destinationId) { - this.destinationId = destinationId; - return this; - } - - public DeleteDestinationRequest(@JsonProperty("destinationId") String destinationId) { - this.destinationId = destinationId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/DeleteDestinationResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/DeleteDestinationResponse.java deleted file mode 100644 index 413cf705f..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/DeleteDestinationResponse.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class DeleteDestinationResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public DeleteDestinationResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public DeleteDestinationResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public DeleteDestinationResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public DeleteDestinationResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/DeleteSourceRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/DeleteSourceRequest.java deleted file mode 100644 index e3577fadb..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/DeleteSourceRequest.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class DeleteSourceRequest { - @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sourceId") - public String sourceId; - - public DeleteSourceRequest withSourceId(String sourceId) { - this.sourceId = sourceId; - return this; - } - - public DeleteSourceRequest(@JsonProperty("sourceId") String sourceId) { - this.sourceId = sourceId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/DeleteSourceResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/DeleteSourceResponse.java deleted file mode 100644 index 49cb18306..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/DeleteSourceResponse.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class DeleteSourceResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public DeleteSourceResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public DeleteSourceResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public DeleteSourceResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public DeleteSourceResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceRequest.java deleted file mode 100644 index 4a5fad3d5..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceRequest.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class DeleteWorkspaceRequest { - @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=workspaceId") - public String workspaceId; - - public DeleteWorkspaceRequest withWorkspaceId(String workspaceId) { - this.workspaceId = workspaceId; - return this; - } - - public DeleteWorkspaceRequest(@JsonProperty("workspaceId") String workspaceId) { - this.workspaceId = workspaceId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceResponse.java deleted file mode 100644 index 1caa8d674..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceResponse.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class DeleteWorkspaceResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public DeleteWorkspaceResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public DeleteWorkspaceResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public DeleteWorkspaceResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public DeleteWorkspaceResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/GetConnectionRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/GetConnectionRequest.java deleted file mode 100644 index 724af428d..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/GetConnectionRequest.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class GetConnectionRequest { - @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=connectionId") - public String connectionId; - - public GetConnectionRequest withConnectionId(String connectionId) { - this.connectionId = connectionId; - return this; - } - - public GetConnectionRequest(@JsonProperty("connectionId") String connectionId) { - this.connectionId = connectionId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/GetConnectionResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/GetConnectionResponse.java deleted file mode 100644 index d5e8ecc00..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/GetConnectionResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class GetConnectionResponse { - /** - * Get a Connection by the id in the path. - */ - - public com.airbyte.api.models.shared.ConnectionResponse connectionResponse; - - public GetConnectionResponse withConnectionResponse(com.airbyte.api.models.shared.ConnectionResponse connectionResponse) { - this.connectionResponse = connectionResponse; - return this; - } - - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public GetConnectionResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public GetConnectionResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public GetConnectionResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public GetConnectionResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/GetDestinationRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/GetDestinationRequest.java deleted file mode 100644 index 455f7f282..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/GetDestinationRequest.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class GetDestinationRequest { - @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=destinationId") - public String destinationId; - - public GetDestinationRequest withDestinationId(String destinationId) { - this.destinationId = destinationId; - return this; - } - - public GetDestinationRequest(@JsonProperty("destinationId") String destinationId) { - this.destinationId = destinationId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/GetDestinationResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/GetDestinationResponse.java deleted file mode 100644 index 3f75c64bd..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/GetDestinationResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class GetDestinationResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public GetDestinationResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * Get a Destination by the id in the path. - */ - - public com.airbyte.api.models.shared.DestinationResponse destinationResponse; - - public GetDestinationResponse withDestinationResponse(com.airbyte.api.models.shared.DestinationResponse destinationResponse) { - this.destinationResponse = destinationResponse; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public GetDestinationResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public GetDestinationResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public GetDestinationResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/GetJobRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/GetJobRequest.java deleted file mode 100644 index d46720af7..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/GetJobRequest.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class GetJobRequest { - @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=jobId") - public Long jobId; - - public GetJobRequest withJobId(Long jobId) { - this.jobId = jobId; - return this; - } - - public GetJobRequest(@JsonProperty("jobId") Long jobId) { - this.jobId = jobId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/GetJobResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/GetJobResponse.java deleted file mode 100644 index eeb6f7aa0..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/GetJobResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class GetJobResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public GetJobResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * Get a Job by the id in the path. - */ - - public com.airbyte.api.models.shared.JobResponse jobResponse; - - public GetJobResponse withJobResponse(com.airbyte.api.models.shared.JobResponse jobResponse) { - this.jobResponse = jobResponse; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public GetJobResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public GetJobResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public GetJobResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/GetSourceRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/GetSourceRequest.java deleted file mode 100644 index 0d50ecd54..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/GetSourceRequest.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class GetSourceRequest { - @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sourceId") - public String sourceId; - - public GetSourceRequest withSourceId(String sourceId) { - this.sourceId = sourceId; - return this; - } - - public GetSourceRequest(@JsonProperty("sourceId") String sourceId) { - this.sourceId = sourceId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/GetSourceResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/GetSourceResponse.java deleted file mode 100644 index edbad3396..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/GetSourceResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class GetSourceResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public GetSourceResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * Get a Source by the id in the path. - */ - - public com.airbyte.api.models.shared.SourceResponse sourceResponse; - - public GetSourceResponse withSourceResponse(com.airbyte.api.models.shared.SourceResponse sourceResponse) { - this.sourceResponse = sourceResponse; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public GetSourceResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public GetSourceResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public GetSourceResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesRequest.java deleted file mode 100644 index 4ba901797..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesRequest.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class GetStreamPropertiesRequest { - /** - * ID of the destination - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=destinationId") - public String destinationId; - - public GetStreamPropertiesRequest withDestinationId(String destinationId) { - this.destinationId = destinationId; - return this; - } - - /** - * If true pull the latest schema from the source, else pull from cache (default false) - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=ignoreCache") - public Boolean ignoreCache; - - public GetStreamPropertiesRequest withIgnoreCache(Boolean ignoreCache) { - this.ignoreCache = ignoreCache; - return this; - } - - /** - * ID of the source - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=sourceId") - public String sourceId; - - public GetStreamPropertiesRequest withSourceId(String sourceId) { - this.sourceId = sourceId; - return this; - } - - public GetStreamPropertiesRequest(@JsonProperty("destinationId") String destinationId, @JsonProperty("sourceId") String sourceId) { - this.destinationId = destinationId; - this.sourceId = sourceId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesResponse.java deleted file mode 100644 index 570c64e4a..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class GetStreamPropertiesResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public GetStreamPropertiesResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public GetStreamPropertiesResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public GetStreamPropertiesResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - /** - * Get the available streams properties for a source/destination pair. - */ - - public com.airbyte.api.models.shared.StreamPropertiesResponse streamPropertiesResponse; - - public GetStreamPropertiesResponse withStreamPropertiesResponse(com.airbyte.api.models.shared.StreamPropertiesResponse streamPropertiesResponse) { - this.streamPropertiesResponse = streamPropertiesResponse; - return this; - } - - public GetStreamPropertiesResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/GetWorkspaceRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/GetWorkspaceRequest.java deleted file mode 100644 index c92c40fd9..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/GetWorkspaceRequest.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class GetWorkspaceRequest { - @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=workspaceId") - public String workspaceId; - - public GetWorkspaceRequest withWorkspaceId(String workspaceId) { - this.workspaceId = workspaceId; - return this; - } - - public GetWorkspaceRequest(@JsonProperty("workspaceId") String workspaceId) { - this.workspaceId = workspaceId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/GetWorkspaceResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/GetWorkspaceResponse.java deleted file mode 100644 index 6c6854bd8..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/GetWorkspaceResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class GetWorkspaceResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public GetWorkspaceResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public GetWorkspaceResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public GetWorkspaceResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - /** - * Get a Workspace by the id in the path. - */ - - public com.airbyte.api.models.shared.WorkspaceResponse workspaceResponse; - - public GetWorkspaceResponse withWorkspaceResponse(com.airbyte.api.models.shared.WorkspaceResponse workspaceResponse) { - this.workspaceResponse = workspaceResponse; - return this; - } - - public GetWorkspaceResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/InitiateOAuthResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/InitiateOAuthResponse.java deleted file mode 100644 index 534298376..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/InitiateOAuthResponse.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class InitiateOAuthResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public InitiateOAuthResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public InitiateOAuthResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public InitiateOAuthResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public InitiateOAuthResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/ListConnectionsRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/ListConnectionsRequest.java deleted file mode 100644 index 13a19b2b0..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/ListConnectionsRequest.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; - - -public class ListConnectionsRequest { - /** - * Include deleted connections in the returned results. - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeDeleted") - public Boolean includeDeleted; - - public ListConnectionsRequest withIncludeDeleted(Boolean includeDeleted) { - this.includeDeleted = includeDeleted; - return this; - } - - /** - * Set the limit on the number of Connections returned. The default is 20. - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit") - public Integer limit; - - public ListConnectionsRequest withLimit(Integer limit) { - this.limit = limit; - return this; - } - - /** - * Set the offset to start at when returning Connections. The default is 0 - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=offset") - public Integer offset; - - public ListConnectionsRequest withOffset(Integer offset) { - this.offset = offset; - return this; - } - - /** - * The UUIDs of the workspaces you wish to list connections for. Empty list will retrieve all allowed workspaces. - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=workspaceIds") - public String[] workspaceIds; - - public ListConnectionsRequest withWorkspaceIds(String[] workspaceIds) { - this.workspaceIds = workspaceIds; - return this; - } - - public ListConnectionsRequest(){} -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/ListConnectionsResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/ListConnectionsResponse.java deleted file mode 100644 index 4bdd9cc61..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/ListConnectionsResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class ListConnectionsResponse { - /** - * Successful operation - */ - - public com.airbyte.api.models.shared.ConnectionsResponse connectionsResponse; - - public ListConnectionsResponse withConnectionsResponse(com.airbyte.api.models.shared.ConnectionsResponse connectionsResponse) { - this.connectionsResponse = connectionsResponse; - return this; - } - - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public ListConnectionsResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public ListConnectionsResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public ListConnectionsResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public ListConnectionsResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/ListDestinationsRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/ListDestinationsRequest.java deleted file mode 100644 index 331e91e28..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/ListDestinationsRequest.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; - - -public class ListDestinationsRequest { - /** - * Include deleted destinations in the returned results. - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeDeleted") - public Boolean includeDeleted; - - public ListDestinationsRequest withIncludeDeleted(Boolean includeDeleted) { - this.includeDeleted = includeDeleted; - return this; - } - - /** - * Set the limit on the number of destinations returned. The default is 20. - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit") - public Integer limit; - - public ListDestinationsRequest withLimit(Integer limit) { - this.limit = limit; - return this; - } - - /** - * Set the offset to start at when returning destinations. The default is 0 - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=offset") - public Integer offset; - - public ListDestinationsRequest withOffset(Integer offset) { - this.offset = offset; - return this; - } - - /** - * The UUIDs of the workspaces you wish to list destinations for. Empty list will retrieve all allowed workspaces. - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=workspaceIds") - public String[] workspaceIds; - - public ListDestinationsRequest withWorkspaceIds(String[] workspaceIds) { - this.workspaceIds = workspaceIds; - return this; - } - - public ListDestinationsRequest(){} -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/ListDestinationsResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/ListDestinationsResponse.java deleted file mode 100644 index 833e93029..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/ListDestinationsResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class ListDestinationsResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public ListDestinationsResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * Successful operation - */ - - public com.airbyte.api.models.shared.DestinationsResponse destinationsResponse; - - public ListDestinationsResponse withDestinationsResponse(com.airbyte.api.models.shared.DestinationsResponse destinationsResponse) { - this.destinationsResponse = destinationsResponse; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public ListDestinationsResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public ListDestinationsResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public ListDestinationsResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/ListJobsRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/ListJobsRequest.java deleted file mode 100644 index 6dcf27041..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/ListJobsRequest.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import java.time.OffsetDateTime; - - -public class ListJobsRequest { - /** - * Filter the Jobs by connectionId. - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=connectionId") - public String connectionId; - - public ListJobsRequest withConnectionId(String connectionId) { - this.connectionId = connectionId; - return this; - } - - /** - * The end date to filter by - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=createdAtEnd") - public OffsetDateTime createdAtEnd; - - public ListJobsRequest withCreatedAtEnd(OffsetDateTime createdAtEnd) { - this.createdAtEnd = createdAtEnd; - return this; - } - - /** - * The start date to filter by - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=createdAtStart") - public OffsetDateTime createdAtStart; - - public ListJobsRequest withCreatedAtStart(OffsetDateTime createdAtStart) { - this.createdAtStart = createdAtStart; - return this; - } - - /** - * Filter the Jobs by jobType. - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=jobType") - public com.airbyte.api.models.shared.JobTypeEnum jobType; - - public ListJobsRequest withJobType(com.airbyte.api.models.shared.JobTypeEnum jobType) { - this.jobType = jobType; - return this; - } - - /** - * Set the limit on the number of Jobs returned. The default is 20 Jobs. - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit") - public Integer limit; - - public ListJobsRequest withLimit(Integer limit) { - this.limit = limit; - return this; - } - - /** - * Set the offset to start at when returning Jobs. The default is 0. - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=offset") - public Integer offset; - - public ListJobsRequest withOffset(Integer offset) { - this.offset = offset; - return this; - } - - /** - * The field and method to use for ordering. Currently allowed are createdAt and updatedAt. - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=orderBy") - public String orderBy; - - public ListJobsRequest withOrderBy(String orderBy) { - this.orderBy = orderBy; - return this; - } - - /** - * The Job status you want to filter by - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=status") - public com.airbyte.api.models.shared.JobStatusEnum status; - - public ListJobsRequest withStatus(com.airbyte.api.models.shared.JobStatusEnum status) { - this.status = status; - return this; - } - - /** - * The end date to filter by - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=updatedAtEnd") - public OffsetDateTime updatedAtEnd; - - public ListJobsRequest withUpdatedAtEnd(OffsetDateTime updatedAtEnd) { - this.updatedAtEnd = updatedAtEnd; - return this; - } - - /** - * The start date to filter by - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=updatedAtStart") - public OffsetDateTime updatedAtStart; - - public ListJobsRequest withUpdatedAtStart(OffsetDateTime updatedAtStart) { - this.updatedAtStart = updatedAtStart; - return this; - } - - /** - * The UUIDs of the workspaces you wish to list jobs for. Empty list will retrieve all allowed workspaces. - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=workspaceIds") - public String[] workspaceIds; - - public ListJobsRequest withWorkspaceIds(String[] workspaceIds) { - this.workspaceIds = workspaceIds; - return this; - } - - public ListJobsRequest(){} -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/ListJobsResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/ListJobsResponse.java deleted file mode 100644 index c2c621138..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/ListJobsResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class ListJobsResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public ListJobsResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * List all the Jobs by connectionId. - */ - - public com.airbyte.api.models.shared.JobsResponse jobsResponse; - - public ListJobsResponse withJobsResponse(com.airbyte.api.models.shared.JobsResponse jobsResponse) { - this.jobsResponse = jobsResponse; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public ListJobsResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public ListJobsResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public ListJobsResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/ListSourcesRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/ListSourcesRequest.java deleted file mode 100644 index 1a654abcc..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/ListSourcesRequest.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; - - -public class ListSourcesRequest { - /** - * Include deleted sources in the returned results. - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeDeleted") - public Boolean includeDeleted; - - public ListSourcesRequest withIncludeDeleted(Boolean includeDeleted) { - this.includeDeleted = includeDeleted; - return this; - } - - /** - * Set the limit on the number of sources returned. The default is 20. - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit") - public Integer limit; - - public ListSourcesRequest withLimit(Integer limit) { - this.limit = limit; - return this; - } - - /** - * Set the offset to start at when returning sources. The default is 0 - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=offset") - public Integer offset; - - public ListSourcesRequest withOffset(Integer offset) { - this.offset = offset; - return this; - } - - /** - * The UUIDs of the workspaces you wish to list sources for. Empty list will retrieve all allowed workspaces. - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=workspaceIds") - public String[] workspaceIds; - - public ListSourcesRequest withWorkspaceIds(String[] workspaceIds) { - this.workspaceIds = workspaceIds; - return this; - } - - public ListSourcesRequest(){} -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/ListSourcesResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/ListSourcesResponse.java deleted file mode 100644 index e1ae75900..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/ListSourcesResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class ListSourcesResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public ListSourcesResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * Successful operation - */ - - public com.airbyte.api.models.shared.SourcesResponse sourcesResponse; - - public ListSourcesResponse withSourcesResponse(com.airbyte.api.models.shared.SourcesResponse sourcesResponse) { - this.sourcesResponse = sourcesResponse; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public ListSourcesResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public ListSourcesResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public ListSourcesResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/ListWorkspacesRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/ListWorkspacesRequest.java deleted file mode 100644 index 22e78af24..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/ListWorkspacesRequest.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; - - -public class ListWorkspacesRequest { - /** - * Include deleted workspaces in the returned results. - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeDeleted") - public Boolean includeDeleted; - - public ListWorkspacesRequest withIncludeDeleted(Boolean includeDeleted) { - this.includeDeleted = includeDeleted; - return this; - } - - /** - * Set the limit on the number of workspaces returned. The default is 20. - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit") - public Integer limit; - - public ListWorkspacesRequest withLimit(Integer limit) { - this.limit = limit; - return this; - } - - /** - * Set the offset to start at when returning workspaces. The default is 0 - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=offset") - public Integer offset; - - public ListWorkspacesRequest withOffset(Integer offset) { - this.offset = offset; - return this; - } - - /** - * The UUIDs of the workspaces you wish to fetch. Empty list will retrieve all allowed workspaces. - */ - @SpeakeasyMetadata("queryParam:style=form,explode=true,name=workspaceIds") - public String[] workspaceIds; - - public ListWorkspacesRequest withWorkspaceIds(String[] workspaceIds) { - this.workspaceIds = workspaceIds; - return this; - } - - public ListWorkspacesRequest(){} -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/ListWorkspacesResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/ListWorkspacesResponse.java deleted file mode 100644 index 3ba6b4c8e..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/ListWorkspacesResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class ListWorkspacesResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public ListWorkspacesResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public ListWorkspacesResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public ListWorkspacesResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - /** - * Successful operation - */ - - public com.airbyte.api.models.shared.WorkspacesResponse workspacesResponse; - - public ListWorkspacesResponse withWorkspacesResponse(com.airbyte.api.models.shared.WorkspacesResponse workspacesResponse) { - this.workspacesResponse = workspacesResponse; - return this; - } - - public ListWorkspacesResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/PatchConnectionRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/PatchConnectionRequest.java deleted file mode 100644 index 64f2e998d..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/PatchConnectionRequest.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class PatchConnectionRequest { - @SpeakeasyMetadata("request:mediaType=application/json") - public com.airbyte.api.models.shared.ConnectionPatchRequest connectionPatchRequest; - - public PatchConnectionRequest withConnectionPatchRequest(com.airbyte.api.models.shared.ConnectionPatchRequest connectionPatchRequest) { - this.connectionPatchRequest = connectionPatchRequest; - return this; - } - - @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=connectionId") - public String connectionId; - - public PatchConnectionRequest withConnectionId(String connectionId) { - this.connectionId = connectionId; - return this; - } - - public PatchConnectionRequest(@JsonProperty("ConnectionPatchRequest") com.airbyte.api.models.shared.ConnectionPatchRequest connectionPatchRequest, @JsonProperty("connectionId") String connectionId) { - this.connectionPatchRequest = connectionPatchRequest; - this.connectionId = connectionId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/PatchConnectionResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/PatchConnectionResponse.java deleted file mode 100644 index f335d7025..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/PatchConnectionResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class PatchConnectionResponse { - /** - * Update a Connection by the id in the path. - */ - - public com.airbyte.api.models.shared.ConnectionResponse connectionResponse; - - public PatchConnectionResponse withConnectionResponse(com.airbyte.api.models.shared.ConnectionResponse connectionResponse) { - this.connectionResponse = connectionResponse; - return this; - } - - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public PatchConnectionResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public PatchConnectionResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public PatchConnectionResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public PatchConnectionResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/PatchDestinationRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/PatchDestinationRequest.java deleted file mode 100644 index d6b5ea62c..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/PatchDestinationRequest.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class PatchDestinationRequest { - @SpeakeasyMetadata("request:mediaType=application/json") - public com.airbyte.api.models.shared.DestinationPatchRequest destinationPatchRequest; - - public PatchDestinationRequest withDestinationPatchRequest(com.airbyte.api.models.shared.DestinationPatchRequest destinationPatchRequest) { - this.destinationPatchRequest = destinationPatchRequest; - return this; - } - - @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=destinationId") - public String destinationId; - - public PatchDestinationRequest withDestinationId(String destinationId) { - this.destinationId = destinationId; - return this; - } - - public PatchDestinationRequest(@JsonProperty("destinationId") String destinationId) { - this.destinationId = destinationId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/PatchDestinationResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/PatchDestinationResponse.java deleted file mode 100644 index 03565f07e..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/PatchDestinationResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class PatchDestinationResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public PatchDestinationResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * Update a Destination - */ - - public com.airbyte.api.models.shared.DestinationResponse destinationResponse; - - public PatchDestinationResponse withDestinationResponse(com.airbyte.api.models.shared.DestinationResponse destinationResponse) { - this.destinationResponse = destinationResponse; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public PatchDestinationResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public PatchDestinationResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public PatchDestinationResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/PatchSourceRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/PatchSourceRequest.java deleted file mode 100644 index bf3b90654..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/PatchSourceRequest.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class PatchSourceRequest { - @SpeakeasyMetadata("request:mediaType=application/json") - public com.airbyte.api.models.shared.SourcePatchRequest sourcePatchRequest; - - public PatchSourceRequest withSourcePatchRequest(com.airbyte.api.models.shared.SourcePatchRequest sourcePatchRequest) { - this.sourcePatchRequest = sourcePatchRequest; - return this; - } - - @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sourceId") - public String sourceId; - - public PatchSourceRequest withSourceId(String sourceId) { - this.sourceId = sourceId; - return this; - } - - public PatchSourceRequest(@JsonProperty("sourceId") String sourceId) { - this.sourceId = sourceId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/PatchSourceResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/PatchSourceResponse.java deleted file mode 100644 index 883ea734d..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/PatchSourceResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class PatchSourceResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public PatchSourceResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * Update a Source - */ - - public com.airbyte.api.models.shared.SourceResponse sourceResponse; - - public PatchSourceResponse withSourceResponse(com.airbyte.api.models.shared.SourceResponse sourceResponse) { - this.sourceResponse = sourceResponse; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public PatchSourceResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public PatchSourceResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public PatchSourceResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/PutDestinationRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/PutDestinationRequest.java deleted file mode 100644 index 1dfb5fa8b..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/PutDestinationRequest.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class PutDestinationRequest { - @SpeakeasyMetadata("request:mediaType=application/json") - public com.airbyte.api.models.shared.DestinationPutRequest destinationPutRequest; - - public PutDestinationRequest withDestinationPutRequest(com.airbyte.api.models.shared.DestinationPutRequest destinationPutRequest) { - this.destinationPutRequest = destinationPutRequest; - return this; - } - - @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=destinationId") - public String destinationId; - - public PutDestinationRequest withDestinationId(String destinationId) { - this.destinationId = destinationId; - return this; - } - - public PutDestinationRequest(@JsonProperty("destinationId") String destinationId) { - this.destinationId = destinationId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/PutDestinationResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/PutDestinationResponse.java deleted file mode 100644 index a21f2f297..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/PutDestinationResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class PutDestinationResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public PutDestinationResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * Update a Destination and fully overwrite it - */ - - public com.airbyte.api.models.shared.DestinationResponse destinationResponse; - - public PutDestinationResponse withDestinationResponse(com.airbyte.api.models.shared.DestinationResponse destinationResponse) { - this.destinationResponse = destinationResponse; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public PutDestinationResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public PutDestinationResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public PutDestinationResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/PutSourceRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/PutSourceRequest.java deleted file mode 100644 index 7ed2b4a8b..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/PutSourceRequest.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class PutSourceRequest { - @SpeakeasyMetadata("request:mediaType=application/json") - public com.airbyte.api.models.shared.SourcePutRequest sourcePutRequest; - - public PutSourceRequest withSourcePutRequest(com.airbyte.api.models.shared.SourcePutRequest sourcePutRequest) { - this.sourcePutRequest = sourcePutRequest; - return this; - } - - @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sourceId") - public String sourceId; - - public PutSourceRequest withSourceId(String sourceId) { - this.sourceId = sourceId; - return this; - } - - public PutSourceRequest(@JsonProperty("sourceId") String sourceId) { - this.sourceId = sourceId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/PutSourceResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/PutSourceResponse.java deleted file mode 100644 index 5a617ad14..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/PutSourceResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class PutSourceResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public PutSourceResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * Update a source and fully overwrite it - */ - - public com.airbyte.api.models.shared.SourceResponse sourceResponse; - - public PutSourceResponse withSourceResponse(com.airbyte.api.models.shared.SourceResponse sourceResponse) { - this.sourceResponse = sourceResponse; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public PutSourceResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public PutSourceResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - public PutSourceResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceRequest.java b/lib/src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceRequest.java deleted file mode 100644 index bda155c55..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceRequest.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class UpdateWorkspaceRequest { - @SpeakeasyMetadata("request:mediaType=application/json") - public com.airbyte.api.models.shared.WorkspaceUpdateRequest workspaceUpdateRequest; - - public UpdateWorkspaceRequest withWorkspaceUpdateRequest(com.airbyte.api.models.shared.WorkspaceUpdateRequest workspaceUpdateRequest) { - this.workspaceUpdateRequest = workspaceUpdateRequest; - return this; - } - - @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=workspaceId") - public String workspaceId; - - public UpdateWorkspaceRequest withWorkspaceId(String workspaceId) { - this.workspaceId = workspaceId; - return this; - } - - public UpdateWorkspaceRequest(@JsonProperty("WorkspaceUpdateRequest") com.airbyte.api.models.shared.WorkspaceUpdateRequest workspaceUpdateRequest, @JsonProperty("workspaceId") String workspaceId) { - this.workspaceUpdateRequest = workspaceUpdateRequest; - this.workspaceId = workspaceId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceResponse.java b/lib/src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceResponse.java deleted file mode 100644 index 68e07166c..000000000 --- a/lib/src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceResponse.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.operations; - -import com.fasterxml.jackson.annotation.JsonProperty; -import java.net.http.HttpResponse; - - -public class UpdateWorkspaceResponse { - /** - * HTTP response content type for this operation - */ - - public String contentType; - - public UpdateWorkspaceResponse withContentType(String contentType) { - this.contentType = contentType; - return this; - } - - /** - * HTTP response status code for this operation - */ - - public Integer statusCode; - - public UpdateWorkspaceResponse withStatusCode(Integer statusCode) { - this.statusCode = statusCode; - return this; - } - - /** - * Raw HTTP response; suitable for custom response parsing - */ - - public HttpResponse rawResponse; - - public UpdateWorkspaceResponse withRawResponse(HttpResponse rawResponse) { - this.rawResponse = rawResponse; - return this; - } - - /** - * Successful operation - */ - - public com.airbyte.api.models.shared.WorkspaceResponse workspaceResponse; - - public UpdateWorkspaceResponse withWorkspaceResponse(com.airbyte.api.models.shared.WorkspaceResponse workspaceResponse) { - this.workspaceResponse = workspaceResponse; - return this; - } - - public UpdateWorkspaceResponse(@JsonProperty("ContentType") String contentType, @JsonProperty("StatusCode") Integer statusCode, @JsonProperty("RawResponse") HttpResponse rawResponse) { - this.contentType = contentType; - this.statusCode = statusCode; - this.rawResponse = rawResponse; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/ActorTypeEnum.java b/lib/src/main/java/com/airbyte/api/models/shared/ActorTypeEnum.java deleted file mode 100644 index 2f0801bda..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/ActorTypeEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonValue; - -/** - * ActorTypeEnum - Whether you're setting this override for a source or destination - */ -public enum ActorTypeEnum { - SOURCE("source"), - DESTINATION("destination"); - - @JsonValue - public final String value; - - private ActorTypeEnum(String value) { - this.value = value; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/ConnectionCreateRequest.java b/lib/src/main/java/com/airbyte/api/models/shared/ConnectionCreateRequest.java deleted file mode 100644 index 9e88bc297..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/ConnectionCreateRequest.java +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class ConnectionCreateRequest { - /** - * A list of configured stream options for a connection. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("configurations") - public StreamConfigurations configurations; - - public ConnectionCreateRequest withConfigurations(StreamConfigurations configurations) { - this.configurations = configurations; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("dataResidency") - public GeographyEnum dataResidency; - - public ConnectionCreateRequest withDataResidency(GeographyEnum dataResidency) { - this.dataResidency = dataResidency; - return this; - } - - @JsonProperty("destinationId") - public String destinationId; - - public ConnectionCreateRequest withDestinationId(String destinationId) { - this.destinationId = destinationId; - return this; - } - - /** - * Optional name of the connection - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("name") - public String name; - - public ConnectionCreateRequest withName(String name) { - this.name = name; - return this; - } - - /** - * Define the location where the data will be stored in the destination - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("namespaceDefinition") - public NamespaceDefinitionEnum namespaceDefinition; - - public ConnectionCreateRequest withNamespaceDefinition(NamespaceDefinitionEnum namespaceDefinition) { - this.namespaceDefinition = namespaceDefinition; - return this; - } - - /** - * Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("namespaceFormat") - public String namespaceFormat; - - public ConnectionCreateRequest withNamespaceFormat(String namespaceFormat) { - this.namespaceFormat = namespaceFormat; - return this; - } - - /** - * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("nonBreakingSchemaUpdatesBehavior") - public NonBreakingSchemaUpdatesBehaviorEnum nonBreakingSchemaUpdatesBehavior; - - public ConnectionCreateRequest withNonBreakingSchemaUpdatesBehavior(NonBreakingSchemaUpdatesBehaviorEnum nonBreakingSchemaUpdatesBehavior) { - this.nonBreakingSchemaUpdatesBehavior = nonBreakingSchemaUpdatesBehavior; - return this; - } - - /** - * Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”). - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("prefix") - public String prefix; - - public ConnectionCreateRequest withPrefix(String prefix) { - this.prefix = prefix; - return this; - } - - /** - * schedule for when the the connection should run, per the schedule type - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("schedule") - public ConnectionSchedule schedule; - - public ConnectionCreateRequest withSchedule(ConnectionSchedule schedule) { - this.schedule = schedule; - return this; - } - - @JsonProperty("sourceId") - public String sourceId; - - public ConnectionCreateRequest withSourceId(String sourceId) { - this.sourceId = sourceId; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("status") - public ConnectionStatusEnum status; - - public ConnectionCreateRequest withStatus(ConnectionStatusEnum status) { - this.status = status; - return this; - } - - public ConnectionCreateRequest(@JsonProperty("destinationId") String destinationId, @JsonProperty("sourceId") String sourceId) { - this.destinationId = destinationId; - this.sourceId = sourceId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/ConnectionPatchRequest.java b/lib/src/main/java/com/airbyte/api/models/shared/ConnectionPatchRequest.java deleted file mode 100644 index 60193ef84..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/ConnectionPatchRequest.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class ConnectionPatchRequest { - /** - * A list of configured stream options for a connection. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("configurations") - public StreamConfigurations configurations; - - public ConnectionPatchRequest withConfigurations(StreamConfigurations configurations) { - this.configurations = configurations; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("dataResidency") - public GeographyEnumNoDefault dataResidency; - - public ConnectionPatchRequest withDataResidency(GeographyEnumNoDefault dataResidency) { - this.dataResidency = dataResidency; - return this; - } - - /** - * Optional name of the connection - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("name") - public String name; - - public ConnectionPatchRequest withName(String name) { - this.name = name; - return this; - } - - /** - * Define the location where the data will be stored in the destination - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("namespaceDefinition") - public NamespaceDefinitionEnumNoDefault namespaceDefinition; - - public ConnectionPatchRequest withNamespaceDefinition(NamespaceDefinitionEnumNoDefault namespaceDefinition) { - this.namespaceDefinition = namespaceDefinition; - return this; - } - - /** - * Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("namespaceFormat") - public String namespaceFormat; - - public ConnectionPatchRequest withNamespaceFormat(String namespaceFormat) { - this.namespaceFormat = namespaceFormat; - return this; - } - - /** - * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("nonBreakingSchemaUpdatesBehavior") - public NonBreakingSchemaUpdatesBehaviorEnumNoDefault nonBreakingSchemaUpdatesBehavior; - - public ConnectionPatchRequest withNonBreakingSchemaUpdatesBehavior(NonBreakingSchemaUpdatesBehaviorEnumNoDefault nonBreakingSchemaUpdatesBehavior) { - this.nonBreakingSchemaUpdatesBehavior = nonBreakingSchemaUpdatesBehavior; - return this; - } - - /** - * Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”). - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("prefix") - public String prefix; - - public ConnectionPatchRequest withPrefix(String prefix) { - this.prefix = prefix; - return this; - } - - /** - * schedule for when the the connection should run, per the schedule type - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("schedule") - public ConnectionSchedule schedule; - - public ConnectionPatchRequest withSchedule(ConnectionSchedule schedule) { - this.schedule = schedule; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("status") - public ConnectionStatusEnum status; - - public ConnectionPatchRequest withStatus(ConnectionStatusEnum status) { - this.status = status; - return this; - } - - public ConnectionPatchRequest(){} -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/ConnectionResponse.java b/lib/src/main/java/com/airbyte/api/models/shared/ConnectionResponse.java deleted file mode 100644 index 11bf63733..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/ConnectionResponse.java +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * ConnectionResponse - Provides details of a single connection. - */ - -public class ConnectionResponse { - /** - * A list of configured stream options for a connection. - */ - @JsonProperty("configurations") - public StreamConfigurations configurations; - - public ConnectionResponse withConfigurations(StreamConfigurations configurations) { - this.configurations = configurations; - return this; - } - - @JsonProperty("connectionId") - public String connectionId; - - public ConnectionResponse withConnectionId(String connectionId) { - this.connectionId = connectionId; - return this; - } - - @JsonProperty("dataResidency") - public GeographyEnum dataResidency; - - public ConnectionResponse withDataResidency(GeographyEnum dataResidency) { - this.dataResidency = dataResidency; - return this; - } - - @JsonProperty("destinationId") - public String destinationId; - - public ConnectionResponse withDestinationId(String destinationId) { - this.destinationId = destinationId; - return this; - } - - @JsonProperty("name") - public String name; - - public ConnectionResponse withName(String name) { - this.name = name; - return this; - } - - /** - * Define the location where the data will be stored in the destination - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("namespaceDefinition") - public NamespaceDefinitionEnum namespaceDefinition; - - public ConnectionResponse withNamespaceDefinition(NamespaceDefinitionEnum namespaceDefinition) { - this.namespaceDefinition = namespaceDefinition; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("namespaceFormat") - public String namespaceFormat; - - public ConnectionResponse withNamespaceFormat(String namespaceFormat) { - this.namespaceFormat = namespaceFormat; - return this; - } - - /** - * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("nonBreakingSchemaUpdatesBehavior") - public NonBreakingSchemaUpdatesBehaviorEnum nonBreakingSchemaUpdatesBehavior; - - public ConnectionResponse withNonBreakingSchemaUpdatesBehavior(NonBreakingSchemaUpdatesBehaviorEnum nonBreakingSchemaUpdatesBehavior) { - this.nonBreakingSchemaUpdatesBehavior = nonBreakingSchemaUpdatesBehavior; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("prefix") - public String prefix; - - public ConnectionResponse withPrefix(String prefix) { - this.prefix = prefix; - return this; - } - - /** - * schedule for when the the connection should run, per the schedule type - */ - @JsonProperty("schedule") - public ConnectionScheduleResponse schedule; - - public ConnectionResponse withSchedule(ConnectionScheduleResponse schedule) { - this.schedule = schedule; - return this; - } - - @JsonProperty("sourceId") - public String sourceId; - - public ConnectionResponse withSourceId(String sourceId) { - this.sourceId = sourceId; - return this; - } - - @JsonProperty("status") - public ConnectionStatusEnum status; - - public ConnectionResponse withStatus(ConnectionStatusEnum status) { - this.status = status; - return this; - } - - @JsonProperty("workspaceId") - public String workspaceId; - - public ConnectionResponse withWorkspaceId(String workspaceId) { - this.workspaceId = workspaceId; - return this; - } - - public ConnectionResponse(@JsonProperty("configurations") StreamConfigurations configurations, @JsonProperty("connectionId") String connectionId, @JsonProperty("dataResidency") GeographyEnum dataResidency, @JsonProperty("destinationId") String destinationId, @JsonProperty("name") String name, @JsonProperty("schedule") ConnectionScheduleResponse schedule, @JsonProperty("sourceId") String sourceId, @JsonProperty("status") ConnectionStatusEnum status, @JsonProperty("workspaceId") String workspaceId) { - this.configurations = configurations; - this.connectionId = connectionId; - this.dataResidency = dataResidency; - this.destinationId = destinationId; - this.name = name; - this.schedule = schedule; - this.sourceId = sourceId; - this.status = status; - this.workspaceId = workspaceId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/ConnectionSchedule.java b/lib/src/main/java/com/airbyte/api/models/shared/ConnectionSchedule.java deleted file mode 100644 index 73b4cf1ba..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/ConnectionSchedule.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * ConnectionSchedule - schedule for when the the connection should run, per the schedule type - */ - -public class ConnectionSchedule { - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("cronExpression") - public String cronExpression; - - public ConnectionSchedule withCronExpression(String cronExpression) { - this.cronExpression = cronExpression; - return this; - } - - @JsonProperty("scheduleType") - public ScheduleTypeEnum scheduleType; - - public ConnectionSchedule withScheduleType(ScheduleTypeEnum scheduleType) { - this.scheduleType = scheduleType; - return this; - } - - public ConnectionSchedule(@JsonProperty("scheduleType") ScheduleTypeEnum scheduleType) { - this.scheduleType = scheduleType; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/ConnectionScheduleResponse.java b/lib/src/main/java/com/airbyte/api/models/shared/ConnectionScheduleResponse.java deleted file mode 100644 index 913b11737..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/ConnectionScheduleResponse.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * ConnectionScheduleResponse - schedule for when the the connection should run, per the schedule type - */ - -public class ConnectionScheduleResponse { - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("basicTiming") - public String basicTiming; - - public ConnectionScheduleResponse withBasicTiming(String basicTiming) { - this.basicTiming = basicTiming; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("cronExpression") - public String cronExpression; - - public ConnectionScheduleResponse withCronExpression(String cronExpression) { - this.cronExpression = cronExpression; - return this; - } - - @JsonProperty("scheduleType") - public ScheduleTypeWithBasicEnum scheduleType; - - public ConnectionScheduleResponse withScheduleType(ScheduleTypeWithBasicEnum scheduleType) { - this.scheduleType = scheduleType; - return this; - } - - public ConnectionScheduleResponse(@JsonProperty("scheduleType") ScheduleTypeWithBasicEnum scheduleType) { - this.scheduleType = scheduleType; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/ConnectionStatusEnum.java b/lib/src/main/java/com/airbyte/api/models/shared/ConnectionStatusEnum.java deleted file mode 100644 index dafb617a0..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/ConnectionStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonValue; - -public enum ConnectionStatusEnum { - ACTIVE("active"), - INACTIVE("inactive"), - DEPRECATED("deprecated"); - - @JsonValue - public final String value; - - private ConnectionStatusEnum(String value) { - this.value = value; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/ConnectionSyncModeEnum.java b/lib/src/main/java/com/airbyte/api/models/shared/ConnectionSyncModeEnum.java deleted file mode 100644 index 7a22cc860..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/ConnectionSyncModeEnum.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonValue; - -public enum ConnectionSyncModeEnum { - FULL_REFRESH_OVERWRITE("full_refresh_overwrite"), - FULL_REFRESH_APPEND("full_refresh_append"), - INCREMENTAL_APPEND("incremental_append"), - INCREMENTAL_DEDUPED_HISTORY("incremental_deduped_history"); - - @JsonValue - public final String value; - - private ConnectionSyncModeEnum(String value) { - this.value = value; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/ConnectionsResponse.java b/lib/src/main/java/com/airbyte/api/models/shared/ConnectionsResponse.java deleted file mode 100644 index 6eb3aaa9c..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/ConnectionsResponse.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class ConnectionsResponse { - @JsonProperty("data") - public ConnectionResponse[] data; - - public ConnectionsResponse withData(ConnectionResponse[] data) { - this.data = data; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("next") - public String next; - - public ConnectionsResponse withNext(String next) { - this.next = next; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("previous") - public String previous; - - public ConnectionsResponse withPrevious(String previous) { - this.previous = previous; - return this; - } - - public ConnectionsResponse(@JsonProperty("data") ConnectionResponse[] data) { - this.data = data; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/DestinationCreateRequest.java b/lib/src/main/java/com/airbyte/api/models/shared/DestinationCreateRequest.java deleted file mode 100644 index 6226082b2..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/DestinationCreateRequest.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class DestinationCreateRequest { - /** - * The values required to configure the destination. - */ - @JsonProperty("configuration") - public java.lang.Object configuration; - - public DestinationCreateRequest withConfiguration(java.lang.Object configuration) { - this.configuration = configuration; - return this; - } - - /** - * The UUID of the connector definition. One of configuration.destinationType or definitionId must be provided. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("definitionId") - public String definitionId; - - public DestinationCreateRequest withDefinitionId(String definitionId) { - this.definitionId = definitionId; - return this; - } - - /** - * Name of the destination e.g. dev-mysql-instance. - */ - @JsonProperty("name") - public String name; - - public DestinationCreateRequest withName(String name) { - this.name = name; - return this; - } - - @JsonProperty("workspaceId") - public String workspaceId; - - public DestinationCreateRequest withWorkspaceId(String workspaceId) { - this.workspaceId = workspaceId; - return this; - } - - public DestinationCreateRequest(@JsonProperty("configuration") java.lang.Object configuration, @JsonProperty("name") String name, @JsonProperty("workspaceId") String workspaceId) { - this.configuration = configuration; - this.name = name; - this.workspaceId = workspaceId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/DestinationPatchRequest.java b/lib/src/main/java/com/airbyte/api/models/shared/DestinationPatchRequest.java deleted file mode 100644 index 66944c3fd..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/DestinationPatchRequest.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class DestinationPatchRequest { - /** - * The values required to configure the destination. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("configuration") - public java.lang.Object configuration; - - public DestinationPatchRequest withConfiguration(java.lang.Object configuration) { - this.configuration = configuration; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("name") - public String name; - - public DestinationPatchRequest withName(String name) { - this.name = name; - return this; - } - - public DestinationPatchRequest(){} -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/DestinationPutRequest.java b/lib/src/main/java/com/airbyte/api/models/shared/DestinationPutRequest.java deleted file mode 100644 index dab4b5871..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/DestinationPutRequest.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class DestinationPutRequest { - /** - * The values required to configure the destination. - */ - @JsonProperty("configuration") - public java.lang.Object configuration; - - public DestinationPutRequest withConfiguration(java.lang.Object configuration) { - this.configuration = configuration; - return this; - } - - @JsonProperty("name") - public String name; - - public DestinationPutRequest withName(String name) { - this.name = name; - return this; - } - - public DestinationPutRequest(@JsonProperty("configuration") java.lang.Object configuration, @JsonProperty("name") String name) { - this.configuration = configuration; - this.name = name; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/DestinationResponse.java b/lib/src/main/java/com/airbyte/api/models/shared/DestinationResponse.java deleted file mode 100644 index 1b99ea50f..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/DestinationResponse.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * DestinationResponse - Provides details of a single destination. - */ - -public class DestinationResponse { - /** - * The values required to configure the destination. - */ - @JsonProperty("configuration") - public java.lang.Object configuration; - - public DestinationResponse withConfiguration(java.lang.Object configuration) { - this.configuration = configuration; - return this; - } - - @JsonProperty("destinationId") - public String destinationId; - - public DestinationResponse withDestinationId(String destinationId) { - this.destinationId = destinationId; - return this; - } - - @JsonProperty("destinationType") - public String destinationType; - - public DestinationResponse withDestinationType(String destinationType) { - this.destinationType = destinationType; - return this; - } - - @JsonProperty("name") - public String name; - - public DestinationResponse withName(String name) { - this.name = name; - return this; - } - - @JsonProperty("workspaceId") - public String workspaceId; - - public DestinationResponse withWorkspaceId(String workspaceId) { - this.workspaceId = workspaceId; - return this; - } - - public DestinationResponse(@JsonProperty("configuration") java.lang.Object configuration, @JsonProperty("destinationId") String destinationId, @JsonProperty("destinationType") String destinationType, @JsonProperty("name") String name, @JsonProperty("workspaceId") String workspaceId) { - this.configuration = configuration; - this.destinationId = destinationId; - this.destinationType = destinationType; - this.name = name; - this.workspaceId = workspaceId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/DestinationsResponse.java b/lib/src/main/java/com/airbyte/api/models/shared/DestinationsResponse.java deleted file mode 100644 index b9f7807b6..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/DestinationsResponse.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class DestinationsResponse { - @JsonProperty("data") - public DestinationResponse[] data; - - public DestinationsResponse withData(DestinationResponse[] data) { - this.data = data; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("next") - public String next; - - public DestinationsResponse withNext(String next) { - this.next = next; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("previous") - public String previous; - - public DestinationsResponse withPrevious(String previous) { - this.previous = previous; - return this; - } - - public DestinationsResponse(@JsonProperty("data") DestinationResponse[] data) { - this.data = data; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/GeographyEnum.java b/lib/src/main/java/com/airbyte/api/models/shared/GeographyEnum.java deleted file mode 100644 index 31799ef8f..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/GeographyEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonValue; - -public enum GeographyEnum { - AUTO("auto"), - US("us"), - EU("eu"); - - @JsonValue - public final String value; - - private GeographyEnum(String value) { - this.value = value; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/GeographyEnumNoDefault.java b/lib/src/main/java/com/airbyte/api/models/shared/GeographyEnumNoDefault.java deleted file mode 100644 index fc3fda563..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/GeographyEnumNoDefault.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonValue; - -public enum GeographyEnumNoDefault { - AUTO("auto"), - US("us"), - EU("eu"); - - @JsonValue - public final String value; - - private GeographyEnumNoDefault(String value) { - this.value = value; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/InitiateOauthRequest.java b/lib/src/main/java/com/airbyte/api/models/shared/InitiateOauthRequest.java deleted file mode 100644 index eeb605735..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/InitiateOauthRequest.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * InitiateOauthRequest - POST body for initiating OAuth via the public API - */ - -public class InitiateOauthRequest { - /** - * Arbitrary vars to pass for OAuth depending on what the source/destination spec requires. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("oAuthInputConfiguration") - public OAuthInputConfiguration oAuthInputConfiguration; - - public InitiateOauthRequest withOAuthInputConfiguration(OAuthInputConfiguration oAuthInputConfiguration) { - this.oAuthInputConfiguration = oAuthInputConfiguration; - return this; - } - - /** - * The URL to redirect the user to with the OAuth secret stored in the secret_id query string parameter after authentication is complete. - */ - @JsonProperty("redirectUrl") - public String redirectUrl; - - public InitiateOauthRequest withRedirectUrl(String redirectUrl) { - this.redirectUrl = redirectUrl; - return this; - } - - @JsonProperty("sourceType") - public OAuthActorNames sourceType; - - public InitiateOauthRequest withSourceType(OAuthActorNames sourceType) { - this.sourceType = sourceType; - return this; - } - - /** - * The workspace to create the secret and eventually the full source. - */ - @JsonProperty("workspaceId") - public String workspaceId; - - public InitiateOauthRequest withWorkspaceId(String workspaceId) { - this.workspaceId = workspaceId; - return this; - } - - public InitiateOauthRequest(@JsonProperty("redirectUrl") String redirectUrl, @JsonProperty("sourceType") OAuthActorNames sourceType, @JsonProperty("workspaceId") String workspaceId) { - this.redirectUrl = redirectUrl; - this.sourceType = sourceType; - this.workspaceId = workspaceId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/JobCreateRequest.java b/lib/src/main/java/com/airbyte/api/models/shared/JobCreateRequest.java deleted file mode 100644 index 70ade7723..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/JobCreateRequest.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * JobCreateRequest - Creates a new Job from the configuration provided in the request body. - */ - -public class JobCreateRequest { - @JsonProperty("connectionId") - public String connectionId; - - public JobCreateRequest withConnectionId(String connectionId) { - this.connectionId = connectionId; - return this; - } - - /** - * Enum that describes the different types of jobs that the platform runs. - */ - @JsonProperty("jobType") - public JobTypeEnum jobType; - - public JobCreateRequest withJobType(JobTypeEnum jobType) { - this.jobType = jobType; - return this; - } - - public JobCreateRequest(@JsonProperty("connectionId") String connectionId, @JsonProperty("jobType") JobTypeEnum jobType) { - this.connectionId = connectionId; - this.jobType = jobType; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/JobResponse.java b/lib/src/main/java/com/airbyte/api/models/shared/JobResponse.java deleted file mode 100644 index bae5f4299..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/JobResponse.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * JobResponse - Provides details of a single job. - */ - -public class JobResponse { - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("bytesSynced") - public Long bytesSynced; - - public JobResponse withBytesSynced(Long bytesSynced) { - this.bytesSynced = bytesSynced; - return this; - } - - @JsonProperty("connectionId") - public String connectionId; - - public JobResponse withConnectionId(String connectionId) { - this.connectionId = connectionId; - return this; - } - - /** - * Duration of a sync in ISO_8601 format - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("duration") - public String duration; - - public JobResponse withDuration(String duration) { - this.duration = duration; - return this; - } - - @JsonProperty("jobId") - public Long jobId; - - public JobResponse withJobId(Long jobId) { - this.jobId = jobId; - return this; - } - - /** - * Enum that describes the different types of jobs that the platform runs. - */ - @JsonProperty("jobType") - public JobTypeEnum jobType; - - public JobResponse withJobType(JobTypeEnum jobType) { - this.jobType = jobType; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("lastUpdatedAt") - public String lastUpdatedAt; - - public JobResponse withLastUpdatedAt(String lastUpdatedAt) { - this.lastUpdatedAt = lastUpdatedAt; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("rowsSynced") - public Long rowsSynced; - - public JobResponse withRowsSynced(Long rowsSynced) { - this.rowsSynced = rowsSynced; - return this; - } - - @JsonProperty("startTime") - public String startTime; - - public JobResponse withStartTime(String startTime) { - this.startTime = startTime; - return this; - } - - @JsonProperty("status") - public JobStatusEnum status; - - public JobResponse withStatus(JobStatusEnum status) { - this.status = status; - return this; - } - - public JobResponse(@JsonProperty("connectionId") String connectionId, @JsonProperty("jobId") Long jobId, @JsonProperty("jobType") JobTypeEnum jobType, @JsonProperty("startTime") String startTime, @JsonProperty("status") JobStatusEnum status) { - this.connectionId = connectionId; - this.jobId = jobId; - this.jobType = jobType; - this.startTime = startTime; - this.status = status; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/JobStatusEnum.java b/lib/src/main/java/com/airbyte/api/models/shared/JobStatusEnum.java deleted file mode 100644 index 113015eb1..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/JobStatusEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonValue; - -public enum JobStatusEnum { - PENDING("pending"), - RUNNING("running"), - INCOMPLETE("incomplete"), - FAILED("failed"), - SUCCEEDED("succeeded"), - CANCELLED("cancelled"); - - @JsonValue - public final String value; - - private JobStatusEnum(String value) { - this.value = value; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/JobTypeEnum.java b/lib/src/main/java/com/airbyte/api/models/shared/JobTypeEnum.java deleted file mode 100644 index 6774ef43d..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/JobTypeEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonValue; - -/** - * JobTypeEnum - Enum that describes the different types of jobs that the platform runs. - */ -public enum JobTypeEnum { - SYNC("sync"), - RESET("reset"); - - @JsonValue - public final String value; - - private JobTypeEnum(String value) { - this.value = value; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/JobsResponse.java b/lib/src/main/java/com/airbyte/api/models/shared/JobsResponse.java deleted file mode 100644 index 8ab2ae76e..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/JobsResponse.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class JobsResponse { - @JsonProperty("data") - public JobResponse[] data; - - public JobsResponse withData(JobResponse[] data) { - this.data = data; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("next") - public String next; - - public JobsResponse withNext(String next) { - this.next = next; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("previous") - public String previous; - - public JobsResponse withPrevious(String previous) { - this.previous = previous; - return this; - } - - public JobsResponse(@JsonProperty("data") JobResponse[] data) { - this.data = data; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/NamespaceDefinitionEnum.java b/lib/src/main/java/com/airbyte/api/models/shared/NamespaceDefinitionEnum.java deleted file mode 100644 index db437bf75..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/NamespaceDefinitionEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonValue; - -/** - * NamespaceDefinitionEnum - Define the location where the data will be stored in the destination - */ -public enum NamespaceDefinitionEnum { - SOURCE("source"), - DESTINATION("destination"), - CUSTOM_FORMAT("custom_format"); - - @JsonValue - public final String value; - - private NamespaceDefinitionEnum(String value) { - this.value = value; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/NamespaceDefinitionEnumNoDefault.java b/lib/src/main/java/com/airbyte/api/models/shared/NamespaceDefinitionEnumNoDefault.java deleted file mode 100644 index 48151fb06..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/NamespaceDefinitionEnumNoDefault.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonValue; - -/** - * NamespaceDefinitionEnumNoDefault - Define the location where the data will be stored in the destination - */ -public enum NamespaceDefinitionEnumNoDefault { - SOURCE("source"), - DESTINATION("destination"), - CUSTOM_FORMAT("custom_format"); - - @JsonValue - public final String value; - - private NamespaceDefinitionEnumNoDefault(String value) { - this.value = value; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/NonBreakingSchemaUpdatesBehaviorEnum.java b/lib/src/main/java/com/airbyte/api/models/shared/NonBreakingSchemaUpdatesBehaviorEnum.java deleted file mode 100644 index 952f49a9f..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/NonBreakingSchemaUpdatesBehaviorEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonValue; - -/** - * NonBreakingSchemaUpdatesBehaviorEnum - Set how Airbyte handles syncs when it detects a non-breaking schema change in the source - */ -public enum NonBreakingSchemaUpdatesBehaviorEnum { - IGNORE("ignore"), - DISABLE_CONNECTION("disable_connection"), - PROPAGATE_COLUMNS("propagate_columns"), - PROPAGATE_FULLY("propagate_fully"); - - @JsonValue - public final String value; - - private NonBreakingSchemaUpdatesBehaviorEnum(String value) { - this.value = value; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/NonBreakingSchemaUpdatesBehaviorEnumNoDefault.java b/lib/src/main/java/com/airbyte/api/models/shared/NonBreakingSchemaUpdatesBehaviorEnumNoDefault.java deleted file mode 100644 index d30fdd235..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/NonBreakingSchemaUpdatesBehaviorEnumNoDefault.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonValue; - -/** - * NonBreakingSchemaUpdatesBehaviorEnumNoDefault - Set how Airbyte handles syncs when it detects a non-breaking schema change in the source - */ -public enum NonBreakingSchemaUpdatesBehaviorEnumNoDefault { - IGNORE("ignore"), - DISABLE_CONNECTION("disable_connection"), - PROPAGATE_COLUMNS("propagate_columns"), - PROPAGATE_FULLY("propagate_fully"); - - @JsonValue - public final String value; - - private NonBreakingSchemaUpdatesBehaviorEnumNoDefault(String value) { - this.value = value; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/OAuthInputConfiguration.java b/lib/src/main/java/com/airbyte/api/models/shared/OAuthInputConfiguration.java deleted file mode 100644 index 20c5e98e2..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/OAuthInputConfiguration.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - - - -/** - * OAuthInputConfiguration - Arbitrary vars to pass for OAuth depending on what the source/destination spec requires. - */ - -public class OAuthInputConfiguration { - public OAuthInputConfiguration(){} -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/ScheduleTypeEnum.java b/lib/src/main/java/com/airbyte/api/models/shared/ScheduleTypeEnum.java deleted file mode 100644 index bb99dd2fa..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/ScheduleTypeEnum.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonValue; - -public enum ScheduleTypeEnum { - MANUAL("manual"), - CRON("cron"); - - @JsonValue - public final String value; - - private ScheduleTypeEnum(String value) { - this.value = value; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/ScheduleTypeWithBasicEnum.java b/lib/src/main/java/com/airbyte/api/models/shared/ScheduleTypeWithBasicEnum.java deleted file mode 100644 index 30df2a619..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/ScheduleTypeWithBasicEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonValue; - -public enum ScheduleTypeWithBasicEnum { - MANUAL("manual"), - CRON("cron"), - BASIC("basic"); - - @JsonValue - public final String value; - - private ScheduleTypeWithBasicEnum(String value) { - this.value = value; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/SchemeBasicAuth.java b/lib/src/main/java/com/airbyte/api/models/shared/SchemeBasicAuth.java deleted file mode 100644 index cc649c374..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/SchemeBasicAuth.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.airbyte.api.utils.SpeakeasyMetadata; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class SchemeBasicAuth { - @SpeakeasyMetadata("security:name=password") - public String password; - - public SchemeBasicAuth withPassword(String password) { - this.password = password; - return this; - } - - @SpeakeasyMetadata("security:name=username") - public String username; - - public SchemeBasicAuth withUsername(String username) { - this.username = username; - return this; - } - - public SchemeBasicAuth(@JsonProperty("Username") String username, @JsonProperty("Password") String password) { - this.username = username; - this.password = password; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/Security.java b/lib/src/main/java/com/airbyte/api/models/shared/Security.java deleted file mode 100644 index a64e501e7..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/Security.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.airbyte.api.utils.SpeakeasyMetadata; - - -public class Security { - @SpeakeasyMetadata("security:scheme=true,type=http,subtype=basic") - public SchemeBasicAuth basicAuth; - - public Security withBasicAuth(SchemeBasicAuth basicAuth) { - this.basicAuth = basicAuth; - return this; - } - - @SpeakeasyMetadata("security:scheme=true,type=http,subtype=bearer,name=Authorization") - public String bearerAuth; - - public Security withBearerAuth(String bearerAuth) { - this.bearerAuth = bearerAuth; - return this; - } - - public Security(){} -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/SourceCreateRequest.java b/lib/src/main/java/com/airbyte/api/models/shared/SourceCreateRequest.java deleted file mode 100644 index 3ef084606..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/SourceCreateRequest.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class SourceCreateRequest { - /** - * The values required to configure the source. - */ - @JsonProperty("configuration") - public java.lang.Object configuration; - - public SourceCreateRequest withConfiguration(java.lang.Object configuration) { - this.configuration = configuration; - return this; - } - - /** - * The UUID of the connector definition. One of configuration.sourceType or definitionId must be provided. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("definitionId") - public String definitionId; - - public SourceCreateRequest withDefinitionId(String definitionId) { - this.definitionId = definitionId; - return this; - } - - /** - * Name of the source e.g. dev-mysql-instance. - */ - @JsonProperty("name") - public String name; - - public SourceCreateRequest withName(String name) { - this.name = name; - return this; - } - - /** - * Optional secretID obtained through the public API OAuth redirect flow. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("secretId") - public String secretId; - - public SourceCreateRequest withSecretId(String secretId) { - this.secretId = secretId; - return this; - } - - @JsonProperty("workspaceId") - public String workspaceId; - - public SourceCreateRequest withWorkspaceId(String workspaceId) { - this.workspaceId = workspaceId; - return this; - } - - public SourceCreateRequest(@JsonProperty("configuration") java.lang.Object configuration, @JsonProperty("name") String name, @JsonProperty("workspaceId") String workspaceId) { - this.configuration = configuration; - this.name = name; - this.workspaceId = workspaceId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/SourcePatchRequest.java b/lib/src/main/java/com/airbyte/api/models/shared/SourcePatchRequest.java deleted file mode 100644 index d744f74b5..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/SourcePatchRequest.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class SourcePatchRequest { - /** - * The values required to configure the source. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("configuration") - public java.lang.Object configuration; - - public SourcePatchRequest withConfiguration(java.lang.Object configuration) { - this.configuration = configuration; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("name") - public String name; - - public SourcePatchRequest withName(String name) { - this.name = name; - return this; - } - - /** - * Optional secretID obtained through the public API OAuth redirect flow. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("secretId") - public String secretId; - - public SourcePatchRequest withSecretId(String secretId) { - this.secretId = secretId; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("workspaceId") - public String workspaceId; - - public SourcePatchRequest withWorkspaceId(String workspaceId) { - this.workspaceId = workspaceId; - return this; - } - - public SourcePatchRequest(){} -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/SourcePutRequest.java b/lib/src/main/java/com/airbyte/api/models/shared/SourcePutRequest.java deleted file mode 100644 index e6b55ee58..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/SourcePutRequest.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class SourcePutRequest { - /** - * The values required to configure the source. - */ - @JsonProperty("configuration") - public java.lang.Object configuration; - - public SourcePutRequest withConfiguration(java.lang.Object configuration) { - this.configuration = configuration; - return this; - } - - @JsonProperty("name") - public String name; - - public SourcePutRequest withName(String name) { - this.name = name; - return this; - } - - public SourcePutRequest(@JsonProperty("configuration") java.lang.Object configuration, @JsonProperty("name") String name) { - this.configuration = configuration; - this.name = name; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/SourceResponse.java b/lib/src/main/java/com/airbyte/api/models/shared/SourceResponse.java deleted file mode 100644 index 98fa385e5..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/SourceResponse.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * SourceResponse - Provides details of a single source. - */ - -public class SourceResponse { - /** - * The values required to configure the source. - */ - @JsonProperty("configuration") - public java.lang.Object configuration; - - public SourceResponse withConfiguration(java.lang.Object configuration) { - this.configuration = configuration; - return this; - } - - @JsonProperty("name") - public String name; - - public SourceResponse withName(String name) { - this.name = name; - return this; - } - - @JsonProperty("sourceId") - public String sourceId; - - public SourceResponse withSourceId(String sourceId) { - this.sourceId = sourceId; - return this; - } - - @JsonProperty("sourceType") - public String sourceType; - - public SourceResponse withSourceType(String sourceType) { - this.sourceType = sourceType; - return this; - } - - @JsonProperty("workspaceId") - public String workspaceId; - - public SourceResponse withWorkspaceId(String workspaceId) { - this.workspaceId = workspaceId; - return this; - } - - public SourceResponse(@JsonProperty("configuration") java.lang.Object configuration, @JsonProperty("name") String name, @JsonProperty("sourceId") String sourceId, @JsonProperty("sourceType") String sourceType, @JsonProperty("workspaceId") String workspaceId) { - this.configuration = configuration; - this.name = name; - this.sourceId = sourceId; - this.sourceType = sourceType; - this.workspaceId = workspaceId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/SourcesResponse.java b/lib/src/main/java/com/airbyte/api/models/shared/SourcesResponse.java deleted file mode 100644 index dd9716c98..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/SourcesResponse.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class SourcesResponse { - @JsonProperty("data") - public SourceResponse[] data; - - public SourcesResponse withData(SourceResponse[] data) { - this.data = data; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("next") - public String next; - - public SourcesResponse withNext(String next) { - this.next = next; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("previous") - public String previous; - - public SourcesResponse withPrevious(String previous) { - this.previous = previous; - return this; - } - - public SourcesResponse(@JsonProperty("data") SourceResponse[] data) { - this.data = data; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/StreamConfiguration.java b/lib/src/main/java/com/airbyte/api/models/shared/StreamConfiguration.java deleted file mode 100644 index 0b2b984d1..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/StreamConfiguration.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * StreamConfiguration - Configurations for a single stream. - */ - -public class StreamConfiguration { - /** - * Path to the field that will be used to determine if a record is new or modified since the last sync. This field is REQUIRED if `sync_mode` is `incremental` unless there is a default. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("cursorField") - public String[] cursorField; - - public StreamConfiguration withCursorField(String[] cursorField) { - this.cursorField = cursorField; - return this; - } - - @JsonProperty("name") - public String name; - - public StreamConfiguration withName(String name) { - this.name = name; - return this; - } - - /** - * Paths to the fields that will be used as primary key. This field is REQUIRED if `destination_sync_mode` is `*_dedup` unless it is already supplied by the source schema. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("primaryKey") - public String[][] primaryKey; - - public StreamConfiguration withPrimaryKey(String[][] primaryKey) { - this.primaryKey = primaryKey; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("syncMode") - public ConnectionSyncModeEnum syncMode; - - public StreamConfiguration withSyncMode(ConnectionSyncModeEnum syncMode) { - this.syncMode = syncMode; - return this; - } - - public StreamConfiguration(@JsonProperty("name") String name) { - this.name = name; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/StreamConfigurations.java b/lib/src/main/java/com/airbyte/api/models/shared/StreamConfigurations.java deleted file mode 100644 index 73ff4ba6d..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/StreamConfigurations.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * StreamConfigurations - A list of configured stream options for a connection. - */ - -public class StreamConfigurations { - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("streams") - public StreamConfiguration[] streams; - - public StreamConfigurations withStreams(StreamConfiguration[] streams) { - this.streams = streams; - return this; - } - - public StreamConfigurations(){} -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/StreamProperties.java b/lib/src/main/java/com/airbyte/api/models/shared/StreamProperties.java deleted file mode 100644 index 8024613cf..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/StreamProperties.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * StreamProperties - The stream properties associated with a connection. - */ - -public class StreamProperties { - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("defaultCursorField") - public String[] defaultCursorField; - - public StreamProperties withDefaultCursorField(String[] defaultCursorField) { - this.defaultCursorField = defaultCursorField; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("propertyFields") - public String[][] propertyFields; - - public StreamProperties withPropertyFields(String[][] propertyFields) { - this.propertyFields = propertyFields; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("sourceDefinedCursorField") - public Boolean sourceDefinedCursorField; - - public StreamProperties withSourceDefinedCursorField(Boolean sourceDefinedCursorField) { - this.sourceDefinedCursorField = sourceDefinedCursorField; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("sourceDefinedPrimaryKey") - public String[][] sourceDefinedPrimaryKey; - - public StreamProperties withSourceDefinedPrimaryKey(String[][] sourceDefinedPrimaryKey) { - this.sourceDefinedPrimaryKey = sourceDefinedPrimaryKey; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("streamName") - public String streamName; - - public StreamProperties withStreamName(String streamName) { - this.streamName = streamName; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("syncModes") - public ConnectionSyncModeEnum[] syncModes; - - public StreamProperties withSyncModes(ConnectionSyncModeEnum[] syncModes) { - this.syncModes = syncModes; - return this; - } - - public StreamProperties(){} -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/StreamPropertiesResponse.java b/lib/src/main/java/com/airbyte/api/models/shared/StreamPropertiesResponse.java deleted file mode 100644 index c8d597060..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/StreamPropertiesResponse.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * StreamPropertiesResponse - A list of stream properties. - */ - -public class StreamPropertiesResponse { - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("streams") - public StreamProperties[] streams; - - public StreamPropertiesResponse withStreams(StreamProperties[] streams) { - this.streams = streams; - return this; - } - - public StreamPropertiesResponse(){} -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/WorkspaceCreateRequest.java b/lib/src/main/java/com/airbyte/api/models/shared/WorkspaceCreateRequest.java deleted file mode 100644 index f4617f3bd..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/WorkspaceCreateRequest.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class WorkspaceCreateRequest { - /** - * Name of the workspace - */ - @JsonProperty("name") - public String name; - - public WorkspaceCreateRequest withName(String name) { - this.name = name; - return this; - } - - public WorkspaceCreateRequest(@JsonProperty("name") String name) { - this.name = name; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/WorkspaceOAuthCredentialsRequest.java b/lib/src/main/java/com/airbyte/api/models/shared/WorkspaceOAuthCredentialsRequest.java deleted file mode 100644 index 085e47921..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/WorkspaceOAuthCredentialsRequest.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * WorkspaceOAuthCredentialsRequest - POST body for creating/updating workspace level OAuth credentials - */ - -public class WorkspaceOAuthCredentialsRequest { - /** - * Whether you're setting this override for a source or destination - */ - @JsonProperty("actorType") - public ActorTypeEnum actorType; - - public WorkspaceOAuthCredentialsRequest withActorType(ActorTypeEnum actorType) { - this.actorType = actorType; - return this; - } - - /** - * The values required to configure the source. - */ - @JsonProperty("configuration") - public java.lang.Object configuration; - - public WorkspaceOAuthCredentialsRequest withConfiguration(java.lang.Object configuration) { - this.configuration = configuration; - return this; - } - - @JsonProperty("name") - public OAuthActorNames name; - - public WorkspaceOAuthCredentialsRequest withName(OAuthActorNames name) { - this.name = name; - return this; - } - - public WorkspaceOAuthCredentialsRequest(@JsonProperty("actorType") ActorTypeEnum actorType, @JsonProperty("configuration") java.lang.Object configuration, @JsonProperty("name") OAuthActorNames name) { - this.actorType = actorType; - this.configuration = configuration; - this.name = name; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/WorkspaceResponse.java b/lib/src/main/java/com/airbyte/api/models/shared/WorkspaceResponse.java deleted file mode 100644 index 846f72784..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/WorkspaceResponse.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * WorkspaceResponse - Provides details of a single workspace. - */ - -public class WorkspaceResponse { - @JsonProperty("dataResidency") - public GeographyEnum dataResidency; - - public WorkspaceResponse withDataResidency(GeographyEnum dataResidency) { - this.dataResidency = dataResidency; - return this; - } - - @JsonProperty("name") - public String name; - - public WorkspaceResponse withName(String name) { - this.name = name; - return this; - } - - @JsonProperty("workspaceId") - public String workspaceId; - - public WorkspaceResponse withWorkspaceId(String workspaceId) { - this.workspaceId = workspaceId; - return this; - } - - public WorkspaceResponse(@JsonProperty("dataResidency") GeographyEnum dataResidency, @JsonProperty("name") String name, @JsonProperty("workspaceId") String workspaceId) { - this.dataResidency = dataResidency; - this.name = name; - this.workspaceId = workspaceId; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/WorkspaceUpdateRequest.java b/lib/src/main/java/com/airbyte/api/models/shared/WorkspaceUpdateRequest.java deleted file mode 100644 index 66285ad58..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/WorkspaceUpdateRequest.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class WorkspaceUpdateRequest { - /** - * Name of the workspace - */ - @JsonProperty("name") - public String name; - - public WorkspaceUpdateRequest withName(String name) { - this.name = name; - return this; - } - - public WorkspaceUpdateRequest(@JsonProperty("name") String name) { - this.name = name; - } -} diff --git a/lib/src/main/java/com/airbyte/api/models/shared/WorkspacesResponse.java b/lib/src/main/java/com/airbyte/api/models/shared/WorkspacesResponse.java deleted file mode 100644 index e5dce7e8f..000000000 --- a/lib/src/main/java/com/airbyte/api/models/shared/WorkspacesResponse.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.models.shared; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; - - -public class WorkspacesResponse { - @JsonProperty("data") - public WorkspaceResponse[] data; - - public WorkspacesResponse withData(WorkspaceResponse[] data) { - this.data = data; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("next") - public String next; - - public WorkspacesResponse withNext(String next) { - this.next = next; - return this; - } - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("previous") - public String previous; - - public WorkspacesResponse withPrevious(String previous) { - this.previous = previous; - return this; - } - - public WorkspacesResponse(@JsonProperty("data") WorkspaceResponse[] data) { - this.data = data; - } -} diff --git a/lib/src/main/java/com/airbyte/api/utils/DateTimeDeserializer.java b/lib/src/main/java/com/airbyte/api/utils/DateTimeDeserializer.java deleted file mode 100644 index 73dab7dc3..000000000 --- a/lib/src/main/java/com/airbyte/api/utils/DateTimeDeserializer.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.utils; - -import java.io.IOException; -import java.time.OffsetDateTime; - -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.deser.std.StdDeserializer; - -public class DateTimeDeserializer extends StdDeserializer { - public DateTimeDeserializer() { - this(null); - } - - public DateTimeDeserializer(Class t) { - super(t); - } - - @Override - public OffsetDateTime deserialize(JsonParser parser, DeserializationContext context) - throws IOException, JsonProcessingException { - - String date = parser.getText(); - try { - return OffsetDateTime.parse(date); - } catch (Exception e) { - } - return null; - } -} diff --git a/lib/src/main/java/com/airbyte/api/utils/DateTimeSerializer.java b/lib/src/main/java/com/airbyte/api/utils/DateTimeSerializer.java deleted file mode 100644 index b2c004476..000000000 --- a/lib/src/main/java/com/airbyte/api/utils/DateTimeSerializer.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.utils; - -import java.io.IOException; -import java.time.OffsetDateTime; - -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.ser.std.StdSerializer; - -public class DateTimeSerializer extends StdSerializer { - public DateTimeSerializer() { - this(null); - } - - public DateTimeSerializer(Class t) { - super(t); - } - - @Override - public void serialize(OffsetDateTime value, JsonGenerator gen, SerializerProvider provider) throws IOException { - gen.writeString(value.toString()); - } -} diff --git a/lib/src/main/java/com/airbyte/api/utils/FormMetadata.java b/lib/src/main/java/com/airbyte/api/utils/FormMetadata.java deleted file mode 100644 index 176d6b8c1..000000000 --- a/lib/src/main/java/com/airbyte/api/utils/FormMetadata.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.utils; - -import java.lang.reflect.Field; - -public class FormMetadata extends Metadata { - public String style = "form"; - public boolean explode = true; - public boolean json; - public String name; - - // form:name=propName,style=spaceDelimited,explode=true - public static FormMetadata parse(Field field) throws IllegalArgumentException, IllegalAccessException { - FormMetadata result = new FormMetadata(); - result = (FormMetadata) parse("form", result, field); - - return result; - } - - private FormMetadata() { - } -} diff --git a/lib/src/main/java/com/airbyte/api/utils/HeaderMetadata.java b/lib/src/main/java/com/airbyte/api/utils/HeaderMetadata.java deleted file mode 100644 index c23f0e52f..000000000 --- a/lib/src/main/java/com/airbyte/api/utils/HeaderMetadata.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.utils; - -import java.lang.reflect.Field; - -public class HeaderMetadata extends Metadata { - public String style = "simple"; - public boolean explode; - public String name; - - // headerParam:style=simple,explode=false,name=apiID - public static HeaderMetadata parse(Field field) throws IllegalArgumentException, IllegalAccessException { - HeaderMetadata result = new HeaderMetadata(); - result = (HeaderMetadata) parse("header", result, field); - return result; - } - - private HeaderMetadata() { - } -} diff --git a/lib/src/main/java/com/airbyte/api/utils/JSON.java b/lib/src/main/java/com/airbyte/api/utils/JSON.java deleted file mode 100644 index cb39c15f2..000000000 --- a/lib/src/main/java/com/airbyte/api/utils/JSON.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.utils; - -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.SerializationFeature; -import com.fasterxml.jackson.databind.ObjectMapper; - -public class JSON { - public static ObjectMapper getMapper() { - ObjectMapper mapper = new ObjectMapper(); - mapper.findAndRegisterModules(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); - return mapper; - } -} \ No newline at end of file diff --git a/lib/src/main/java/com/airbyte/api/utils/MultipartFormMetadata.java b/lib/src/main/java/com/airbyte/api/utils/MultipartFormMetadata.java deleted file mode 100644 index 5285ea756..000000000 --- a/lib/src/main/java/com/airbyte/api/utils/MultipartFormMetadata.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.utils; - -import java.lang.reflect.Field; - -public class MultipartFormMetadata extends Metadata { - public boolean file; - public boolean content; - public boolean json; - public String name; - - // multipartForm:name=file - public static MultipartFormMetadata parse(Field field) throws IllegalArgumentException, IllegalAccessException { - MultipartFormMetadata result = new MultipartFormMetadata(); - result = (MultipartFormMetadata) parse("multipartForm", result, field); - return result; - } - - private MultipartFormMetadata() { - } -} diff --git a/lib/src/main/java/com/airbyte/api/utils/PathParamsMetadata.java b/lib/src/main/java/com/airbyte/api/utils/PathParamsMetadata.java deleted file mode 100644 index 7aa9a8183..000000000 --- a/lib/src/main/java/com/airbyte/api/utils/PathParamsMetadata.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.utils; - -import java.lang.reflect.Field; - -public class PathParamsMetadata extends Metadata { - public String style = "simple"; - public boolean explode; - public String name; - public String serialization; - - // pathParam:style=simple,explode=false,name=apiID - public static PathParamsMetadata parse(Field field) throws IllegalArgumentException, IllegalAccessException { - PathParamsMetadata result = new PathParamsMetadata(); - result = (PathParamsMetadata) parse("pathParam", result, field); - return result; - } - - private PathParamsMetadata() { - } -} diff --git a/lib/src/main/java/com/airbyte/api/utils/QueryParamsMetadata.java b/lib/src/main/java/com/airbyte/api/utils/QueryParamsMetadata.java deleted file mode 100644 index 79c8c0a21..000000000 --- a/lib/src/main/java/com/airbyte/api/utils/QueryParamsMetadata.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.utils; - -import java.lang.reflect.Field; - -public class QueryParamsMetadata extends Metadata { - public String style = "form"; - public boolean explode = true; - public String name; - public String serialization; - - // queryParam:style=simple,explode=false,name=apiID - public static QueryParamsMetadata parse(Field field) throws IllegalArgumentException, IllegalAccessException { - QueryParamsMetadata result = new QueryParamsMetadata(); - result = (QueryParamsMetadata) parse("queryParam", result, field); - return result; - } - - private QueryParamsMetadata() { - } -} diff --git a/lib/src/main/java/com/airbyte/api/utils/RequestMetadata.java b/lib/src/main/java/com/airbyte/api/utils/RequestMetadata.java deleted file mode 100644 index ebdb75676..000000000 --- a/lib/src/main/java/com/airbyte/api/utils/RequestMetadata.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.utils; - -import java.lang.reflect.Field; - -public class RequestMetadata extends Metadata { - public String mediaType = "application/octet-stream"; - - // request:mediaType=multipart/form-data - public static RequestMetadata parse(Field field) throws IllegalArgumentException, IllegalAccessException { - RequestMetadata result = new RequestMetadata(); - result = (RequestMetadata) parse("request", result, field); - return result; - } - - private RequestMetadata() { - } -} diff --git a/lib/src/main/java/com/airbyte/api/utils/Security.java b/lib/src/main/java/com/airbyte/api/utils/Security.java deleted file mode 100644 index 9eeb67067..000000000 --- a/lib/src/main/java/com/airbyte/api/utils/Security.java +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.utils; - -import java.lang.reflect.Field; -import java.util.Base64; - -import org.apache.http.message.BasicNameValuePair; - -public class Security { - public static SpeakeasyHTTPSecurityClient createClient(HTTPClient client, Object security) - throws Exception { - - SpeakeasyHTTPSecurityClient securityClient = new SpeakeasyHTTPSecurityClient(client); - - if (security != null) { - Field[] fields = security.getClass().getFields(); - - for (Field field : fields) { - Object value = field.get(security); - if (value == null) { - continue; - } - - SecurityMetadata securityMetadata = SecurityMetadata.parse(field); - if (securityMetadata == null) { - continue; - } - - if (securityMetadata.option) { - parseSecurityOption(securityClient, value); - return securityClient; - } else if (securityMetadata.scheme) { - if ((securityMetadata.subtype != null && securityMetadata.subtype.equals("basic")) - && Types.getType(value.getClass()) != Types.OBJECT) { - parseSecurityScheme(securityClient, securityMetadata, security); - return securityClient; - } else { - parseSecurityScheme(securityClient, securityMetadata, value); - } - } - } - } - - return securityClient; - } - - private static void parseSecurityOption(SpeakeasyHTTPSecurityClient client, Object option) - throws Exception { - Field[] fields = option.getClass().getFields(); - - for (Field field : fields) { - Object value = field.get(option); - - if (value == null) { - continue; - } - - SecurityMetadata securityMetadata = SecurityMetadata.parse(field); - if (securityMetadata == null || !securityMetadata.scheme) { - continue; - } - - parseSecurityScheme(client, securityMetadata, value); - } - } - - private static void parseSecurityScheme(SpeakeasyHTTPSecurityClient client, SecurityMetadata schemeMetadata, - Object scheme) throws Exception { - - if (Types.getType(scheme.getClass()) == Types.OBJECT) { - if (schemeMetadata.type.equals("http") && schemeMetadata.subtype.equals("basic")) { - parseBasicAuthScheme(client, scheme); - return; - } - - Field[] fields = scheme.getClass().getFields(); - - for (Field field : fields) { - Object value = field.get(scheme); - - if (value == null) { - continue; - } - - SecurityMetadata securityMetadata = SecurityMetadata.parse(field); - if (securityMetadata == null || securityMetadata.name.isEmpty()) { - continue; - } - - parseSecuritySchemeValue(client, schemeMetadata, securityMetadata, value); - } - } else { - parseSecuritySchemeValue(client, schemeMetadata, schemeMetadata, scheme); - } - } - - private static void parseSecuritySchemeValue(SpeakeasyHTTPSecurityClient client, SecurityMetadata schemeMetadata, - SecurityMetadata securityMetadata, - Object value) throws Exception { - switch (schemeMetadata.type) { - case "apiKey": - switch (schemeMetadata.subtype) { - case "header": - client.addHeader(securityMetadata.name, Utils.valToString(value)); - break; - case "query": - client.addQueryParam( - new BasicNameValuePair(securityMetadata.name, Utils.valToString(value))); - break; - case "cookie": - client.addHeader("Cookie", - String.format("%s=%s", securityMetadata.name, Utils.valToString(value))); - break; - default: - throw new Error( - "Unsupported security scheme subtype for apiKey: " + securityMetadata.subtype); - } - break; - case "openIdConnect": - client.addHeader(securityMetadata.name, Utils.valToString(value)); - break; - case "oauth2": - client.addHeader(securityMetadata.name, Utils.valToString(value)); - break; - case "http": - switch (schemeMetadata.subtype) { - case "bearer": - client.addHeader(securityMetadata.name, Utils.prefixBearer(Utils.valToString(value))); - break; - default: - throw new Error("Unsupported security scheme subtype for bearer"); - } - break; - default: - throw new Error("Unsupported security scheme type"); - } - } - - private static void parseBasicAuthScheme(SpeakeasyHTTPSecurityClient client, Object scheme) - throws IllegalAccessException { - Field[] fields = scheme.getClass().getFields(); - - String username = ""; - String password = ""; - - for (Field field : fields) { - Object value = field.get(scheme); - - if (value == null) { - continue; - } - - SecurityMetadata securityMetadata = SecurityMetadata.parse(field); - if (securityMetadata == null || securityMetadata.name.isEmpty()) { - continue; - } - - switch (securityMetadata.name) { - case "username": - username = Utils.valToString(value); - break; - case "password": - password = Utils.valToString(value); - break; - default: - throw new Error("Unsupported security scheme field for basic auth: " + securityMetadata.name); - } - } - - client.addHeader("Authorization", - "Basic " + Base64.getEncoder().encodeToString(String.format("%s:%s", username, password).getBytes())); - } - - private Security() { - } -} \ No newline at end of file diff --git a/lib/src/main/java/com/airbyte/api/utils/SecurityMetadata.java b/lib/src/main/java/com/airbyte/api/utils/SecurityMetadata.java deleted file mode 100644 index b98375a64..000000000 --- a/lib/src/main/java/com/airbyte/api/utils/SecurityMetadata.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.utils; - -import java.lang.reflect.Field; - -public class SecurityMetadata extends Metadata { - public String type; - public String subtype; - public boolean option; - public boolean scheme; - public String name; - - // security:scheme=true,type=apiKey,subtype=header - public static SecurityMetadata parse(Field field) throws IllegalArgumentException, IllegalAccessException { - SecurityMetadata result = new SecurityMetadata(); - result = (SecurityMetadata) parse("security", result, field); - return result; - } - - private SecurityMetadata() { - } -} diff --git a/lib/src/main/java/com/airbyte/api/utils/SpeakeasyHTTPClient.java b/lib/src/main/java/com/airbyte/api/utils/SpeakeasyHTTPClient.java deleted file mode 100644 index c1efd3e73..000000000 --- a/lib/src/main/java/com/airbyte/api/utils/SpeakeasyHTTPClient.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.utils; - -import java.io.IOException; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; - -public class SpeakeasyHTTPClient implements HTTPClient { - @Override - public HttpResponse send(HTTPRequest request) - throws IOException, InterruptedException, URISyntaxException { - HttpClient client = HttpClient.newHttpClient(); - - HttpRequest req = request.build(); - - HttpResponse response = client.send(req, HttpResponse.BodyHandlers.ofByteArray()); - return response; - } -} diff --git a/lib/src/main/java/com/airbyte/api/utils/Utils.java b/lib/src/main/java/com/airbyte/api/utils/Utils.java deleted file mode 100644 index 252982455..000000000 --- a/lib/src/main/java/com/airbyte/api/utils/Utils.java +++ /dev/null @@ -1,368 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - */ - -package com.airbyte.api.utils; - -import java.io.IOException; -import java.lang.reflect.Field; -import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.stream.Collectors; - -import org.apache.http.NameValuePair; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; - -public final class Utils { - public static String generateURL(String baseURL, String path) - throws IllegalArgumentException, IllegalAccessException { - if (baseURL != null && baseURL.endsWith("/")) { - baseURL = baseURL.split("/")[0]; - } - - return baseURL + path; - } - - public static String generateURL(Class type, String baseURL, String path, T params, - Map>> globals) - throws IllegalArgumentException, IllegalAccessException, JsonProcessingException { - if (baseURL != null && baseURL.endsWith("/")) { - baseURL = baseURL.split("/")[0]; - } - - Map pathParams = new HashMap<>(); - - Field[] fields = type.getFields(); - - for (Field field : fields) { - PathParamsMetadata pathParamsMetadata = PathParamsMetadata.parse(field); - if (pathParamsMetadata == null) { - continue; - } - - Object value = params != null ? field.get(params) : null; - value = Utils.populateGlobal(value, field.getName(), "pathParam", globals); - if (value == null) { - continue; - } - - if (pathParamsMetadata.serialization != null && !pathParamsMetadata.serialization.isBlank()) { - Map serialized = parseSerializedParams(pathParamsMetadata, value); - pathParams.putAll(serialized); - } else { - switch (pathParamsMetadata.style) { - case "simple": - switch (Types.getType(value.getClass())) { - case ARRAY: - Object[] array = (Object[]) value; - if (array.length == 0) { - continue; - } - - pathParams.put(pathParamsMetadata.name, - String.join(",", - Arrays.asList(array).stream().map(v -> Utils.valToString(v)) - .collect(Collectors.toList()))); - break; - case MAP: - Map map = (Map) value; - if (map.size() == 0) { - continue; - } - - pathParams.put(pathParamsMetadata.name, - String.join(",", map.entrySet().stream().map(e -> { - if (pathParamsMetadata.explode) { - return String.format("%s=%s", Utils.valToString(e.getKey()), - Utils.valToString(e.getValue())); - } else { - return String.format("%s,%s", Utils.valToString(e.getKey()), - Utils.valToString(e.getValue())); - } - }).collect(Collectors.toList()))); - break; - case OBJECT: - List values = new ArrayList(); - - Field[] valueFields = value.getClass().getFields(); - for (Field valueField : valueFields) { - PathParamsMetadata valuePathParamsMetadata = PathParamsMetadata.parse(valueField); - if (valuePathParamsMetadata == null) { - continue; - } - - Object val = valueField.get(value); - - if (val == null) { - continue; - } - - if (pathParamsMetadata.explode) { - values.add(String.format("%s=%s", valuePathParamsMetadata.name, - Utils.valToString(val))); - } else { - values.add(String.format("%s,%s", valuePathParamsMetadata.name, - Utils.valToString(val))); - } - } - - pathParams.put(pathParamsMetadata.name, String.join(",", values)); - break; - default: - pathParams.put(pathParamsMetadata.name, Utils.valToString(value)); - break; - } - } - } - } - - return baseURL + templateUrl(path, pathParams); - } - - public static boolean matchContentType(String contentType, String pattern) { - if (contentType == null || contentType.isBlank()) { - return false; - } - - if (contentType.equals(pattern) || pattern.equals("*") || pattern.equals("*/*")) { - return true; - } - - String[] contentTypeParts = contentType.split(";"); - if (contentTypeParts.length == 0) { - return false; - } - String mediaType = contentTypeParts[0]; - - if (mediaType.equals(pattern)) { - return true; - } - - String[] mediaTypeParts = mediaType.split("/"); - if (mediaTypeParts.length == 2) { - if (String.format("%s/*", mediaTypeParts[0]).equals(pattern) - || String.format("*/%s", mediaTypeParts[1]).equals(pattern)) { - return true; - } - } - - return false; - } - - public static SerializedBody serializeRequestBody(Object request, String requestField, String serializationMethod) - throws NoSuchFieldException, - IllegalArgumentException, IllegalAccessException, UnsupportedOperationException, IOException { - return RequestBody.serialize(request, requestField, serializationMethod); - } - - public static List getQueryParams(Class type, T params, - Map>> globals) throws Exception { - return QueryParameters.parseQueryParams(type, params, globals); - } - - public static HTTPClient configureSecurityClient(HTTPClient client, Object security) throws Exception { - return Security.createClient(client, security); - } - - public static String templateUrl(String url, Map params) { - StringBuilder sb = new StringBuilder(); - - Pattern p = Pattern.compile("(\\{.*?\\})"); - Matcher m = p.matcher(url); - - while (m.find()) { - String match = m.group(1); - String key = match.substring(1, match.length() - 1); - String value = params.get(key); - if (value != null) { - m.appendReplacement(sb, value); - } - } - m.appendTail(sb); - - return sb.toString(); - } - - public static Map> getHeaders(Object headers) throws Exception { - if (headers == null) { - return null; - } - - Map> result = new HashMap<>(); - - Field[] fields = headers.getClass().getFields(); - - for (Field field : fields) { - HeaderMetadata headerMetadata = HeaderMetadata.parse(field); - if (headerMetadata == null) { - continue; - } - - Object value = field.get(headers); - if (value == null) { - continue; - } - - switch (Types.getType(value.getClass())) { - case OBJECT: { - List items = new ArrayList(); - - Field[] valueFields = value.getClass().getFields(); - for (Field valueField : valueFields) { - HeaderMetadata valueHeaderMetadata = HeaderMetadata.parse(valueField); - if (valueHeaderMetadata == null || valueHeaderMetadata.name == null - || valueHeaderMetadata.name.isBlank()) { - continue; - } - - Object valueFieldValue = valueField.get(value); - if (valueFieldValue == null) { - continue; - } - - if (headerMetadata.explode) { - items.add( - String.format("%s=%s", valueHeaderMetadata.name, - Utils.valToString(valueFieldValue))); - } else { - items.add(valueHeaderMetadata.name); - items.add(Utils.valToString(valueFieldValue)); - } - } - - if (!result.containsKey(headerMetadata.name)) { - result.put(headerMetadata.name, new ArrayList()); - } - - List values = result.get(headerMetadata.name); - values.add(String.join(",", items)); - - break; - } - case MAP: { - Map map = (Map) value; - if (map.size() == 0) { - continue; - } - - List items = new ArrayList(); - - for (Map.Entry entry : map.entrySet()) { - if (headerMetadata.explode) { - items.add(String.format("%s=%s", Utils.valToString(entry.getKey()), - Utils.valToString(entry.getValue()))); - } else { - items.add(Utils.valToString(entry.getKey())); - items.add(Utils.valToString(entry.getValue())); - } - } - - if (!result.containsKey(headerMetadata.name)) { - result.put(headerMetadata.name, new ArrayList()); - } - - List values = result.get(headerMetadata.name); - values.add(String.join(",", items)); - - break; - } - case ARRAY: { - Object[] array = (Object[]) value; - - if (array.length == 0) { - continue; - } - - List items = new ArrayList(); - - for (Object item : array) { - items.add(Utils.valToString(item)); - } - - if (!result.containsKey(headerMetadata.name)) { - result.put(headerMetadata.name, new ArrayList()); - } - - List values = result.get(headerMetadata.name); - values.add(String.join(",", items)); - - break; - } - default: { - if (!result.containsKey(headerMetadata.name)) { - result.put(headerMetadata.name, new ArrayList()); - } - - List values = result.get(headerMetadata.name); - values.add(Utils.valToString(value)); - break; - } - } - } - - return result; - } - - public static String valToString(Object value) { - switch (Types.getType(value.getClass())) { - case ENUM: - try { - return String.valueOf(value.getClass().getDeclaredField("value").get(value)); - } catch (Exception e) { - return "ERROR_UNKNOWN_VALUE"; - } - default: - return String.valueOf(value); - } - } - - public static String prefixBearer(String authHeaderValue) { - if (authHeaderValue.toLowerCase().startsWith("bearer ")) { - return authHeaderValue; - } - return "Bearer " + authHeaderValue; - } - - public static Object populateGlobal(Object value, String fieldName, String paramType, - Map>> globals) { - if (value == null && - globals != null && - globals.containsKey("parameters") && - globals.get("parameters").containsKey(paramType)) { - Object globalVal = globals.get("parameters").get(paramType).get(fieldName); - if (globalVal != null) { - value = globalVal; - } - } - - return value; - } - - private static Map parseSerializedParams(PathParamsMetadata pathParamsMetadata, Object value) - throws JsonProcessingException { - Map params = new HashMap<>(); - - switch (pathParamsMetadata.serialization) { - case "json": - ObjectMapper mapper = JSON.getMapper(); - String json = mapper.writeValueAsString(value); - - params.put(pathParamsMetadata.name, URLEncoder.encode(json, StandardCharsets.UTF_8)); - break; - } - - return params; - } - - private Utils() { - } -} \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 3b06b6ee3..2eba4e7bb 100644 --- a/settings.gradle +++ b/settings.gradle @@ -7,5 +7,4 @@ * in the user manual at https://docs.gradle.org/7.5.1/userguide/multi_project_builds.html */ -rootProject.name = 'public-api' -include('lib') +rootProject.name = 'api' diff --git a/src/main/java/com/airbyte/api/Airbyte.java b/src/main/java/com/airbyte/api/Airbyte.java new file mode 100644 index 000000000..52f4eac06 --- /dev/null +++ b/src/main/java/com/airbyte/api/Airbyte.java @@ -0,0 +1,227 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api; + +import com.airbyte.api.models.operations.SDKMethodInterfaces.*; +import com.airbyte.api.utils.HTTPClient; +import com.airbyte.api.utils.RetryConfig; +import com.airbyte.api.utils.SpeakeasyHTTPClient; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import org.openapitools.jackson.nullable.JsonNullable; + +/** + * airbyte-api: Programmatically control Airbyte Cloud, OSS & Enterprise. + */ +public class Airbyte { + /** + * SERVERS contains the list of server urls available to the SDK. + */ + public static final String[] SERVERS = { + /** + * Airbyte API v1 + */ + "https://api.airbyte.com/v1", + }; + + private final Connections connections; + + private final Destinations destinations; + + private final Jobs jobs; + + private final Sources sources; + + private final Streams streams; + + private final Workspaces workspaces; + + public Connections connections() { + return connections; + } + + public Destinations destinations() { + return destinations; + } + + public Jobs jobs() { + return jobs; + } + + public Sources sources() { + return sources; + } + + public Streams streams() { + return streams; + } + + public Workspaces workspaces() { + return workspaces; + } + + private final SDKConfiguration sdkConfiguration; + + /** + * The Builder class allows the configuration of a new instance of the SDK. + */ + public static class Builder { + + private final SDKConfiguration sdkConfiguration = new SDKConfiguration(); + + private Builder() { + } + + /** + * Allows the default HTTP client to be overridden with a custom implementation. + * + * @param client The HTTP client to use for all requests. + * @return The builder instance. + */ + public Builder client(HTTPClient client) { + this.sdkConfiguration.defaultClient = client; + return this; + } + + /** + * Configures the SDK to use the provided security details. + * + * @param security The security details to use for all requests. + * @return The builder instance. + */ + public Builder security(com.airbyte.api.models.shared.Security security) { + this.sdkConfiguration.securitySource = SecuritySource.of(security); + return this; + } + + /** + * Configures the SDK to use a custom security source. + * @param securitySource The security source to use for all requests. + * @return The builder instance. + */ + public Builder securitySource(SecuritySource securitySource) { + this.sdkConfiguration.securitySource = securitySource; + return this; + } + + /** + * Overrides the default server URL. + * + * @param serverUrl The server URL to use for all requests. + * @return The builder instance. + */ + public Builder serverURL(String serverUrl) { + this.sdkConfiguration.serverUrl = serverUrl; + return this; + } + + /** + * Overrides the default server URL with a templated URL populated with the provided parameters. + * + * @param serverUrl The server URL to use for all requests. + * @param params The parameters to use when templating the URL. + * @return The builder instance. + */ + public Builder serverURL(String serverUrl, java.util.Map params) { + this.sdkConfiguration.serverUrl = com.airbyte.api.utils.Utils.templateUrl(serverUrl, params); + return this; + } + + /** + * Overrides the default server by index. + * + * @param serverIdx The server to use for all requests. + * @return The builder instance. + */ + public Builder serverIndex(int serverIdx) { + this.sdkConfiguration.serverIdx = serverIdx; + this.sdkConfiguration.serverUrl = SERVERS[serverIdx]; + return this; + } + + /** + * Overrides the default configuration for retries + * + * @param retryConfig The retry configuration to use for all requests. + * @return The builder instance. + */ + public Builder retryConfig(RetryConfig retryConfig) { + this.sdkConfiguration.retryConfig = Optional.of(retryConfig); + return this; + } + /** + * Builds a new instance of the SDK. + * @return The SDK instance. + */ + public Airbyte build() { + if (sdkConfiguration.defaultClient == null) { + sdkConfiguration.defaultClient = new SpeakeasyHTTPClient(); + } + if (sdkConfiguration.securitySource == null) { + sdkConfiguration.securitySource = SecuritySource.of(null); + } + if (sdkConfiguration.serverUrl == null || sdkConfiguration.serverUrl.isBlank()) { + sdkConfiguration.serverUrl = SERVERS[0]; + sdkConfiguration.serverIdx = 0; + } + if (sdkConfiguration.serverUrl.endsWith("/")) { + sdkConfiguration.serverUrl = sdkConfiguration.serverUrl.substring(0, sdkConfiguration.serverUrl.length() - 1); + } + return new Airbyte(sdkConfiguration); + } + } + + /** + * Get a new instance of the SDK builder to configure a new instance of the SDK. + * @return The SDK builder instance. + */ + public static Builder builder() { + return new Builder(); + } + + private Airbyte(SDKConfiguration sdkConfiguration) { + this.sdkConfiguration = sdkConfiguration; + this.connections = new Connections(sdkConfiguration); + this.destinations = new Destinations(sdkConfiguration); + this.jobs = new Jobs(sdkConfiguration); + this.sources = new Sources(sdkConfiguration); + this.streams = new Streams(sdkConfiguration); + this.workspaces = new Workspaces(sdkConfiguration); + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + +} diff --git a/src/main/java/com/airbyte/api/Connections.java b/src/main/java/com/airbyte/api/Connections.java new file mode 100644 index 000000000..e4e64eda5 --- /dev/null +++ b/src/main/java/com/airbyte/api/Connections.java @@ -0,0 +1,371 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.models.operations.SDKMethodInterfaces.*; +import com.airbyte.api.utils.HTTPClient; +import com.airbyte.api.utils.HTTPRequest; +import com.airbyte.api.utils.JSON; +import com.airbyte.api.utils.SerializedBody; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.InputStream; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.nio.charset.StandardCharsets; +import java.util.Optional; +import org.apache.http.NameValuePair; +import org.openapitools.jackson.nullable.JsonNullable; + +public class Connections implements + MethodCallCreateConnection, + MethodCallDeleteConnection, + MethodCallGetConnection, + MethodCallListConnections, + MethodCallPatchConnection { + + private final SDKConfiguration sdkConfiguration; + + Connections(SDKConfiguration sdkConfiguration) { + this.sdkConfiguration = sdkConfiguration; + } + + public com.airbyte.api.models.operations.CreateConnectionRequestBuilder createConnection() { + return new com.airbyte.api.models.operations.CreateConnectionRequestBuilder(this); + } + + /** + * Create a connection + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.CreateConnectionResponse createConnection( + com.airbyte.api.models.shared.ConnectionCreateRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + baseUrl, + "/connections"); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("POST"); + req.setURL(url); + Object _convertedRequest = Utils.convertToShape(request, Utils.JsonShape.DEFAULT, + new TypeReference() {}); + SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody( + _convertedRequest, "request", "json", false); + if (serializedRequestBody == null) { + throw new Exception("Request body is required"); + } + req.setBody(serializedRequestBody); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.CreateConnectionResponse.Builder resBuilder = + com.airbyte.api.models.operations.CreateConnectionResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.CreateConnectionResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.ConnectionResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withConnectionResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 400 || httpRes.statusCode() == 403) { + } + + return res; + } + + + public com.airbyte.api.models.operations.DeleteConnectionRequestBuilder deleteConnection() { + return new com.airbyte.api.models.operations.DeleteConnectionRequestBuilder(this); + } + + /** + * Delete a Connection + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.DeleteConnectionResponse deleteConnection( + com.airbyte.api.models.operations.DeleteConnectionRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + com.airbyte.api.models.operations.DeleteConnectionRequest.class, + baseUrl, + "/connections/{connectionId}", + request, null); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("DELETE"); + req.setURL(url); + + req.addHeader("Accept", "*/*"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.DeleteConnectionResponse.Builder resBuilder = + com.airbyte.api.models.operations.DeleteConnectionResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.DeleteConnectionResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + + + return res; + } + + + public com.airbyte.api.models.operations.GetConnectionRequestBuilder getConnection() { + return new com.airbyte.api.models.operations.GetConnectionRequestBuilder(this); + } + + /** + * Get Connection details + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.GetConnectionResponse getConnection( + com.airbyte.api.models.operations.GetConnectionRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + com.airbyte.api.models.operations.GetConnectionRequest.class, + baseUrl, + "/connections/{connectionId}", + request, null); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("GET"); + req.setURL(url); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.GetConnectionResponse.Builder resBuilder = + com.airbyte.api.models.operations.GetConnectionResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.GetConnectionResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.ConnectionResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withConnectionResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { + } + + return res; + } + + + public com.airbyte.api.models.operations.ListConnectionsRequestBuilder listConnections() { + return new com.airbyte.api.models.operations.ListConnectionsRequestBuilder(this); + } + + /** + * List connections + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.ListConnectionsResponse listConnections( + com.airbyte.api.models.operations.ListConnectionsRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + baseUrl, + "/connections"); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("GET"); + req.setURL(url); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + java.util.List queryParams = com.airbyte.api.utils.Utils.getQueryParams( + com.airbyte.api.models.operations.ListConnectionsRequest.class, request, null); + if (queryParams != null) { + for (NameValuePair queryParam : queryParams) { + req.addQueryParam(queryParam); + } + } + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.ListConnectionsResponse.Builder resBuilder = + com.airbyte.api.models.operations.ListConnectionsResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.ListConnectionsResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.ConnectionsResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withConnectionsResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { + } + + return res; + } + + + public com.airbyte.api.models.operations.PatchConnectionRequestBuilder patchConnection() { + return new com.airbyte.api.models.operations.PatchConnectionRequestBuilder(this); + } + + /** + * Update Connection details + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.PatchConnectionResponse patchConnection( + com.airbyte.api.models.operations.PatchConnectionRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + com.airbyte.api.models.operations.PatchConnectionRequest.class, + baseUrl, + "/connections/{connectionId}", + request, null); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("PATCH"); + req.setURL(url); + Object _convertedRequest = Utils.convertToShape(request, Utils.JsonShape.DEFAULT, + new TypeReference() {}); + SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody( + _convertedRequest, "connectionPatchRequest", "json", false); + if (serializedRequestBody == null) { + throw new Exception("Request body is required"); + } + req.setBody(serializedRequestBody); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.PatchConnectionResponse.Builder resBuilder = + com.airbyte.api.models.operations.PatchConnectionResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.PatchConnectionResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.ConnectionResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withConnectionResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { + } + + return res; + } + +} diff --git a/src/main/java/com/airbyte/api/Destinations.java b/src/main/java/com/airbyte/api/Destinations.java new file mode 100644 index 000000000..e7a683d1f --- /dev/null +++ b/src/main/java/com/airbyte/api/Destinations.java @@ -0,0 +1,437 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.models.operations.SDKMethodInterfaces.*; +import com.airbyte.api.utils.HTTPClient; +import com.airbyte.api.utils.HTTPRequest; +import com.airbyte.api.utils.JSON; +import com.airbyte.api.utils.SerializedBody; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.InputStream; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.nio.charset.StandardCharsets; +import java.util.Optional; +import org.apache.http.NameValuePair; +import org.openapitools.jackson.nullable.JsonNullable; + +public class Destinations implements + MethodCallCreateDestination, + MethodCallDeleteDestination, + MethodCallGetDestination, + MethodCallListDestinations, + MethodCallPatchDestination, + MethodCallPutDestination { + + private final SDKConfiguration sdkConfiguration; + + Destinations(SDKConfiguration sdkConfiguration) { + this.sdkConfiguration = sdkConfiguration; + } + + public com.airbyte.api.models.operations.CreateDestinationRequestBuilder createDestination() { + return new com.airbyte.api.models.operations.CreateDestinationRequestBuilder(this); + } + + /** + * Create a destination + * Creates a destination given a name, workspace id, and a json blob containing the configuration for the source. + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.CreateDestinationResponse createDestination( + Optional request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + baseUrl, + "/destinations"); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("POST"); + req.setURL(url); + Object _convertedRequest = Utils.convertToShape(request, Utils.JsonShape.DEFAULT, + new TypeReference>() {}); + SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody( + _convertedRequest, "request", "json", false); + req.setBody(serializedRequestBody); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.CreateDestinationResponse.Builder resBuilder = + com.airbyte.api.models.operations.CreateDestinationResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.CreateDestinationResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.DestinationResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withDestinationResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 400 || httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { + } + + return res; + } + + + public com.airbyte.api.models.operations.DeleteDestinationRequestBuilder deleteDestination() { + return new com.airbyte.api.models.operations.DeleteDestinationRequestBuilder(this); + } + + /** + * Delete a Destination + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.DeleteDestinationResponse deleteDestination( + com.airbyte.api.models.operations.DeleteDestinationRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + com.airbyte.api.models.operations.DeleteDestinationRequest.class, + baseUrl, + "/destinations/{destinationId}", + request, null); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("DELETE"); + req.setURL(url); + + req.addHeader("Accept", "*/*"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.DeleteDestinationResponse.Builder resBuilder = + com.airbyte.api.models.operations.DeleteDestinationResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.DeleteDestinationResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + + + return res; + } + + + public com.airbyte.api.models.operations.GetDestinationRequestBuilder getDestination() { + return new com.airbyte.api.models.operations.GetDestinationRequestBuilder(this); + } + + /** + * Get Destination details + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.GetDestinationResponse getDestination( + com.airbyte.api.models.operations.GetDestinationRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + com.airbyte.api.models.operations.GetDestinationRequest.class, + baseUrl, + "/destinations/{destinationId}", + request, null); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("GET"); + req.setURL(url); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.GetDestinationResponse.Builder resBuilder = + com.airbyte.api.models.operations.GetDestinationResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.GetDestinationResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.DestinationResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withDestinationResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { + } + + return res; + } + + + public com.airbyte.api.models.operations.ListDestinationsRequestBuilder listDestinations() { + return new com.airbyte.api.models.operations.ListDestinationsRequestBuilder(this); + } + + /** + * List destinations + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.ListDestinationsResponse listDestinations( + com.airbyte.api.models.operations.ListDestinationsRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + baseUrl, + "/destinations"); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("GET"); + req.setURL(url); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + java.util.List queryParams = com.airbyte.api.utils.Utils.getQueryParams( + com.airbyte.api.models.operations.ListDestinationsRequest.class, request, null); + if (queryParams != null) { + for (NameValuePair queryParam : queryParams) { + req.addQueryParam(queryParam); + } + } + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.ListDestinationsResponse.Builder resBuilder = + com.airbyte.api.models.operations.ListDestinationsResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.ListDestinationsResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.DestinationsResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withDestinationsResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { + } + + return res; + } + + + public com.airbyte.api.models.operations.PatchDestinationRequestBuilder patchDestination() { + return new com.airbyte.api.models.operations.PatchDestinationRequestBuilder(this); + } + + /** + * Update a Destination + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.PatchDestinationResponse patchDestination( + com.airbyte.api.models.operations.PatchDestinationRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + com.airbyte.api.models.operations.PatchDestinationRequest.class, + baseUrl, + "/destinations/{destinationId}", + request, null); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("PATCH"); + req.setURL(url); + Object _convertedRequest = Utils.convertToShape(request, Utils.JsonShape.DEFAULT, + new TypeReference() {}); + SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody( + _convertedRequest, "destinationPatchRequest", "json", false); + req.setBody(serializedRequestBody); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.PatchDestinationResponse.Builder resBuilder = + com.airbyte.api.models.operations.PatchDestinationResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.PatchDestinationResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.DestinationResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withDestinationResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { + } + + return res; + } + + + public com.airbyte.api.models.operations.PutDestinationRequestBuilder putDestination() { + return new com.airbyte.api.models.operations.PutDestinationRequestBuilder(this); + } + + /** + * Update a Destination and fully overwrite it + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.PutDestinationResponse putDestination( + com.airbyte.api.models.operations.PutDestinationRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + com.airbyte.api.models.operations.PutDestinationRequest.class, + baseUrl, + "/destinations/{destinationId}", + request, null); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("PUT"); + req.setURL(url); + Object _convertedRequest = Utils.convertToShape(request, Utils.JsonShape.DEFAULT, + new TypeReference() {}); + SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody( + _convertedRequest, "destinationPutRequest", "json", false); + req.setBody(serializedRequestBody); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.PutDestinationResponse.Builder resBuilder = + com.airbyte.api.models.operations.PutDestinationResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.PutDestinationResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.DestinationResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withDestinationResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { + } + + return res; + } + +} diff --git a/src/main/java/com/airbyte/api/Jobs.java b/src/main/java/com/airbyte/api/Jobs.java new file mode 100644 index 000000000..a2e154485 --- /dev/null +++ b/src/main/java/com/airbyte/api/Jobs.java @@ -0,0 +1,308 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.models.operations.SDKMethodInterfaces.*; +import com.airbyte.api.utils.HTTPClient; +import com.airbyte.api.utils.HTTPRequest; +import com.airbyte.api.utils.JSON; +import com.airbyte.api.utils.SerializedBody; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.InputStream; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.nio.charset.StandardCharsets; +import java.util.Optional; +import org.apache.http.NameValuePair; +import org.openapitools.jackson.nullable.JsonNullable; + +public class Jobs implements + MethodCallCancelJob, + MethodCallCreateJob, + MethodCallGetJob, + MethodCallListJobs { + + private final SDKConfiguration sdkConfiguration; + + Jobs(SDKConfiguration sdkConfiguration) { + this.sdkConfiguration = sdkConfiguration; + } + + public com.airbyte.api.models.operations.CancelJobRequestBuilder cancelJob() { + return new com.airbyte.api.models.operations.CancelJobRequestBuilder(this); + } + + /** + * Cancel a running Job + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.CancelJobResponse cancelJob( + com.airbyte.api.models.operations.CancelJobRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + com.airbyte.api.models.operations.CancelJobRequest.class, + baseUrl, + "/jobs/{jobId}", + request, null); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("DELETE"); + req.setURL(url); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.CancelJobResponse.Builder resBuilder = + com.airbyte.api.models.operations.CancelJobResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.CancelJobResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.JobResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withJobResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { + } + + return res; + } + + + public com.airbyte.api.models.operations.CreateJobRequestBuilder createJob() { + return new com.airbyte.api.models.operations.CreateJobRequestBuilder(this); + } + + /** + * Trigger a sync or reset job of a connection + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.CreateJobResponse createJob( + com.airbyte.api.models.shared.JobCreateRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + baseUrl, + "/jobs"); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("POST"); + req.setURL(url); + Object _convertedRequest = Utils.convertToShape(request, Utils.JsonShape.DEFAULT, + new TypeReference() {}); + SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody( + _convertedRequest, "request", "json", false); + if (serializedRequestBody == null) { + throw new Exception("Request body is required"); + } + req.setBody(serializedRequestBody); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.CreateJobResponse.Builder resBuilder = + com.airbyte.api.models.operations.CreateJobResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.CreateJobResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.JobResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withJobResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 400 || httpRes.statusCode() == 403) { + } + + return res; + } + + + public com.airbyte.api.models.operations.GetJobRequestBuilder getJob() { + return new com.airbyte.api.models.operations.GetJobRequestBuilder(this); + } + + /** + * Get Job status and details + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.GetJobResponse getJob( + com.airbyte.api.models.operations.GetJobRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + com.airbyte.api.models.operations.GetJobRequest.class, + baseUrl, + "/jobs/{jobId}", + request, null); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("GET"); + req.setURL(url); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.GetJobResponse.Builder resBuilder = + com.airbyte.api.models.operations.GetJobResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.GetJobResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.JobResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withJobResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { + } + + return res; + } + + + public com.airbyte.api.models.operations.ListJobsRequestBuilder listJobs() { + return new com.airbyte.api.models.operations.ListJobsRequestBuilder(this); + } + + /** + * List Jobs by sync type + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.ListJobsResponse listJobs( + com.airbyte.api.models.operations.ListJobsRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + baseUrl, + "/jobs"); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("GET"); + req.setURL(url); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + java.util.List queryParams = com.airbyte.api.utils.Utils.getQueryParams( + com.airbyte.api.models.operations.ListJobsRequest.class, request, null); + if (queryParams != null) { + for (NameValuePair queryParam : queryParams) { + req.addQueryParam(queryParam); + } + } + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.ListJobsResponse.Builder resBuilder = + com.airbyte.api.models.operations.ListJobsResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.ListJobsResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.JobsResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withJobsResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 403) { + } + + return res; + } + +} diff --git a/src/main/java/com/airbyte/api/SDKConfiguration.java b/src/main/java/com/airbyte/api/SDKConfiguration.java new file mode 100644 index 000000000..4bca14992 --- /dev/null +++ b/src/main/java/com/airbyte/api/SDKConfiguration.java @@ -0,0 +1,25 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api; + +import com.airbyte.api.utils.HTTPClient; +import com.airbyte.api.utils.RetryConfig; +import com.airbyte.api.models.shared.Security; +import java.util.Optional; + +class SDKConfiguration { + public SecuritySource securitySource; + public HTTPClient defaultClient; + public String serverUrl; + public int serverIdx = 0; + public String language = "java"; + public String openapiDocVersion = "1.0.0"; + public String sdkVersion = "1.0.0"; + public String genVersion = "2.304.1"; + public String userAgent = "speakeasy-sdk/java 1.0.0 2.304.1 1.0.0 com.airbyte.api"; + + + public Optional retryConfig = Optional.empty(); +} diff --git a/src/main/java/com/airbyte/api/SecuritySource.java b/src/main/java/com/airbyte/api/SecuritySource.java new file mode 100644 index 000000000..33f872bb4 --- /dev/null +++ b/src/main/java/com/airbyte/api/SecuritySource.java @@ -0,0 +1,28 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api; + +import com.airbyte.api.models.shared.Security; + +public interface SecuritySource { + + Security getSecurity(); + + public static SecuritySource of(Security security) { + return new DefaultSecuritySource(security); + } + + public static class DefaultSecuritySource implements SecuritySource { + private Security security; + + public DefaultSecuritySource(Security security) { + this.security = security; + } + + public Security getSecurity() { + return security; + } + } +} diff --git a/src/main/java/com/airbyte/api/Sources.java b/src/main/java/com/airbyte/api/Sources.java new file mode 100644 index 000000000..8cebbac68 --- /dev/null +++ b/src/main/java/com/airbyte/api/Sources.java @@ -0,0 +1,503 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.models.operations.SDKMethodInterfaces.*; +import com.airbyte.api.utils.HTTPClient; +import com.airbyte.api.utils.HTTPRequest; +import com.airbyte.api.utils.JSON; +import com.airbyte.api.utils.SerializedBody; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.InputStream; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.nio.charset.StandardCharsets; +import java.util.Optional; +import org.apache.http.NameValuePair; +import org.openapitools.jackson.nullable.JsonNullable; + +public class Sources implements + MethodCallCreateSource, + MethodCallDeleteSource, + MethodCallGetSource, + MethodCallInitiateOAuth, + MethodCallListSources, + MethodCallPatchSource, + MethodCallPutSource { + + private final SDKConfiguration sdkConfiguration; + + Sources(SDKConfiguration sdkConfiguration) { + this.sdkConfiguration = sdkConfiguration; + } + + public com.airbyte.api.models.operations.CreateSourceRequestBuilder createSource() { + return new com.airbyte.api.models.operations.CreateSourceRequestBuilder(this); + } + + /** + * Create a source + * Creates a source given a name, workspace id, and a json blob containing the configuration for the source. + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.CreateSourceResponse createSource( + Optional request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + baseUrl, + "/sources"); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("POST"); + req.setURL(url); + Object _convertedRequest = Utils.convertToShape(request, Utils.JsonShape.DEFAULT, + new TypeReference>() {}); + SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody( + _convertedRequest, "request", "json", false); + req.setBody(serializedRequestBody); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.CreateSourceResponse.Builder resBuilder = + com.airbyte.api.models.operations.CreateSourceResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.CreateSourceResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.SourceResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withSourceResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 400 || httpRes.statusCode() == 403) { + } + + return res; + } + + + public com.airbyte.api.models.operations.DeleteSourceRequestBuilder deleteSource() { + return new com.airbyte.api.models.operations.DeleteSourceRequestBuilder(this); + } + + /** + * Delete a Source + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.DeleteSourceResponse deleteSource( + com.airbyte.api.models.operations.DeleteSourceRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + com.airbyte.api.models.operations.DeleteSourceRequest.class, + baseUrl, + "/sources/{sourceId}", + request, null); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("DELETE"); + req.setURL(url); + + req.addHeader("Accept", "*/*"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.DeleteSourceResponse.Builder resBuilder = + com.airbyte.api.models.operations.DeleteSourceResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.DeleteSourceResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + + + return res; + } + + + public com.airbyte.api.models.operations.GetSourceRequestBuilder getSource() { + return new com.airbyte.api.models.operations.GetSourceRequestBuilder(this); + } + + /** + * Get Source details + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.GetSourceResponse getSource( + com.airbyte.api.models.operations.GetSourceRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + com.airbyte.api.models.operations.GetSourceRequest.class, + baseUrl, + "/sources/{sourceId}", + request, null); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("GET"); + req.setURL(url); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.GetSourceResponse.Builder resBuilder = + com.airbyte.api.models.operations.GetSourceResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.GetSourceResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.SourceResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withSourceResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { + } + + return res; + } + + + public com.airbyte.api.models.operations.InitiateOAuthRequestBuilder initiateOAuth() { + return new com.airbyte.api.models.operations.InitiateOAuthRequestBuilder(this); + } + + /** + * Initiate OAuth for a source + * Given a source ID, workspace ID, and redirect URL, initiates OAuth for the source. + * + * This returns a fully formed URL for performing user authentication against the relevant source identity provider (IdP). Once authentication has been completed, the IdP will redirect to an Airbyte endpoint which will save the access and refresh tokens off as a secret and return the secret ID to the redirect URL specified in the `secret_id` query string parameter. + * + * That secret ID can be used to create a source with credentials in place of actual tokens. + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.InitiateOAuthResponse initiateOAuth( + com.airbyte.api.models.shared.InitiateOauthRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + baseUrl, + "/sources/initiateOAuth"); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("POST"); + req.setURL(url); + Object _convertedRequest = Utils.convertToShape(request, Utils.JsonShape.DEFAULT, + new TypeReference() {}); + SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody( + _convertedRequest, "request", "json", false); + if (serializedRequestBody == null) { + throw new Exception("Request body is required"); + } + req.setBody(serializedRequestBody); + + req.addHeader("Accept", "*/*"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.InitiateOAuthResponse.Builder resBuilder = + com.airbyte.api.models.operations.InitiateOAuthResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.InitiateOAuthResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + + + return res; + } + + + public com.airbyte.api.models.operations.ListSourcesRequestBuilder listSources() { + return new com.airbyte.api.models.operations.ListSourcesRequestBuilder(this); + } + + /** + * List sources + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.ListSourcesResponse listSources( + com.airbyte.api.models.operations.ListSourcesRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + baseUrl, + "/sources"); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("GET"); + req.setURL(url); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + java.util.List queryParams = com.airbyte.api.utils.Utils.getQueryParams( + com.airbyte.api.models.operations.ListSourcesRequest.class, request, null); + if (queryParams != null) { + for (NameValuePair queryParam : queryParams) { + req.addQueryParam(queryParam); + } + } + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.ListSourcesResponse.Builder resBuilder = + com.airbyte.api.models.operations.ListSourcesResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.ListSourcesResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.SourcesResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withSourcesResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { + } + + return res; + } + + + public com.airbyte.api.models.operations.PatchSourceRequestBuilder patchSource() { + return new com.airbyte.api.models.operations.PatchSourceRequestBuilder(this); + } + + /** + * Update a Source + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.PatchSourceResponse patchSource( + com.airbyte.api.models.operations.PatchSourceRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + com.airbyte.api.models.operations.PatchSourceRequest.class, + baseUrl, + "/sources/{sourceId}", + request, null); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("PATCH"); + req.setURL(url); + Object _convertedRequest = Utils.convertToShape(request, Utils.JsonShape.DEFAULT, + new TypeReference() {}); + SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody( + _convertedRequest, "sourcePatchRequest", "json", false); + req.setBody(serializedRequestBody); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.PatchSourceResponse.Builder resBuilder = + com.airbyte.api.models.operations.PatchSourceResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.PatchSourceResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.SourceResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withSourceResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { + } + + return res; + } + + + public com.airbyte.api.models.operations.PutSourceRequestBuilder putSource() { + return new com.airbyte.api.models.operations.PutSourceRequestBuilder(this); + } + + /** + * Update a Source and fully overwrite it + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.PutSourceResponse putSource( + com.airbyte.api.models.operations.PutSourceRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + com.airbyte.api.models.operations.PutSourceRequest.class, + baseUrl, + "/sources/{sourceId}", + request, null); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("PUT"); + req.setURL(url); + Object _convertedRequest = Utils.convertToShape(request, Utils.JsonShape.DEFAULT, + new TypeReference() {}); + SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody( + _convertedRequest, "sourcePutRequest", "json", false); + req.setBody(serializedRequestBody); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.PutSourceResponse.Builder resBuilder = + com.airbyte.api.models.operations.PutSourceResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.PutSourceResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.SourceResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withSourceResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { + } + + return res; + } + +} diff --git a/src/main/java/com/airbyte/api/Streams.java b/src/main/java/com/airbyte/api/Streams.java new file mode 100644 index 000000000..cc0c09be3 --- /dev/null +++ b/src/main/java/com/airbyte/api/Streams.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.models.operations.SDKMethodInterfaces.*; +import com.airbyte.api.utils.HTTPClient; +import com.airbyte.api.utils.HTTPRequest; +import com.airbyte.api.utils.JSON; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.InputStream; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.nio.charset.StandardCharsets; +import java.util.Optional; +import org.apache.http.NameValuePair; +import org.openapitools.jackson.nullable.JsonNullable; + +public class Streams implements + MethodCallGetStreamProperties { + + private final SDKConfiguration sdkConfiguration; + + Streams(SDKConfiguration sdkConfiguration) { + this.sdkConfiguration = sdkConfiguration; + } + + public com.airbyte.api.models.operations.GetStreamPropertiesRequestBuilder getStreamProperties() { + return new com.airbyte.api.models.operations.GetStreamPropertiesRequestBuilder(this); + } + + /** + * Get stream properties + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.GetStreamPropertiesResponse getStreamProperties( + com.airbyte.api.models.operations.GetStreamPropertiesRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + baseUrl, + "/streams"); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("GET"); + req.setURL(url); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + java.util.List queryParams = com.airbyte.api.utils.Utils.getQueryParams( + com.airbyte.api.models.operations.GetStreamPropertiesRequest.class, request, null); + if (queryParams != null) { + for (NameValuePair queryParam : queryParams) { + req.addQueryParam(queryParam); + } + } + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.GetStreamPropertiesResponse.Builder resBuilder = + com.airbyte.api.models.operations.GetStreamPropertiesResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.GetStreamPropertiesResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.StreamPropertiesResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withStreamPropertiesResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 400 || httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { + } + + return res; + } + +} diff --git a/src/main/java/com/airbyte/api/Workspaces.java b/src/main/java/com/airbyte/api/Workspaces.java new file mode 100644 index 000000000..723f1f17a --- /dev/null +++ b/src/main/java/com/airbyte/api/Workspaces.java @@ -0,0 +1,436 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.models.operations.SDKMethodInterfaces.*; +import com.airbyte.api.utils.HTTPClient; +import com.airbyte.api.utils.HTTPRequest; +import com.airbyte.api.utils.JSON; +import com.airbyte.api.utils.SerializedBody; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.InputStream; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.nio.charset.StandardCharsets; +import java.util.Optional; +import org.apache.http.NameValuePair; +import org.openapitools.jackson.nullable.JsonNullable; + +public class Workspaces implements + MethodCallCreateOrUpdateWorkspaceOAuthCredentials, + MethodCallCreateWorkspace, + MethodCallDeleteWorkspace, + MethodCallGetWorkspace, + MethodCallListWorkspaces, + MethodCallUpdateWorkspace { + + private final SDKConfiguration sdkConfiguration; + + Workspaces(SDKConfiguration sdkConfiguration) { + this.sdkConfiguration = sdkConfiguration; + } + + public com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsRequestBuilder createOrUpdateWorkspaceOAuthCredentials() { + return new com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsRequestBuilder(this); + } + + /** + * Create OAuth override credentials for a workspace and source type. + * Create/update a set of OAuth credentials to override the Airbyte-provided OAuth credentials used for source/destination OAuth. + * In order to determine what the credential configuration needs to be, please see the connector specification of the relevant source/destination. + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsResponse createOrUpdateWorkspaceOAuthCredentials( + com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsRequest.class, + baseUrl, + "/workspaces/{workspaceId}/oauthCredentials", + request, null); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("PUT"); + req.setURL(url); + Object _convertedRequest = Utils.convertToShape(request, Utils.JsonShape.DEFAULT, + new TypeReference() {}); + SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody( + _convertedRequest, "workspaceOAuthCredentialsRequest", "json", false); + if (serializedRequestBody == null) { + throw new Exception("Request body is required"); + } + req.setBody(serializedRequestBody); + + req.addHeader("Accept", "*/*"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsResponse.Builder resBuilder = + com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + + + return res; + } + + + public com.airbyte.api.models.operations.CreateWorkspaceRequestBuilder createWorkspace() { + return new com.airbyte.api.models.operations.CreateWorkspaceRequestBuilder(this); + } + + /** + * Create a workspace + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.CreateWorkspaceResponse createWorkspace( + com.airbyte.api.models.shared.WorkspaceCreateRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + baseUrl, + "/workspaces"); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("POST"); + req.setURL(url); + Object _convertedRequest = Utils.convertToShape(request, Utils.JsonShape.DEFAULT, + new TypeReference() {}); + SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody( + _convertedRequest, "request", "json", false); + if (serializedRequestBody == null) { + throw new Exception("Request body is required"); + } + req.setBody(serializedRequestBody); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.CreateWorkspaceResponse.Builder resBuilder = + com.airbyte.api.models.operations.CreateWorkspaceResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.CreateWorkspaceResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.WorkspaceResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withWorkspaceResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 400 || httpRes.statusCode() == 403) { + } + + return res; + } + + + public com.airbyte.api.models.operations.DeleteWorkspaceRequestBuilder deleteWorkspace() { + return new com.airbyte.api.models.operations.DeleteWorkspaceRequestBuilder(this); + } + + /** + * Delete a Workspace + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.DeleteWorkspaceResponse deleteWorkspace( + com.airbyte.api.models.operations.DeleteWorkspaceRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + com.airbyte.api.models.operations.DeleteWorkspaceRequest.class, + baseUrl, + "/workspaces/{workspaceId}", + request, null); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("DELETE"); + req.setURL(url); + + req.addHeader("Accept", "*/*"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.DeleteWorkspaceResponse.Builder resBuilder = + com.airbyte.api.models.operations.DeleteWorkspaceResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.DeleteWorkspaceResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + + + return res; + } + + + public com.airbyte.api.models.operations.GetWorkspaceRequestBuilder getWorkspace() { + return new com.airbyte.api.models.operations.GetWorkspaceRequestBuilder(this); + } + + /** + * Get Workspace details + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.GetWorkspaceResponse getWorkspace( + com.airbyte.api.models.operations.GetWorkspaceRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + com.airbyte.api.models.operations.GetWorkspaceRequest.class, + baseUrl, + "/workspaces/{workspaceId}", + request, null); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("GET"); + req.setURL(url); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.GetWorkspaceResponse.Builder resBuilder = + com.airbyte.api.models.operations.GetWorkspaceResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.GetWorkspaceResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.WorkspaceResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withWorkspaceResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { + } + + return res; + } + + + public com.airbyte.api.models.operations.ListWorkspacesRequestBuilder listWorkspaces() { + return new com.airbyte.api.models.operations.ListWorkspacesRequestBuilder(this); + } + + /** + * List workspaces + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.ListWorkspacesResponse listWorkspaces( + com.airbyte.api.models.operations.ListWorkspacesRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + baseUrl, + "/workspaces"); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("GET"); + req.setURL(url); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + java.util.List queryParams = com.airbyte.api.utils.Utils.getQueryParams( + com.airbyte.api.models.operations.ListWorkspacesRequest.class, request, null); + if (queryParams != null) { + for (NameValuePair queryParam : queryParams) { + req.addQueryParam(queryParam); + } + } + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.ListWorkspacesResponse.Builder resBuilder = + com.airbyte.api.models.operations.ListWorkspacesResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.ListWorkspacesResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.WorkspacesResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withWorkspacesResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 403 || httpRes.statusCode() == 404) { + } + + return res; + } + + + public com.airbyte.api.models.operations.UpdateWorkspaceRequestBuilder updateWorkspace() { + return new com.airbyte.api.models.operations.UpdateWorkspaceRequestBuilder(this); + } + + /** + * Update a workspace + * @param request The request object containing all of the parameters for the API call. + * @return The response from the API call. + * @throws Exception if the API call fails. + */ + public com.airbyte.api.models.operations.UpdateWorkspaceResponse updateWorkspace( + com.airbyte.api.models.operations.UpdateWorkspaceRequest request) throws Exception { + + String baseUrl = this.sdkConfiguration.serverUrl; + + String url = com.airbyte.api.utils.Utils.generateURL( + com.airbyte.api.models.operations.UpdateWorkspaceRequest.class, + baseUrl, + "/workspaces/{workspaceId}", + request, null); + + HTTPRequest req = new HTTPRequest(); + req.setMethod("PATCH"); + req.setURL(url); + Object _convertedRequest = Utils.convertToShape(request, Utils.JsonShape.DEFAULT, + new TypeReference() {}); + SerializedBody serializedRequestBody = com.airbyte.api.utils.Utils.serializeRequestBody( + _convertedRequest, "workspaceUpdateRequest", "json", false); + if (serializedRequestBody == null) { + throw new Exception("Request body is required"); + } + req.setBody(serializedRequestBody); + + req.addHeader("Accept", "application/json"); + req.addHeader("user-agent", this.sdkConfiguration.userAgent); + + HTTPClient client = com.airbyte.api.utils.Utils.configureSecurityClient( + this.sdkConfiguration.defaultClient, this.sdkConfiguration.securitySource.getSecurity()); + + HttpResponse httpRes = client.send(req); + + String contentType = httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + com.airbyte.api.models.operations.UpdateWorkspaceResponse.Builder resBuilder = + com.airbyte.api.models.operations.UpdateWorkspaceResponse + .builder() + .contentType(contentType) + .statusCode(httpRes.statusCode()) + .rawResponse(httpRes); + + com.airbyte.api.models.operations.UpdateWorkspaceResponse res = resBuilder.build(); + + res.withRawResponse(httpRes); + + if (httpRes.statusCode() == 200) { + if (com.airbyte.api.utils.Utils.matchContentType(contentType, "application/json")) { + ObjectMapper mapper = JSON.getMapper(); + com.airbyte.api.models.shared.WorkspaceResponse out = mapper.readValue( + Utils.toUtf8AndClose(httpRes.body()), + new TypeReference() {}); + res.withWorkspaceResponse(java.util.Optional.ofNullable(out)); + } else { + throw new SDKError(httpRes, httpRes.statusCode(), "Unknown content-type received: " + contentType, Utils.toByteArrayAndClose(httpRes.body())); + } + } else if (httpRes.statusCode() == 400 || httpRes.statusCode() == 403) { + } + + return res; + } + +} diff --git a/src/main/java/com/airbyte/api/models/errors/SDKError.java b/src/main/java/com/airbyte/api/models/errors/SDKError.java new file mode 100644 index 000000000..1095c5dd9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/errors/SDKError.java @@ -0,0 +1,84 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.errors; + +import java.net.http.HttpResponse; +import java.io.InputStream; +import com.airbyte.api.utils.Utils; + +/** + * Thrown by a service call when an error response occurs. Contains details about the response. + */ +public class SDKError extends Exception { + + private final HttpResponse rawResponse; + private final int code; + private final String message; + private final byte[] body; + + public SDKError( + HttpResponse rawResponse, + int code, + String message, + byte[] body) { + Utils.checkNotNull(rawResponse, "rawResponse"); + Utils.checkNotNull(message, "message"); + Utils.checkNotNull(body, "body"); + this.rawResponse = rawResponse; + this.code = code; + this.message = message; + this.body = body; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SDKError other = (SDKError) o; + return + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse) && + java.util.Objects.deepEquals(this.code, other.code) && + java.util.Objects.deepEquals(this.message, other.message) && + java.util.Objects.deepEquals(this.body, other.body); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + rawResponse, + code, + message, + body); + } + + @Override + public String toString() { + return Utils.toString(SDKError.class, + "rawResponse", rawResponse, + "code", code, + "message", message, + "body", body); + } + + public HttpResponse rawResponse() { + return this.rawResponse; + } + + public int code() { + return this.code; + } + + public String message() { + return this.message; + } + + public byte[] body() { + return this.body; + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/CancelJobRequest.java b/src/main/java/com/airbyte/api/models/operations/CancelJobRequest.java new file mode 100644 index 000000000..cdc9d4250 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/CancelJobRequest.java @@ -0,0 +1,87 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class CancelJobRequest { + + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=jobId") + private long jobId; + + public CancelJobRequest( + long jobId) { + Utils.checkNotNull(jobId, "jobId"); + this.jobId = jobId; + } + + public long jobId() { + return jobId; + } + + public final static Builder builder() { + return new Builder(); + } + + public CancelJobRequest withJobId(long jobId) { + Utils.checkNotNull(jobId, "jobId"); + this.jobId = jobId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CancelJobRequest other = (CancelJobRequest) o; + return + java.util.Objects.deepEquals(this.jobId, other.jobId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + jobId); + } + + @Override + public String toString() { + return Utils.toString(CancelJobRequest.class, + "jobId", jobId); + } + + public final static class Builder { + + private Long jobId; + + private Builder() { + // force use of static builder() method + } + + public Builder jobId(long jobId) { + Utils.checkNotNull(jobId, "jobId"); + this.jobId = jobId; + return this; + } + + public CancelJobRequest build() { + return new CancelJobRequest( + jobId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/CancelJobRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/CancelJobRequestBuilder.java new file mode 100644 index 000000000..0e86cb33b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/CancelJobRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class CancelJobRequestBuilder { + + private CancelJobRequest request; + private final SDKMethodInterfaces.MethodCallCancelJob sdk; + + public CancelJobRequestBuilder(SDKMethodInterfaces.MethodCallCancelJob sdk) { + this.sdk = sdk; + } + + public CancelJobRequestBuilder request(CancelJobRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public CancelJobResponse call() throws Exception { + + return sdk.cancelJob( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/CancelJobResponse.java b/src/main/java/com/airbyte/api/models/operations/CancelJobResponse.java new file mode 100644 index 000000000..bed74fcc5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/CancelJobResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class CancelJobResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * Cancel a Job. + */ + private Optional jobResponse; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public CancelJobResponse( + String contentType, + Optional jobResponse, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(jobResponse, "jobResponse"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.jobResponse = jobResponse; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * Cancel a Job. + */ + public Optional jobResponse() { + return jobResponse; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public CancelJobResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Cancel a Job. + */ + public CancelJobResponse withJobResponse(com.airbyte.api.models.shared.JobResponse jobResponse) { + Utils.checkNotNull(jobResponse, "jobResponse"); + this.jobResponse = Optional.ofNullable(jobResponse); + return this; + } + + /** + * Cancel a Job. + */ + public CancelJobResponse withJobResponse(Optional jobResponse) { + Utils.checkNotNull(jobResponse, "jobResponse"); + this.jobResponse = jobResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public CancelJobResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public CancelJobResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CancelJobResponse other = (CancelJobResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.jobResponse, other.jobResponse) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + jobResponse, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(CancelJobResponse.class, + "contentType", contentType, + "jobResponse", jobResponse, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Optional jobResponse = Optional.empty(); + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Cancel a Job. + */ + public Builder jobResponse(com.airbyte.api.models.shared.JobResponse jobResponse) { + Utils.checkNotNull(jobResponse, "jobResponse"); + this.jobResponse = Optional.ofNullable(jobResponse); + return this; + } + + /** + * Cancel a Job. + */ + public Builder jobResponse(Optional jobResponse) { + Utils.checkNotNull(jobResponse, "jobResponse"); + this.jobResponse = jobResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public CancelJobResponse build() { + return new CancelJobResponse( + contentType, + jobResponse, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/CreateConnectionRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/CreateConnectionRequestBuilder.java new file mode 100644 index 000000000..9a8d0ad11 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/CreateConnectionRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class CreateConnectionRequestBuilder { + + private com.airbyte.api.models.shared.ConnectionCreateRequest request; + private final SDKMethodInterfaces.MethodCallCreateConnection sdk; + + public CreateConnectionRequestBuilder(SDKMethodInterfaces.MethodCallCreateConnection sdk) { + this.sdk = sdk; + } + + public CreateConnectionRequestBuilder request(com.airbyte.api.models.shared.ConnectionCreateRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public CreateConnectionResponse call() throws Exception { + + return sdk.createConnection( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/CreateConnectionResponse.java b/src/main/java/com/airbyte/api/models/operations/CreateConnectionResponse.java new file mode 100644 index 000000000..b6685ebf2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/CreateConnectionResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class CreateConnectionResponse implements com.airbyte.api.utils.Response { + + /** + * Successful operation + */ + private Optional connectionResponse; + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public CreateConnectionResponse( + Optional connectionResponse, + String contentType, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(connectionResponse, "connectionResponse"); + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.connectionResponse = connectionResponse; + this.contentType = contentType; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * Successful operation + */ + public Optional connectionResponse() { + return connectionResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Successful operation + */ + public CreateConnectionResponse withConnectionResponse(com.airbyte.api.models.shared.ConnectionResponse connectionResponse) { + Utils.checkNotNull(connectionResponse, "connectionResponse"); + this.connectionResponse = Optional.ofNullable(connectionResponse); + return this; + } + + /** + * Successful operation + */ + public CreateConnectionResponse withConnectionResponse(Optional connectionResponse) { + Utils.checkNotNull(connectionResponse, "connectionResponse"); + this.connectionResponse = connectionResponse; + return this; + } + + /** + * HTTP response content type for this operation + */ + public CreateConnectionResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public CreateConnectionResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public CreateConnectionResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateConnectionResponse other = (CreateConnectionResponse) o; + return + java.util.Objects.deepEquals(this.connectionResponse, other.connectionResponse) && + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + connectionResponse, + contentType, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(CreateConnectionResponse.class, + "connectionResponse", connectionResponse, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private Optional connectionResponse = Optional.empty(); + + private String contentType; + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * Successful operation + */ + public Builder connectionResponse(com.airbyte.api.models.shared.ConnectionResponse connectionResponse) { + Utils.checkNotNull(connectionResponse, "connectionResponse"); + this.connectionResponse = Optional.ofNullable(connectionResponse); + return this; + } + + /** + * Successful operation + */ + public Builder connectionResponse(Optional connectionResponse) { + Utils.checkNotNull(connectionResponse, "connectionResponse"); + this.connectionResponse = connectionResponse; + return this; + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public CreateConnectionResponse build() { + return new CreateConnectionResponse( + connectionResponse, + contentType, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/CreateDestinationRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/CreateDestinationRequestBuilder.java new file mode 100644 index 000000000..6722d3a95 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/CreateDestinationRequestBuilder.java @@ -0,0 +1,46 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class CreateDestinationRequestBuilder { + + private Optional request = Optional.empty(); + private final SDKMethodInterfaces.MethodCallCreateDestination sdk; + + public CreateDestinationRequestBuilder(SDKMethodInterfaces.MethodCallCreateDestination sdk) { + this.sdk = sdk; + } + + public CreateDestinationRequestBuilder request(com.airbyte.api.models.shared.DestinationCreateRequest request) { + Utils.checkNotNull(request, "request"); + this.request = Optional.of(request); + return this; + } + + public CreateDestinationRequestBuilder request(Optional request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public CreateDestinationResponse call() throws Exception { + + return sdk.createDestination( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/CreateDestinationResponse.java b/src/main/java/com/airbyte/api/models/operations/CreateDestinationResponse.java new file mode 100644 index 000000000..7622efe02 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/CreateDestinationResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class CreateDestinationResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * Successful operation + */ + private Optional destinationResponse; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public CreateDestinationResponse( + String contentType, + Optional destinationResponse, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(destinationResponse, "destinationResponse"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.destinationResponse = destinationResponse; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * Successful operation + */ + public Optional destinationResponse() { + return destinationResponse; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public CreateDestinationResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Successful operation + */ + public CreateDestinationResponse withDestinationResponse(com.airbyte.api.models.shared.DestinationResponse destinationResponse) { + Utils.checkNotNull(destinationResponse, "destinationResponse"); + this.destinationResponse = Optional.ofNullable(destinationResponse); + return this; + } + + /** + * Successful operation + */ + public CreateDestinationResponse withDestinationResponse(Optional destinationResponse) { + Utils.checkNotNull(destinationResponse, "destinationResponse"); + this.destinationResponse = destinationResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public CreateDestinationResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public CreateDestinationResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateDestinationResponse other = (CreateDestinationResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.destinationResponse, other.destinationResponse) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + destinationResponse, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(CreateDestinationResponse.class, + "contentType", contentType, + "destinationResponse", destinationResponse, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Optional destinationResponse = Optional.empty(); + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Successful operation + */ + public Builder destinationResponse(com.airbyte.api.models.shared.DestinationResponse destinationResponse) { + Utils.checkNotNull(destinationResponse, "destinationResponse"); + this.destinationResponse = Optional.ofNullable(destinationResponse); + return this; + } + + /** + * Successful operation + */ + public Builder destinationResponse(Optional destinationResponse) { + Utils.checkNotNull(destinationResponse, "destinationResponse"); + this.destinationResponse = destinationResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public CreateDestinationResponse build() { + return new CreateDestinationResponse( + contentType, + destinationResponse, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/CreateJobRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/CreateJobRequestBuilder.java new file mode 100644 index 000000000..1ed3238ce --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/CreateJobRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class CreateJobRequestBuilder { + + private com.airbyte.api.models.shared.JobCreateRequest request; + private final SDKMethodInterfaces.MethodCallCreateJob sdk; + + public CreateJobRequestBuilder(SDKMethodInterfaces.MethodCallCreateJob sdk) { + this.sdk = sdk; + } + + public CreateJobRequestBuilder request(com.airbyte.api.models.shared.JobCreateRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public CreateJobResponse call() throws Exception { + + return sdk.createJob( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/CreateJobResponse.java b/src/main/java/com/airbyte/api/models/operations/CreateJobResponse.java new file mode 100644 index 000000000..2484ab794 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/CreateJobResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class CreateJobResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * Kicks off a new Job based on the JobType. The connectionId is the resource that Job will be run for. + */ + private Optional jobResponse; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public CreateJobResponse( + String contentType, + Optional jobResponse, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(jobResponse, "jobResponse"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.jobResponse = jobResponse; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * Kicks off a new Job based on the JobType. The connectionId is the resource that Job will be run for. + */ + public Optional jobResponse() { + return jobResponse; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public CreateJobResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Kicks off a new Job based on the JobType. The connectionId is the resource that Job will be run for. + */ + public CreateJobResponse withJobResponse(com.airbyte.api.models.shared.JobResponse jobResponse) { + Utils.checkNotNull(jobResponse, "jobResponse"); + this.jobResponse = Optional.ofNullable(jobResponse); + return this; + } + + /** + * Kicks off a new Job based on the JobType. The connectionId is the resource that Job will be run for. + */ + public CreateJobResponse withJobResponse(Optional jobResponse) { + Utils.checkNotNull(jobResponse, "jobResponse"); + this.jobResponse = jobResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public CreateJobResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public CreateJobResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateJobResponse other = (CreateJobResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.jobResponse, other.jobResponse) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + jobResponse, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(CreateJobResponse.class, + "contentType", contentType, + "jobResponse", jobResponse, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Optional jobResponse = Optional.empty(); + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Kicks off a new Job based on the JobType. The connectionId is the resource that Job will be run for. + */ + public Builder jobResponse(com.airbyte.api.models.shared.JobResponse jobResponse) { + Utils.checkNotNull(jobResponse, "jobResponse"); + this.jobResponse = Optional.ofNullable(jobResponse); + return this; + } + + /** + * Kicks off a new Job based on the JobType. The connectionId is the resource that Job will be run for. + */ + public Builder jobResponse(Optional jobResponse) { + Utils.checkNotNull(jobResponse, "jobResponse"); + this.jobResponse = jobResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public CreateJobResponse build() { + return new CreateJobResponse( + contentType, + jobResponse, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsRequest.java b/src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsRequest.java new file mode 100644 index 000000000..aae17ae85 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsRequest.java @@ -0,0 +1,115 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class CreateOrUpdateWorkspaceOAuthCredentialsRequest { + + @SpeakeasyMetadata("request:mediaType=application/json") + private com.airbyte.api.models.shared.WorkspaceOAuthCredentialsRequest workspaceOAuthCredentialsRequest; + + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=workspaceId") + private String workspaceId; + + public CreateOrUpdateWorkspaceOAuthCredentialsRequest( + com.airbyte.api.models.shared.WorkspaceOAuthCredentialsRequest workspaceOAuthCredentialsRequest, + String workspaceId) { + Utils.checkNotNull(workspaceOAuthCredentialsRequest, "workspaceOAuthCredentialsRequest"); + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceOAuthCredentialsRequest = workspaceOAuthCredentialsRequest; + this.workspaceId = workspaceId; + } + + public com.airbyte.api.models.shared.WorkspaceOAuthCredentialsRequest workspaceOAuthCredentialsRequest() { + return workspaceOAuthCredentialsRequest; + } + + public String workspaceId() { + return workspaceId; + } + + public final static Builder builder() { + return new Builder(); + } + + public CreateOrUpdateWorkspaceOAuthCredentialsRequest withWorkspaceOAuthCredentialsRequest(com.airbyte.api.models.shared.WorkspaceOAuthCredentialsRequest workspaceOAuthCredentialsRequest) { + Utils.checkNotNull(workspaceOAuthCredentialsRequest, "workspaceOAuthCredentialsRequest"); + this.workspaceOAuthCredentialsRequest = workspaceOAuthCredentialsRequest; + return this; + } + + public CreateOrUpdateWorkspaceOAuthCredentialsRequest withWorkspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateOrUpdateWorkspaceOAuthCredentialsRequest other = (CreateOrUpdateWorkspaceOAuthCredentialsRequest) o; + return + java.util.Objects.deepEquals(this.workspaceOAuthCredentialsRequest, other.workspaceOAuthCredentialsRequest) && + java.util.Objects.deepEquals(this.workspaceId, other.workspaceId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + workspaceOAuthCredentialsRequest, + workspaceId); + } + + @Override + public String toString() { + return Utils.toString(CreateOrUpdateWorkspaceOAuthCredentialsRequest.class, + "workspaceOAuthCredentialsRequest", workspaceOAuthCredentialsRequest, + "workspaceId", workspaceId); + } + + public final static class Builder { + + private com.airbyte.api.models.shared.WorkspaceOAuthCredentialsRequest workspaceOAuthCredentialsRequest; + + private String workspaceId; + + private Builder() { + // force use of static builder() method + } + + public Builder workspaceOAuthCredentialsRequest(com.airbyte.api.models.shared.WorkspaceOAuthCredentialsRequest workspaceOAuthCredentialsRequest) { + Utils.checkNotNull(workspaceOAuthCredentialsRequest, "workspaceOAuthCredentialsRequest"); + this.workspaceOAuthCredentialsRequest = workspaceOAuthCredentialsRequest; + return this; + } + + public Builder workspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + public CreateOrUpdateWorkspaceOAuthCredentialsRequest build() { + return new CreateOrUpdateWorkspaceOAuthCredentialsRequest( + workspaceOAuthCredentialsRequest, + workspaceId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsRequestBuilder.java new file mode 100644 index 000000000..ae6ff56aa --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class CreateOrUpdateWorkspaceOAuthCredentialsRequestBuilder { + + private CreateOrUpdateWorkspaceOAuthCredentialsRequest request; + private final SDKMethodInterfaces.MethodCallCreateOrUpdateWorkspaceOAuthCredentials sdk; + + public CreateOrUpdateWorkspaceOAuthCredentialsRequestBuilder(SDKMethodInterfaces.MethodCallCreateOrUpdateWorkspaceOAuthCredentials sdk) { + this.sdk = sdk; + } + + public CreateOrUpdateWorkspaceOAuthCredentialsRequestBuilder request(CreateOrUpdateWorkspaceOAuthCredentialsRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public CreateOrUpdateWorkspaceOAuthCredentialsResponse call() throws Exception { + + return sdk.createOrUpdateWorkspaceOAuthCredentials( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsResponse.java b/src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsResponse.java new file mode 100644 index 000000000..5c7cb6af1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/CreateOrUpdateWorkspaceOAuthCredentialsResponse.java @@ -0,0 +1,176 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; + + +public class CreateOrUpdateWorkspaceOAuthCredentialsResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public CreateOrUpdateWorkspaceOAuthCredentialsResponse( + String contentType, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public CreateOrUpdateWorkspaceOAuthCredentialsResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public CreateOrUpdateWorkspaceOAuthCredentialsResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public CreateOrUpdateWorkspaceOAuthCredentialsResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateOrUpdateWorkspaceOAuthCredentialsResponse other = (CreateOrUpdateWorkspaceOAuthCredentialsResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(CreateOrUpdateWorkspaceOAuthCredentialsResponse.class, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public CreateOrUpdateWorkspaceOAuthCredentialsResponse build() { + return new CreateOrUpdateWorkspaceOAuthCredentialsResponse( + contentType, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/CreateSourceRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/CreateSourceRequestBuilder.java new file mode 100644 index 000000000..7b002338f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/CreateSourceRequestBuilder.java @@ -0,0 +1,46 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class CreateSourceRequestBuilder { + + private Optional request = Optional.empty(); + private final SDKMethodInterfaces.MethodCallCreateSource sdk; + + public CreateSourceRequestBuilder(SDKMethodInterfaces.MethodCallCreateSource sdk) { + this.sdk = sdk; + } + + public CreateSourceRequestBuilder request(com.airbyte.api.models.shared.SourceCreateRequest request) { + Utils.checkNotNull(request, "request"); + this.request = Optional.of(request); + return this; + } + + public CreateSourceRequestBuilder request(Optional request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public CreateSourceResponse call() throws Exception { + + return sdk.createSource( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/CreateSourceResponse.java b/src/main/java/com/airbyte/api/models/operations/CreateSourceResponse.java new file mode 100644 index 000000000..0111184d6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/CreateSourceResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class CreateSourceResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * Successful operation + */ + private Optional sourceResponse; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public CreateSourceResponse( + String contentType, + Optional sourceResponse, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(sourceResponse, "sourceResponse"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.sourceResponse = sourceResponse; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * Successful operation + */ + public Optional sourceResponse() { + return sourceResponse; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public CreateSourceResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Successful operation + */ + public CreateSourceResponse withSourceResponse(com.airbyte.api.models.shared.SourceResponse sourceResponse) { + Utils.checkNotNull(sourceResponse, "sourceResponse"); + this.sourceResponse = Optional.ofNullable(sourceResponse); + return this; + } + + /** + * Successful operation + */ + public CreateSourceResponse withSourceResponse(Optional sourceResponse) { + Utils.checkNotNull(sourceResponse, "sourceResponse"); + this.sourceResponse = sourceResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public CreateSourceResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public CreateSourceResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateSourceResponse other = (CreateSourceResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.sourceResponse, other.sourceResponse) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + sourceResponse, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(CreateSourceResponse.class, + "contentType", contentType, + "sourceResponse", sourceResponse, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Optional sourceResponse = Optional.empty(); + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Successful operation + */ + public Builder sourceResponse(com.airbyte.api.models.shared.SourceResponse sourceResponse) { + Utils.checkNotNull(sourceResponse, "sourceResponse"); + this.sourceResponse = Optional.ofNullable(sourceResponse); + return this; + } + + /** + * Successful operation + */ + public Builder sourceResponse(Optional sourceResponse) { + Utils.checkNotNull(sourceResponse, "sourceResponse"); + this.sourceResponse = sourceResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public CreateSourceResponse build() { + return new CreateSourceResponse( + contentType, + sourceResponse, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/CreateWorkspaceRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/CreateWorkspaceRequestBuilder.java new file mode 100644 index 000000000..a68c6a77d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/CreateWorkspaceRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class CreateWorkspaceRequestBuilder { + + private com.airbyte.api.models.shared.WorkspaceCreateRequest request; + private final SDKMethodInterfaces.MethodCallCreateWorkspace sdk; + + public CreateWorkspaceRequestBuilder(SDKMethodInterfaces.MethodCallCreateWorkspace sdk) { + this.sdk = sdk; + } + + public CreateWorkspaceRequestBuilder request(com.airbyte.api.models.shared.WorkspaceCreateRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public CreateWorkspaceResponse call() throws Exception { + + return sdk.createWorkspace( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/CreateWorkspaceResponse.java b/src/main/java/com/airbyte/api/models/operations/CreateWorkspaceResponse.java new file mode 100644 index 000000000..3a9dc0988 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/CreateWorkspaceResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class CreateWorkspaceResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + /** + * Successful operation + */ + private Optional workspaceResponse; + + public CreateWorkspaceResponse( + String contentType, + int statusCode, + HttpResponse rawResponse, + Optional workspaceResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + Utils.checkNotNull(workspaceResponse, "workspaceResponse"); + this.contentType = contentType; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + this.workspaceResponse = workspaceResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + /** + * Successful operation + */ + public Optional workspaceResponse() { + return workspaceResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public CreateWorkspaceResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public CreateWorkspaceResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public CreateWorkspaceResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + /** + * Successful operation + */ + public CreateWorkspaceResponse withWorkspaceResponse(com.airbyte.api.models.shared.WorkspaceResponse workspaceResponse) { + Utils.checkNotNull(workspaceResponse, "workspaceResponse"); + this.workspaceResponse = Optional.ofNullable(workspaceResponse); + return this; + } + + /** + * Successful operation + */ + public CreateWorkspaceResponse withWorkspaceResponse(Optional workspaceResponse) { + Utils.checkNotNull(workspaceResponse, "workspaceResponse"); + this.workspaceResponse = workspaceResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateWorkspaceResponse other = (CreateWorkspaceResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse) && + java.util.Objects.deepEquals(this.workspaceResponse, other.workspaceResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + statusCode, + rawResponse, + workspaceResponse); + } + + @Override + public String toString() { + return Utils.toString(CreateWorkspaceResponse.class, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse, + "workspaceResponse", workspaceResponse); + } + + public final static class Builder { + + private String contentType; + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Optional workspaceResponse = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + /** + * Successful operation + */ + public Builder workspaceResponse(com.airbyte.api.models.shared.WorkspaceResponse workspaceResponse) { + Utils.checkNotNull(workspaceResponse, "workspaceResponse"); + this.workspaceResponse = Optional.ofNullable(workspaceResponse); + return this; + } + + /** + * Successful operation + */ + public Builder workspaceResponse(Optional workspaceResponse) { + Utils.checkNotNull(workspaceResponse, "workspaceResponse"); + this.workspaceResponse = workspaceResponse; + return this; + } + + public CreateWorkspaceResponse build() { + return new CreateWorkspaceResponse( + contentType, + statusCode, + rawResponse, + workspaceResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/DeleteConnectionRequest.java b/src/main/java/com/airbyte/api/models/operations/DeleteConnectionRequest.java new file mode 100644 index 000000000..12c4eca8d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/DeleteConnectionRequest.java @@ -0,0 +1,87 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DeleteConnectionRequest { + + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=connectionId") + private String connectionId; + + public DeleteConnectionRequest( + String connectionId) { + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionId = connectionId; + } + + public String connectionId() { + return connectionId; + } + + public final static Builder builder() { + return new Builder(); + } + + public DeleteConnectionRequest withConnectionId(String connectionId) { + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionId = connectionId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeleteConnectionRequest other = (DeleteConnectionRequest) o; + return + java.util.Objects.deepEquals(this.connectionId, other.connectionId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + connectionId); + } + + @Override + public String toString() { + return Utils.toString(DeleteConnectionRequest.class, + "connectionId", connectionId); + } + + public final static class Builder { + + private String connectionId; + + private Builder() { + // force use of static builder() method + } + + public Builder connectionId(String connectionId) { + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionId = connectionId; + return this; + } + + public DeleteConnectionRequest build() { + return new DeleteConnectionRequest( + connectionId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/DeleteConnectionRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/DeleteConnectionRequestBuilder.java new file mode 100644 index 000000000..b20854884 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/DeleteConnectionRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class DeleteConnectionRequestBuilder { + + private DeleteConnectionRequest request; + private final SDKMethodInterfaces.MethodCallDeleteConnection sdk; + + public DeleteConnectionRequestBuilder(SDKMethodInterfaces.MethodCallDeleteConnection sdk) { + this.sdk = sdk; + } + + public DeleteConnectionRequestBuilder request(DeleteConnectionRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public DeleteConnectionResponse call() throws Exception { + + return sdk.deleteConnection( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/DeleteConnectionResponse.java b/src/main/java/com/airbyte/api/models/operations/DeleteConnectionResponse.java new file mode 100644 index 000000000..04895aff9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/DeleteConnectionResponse.java @@ -0,0 +1,176 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; + + +public class DeleteConnectionResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public DeleteConnectionResponse( + String contentType, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public DeleteConnectionResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public DeleteConnectionResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public DeleteConnectionResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeleteConnectionResponse other = (DeleteConnectionResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(DeleteConnectionResponse.class, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public DeleteConnectionResponse build() { + return new DeleteConnectionResponse( + contentType, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/DeleteDestinationRequest.java b/src/main/java/com/airbyte/api/models/operations/DeleteDestinationRequest.java new file mode 100644 index 000000000..77ea30cac --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/DeleteDestinationRequest.java @@ -0,0 +1,87 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DeleteDestinationRequest { + + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=destinationId") + private String destinationId; + + public DeleteDestinationRequest( + String destinationId) { + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationId = destinationId; + } + + public String destinationId() { + return destinationId; + } + + public final static Builder builder() { + return new Builder(); + } + + public DeleteDestinationRequest withDestinationId(String destinationId) { + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationId = destinationId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeleteDestinationRequest other = (DeleteDestinationRequest) o; + return + java.util.Objects.deepEquals(this.destinationId, other.destinationId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + destinationId); + } + + @Override + public String toString() { + return Utils.toString(DeleteDestinationRequest.class, + "destinationId", destinationId); + } + + public final static class Builder { + + private String destinationId; + + private Builder() { + // force use of static builder() method + } + + public Builder destinationId(String destinationId) { + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationId = destinationId; + return this; + } + + public DeleteDestinationRequest build() { + return new DeleteDestinationRequest( + destinationId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/DeleteDestinationRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/DeleteDestinationRequestBuilder.java new file mode 100644 index 000000000..2ce4e51e5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/DeleteDestinationRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class DeleteDestinationRequestBuilder { + + private DeleteDestinationRequest request; + private final SDKMethodInterfaces.MethodCallDeleteDestination sdk; + + public DeleteDestinationRequestBuilder(SDKMethodInterfaces.MethodCallDeleteDestination sdk) { + this.sdk = sdk; + } + + public DeleteDestinationRequestBuilder request(DeleteDestinationRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public DeleteDestinationResponse call() throws Exception { + + return sdk.deleteDestination( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/DeleteDestinationResponse.java b/src/main/java/com/airbyte/api/models/operations/DeleteDestinationResponse.java new file mode 100644 index 000000000..e5711dec1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/DeleteDestinationResponse.java @@ -0,0 +1,176 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; + + +public class DeleteDestinationResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public DeleteDestinationResponse( + String contentType, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public DeleteDestinationResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public DeleteDestinationResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public DeleteDestinationResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeleteDestinationResponse other = (DeleteDestinationResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(DeleteDestinationResponse.class, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public DeleteDestinationResponse build() { + return new DeleteDestinationResponse( + contentType, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/DeleteSourceRequest.java b/src/main/java/com/airbyte/api/models/operations/DeleteSourceRequest.java new file mode 100644 index 000000000..9ef163569 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/DeleteSourceRequest.java @@ -0,0 +1,87 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DeleteSourceRequest { + + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sourceId") + private String sourceId; + + public DeleteSourceRequest( + String sourceId) { + Utils.checkNotNull(sourceId, "sourceId"); + this.sourceId = sourceId; + } + + public String sourceId() { + return sourceId; + } + + public final static Builder builder() { + return new Builder(); + } + + public DeleteSourceRequest withSourceId(String sourceId) { + Utils.checkNotNull(sourceId, "sourceId"); + this.sourceId = sourceId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeleteSourceRequest other = (DeleteSourceRequest) o; + return + java.util.Objects.deepEquals(this.sourceId, other.sourceId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sourceId); + } + + @Override + public String toString() { + return Utils.toString(DeleteSourceRequest.class, + "sourceId", sourceId); + } + + public final static class Builder { + + private String sourceId; + + private Builder() { + // force use of static builder() method + } + + public Builder sourceId(String sourceId) { + Utils.checkNotNull(sourceId, "sourceId"); + this.sourceId = sourceId; + return this; + } + + public DeleteSourceRequest build() { + return new DeleteSourceRequest( + sourceId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/DeleteSourceRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/DeleteSourceRequestBuilder.java new file mode 100644 index 000000000..fbcd361dd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/DeleteSourceRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class DeleteSourceRequestBuilder { + + private DeleteSourceRequest request; + private final SDKMethodInterfaces.MethodCallDeleteSource sdk; + + public DeleteSourceRequestBuilder(SDKMethodInterfaces.MethodCallDeleteSource sdk) { + this.sdk = sdk; + } + + public DeleteSourceRequestBuilder request(DeleteSourceRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public DeleteSourceResponse call() throws Exception { + + return sdk.deleteSource( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/DeleteSourceResponse.java b/src/main/java/com/airbyte/api/models/operations/DeleteSourceResponse.java new file mode 100644 index 000000000..1cc4eb48b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/DeleteSourceResponse.java @@ -0,0 +1,176 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; + + +public class DeleteSourceResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public DeleteSourceResponse( + String contentType, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public DeleteSourceResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public DeleteSourceResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public DeleteSourceResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeleteSourceResponse other = (DeleteSourceResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(DeleteSourceResponse.class, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public DeleteSourceResponse build() { + return new DeleteSourceResponse( + contentType, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceRequest.java b/src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceRequest.java new file mode 100644 index 000000000..ea2fb7408 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceRequest.java @@ -0,0 +1,87 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DeleteWorkspaceRequest { + + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=workspaceId") + private String workspaceId; + + public DeleteWorkspaceRequest( + String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + } + + public String workspaceId() { + return workspaceId; + } + + public final static Builder builder() { + return new Builder(); + } + + public DeleteWorkspaceRequest withWorkspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeleteWorkspaceRequest other = (DeleteWorkspaceRequest) o; + return + java.util.Objects.deepEquals(this.workspaceId, other.workspaceId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + workspaceId); + } + + @Override + public String toString() { + return Utils.toString(DeleteWorkspaceRequest.class, + "workspaceId", workspaceId); + } + + public final static class Builder { + + private String workspaceId; + + private Builder() { + // force use of static builder() method + } + + public Builder workspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + public DeleteWorkspaceRequest build() { + return new DeleteWorkspaceRequest( + workspaceId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceRequestBuilder.java new file mode 100644 index 000000000..1d20977fa --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class DeleteWorkspaceRequestBuilder { + + private DeleteWorkspaceRequest request; + private final SDKMethodInterfaces.MethodCallDeleteWorkspace sdk; + + public DeleteWorkspaceRequestBuilder(SDKMethodInterfaces.MethodCallDeleteWorkspace sdk) { + this.sdk = sdk; + } + + public DeleteWorkspaceRequestBuilder request(DeleteWorkspaceRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public DeleteWorkspaceResponse call() throws Exception { + + return sdk.deleteWorkspace( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceResponse.java b/src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceResponse.java new file mode 100644 index 000000000..3b45f948b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/DeleteWorkspaceResponse.java @@ -0,0 +1,176 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; + + +public class DeleteWorkspaceResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public DeleteWorkspaceResponse( + String contentType, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public DeleteWorkspaceResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public DeleteWorkspaceResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public DeleteWorkspaceResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeleteWorkspaceResponse other = (DeleteWorkspaceResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(DeleteWorkspaceResponse.class, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public DeleteWorkspaceResponse build() { + return new DeleteWorkspaceResponse( + contentType, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/GetConnectionRequest.java b/src/main/java/com/airbyte/api/models/operations/GetConnectionRequest.java new file mode 100644 index 000000000..6389d6f60 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/GetConnectionRequest.java @@ -0,0 +1,87 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class GetConnectionRequest { + + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=connectionId") + private String connectionId; + + public GetConnectionRequest( + String connectionId) { + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionId = connectionId; + } + + public String connectionId() { + return connectionId; + } + + public final static Builder builder() { + return new Builder(); + } + + public GetConnectionRequest withConnectionId(String connectionId) { + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionId = connectionId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetConnectionRequest other = (GetConnectionRequest) o; + return + java.util.Objects.deepEquals(this.connectionId, other.connectionId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + connectionId); + } + + @Override + public String toString() { + return Utils.toString(GetConnectionRequest.class, + "connectionId", connectionId); + } + + public final static class Builder { + + private String connectionId; + + private Builder() { + // force use of static builder() method + } + + public Builder connectionId(String connectionId) { + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionId = connectionId; + return this; + } + + public GetConnectionRequest build() { + return new GetConnectionRequest( + connectionId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/GetConnectionRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/GetConnectionRequestBuilder.java new file mode 100644 index 000000000..f87148fbd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/GetConnectionRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class GetConnectionRequestBuilder { + + private GetConnectionRequest request; + private final SDKMethodInterfaces.MethodCallGetConnection sdk; + + public GetConnectionRequestBuilder(SDKMethodInterfaces.MethodCallGetConnection sdk) { + this.sdk = sdk; + } + + public GetConnectionRequestBuilder request(GetConnectionRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public GetConnectionResponse call() throws Exception { + + return sdk.getConnection( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/GetConnectionResponse.java b/src/main/java/com/airbyte/api/models/operations/GetConnectionResponse.java new file mode 100644 index 000000000..76037434e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/GetConnectionResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class GetConnectionResponse implements com.airbyte.api.utils.Response { + + /** + * Get a Connection by the id in the path. + */ + private Optional connectionResponse; + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public GetConnectionResponse( + Optional connectionResponse, + String contentType, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(connectionResponse, "connectionResponse"); + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.connectionResponse = connectionResponse; + this.contentType = contentType; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * Get a Connection by the id in the path. + */ + public Optional connectionResponse() { + return connectionResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Get a Connection by the id in the path. + */ + public GetConnectionResponse withConnectionResponse(com.airbyte.api.models.shared.ConnectionResponse connectionResponse) { + Utils.checkNotNull(connectionResponse, "connectionResponse"); + this.connectionResponse = Optional.ofNullable(connectionResponse); + return this; + } + + /** + * Get a Connection by the id in the path. + */ + public GetConnectionResponse withConnectionResponse(Optional connectionResponse) { + Utils.checkNotNull(connectionResponse, "connectionResponse"); + this.connectionResponse = connectionResponse; + return this; + } + + /** + * HTTP response content type for this operation + */ + public GetConnectionResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public GetConnectionResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public GetConnectionResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetConnectionResponse other = (GetConnectionResponse) o; + return + java.util.Objects.deepEquals(this.connectionResponse, other.connectionResponse) && + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + connectionResponse, + contentType, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(GetConnectionResponse.class, + "connectionResponse", connectionResponse, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private Optional connectionResponse = Optional.empty(); + + private String contentType; + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * Get a Connection by the id in the path. + */ + public Builder connectionResponse(com.airbyte.api.models.shared.ConnectionResponse connectionResponse) { + Utils.checkNotNull(connectionResponse, "connectionResponse"); + this.connectionResponse = Optional.ofNullable(connectionResponse); + return this; + } + + /** + * Get a Connection by the id in the path. + */ + public Builder connectionResponse(Optional connectionResponse) { + Utils.checkNotNull(connectionResponse, "connectionResponse"); + this.connectionResponse = connectionResponse; + return this; + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public GetConnectionResponse build() { + return new GetConnectionResponse( + connectionResponse, + contentType, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/GetDestinationRequest.java b/src/main/java/com/airbyte/api/models/operations/GetDestinationRequest.java new file mode 100644 index 000000000..fd71f0dd2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/GetDestinationRequest.java @@ -0,0 +1,87 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class GetDestinationRequest { + + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=destinationId") + private String destinationId; + + public GetDestinationRequest( + String destinationId) { + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationId = destinationId; + } + + public String destinationId() { + return destinationId; + } + + public final static Builder builder() { + return new Builder(); + } + + public GetDestinationRequest withDestinationId(String destinationId) { + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationId = destinationId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetDestinationRequest other = (GetDestinationRequest) o; + return + java.util.Objects.deepEquals(this.destinationId, other.destinationId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + destinationId); + } + + @Override + public String toString() { + return Utils.toString(GetDestinationRequest.class, + "destinationId", destinationId); + } + + public final static class Builder { + + private String destinationId; + + private Builder() { + // force use of static builder() method + } + + public Builder destinationId(String destinationId) { + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationId = destinationId; + return this; + } + + public GetDestinationRequest build() { + return new GetDestinationRequest( + destinationId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/GetDestinationRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/GetDestinationRequestBuilder.java new file mode 100644 index 000000000..bdffa45d7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/GetDestinationRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class GetDestinationRequestBuilder { + + private GetDestinationRequest request; + private final SDKMethodInterfaces.MethodCallGetDestination sdk; + + public GetDestinationRequestBuilder(SDKMethodInterfaces.MethodCallGetDestination sdk) { + this.sdk = sdk; + } + + public GetDestinationRequestBuilder request(GetDestinationRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public GetDestinationResponse call() throws Exception { + + return sdk.getDestination( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/GetDestinationResponse.java b/src/main/java/com/airbyte/api/models/operations/GetDestinationResponse.java new file mode 100644 index 000000000..6cccc91ff --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/GetDestinationResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class GetDestinationResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * Get a Destination by the id in the path. + */ + private Optional destinationResponse; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public GetDestinationResponse( + String contentType, + Optional destinationResponse, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(destinationResponse, "destinationResponse"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.destinationResponse = destinationResponse; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * Get a Destination by the id in the path. + */ + public Optional destinationResponse() { + return destinationResponse; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public GetDestinationResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Get a Destination by the id in the path. + */ + public GetDestinationResponse withDestinationResponse(com.airbyte.api.models.shared.DestinationResponse destinationResponse) { + Utils.checkNotNull(destinationResponse, "destinationResponse"); + this.destinationResponse = Optional.ofNullable(destinationResponse); + return this; + } + + /** + * Get a Destination by the id in the path. + */ + public GetDestinationResponse withDestinationResponse(Optional destinationResponse) { + Utils.checkNotNull(destinationResponse, "destinationResponse"); + this.destinationResponse = destinationResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public GetDestinationResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public GetDestinationResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetDestinationResponse other = (GetDestinationResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.destinationResponse, other.destinationResponse) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + destinationResponse, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(GetDestinationResponse.class, + "contentType", contentType, + "destinationResponse", destinationResponse, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Optional destinationResponse = Optional.empty(); + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Get a Destination by the id in the path. + */ + public Builder destinationResponse(com.airbyte.api.models.shared.DestinationResponse destinationResponse) { + Utils.checkNotNull(destinationResponse, "destinationResponse"); + this.destinationResponse = Optional.ofNullable(destinationResponse); + return this; + } + + /** + * Get a Destination by the id in the path. + */ + public Builder destinationResponse(Optional destinationResponse) { + Utils.checkNotNull(destinationResponse, "destinationResponse"); + this.destinationResponse = destinationResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public GetDestinationResponse build() { + return new GetDestinationResponse( + contentType, + destinationResponse, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/GetJobRequest.java b/src/main/java/com/airbyte/api/models/operations/GetJobRequest.java new file mode 100644 index 000000000..7f556d578 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/GetJobRequest.java @@ -0,0 +1,87 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class GetJobRequest { + + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=jobId") + private long jobId; + + public GetJobRequest( + long jobId) { + Utils.checkNotNull(jobId, "jobId"); + this.jobId = jobId; + } + + public long jobId() { + return jobId; + } + + public final static Builder builder() { + return new Builder(); + } + + public GetJobRequest withJobId(long jobId) { + Utils.checkNotNull(jobId, "jobId"); + this.jobId = jobId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetJobRequest other = (GetJobRequest) o; + return + java.util.Objects.deepEquals(this.jobId, other.jobId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + jobId); + } + + @Override + public String toString() { + return Utils.toString(GetJobRequest.class, + "jobId", jobId); + } + + public final static class Builder { + + private Long jobId; + + private Builder() { + // force use of static builder() method + } + + public Builder jobId(long jobId) { + Utils.checkNotNull(jobId, "jobId"); + this.jobId = jobId; + return this; + } + + public GetJobRequest build() { + return new GetJobRequest( + jobId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/GetJobRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/GetJobRequestBuilder.java new file mode 100644 index 000000000..e7f53caae --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/GetJobRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class GetJobRequestBuilder { + + private GetJobRequest request; + private final SDKMethodInterfaces.MethodCallGetJob sdk; + + public GetJobRequestBuilder(SDKMethodInterfaces.MethodCallGetJob sdk) { + this.sdk = sdk; + } + + public GetJobRequestBuilder request(GetJobRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public GetJobResponse call() throws Exception { + + return sdk.getJob( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/GetJobResponse.java b/src/main/java/com/airbyte/api/models/operations/GetJobResponse.java new file mode 100644 index 000000000..210a85a19 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/GetJobResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class GetJobResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * Get a Job by the id in the path. + */ + private Optional jobResponse; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public GetJobResponse( + String contentType, + Optional jobResponse, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(jobResponse, "jobResponse"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.jobResponse = jobResponse; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * Get a Job by the id in the path. + */ + public Optional jobResponse() { + return jobResponse; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public GetJobResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Get a Job by the id in the path. + */ + public GetJobResponse withJobResponse(com.airbyte.api.models.shared.JobResponse jobResponse) { + Utils.checkNotNull(jobResponse, "jobResponse"); + this.jobResponse = Optional.ofNullable(jobResponse); + return this; + } + + /** + * Get a Job by the id in the path. + */ + public GetJobResponse withJobResponse(Optional jobResponse) { + Utils.checkNotNull(jobResponse, "jobResponse"); + this.jobResponse = jobResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public GetJobResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public GetJobResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetJobResponse other = (GetJobResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.jobResponse, other.jobResponse) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + jobResponse, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(GetJobResponse.class, + "contentType", contentType, + "jobResponse", jobResponse, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Optional jobResponse = Optional.empty(); + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Get a Job by the id in the path. + */ + public Builder jobResponse(com.airbyte.api.models.shared.JobResponse jobResponse) { + Utils.checkNotNull(jobResponse, "jobResponse"); + this.jobResponse = Optional.ofNullable(jobResponse); + return this; + } + + /** + * Get a Job by the id in the path. + */ + public Builder jobResponse(Optional jobResponse) { + Utils.checkNotNull(jobResponse, "jobResponse"); + this.jobResponse = jobResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public GetJobResponse build() { + return new GetJobResponse( + contentType, + jobResponse, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/GetSourceRequest.java b/src/main/java/com/airbyte/api/models/operations/GetSourceRequest.java new file mode 100644 index 000000000..6371ffeac --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/GetSourceRequest.java @@ -0,0 +1,87 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class GetSourceRequest { + + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sourceId") + private String sourceId; + + public GetSourceRequest( + String sourceId) { + Utils.checkNotNull(sourceId, "sourceId"); + this.sourceId = sourceId; + } + + public String sourceId() { + return sourceId; + } + + public final static Builder builder() { + return new Builder(); + } + + public GetSourceRequest withSourceId(String sourceId) { + Utils.checkNotNull(sourceId, "sourceId"); + this.sourceId = sourceId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetSourceRequest other = (GetSourceRequest) o; + return + java.util.Objects.deepEquals(this.sourceId, other.sourceId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sourceId); + } + + @Override + public String toString() { + return Utils.toString(GetSourceRequest.class, + "sourceId", sourceId); + } + + public final static class Builder { + + private String sourceId; + + private Builder() { + // force use of static builder() method + } + + public Builder sourceId(String sourceId) { + Utils.checkNotNull(sourceId, "sourceId"); + this.sourceId = sourceId; + return this; + } + + public GetSourceRequest build() { + return new GetSourceRequest( + sourceId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/GetSourceRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/GetSourceRequestBuilder.java new file mode 100644 index 000000000..efe6843e3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/GetSourceRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class GetSourceRequestBuilder { + + private GetSourceRequest request; + private final SDKMethodInterfaces.MethodCallGetSource sdk; + + public GetSourceRequestBuilder(SDKMethodInterfaces.MethodCallGetSource sdk) { + this.sdk = sdk; + } + + public GetSourceRequestBuilder request(GetSourceRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public GetSourceResponse call() throws Exception { + + return sdk.getSource( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/GetSourceResponse.java b/src/main/java/com/airbyte/api/models/operations/GetSourceResponse.java new file mode 100644 index 000000000..dbf3692de --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/GetSourceResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class GetSourceResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * Get a Source by the id in the path. + */ + private Optional sourceResponse; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public GetSourceResponse( + String contentType, + Optional sourceResponse, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(sourceResponse, "sourceResponse"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.sourceResponse = sourceResponse; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * Get a Source by the id in the path. + */ + public Optional sourceResponse() { + return sourceResponse; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public GetSourceResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Get a Source by the id in the path. + */ + public GetSourceResponse withSourceResponse(com.airbyte.api.models.shared.SourceResponse sourceResponse) { + Utils.checkNotNull(sourceResponse, "sourceResponse"); + this.sourceResponse = Optional.ofNullable(sourceResponse); + return this; + } + + /** + * Get a Source by the id in the path. + */ + public GetSourceResponse withSourceResponse(Optional sourceResponse) { + Utils.checkNotNull(sourceResponse, "sourceResponse"); + this.sourceResponse = sourceResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public GetSourceResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public GetSourceResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetSourceResponse other = (GetSourceResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.sourceResponse, other.sourceResponse) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + sourceResponse, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(GetSourceResponse.class, + "contentType", contentType, + "sourceResponse", sourceResponse, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Optional sourceResponse = Optional.empty(); + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Get a Source by the id in the path. + */ + public Builder sourceResponse(com.airbyte.api.models.shared.SourceResponse sourceResponse) { + Utils.checkNotNull(sourceResponse, "sourceResponse"); + this.sourceResponse = Optional.ofNullable(sourceResponse); + return this; + } + + /** + * Get a Source by the id in the path. + */ + public Builder sourceResponse(Optional sourceResponse) { + Utils.checkNotNull(sourceResponse, "sourceResponse"); + this.sourceResponse = sourceResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public GetSourceResponse build() { + return new GetSourceResponse( + contentType, + sourceResponse, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesRequest.java b/src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesRequest.java new file mode 100644 index 000000000..5050dde7e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesRequest.java @@ -0,0 +1,208 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class GetStreamPropertiesRequest { + + /** + * ID of the destination + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=destinationId") + private String destinationId; + + /** + * If true pull the latest schema from the source, else pull from cache (default false) + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=ignoreCache") + private Optional ignoreCache; + + /** + * ID of the source + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=sourceId") + private String sourceId; + + public GetStreamPropertiesRequest( + String destinationId, + Optional ignoreCache, + String sourceId) { + Utils.checkNotNull(destinationId, "destinationId"); + Utils.checkNotNull(ignoreCache, "ignoreCache"); + Utils.checkNotNull(sourceId, "sourceId"); + this.destinationId = destinationId; + this.ignoreCache = ignoreCache; + this.sourceId = sourceId; + } + + /** + * ID of the destination + */ + public String destinationId() { + return destinationId; + } + + /** + * If true pull the latest schema from the source, else pull from cache (default false) + */ + public Optional ignoreCache() { + return ignoreCache; + } + + /** + * ID of the source + */ + public String sourceId() { + return sourceId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * ID of the destination + */ + public GetStreamPropertiesRequest withDestinationId(String destinationId) { + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationId = destinationId; + return this; + } + + /** + * If true pull the latest schema from the source, else pull from cache (default false) + */ + public GetStreamPropertiesRequest withIgnoreCache(boolean ignoreCache) { + Utils.checkNotNull(ignoreCache, "ignoreCache"); + this.ignoreCache = Optional.ofNullable(ignoreCache); + return this; + } + + /** + * If true pull the latest schema from the source, else pull from cache (default false) + */ + public GetStreamPropertiesRequest withIgnoreCache(Optional ignoreCache) { + Utils.checkNotNull(ignoreCache, "ignoreCache"); + this.ignoreCache = ignoreCache; + return this; + } + + /** + * ID of the source + */ + public GetStreamPropertiesRequest withSourceId(String sourceId) { + Utils.checkNotNull(sourceId, "sourceId"); + this.sourceId = sourceId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetStreamPropertiesRequest other = (GetStreamPropertiesRequest) o; + return + java.util.Objects.deepEquals(this.destinationId, other.destinationId) && + java.util.Objects.deepEquals(this.ignoreCache, other.ignoreCache) && + java.util.Objects.deepEquals(this.sourceId, other.sourceId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + destinationId, + ignoreCache, + sourceId); + } + + @Override + public String toString() { + return Utils.toString(GetStreamPropertiesRequest.class, + "destinationId", destinationId, + "ignoreCache", ignoreCache, + "sourceId", sourceId); + } + + public final static class Builder { + + private String destinationId; + + private Optional ignoreCache; + + private String sourceId; + + private Builder() { + // force use of static builder() method + } + + /** + * ID of the destination + */ + public Builder destinationId(String destinationId) { + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationId = destinationId; + return this; + } + + /** + * If true pull the latest schema from the source, else pull from cache (default false) + */ + public Builder ignoreCache(boolean ignoreCache) { + Utils.checkNotNull(ignoreCache, "ignoreCache"); + this.ignoreCache = Optional.ofNullable(ignoreCache); + return this; + } + + /** + * If true pull the latest schema from the source, else pull from cache (default false) + */ + public Builder ignoreCache(Optional ignoreCache) { + Utils.checkNotNull(ignoreCache, "ignoreCache"); + this.ignoreCache = ignoreCache; + return this; + } + + /** + * ID of the source + */ + public Builder sourceId(String sourceId) { + Utils.checkNotNull(sourceId, "sourceId"); + this.sourceId = sourceId; + return this; + } + + public GetStreamPropertiesRequest build() { + if (ignoreCache == null) { + ignoreCache = _SINGLETON_VALUE_IgnoreCache.value(); + } + return new GetStreamPropertiesRequest( + destinationId, + ignoreCache, + sourceId); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_IgnoreCache = + new LazySingletonValue<>( + "ignoreCache", + "false", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesRequestBuilder.java new file mode 100644 index 000000000..cfe985d7b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class GetStreamPropertiesRequestBuilder { + + private GetStreamPropertiesRequest request; + private final SDKMethodInterfaces.MethodCallGetStreamProperties sdk; + + public GetStreamPropertiesRequestBuilder(SDKMethodInterfaces.MethodCallGetStreamProperties sdk) { + this.sdk = sdk; + } + + public GetStreamPropertiesRequestBuilder request(GetStreamPropertiesRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public GetStreamPropertiesResponse call() throws Exception { + + return sdk.getStreamProperties( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesResponse.java b/src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesResponse.java new file mode 100644 index 000000000..0d265da3d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/GetStreamPropertiesResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class GetStreamPropertiesResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + /** + * Get the available streams properties for a source/destination pair. + */ + private Optional streamPropertiesResponse; + + public GetStreamPropertiesResponse( + String contentType, + int statusCode, + HttpResponse rawResponse, + Optional streamPropertiesResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + Utils.checkNotNull(streamPropertiesResponse, "streamPropertiesResponse"); + this.contentType = contentType; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + this.streamPropertiesResponse = streamPropertiesResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + /** + * Get the available streams properties for a source/destination pair. + */ + public Optional streamPropertiesResponse() { + return streamPropertiesResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public GetStreamPropertiesResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public GetStreamPropertiesResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public GetStreamPropertiesResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + /** + * Get the available streams properties for a source/destination pair. + */ + public GetStreamPropertiesResponse withStreamPropertiesResponse(com.airbyte.api.models.shared.StreamPropertiesResponse streamPropertiesResponse) { + Utils.checkNotNull(streamPropertiesResponse, "streamPropertiesResponse"); + this.streamPropertiesResponse = Optional.ofNullable(streamPropertiesResponse); + return this; + } + + /** + * Get the available streams properties for a source/destination pair. + */ + public GetStreamPropertiesResponse withStreamPropertiesResponse(Optional streamPropertiesResponse) { + Utils.checkNotNull(streamPropertiesResponse, "streamPropertiesResponse"); + this.streamPropertiesResponse = streamPropertiesResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetStreamPropertiesResponse other = (GetStreamPropertiesResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse) && + java.util.Objects.deepEquals(this.streamPropertiesResponse, other.streamPropertiesResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + statusCode, + rawResponse, + streamPropertiesResponse); + } + + @Override + public String toString() { + return Utils.toString(GetStreamPropertiesResponse.class, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse, + "streamPropertiesResponse", streamPropertiesResponse); + } + + public final static class Builder { + + private String contentType; + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Optional streamPropertiesResponse = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + /** + * Get the available streams properties for a source/destination pair. + */ + public Builder streamPropertiesResponse(com.airbyte.api.models.shared.StreamPropertiesResponse streamPropertiesResponse) { + Utils.checkNotNull(streamPropertiesResponse, "streamPropertiesResponse"); + this.streamPropertiesResponse = Optional.ofNullable(streamPropertiesResponse); + return this; + } + + /** + * Get the available streams properties for a source/destination pair. + */ + public Builder streamPropertiesResponse(Optional streamPropertiesResponse) { + Utils.checkNotNull(streamPropertiesResponse, "streamPropertiesResponse"); + this.streamPropertiesResponse = streamPropertiesResponse; + return this; + } + + public GetStreamPropertiesResponse build() { + return new GetStreamPropertiesResponse( + contentType, + statusCode, + rawResponse, + streamPropertiesResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/GetWorkspaceRequest.java b/src/main/java/com/airbyte/api/models/operations/GetWorkspaceRequest.java new file mode 100644 index 000000000..1d617992d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/GetWorkspaceRequest.java @@ -0,0 +1,87 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class GetWorkspaceRequest { + + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=workspaceId") + private String workspaceId; + + public GetWorkspaceRequest( + String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + } + + public String workspaceId() { + return workspaceId; + } + + public final static Builder builder() { + return new Builder(); + } + + public GetWorkspaceRequest withWorkspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetWorkspaceRequest other = (GetWorkspaceRequest) o; + return + java.util.Objects.deepEquals(this.workspaceId, other.workspaceId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + workspaceId); + } + + @Override + public String toString() { + return Utils.toString(GetWorkspaceRequest.class, + "workspaceId", workspaceId); + } + + public final static class Builder { + + private String workspaceId; + + private Builder() { + // force use of static builder() method + } + + public Builder workspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + public GetWorkspaceRequest build() { + return new GetWorkspaceRequest( + workspaceId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/GetWorkspaceRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/GetWorkspaceRequestBuilder.java new file mode 100644 index 000000000..483c0ec3f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/GetWorkspaceRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class GetWorkspaceRequestBuilder { + + private GetWorkspaceRequest request; + private final SDKMethodInterfaces.MethodCallGetWorkspace sdk; + + public GetWorkspaceRequestBuilder(SDKMethodInterfaces.MethodCallGetWorkspace sdk) { + this.sdk = sdk; + } + + public GetWorkspaceRequestBuilder request(GetWorkspaceRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public GetWorkspaceResponse call() throws Exception { + + return sdk.getWorkspace( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/GetWorkspaceResponse.java b/src/main/java/com/airbyte/api/models/operations/GetWorkspaceResponse.java new file mode 100644 index 000000000..662fb7325 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/GetWorkspaceResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class GetWorkspaceResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + /** + * Get a Workspace by the id in the path. + */ + private Optional workspaceResponse; + + public GetWorkspaceResponse( + String contentType, + int statusCode, + HttpResponse rawResponse, + Optional workspaceResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + Utils.checkNotNull(workspaceResponse, "workspaceResponse"); + this.contentType = contentType; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + this.workspaceResponse = workspaceResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + /** + * Get a Workspace by the id in the path. + */ + public Optional workspaceResponse() { + return workspaceResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public GetWorkspaceResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public GetWorkspaceResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public GetWorkspaceResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + /** + * Get a Workspace by the id in the path. + */ + public GetWorkspaceResponse withWorkspaceResponse(com.airbyte.api.models.shared.WorkspaceResponse workspaceResponse) { + Utils.checkNotNull(workspaceResponse, "workspaceResponse"); + this.workspaceResponse = Optional.ofNullable(workspaceResponse); + return this; + } + + /** + * Get a Workspace by the id in the path. + */ + public GetWorkspaceResponse withWorkspaceResponse(Optional workspaceResponse) { + Utils.checkNotNull(workspaceResponse, "workspaceResponse"); + this.workspaceResponse = workspaceResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetWorkspaceResponse other = (GetWorkspaceResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse) && + java.util.Objects.deepEquals(this.workspaceResponse, other.workspaceResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + statusCode, + rawResponse, + workspaceResponse); + } + + @Override + public String toString() { + return Utils.toString(GetWorkspaceResponse.class, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse, + "workspaceResponse", workspaceResponse); + } + + public final static class Builder { + + private String contentType; + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Optional workspaceResponse = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + /** + * Get a Workspace by the id in the path. + */ + public Builder workspaceResponse(com.airbyte.api.models.shared.WorkspaceResponse workspaceResponse) { + Utils.checkNotNull(workspaceResponse, "workspaceResponse"); + this.workspaceResponse = Optional.ofNullable(workspaceResponse); + return this; + } + + /** + * Get a Workspace by the id in the path. + */ + public Builder workspaceResponse(Optional workspaceResponse) { + Utils.checkNotNull(workspaceResponse, "workspaceResponse"); + this.workspaceResponse = workspaceResponse; + return this; + } + + public GetWorkspaceResponse build() { + return new GetWorkspaceResponse( + contentType, + statusCode, + rawResponse, + workspaceResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/InitiateOAuthRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/InitiateOAuthRequestBuilder.java new file mode 100644 index 000000000..bea8b5622 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/InitiateOAuthRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class InitiateOAuthRequestBuilder { + + private com.airbyte.api.models.shared.InitiateOauthRequest request; + private final SDKMethodInterfaces.MethodCallInitiateOAuth sdk; + + public InitiateOAuthRequestBuilder(SDKMethodInterfaces.MethodCallInitiateOAuth sdk) { + this.sdk = sdk; + } + + public InitiateOAuthRequestBuilder request(com.airbyte.api.models.shared.InitiateOauthRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public InitiateOAuthResponse call() throws Exception { + + return sdk.initiateOAuth( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/InitiateOAuthResponse.java b/src/main/java/com/airbyte/api/models/operations/InitiateOAuthResponse.java new file mode 100644 index 000000000..96e3f1823 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/InitiateOAuthResponse.java @@ -0,0 +1,176 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; + + +public class InitiateOAuthResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public InitiateOAuthResponse( + String contentType, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public InitiateOAuthResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public InitiateOAuthResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public InitiateOAuthResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InitiateOAuthResponse other = (InitiateOAuthResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(InitiateOAuthResponse.class, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public InitiateOAuthResponse build() { + return new InitiateOAuthResponse( + contentType, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/ListConnectionsRequest.java b/src/main/java/com/airbyte/api/models/operations/ListConnectionsRequest.java new file mode 100644 index 000000000..eef317862 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/ListConnectionsRequest.java @@ -0,0 +1,320 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ListConnectionsRequest { + + /** + * Include deleted connections in the returned results. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeDeleted") + private Optional includeDeleted; + + /** + * Set the limit on the number of Connections returned. The default is 20. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit") + private Optional limit; + + /** + * Set the offset to start at when returning Connections. The default is 0 + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=offset") + private Optional offset; + + /** + * The UUIDs of the workspaces you wish to list connections for. Empty list will retrieve all allowed workspaces. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=workspaceIds") + private Optional> workspaceIds; + + public ListConnectionsRequest( + Optional includeDeleted, + Optional limit, + Optional offset, + Optional> workspaceIds) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + Utils.checkNotNull(limit, "limit"); + Utils.checkNotNull(offset, "offset"); + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.includeDeleted = includeDeleted; + this.limit = limit; + this.offset = offset; + this.workspaceIds = workspaceIds; + } + + /** + * Include deleted connections in the returned results. + */ + public Optional includeDeleted() { + return includeDeleted; + } + + /** + * Set the limit on the number of Connections returned. The default is 20. + */ + public Optional limit() { + return limit; + } + + /** + * Set the offset to start at when returning Connections. The default is 0 + */ + public Optional offset() { + return offset; + } + + /** + * The UUIDs of the workspaces you wish to list connections for. Empty list will retrieve all allowed workspaces. + */ + public Optional> workspaceIds() { + return workspaceIds; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Include deleted connections in the returned results. + */ + public ListConnectionsRequest withIncludeDeleted(boolean includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = Optional.ofNullable(includeDeleted); + return this; + } + + /** + * Include deleted connections in the returned results. + */ + public ListConnectionsRequest withIncludeDeleted(Optional includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = includeDeleted; + return this; + } + + /** + * Set the limit on the number of Connections returned. The default is 20. + */ + public ListConnectionsRequest withLimit(int limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = Optional.ofNullable(limit); + return this; + } + + /** + * Set the limit on the number of Connections returned. The default is 20. + */ + public ListConnectionsRequest withLimit(Optional limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = limit; + return this; + } + + /** + * Set the offset to start at when returning Connections. The default is 0 + */ + public ListConnectionsRequest withOffset(int offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = Optional.ofNullable(offset); + return this; + } + + /** + * Set the offset to start at when returning Connections. The default is 0 + */ + public ListConnectionsRequest withOffset(Optional offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = offset; + return this; + } + + /** + * The UUIDs of the workspaces you wish to list connections for. Empty list will retrieve all allowed workspaces. + */ + public ListConnectionsRequest withWorkspaceIds(java.util.List workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = Optional.ofNullable(workspaceIds); + return this; + } + + /** + * The UUIDs of the workspaces you wish to list connections for. Empty list will retrieve all allowed workspaces. + */ + public ListConnectionsRequest withWorkspaceIds(Optional> workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = workspaceIds; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ListConnectionsRequest other = (ListConnectionsRequest) o; + return + java.util.Objects.deepEquals(this.includeDeleted, other.includeDeleted) && + java.util.Objects.deepEquals(this.limit, other.limit) && + java.util.Objects.deepEquals(this.offset, other.offset) && + java.util.Objects.deepEquals(this.workspaceIds, other.workspaceIds); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + includeDeleted, + limit, + offset, + workspaceIds); + } + + @Override + public String toString() { + return Utils.toString(ListConnectionsRequest.class, + "includeDeleted", includeDeleted, + "limit", limit, + "offset", offset, + "workspaceIds", workspaceIds); + } + + public final static class Builder { + + private Optional includeDeleted; + + private Optional limit; + + private Optional offset; + + private Optional> workspaceIds = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Include deleted connections in the returned results. + */ + public Builder includeDeleted(boolean includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = Optional.ofNullable(includeDeleted); + return this; + } + + /** + * Include deleted connections in the returned results. + */ + public Builder includeDeleted(Optional includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = includeDeleted; + return this; + } + + /** + * Set the limit on the number of Connections returned. The default is 20. + */ + public Builder limit(int limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = Optional.ofNullable(limit); + return this; + } + + /** + * Set the limit on the number of Connections returned. The default is 20. + */ + public Builder limit(Optional limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = limit; + return this; + } + + /** + * Set the offset to start at when returning Connections. The default is 0 + */ + public Builder offset(int offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = Optional.ofNullable(offset); + return this; + } + + /** + * Set the offset to start at when returning Connections. The default is 0 + */ + public Builder offset(Optional offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = offset; + return this; + } + + /** + * The UUIDs of the workspaces you wish to list connections for. Empty list will retrieve all allowed workspaces. + */ + public Builder workspaceIds(java.util.List workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = Optional.ofNullable(workspaceIds); + return this; + } + + /** + * The UUIDs of the workspaces you wish to list connections for. Empty list will retrieve all allowed workspaces. + */ + public Builder workspaceIds(Optional> workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = workspaceIds; + return this; + } + + public ListConnectionsRequest build() { + if (includeDeleted == null) { + includeDeleted = _SINGLETON_VALUE_IncludeDeleted.value(); + } + if (limit == null) { + limit = _SINGLETON_VALUE_Limit.value(); + } + if (offset == null) { + offset = _SINGLETON_VALUE_Offset.value(); + } + return new ListConnectionsRequest( + includeDeleted, + limit, + offset, + workspaceIds); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_IncludeDeleted = + new LazySingletonValue<>( + "includeDeleted", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Limit = + new LazySingletonValue<>( + "limit", + "20", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Offset = + new LazySingletonValue<>( + "offset", + "0", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/ListConnectionsRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/ListConnectionsRequestBuilder.java new file mode 100644 index 000000000..09ace3f69 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/ListConnectionsRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class ListConnectionsRequestBuilder { + + private ListConnectionsRequest request; + private final SDKMethodInterfaces.MethodCallListConnections sdk; + + public ListConnectionsRequestBuilder(SDKMethodInterfaces.MethodCallListConnections sdk) { + this.sdk = sdk; + } + + public ListConnectionsRequestBuilder request(ListConnectionsRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public ListConnectionsResponse call() throws Exception { + + return sdk.listConnections( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/ListConnectionsResponse.java b/src/main/java/com/airbyte/api/models/operations/ListConnectionsResponse.java new file mode 100644 index 000000000..c1547bac3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/ListConnectionsResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class ListConnectionsResponse implements com.airbyte.api.utils.Response { + + /** + * Successful operation + */ + private Optional connectionsResponse; + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public ListConnectionsResponse( + Optional connectionsResponse, + String contentType, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(connectionsResponse, "connectionsResponse"); + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.connectionsResponse = connectionsResponse; + this.contentType = contentType; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * Successful operation + */ + public Optional connectionsResponse() { + return connectionsResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Successful operation + */ + public ListConnectionsResponse withConnectionsResponse(com.airbyte.api.models.shared.ConnectionsResponse connectionsResponse) { + Utils.checkNotNull(connectionsResponse, "connectionsResponse"); + this.connectionsResponse = Optional.ofNullable(connectionsResponse); + return this; + } + + /** + * Successful operation + */ + public ListConnectionsResponse withConnectionsResponse(Optional connectionsResponse) { + Utils.checkNotNull(connectionsResponse, "connectionsResponse"); + this.connectionsResponse = connectionsResponse; + return this; + } + + /** + * HTTP response content type for this operation + */ + public ListConnectionsResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public ListConnectionsResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public ListConnectionsResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ListConnectionsResponse other = (ListConnectionsResponse) o; + return + java.util.Objects.deepEquals(this.connectionsResponse, other.connectionsResponse) && + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + connectionsResponse, + contentType, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(ListConnectionsResponse.class, + "connectionsResponse", connectionsResponse, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private Optional connectionsResponse = Optional.empty(); + + private String contentType; + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * Successful operation + */ + public Builder connectionsResponse(com.airbyte.api.models.shared.ConnectionsResponse connectionsResponse) { + Utils.checkNotNull(connectionsResponse, "connectionsResponse"); + this.connectionsResponse = Optional.ofNullable(connectionsResponse); + return this; + } + + /** + * Successful operation + */ + public Builder connectionsResponse(Optional connectionsResponse) { + Utils.checkNotNull(connectionsResponse, "connectionsResponse"); + this.connectionsResponse = connectionsResponse; + return this; + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public ListConnectionsResponse build() { + return new ListConnectionsResponse( + connectionsResponse, + contentType, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/ListDestinationsRequest.java b/src/main/java/com/airbyte/api/models/operations/ListDestinationsRequest.java new file mode 100644 index 000000000..34f5b5671 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/ListDestinationsRequest.java @@ -0,0 +1,320 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ListDestinationsRequest { + + /** + * Include deleted destinations in the returned results. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeDeleted") + private Optional includeDeleted; + + /** + * Set the limit on the number of destinations returned. The default is 20. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit") + private Optional limit; + + /** + * Set the offset to start at when returning destinations. The default is 0 + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=offset") + private Optional offset; + + /** + * The UUIDs of the workspaces you wish to list destinations for. Empty list will retrieve all allowed workspaces. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=workspaceIds") + private Optional> workspaceIds; + + public ListDestinationsRequest( + Optional includeDeleted, + Optional limit, + Optional offset, + Optional> workspaceIds) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + Utils.checkNotNull(limit, "limit"); + Utils.checkNotNull(offset, "offset"); + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.includeDeleted = includeDeleted; + this.limit = limit; + this.offset = offset; + this.workspaceIds = workspaceIds; + } + + /** + * Include deleted destinations in the returned results. + */ + public Optional includeDeleted() { + return includeDeleted; + } + + /** + * Set the limit on the number of destinations returned. The default is 20. + */ + public Optional limit() { + return limit; + } + + /** + * Set the offset to start at when returning destinations. The default is 0 + */ + public Optional offset() { + return offset; + } + + /** + * The UUIDs of the workspaces you wish to list destinations for. Empty list will retrieve all allowed workspaces. + */ + public Optional> workspaceIds() { + return workspaceIds; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Include deleted destinations in the returned results. + */ + public ListDestinationsRequest withIncludeDeleted(boolean includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = Optional.ofNullable(includeDeleted); + return this; + } + + /** + * Include deleted destinations in the returned results. + */ + public ListDestinationsRequest withIncludeDeleted(Optional includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = includeDeleted; + return this; + } + + /** + * Set the limit on the number of destinations returned. The default is 20. + */ + public ListDestinationsRequest withLimit(int limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = Optional.ofNullable(limit); + return this; + } + + /** + * Set the limit on the number of destinations returned. The default is 20. + */ + public ListDestinationsRequest withLimit(Optional limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = limit; + return this; + } + + /** + * Set the offset to start at when returning destinations. The default is 0 + */ + public ListDestinationsRequest withOffset(int offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = Optional.ofNullable(offset); + return this; + } + + /** + * Set the offset to start at when returning destinations. The default is 0 + */ + public ListDestinationsRequest withOffset(Optional offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = offset; + return this; + } + + /** + * The UUIDs of the workspaces you wish to list destinations for. Empty list will retrieve all allowed workspaces. + */ + public ListDestinationsRequest withWorkspaceIds(java.util.List workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = Optional.ofNullable(workspaceIds); + return this; + } + + /** + * The UUIDs of the workspaces you wish to list destinations for. Empty list will retrieve all allowed workspaces. + */ + public ListDestinationsRequest withWorkspaceIds(Optional> workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = workspaceIds; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ListDestinationsRequest other = (ListDestinationsRequest) o; + return + java.util.Objects.deepEquals(this.includeDeleted, other.includeDeleted) && + java.util.Objects.deepEquals(this.limit, other.limit) && + java.util.Objects.deepEquals(this.offset, other.offset) && + java.util.Objects.deepEquals(this.workspaceIds, other.workspaceIds); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + includeDeleted, + limit, + offset, + workspaceIds); + } + + @Override + public String toString() { + return Utils.toString(ListDestinationsRequest.class, + "includeDeleted", includeDeleted, + "limit", limit, + "offset", offset, + "workspaceIds", workspaceIds); + } + + public final static class Builder { + + private Optional includeDeleted; + + private Optional limit; + + private Optional offset; + + private Optional> workspaceIds = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Include deleted destinations in the returned results. + */ + public Builder includeDeleted(boolean includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = Optional.ofNullable(includeDeleted); + return this; + } + + /** + * Include deleted destinations in the returned results. + */ + public Builder includeDeleted(Optional includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = includeDeleted; + return this; + } + + /** + * Set the limit on the number of destinations returned. The default is 20. + */ + public Builder limit(int limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = Optional.ofNullable(limit); + return this; + } + + /** + * Set the limit on the number of destinations returned. The default is 20. + */ + public Builder limit(Optional limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = limit; + return this; + } + + /** + * Set the offset to start at when returning destinations. The default is 0 + */ + public Builder offset(int offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = Optional.ofNullable(offset); + return this; + } + + /** + * Set the offset to start at when returning destinations. The default is 0 + */ + public Builder offset(Optional offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = offset; + return this; + } + + /** + * The UUIDs of the workspaces you wish to list destinations for. Empty list will retrieve all allowed workspaces. + */ + public Builder workspaceIds(java.util.List workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = Optional.ofNullable(workspaceIds); + return this; + } + + /** + * The UUIDs of the workspaces you wish to list destinations for. Empty list will retrieve all allowed workspaces. + */ + public Builder workspaceIds(Optional> workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = workspaceIds; + return this; + } + + public ListDestinationsRequest build() { + if (includeDeleted == null) { + includeDeleted = _SINGLETON_VALUE_IncludeDeleted.value(); + } + if (limit == null) { + limit = _SINGLETON_VALUE_Limit.value(); + } + if (offset == null) { + offset = _SINGLETON_VALUE_Offset.value(); + } + return new ListDestinationsRequest( + includeDeleted, + limit, + offset, + workspaceIds); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_IncludeDeleted = + new LazySingletonValue<>( + "includeDeleted", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Limit = + new LazySingletonValue<>( + "limit", + "20", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Offset = + new LazySingletonValue<>( + "offset", + "0", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/ListDestinationsRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/ListDestinationsRequestBuilder.java new file mode 100644 index 000000000..4b3505f7c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/ListDestinationsRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class ListDestinationsRequestBuilder { + + private ListDestinationsRequest request; + private final SDKMethodInterfaces.MethodCallListDestinations sdk; + + public ListDestinationsRequestBuilder(SDKMethodInterfaces.MethodCallListDestinations sdk) { + this.sdk = sdk; + } + + public ListDestinationsRequestBuilder request(ListDestinationsRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public ListDestinationsResponse call() throws Exception { + + return sdk.listDestinations( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/ListDestinationsResponse.java b/src/main/java/com/airbyte/api/models/operations/ListDestinationsResponse.java new file mode 100644 index 000000000..5f6501f81 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/ListDestinationsResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class ListDestinationsResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * Successful operation + */ + private Optional destinationsResponse; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public ListDestinationsResponse( + String contentType, + Optional destinationsResponse, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(destinationsResponse, "destinationsResponse"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.destinationsResponse = destinationsResponse; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * Successful operation + */ + public Optional destinationsResponse() { + return destinationsResponse; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public ListDestinationsResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Successful operation + */ + public ListDestinationsResponse withDestinationsResponse(com.airbyte.api.models.shared.DestinationsResponse destinationsResponse) { + Utils.checkNotNull(destinationsResponse, "destinationsResponse"); + this.destinationsResponse = Optional.ofNullable(destinationsResponse); + return this; + } + + /** + * Successful operation + */ + public ListDestinationsResponse withDestinationsResponse(Optional destinationsResponse) { + Utils.checkNotNull(destinationsResponse, "destinationsResponse"); + this.destinationsResponse = destinationsResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public ListDestinationsResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public ListDestinationsResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ListDestinationsResponse other = (ListDestinationsResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.destinationsResponse, other.destinationsResponse) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + destinationsResponse, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(ListDestinationsResponse.class, + "contentType", contentType, + "destinationsResponse", destinationsResponse, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Optional destinationsResponse = Optional.empty(); + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Successful operation + */ + public Builder destinationsResponse(com.airbyte.api.models.shared.DestinationsResponse destinationsResponse) { + Utils.checkNotNull(destinationsResponse, "destinationsResponse"); + this.destinationsResponse = Optional.ofNullable(destinationsResponse); + return this; + } + + /** + * Successful operation + */ + public Builder destinationsResponse(Optional destinationsResponse) { + Utils.checkNotNull(destinationsResponse, "destinationsResponse"); + this.destinationsResponse = destinationsResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public ListDestinationsResponse build() { + return new ListDestinationsResponse( + contentType, + destinationsResponse, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/ListJobsRequest.java b/src/main/java/com/airbyte/api/models/operations/ListJobsRequest.java new file mode 100644 index 000000000..157e8076e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/ListJobsRequest.java @@ -0,0 +1,718 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class ListJobsRequest { + + /** + * Filter the Jobs by connectionId. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=connectionId") + private Optional connectionId; + + /** + * The end date to filter by + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=createdAtEnd") + private Optional createdAtEnd; + + /** + * The start date to filter by + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=createdAtStart") + private Optional createdAtStart; + + /** + * Filter the Jobs by jobType. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=jobType") + private Optional jobType; + + /** + * Set the limit on the number of Jobs returned. The default is 20 Jobs. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit") + private Optional limit; + + /** + * Set the offset to start at when returning Jobs. The default is 0. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=offset") + private Optional offset; + + /** + * The field and method to use for ordering. Currently allowed are createdAt and updatedAt. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=orderBy") + private Optional orderBy; + + /** + * The Job status you want to filter by + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=status") + private Optional status; + + /** + * The end date to filter by + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=updatedAtEnd") + private Optional updatedAtEnd; + + /** + * The start date to filter by + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=updatedAtStart") + private Optional updatedAtStart; + + /** + * The UUIDs of the workspaces you wish to list jobs for. Empty list will retrieve all allowed workspaces. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=workspaceIds") + private Optional> workspaceIds; + + public ListJobsRequest( + Optional connectionId, + Optional createdAtEnd, + Optional createdAtStart, + Optional jobType, + Optional limit, + Optional offset, + Optional orderBy, + Optional status, + Optional updatedAtEnd, + Optional updatedAtStart, + Optional> workspaceIds) { + Utils.checkNotNull(connectionId, "connectionId"); + Utils.checkNotNull(createdAtEnd, "createdAtEnd"); + Utils.checkNotNull(createdAtStart, "createdAtStart"); + Utils.checkNotNull(jobType, "jobType"); + Utils.checkNotNull(limit, "limit"); + Utils.checkNotNull(offset, "offset"); + Utils.checkNotNull(orderBy, "orderBy"); + Utils.checkNotNull(status, "status"); + Utils.checkNotNull(updatedAtEnd, "updatedAtEnd"); + Utils.checkNotNull(updatedAtStart, "updatedAtStart"); + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.connectionId = connectionId; + this.createdAtEnd = createdAtEnd; + this.createdAtStart = createdAtStart; + this.jobType = jobType; + this.limit = limit; + this.offset = offset; + this.orderBy = orderBy; + this.status = status; + this.updatedAtEnd = updatedAtEnd; + this.updatedAtStart = updatedAtStart; + this.workspaceIds = workspaceIds; + } + + /** + * Filter the Jobs by connectionId. + */ + public Optional connectionId() { + return connectionId; + } + + /** + * The end date to filter by + */ + public Optional createdAtEnd() { + return createdAtEnd; + } + + /** + * The start date to filter by + */ + public Optional createdAtStart() { + return createdAtStart; + } + + /** + * Filter the Jobs by jobType. + */ + public Optional jobType() { + return jobType; + } + + /** + * Set the limit on the number of Jobs returned. The default is 20 Jobs. + */ + public Optional limit() { + return limit; + } + + /** + * Set the offset to start at when returning Jobs. The default is 0. + */ + public Optional offset() { + return offset; + } + + /** + * The field and method to use for ordering. Currently allowed are createdAt and updatedAt. + */ + public Optional orderBy() { + return orderBy; + } + + /** + * The Job status you want to filter by + */ + public Optional status() { + return status; + } + + /** + * The end date to filter by + */ + public Optional updatedAtEnd() { + return updatedAtEnd; + } + + /** + * The start date to filter by + */ + public Optional updatedAtStart() { + return updatedAtStart; + } + + /** + * The UUIDs of the workspaces you wish to list jobs for. Empty list will retrieve all allowed workspaces. + */ + public Optional> workspaceIds() { + return workspaceIds; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Filter the Jobs by connectionId. + */ + public ListJobsRequest withConnectionId(String connectionId) { + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionId = Optional.ofNullable(connectionId); + return this; + } + + /** + * Filter the Jobs by connectionId. + */ + public ListJobsRequest withConnectionId(Optional connectionId) { + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionId = connectionId; + return this; + } + + /** + * The end date to filter by + */ + public ListJobsRequest withCreatedAtEnd(OffsetDateTime createdAtEnd) { + Utils.checkNotNull(createdAtEnd, "createdAtEnd"); + this.createdAtEnd = Optional.ofNullable(createdAtEnd); + return this; + } + + /** + * The end date to filter by + */ + public ListJobsRequest withCreatedAtEnd(Optional createdAtEnd) { + Utils.checkNotNull(createdAtEnd, "createdAtEnd"); + this.createdAtEnd = createdAtEnd; + return this; + } + + /** + * The start date to filter by + */ + public ListJobsRequest withCreatedAtStart(OffsetDateTime createdAtStart) { + Utils.checkNotNull(createdAtStart, "createdAtStart"); + this.createdAtStart = Optional.ofNullable(createdAtStart); + return this; + } + + /** + * The start date to filter by + */ + public ListJobsRequest withCreatedAtStart(Optional createdAtStart) { + Utils.checkNotNull(createdAtStart, "createdAtStart"); + this.createdAtStart = createdAtStart; + return this; + } + + /** + * Filter the Jobs by jobType. + */ + public ListJobsRequest withJobType(com.airbyte.api.models.shared.JobTypeEnum jobType) { + Utils.checkNotNull(jobType, "jobType"); + this.jobType = Optional.ofNullable(jobType); + return this; + } + + /** + * Filter the Jobs by jobType. + */ + public ListJobsRequest withJobType(Optional jobType) { + Utils.checkNotNull(jobType, "jobType"); + this.jobType = jobType; + return this; + } + + /** + * Set the limit on the number of Jobs returned. The default is 20 Jobs. + */ + public ListJobsRequest withLimit(int limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = Optional.ofNullable(limit); + return this; + } + + /** + * Set the limit on the number of Jobs returned. The default is 20 Jobs. + */ + public ListJobsRequest withLimit(Optional limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = limit; + return this; + } + + /** + * Set the offset to start at when returning Jobs. The default is 0. + */ + public ListJobsRequest withOffset(int offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = Optional.ofNullable(offset); + return this; + } + + /** + * Set the offset to start at when returning Jobs. The default is 0. + */ + public ListJobsRequest withOffset(Optional offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = offset; + return this; + } + + /** + * The field and method to use for ordering. Currently allowed are createdAt and updatedAt. + */ + public ListJobsRequest withOrderBy(String orderBy) { + Utils.checkNotNull(orderBy, "orderBy"); + this.orderBy = Optional.ofNullable(orderBy); + return this; + } + + /** + * The field and method to use for ordering. Currently allowed are createdAt and updatedAt. + */ + public ListJobsRequest withOrderBy(Optional orderBy) { + Utils.checkNotNull(orderBy, "orderBy"); + this.orderBy = orderBy; + return this; + } + + /** + * The Job status you want to filter by + */ + public ListJobsRequest withStatus(com.airbyte.api.models.shared.JobStatusEnum status) { + Utils.checkNotNull(status, "status"); + this.status = Optional.ofNullable(status); + return this; + } + + /** + * The Job status you want to filter by + */ + public ListJobsRequest withStatus(Optional status) { + Utils.checkNotNull(status, "status"); + this.status = status; + return this; + } + + /** + * The end date to filter by + */ + public ListJobsRequest withUpdatedAtEnd(OffsetDateTime updatedAtEnd) { + Utils.checkNotNull(updatedAtEnd, "updatedAtEnd"); + this.updatedAtEnd = Optional.ofNullable(updatedAtEnd); + return this; + } + + /** + * The end date to filter by + */ + public ListJobsRequest withUpdatedAtEnd(Optional updatedAtEnd) { + Utils.checkNotNull(updatedAtEnd, "updatedAtEnd"); + this.updatedAtEnd = updatedAtEnd; + return this; + } + + /** + * The start date to filter by + */ + public ListJobsRequest withUpdatedAtStart(OffsetDateTime updatedAtStart) { + Utils.checkNotNull(updatedAtStart, "updatedAtStart"); + this.updatedAtStart = Optional.ofNullable(updatedAtStart); + return this; + } + + /** + * The start date to filter by + */ + public ListJobsRequest withUpdatedAtStart(Optional updatedAtStart) { + Utils.checkNotNull(updatedAtStart, "updatedAtStart"); + this.updatedAtStart = updatedAtStart; + return this; + } + + /** + * The UUIDs of the workspaces you wish to list jobs for. Empty list will retrieve all allowed workspaces. + */ + public ListJobsRequest withWorkspaceIds(java.util.List workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = Optional.ofNullable(workspaceIds); + return this; + } + + /** + * The UUIDs of the workspaces you wish to list jobs for. Empty list will retrieve all allowed workspaces. + */ + public ListJobsRequest withWorkspaceIds(Optional> workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = workspaceIds; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ListJobsRequest other = (ListJobsRequest) o; + return + java.util.Objects.deepEquals(this.connectionId, other.connectionId) && + java.util.Objects.deepEquals(this.createdAtEnd, other.createdAtEnd) && + java.util.Objects.deepEquals(this.createdAtStart, other.createdAtStart) && + java.util.Objects.deepEquals(this.jobType, other.jobType) && + java.util.Objects.deepEquals(this.limit, other.limit) && + java.util.Objects.deepEquals(this.offset, other.offset) && + java.util.Objects.deepEquals(this.orderBy, other.orderBy) && + java.util.Objects.deepEquals(this.status, other.status) && + java.util.Objects.deepEquals(this.updatedAtEnd, other.updatedAtEnd) && + java.util.Objects.deepEquals(this.updatedAtStart, other.updatedAtStart) && + java.util.Objects.deepEquals(this.workspaceIds, other.workspaceIds); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + connectionId, + createdAtEnd, + createdAtStart, + jobType, + limit, + offset, + orderBy, + status, + updatedAtEnd, + updatedAtStart, + workspaceIds); + } + + @Override + public String toString() { + return Utils.toString(ListJobsRequest.class, + "connectionId", connectionId, + "createdAtEnd", createdAtEnd, + "createdAtStart", createdAtStart, + "jobType", jobType, + "limit", limit, + "offset", offset, + "orderBy", orderBy, + "status", status, + "updatedAtEnd", updatedAtEnd, + "updatedAtStart", updatedAtStart, + "workspaceIds", workspaceIds); + } + + public final static class Builder { + + private Optional connectionId = Optional.empty(); + + private Optional createdAtEnd = Optional.empty(); + + private Optional createdAtStart = Optional.empty(); + + private Optional jobType = Optional.empty(); + + private Optional limit; + + private Optional offset; + + private Optional orderBy = Optional.empty(); + + private Optional status = Optional.empty(); + + private Optional updatedAtEnd = Optional.empty(); + + private Optional updatedAtStart = Optional.empty(); + + private Optional> workspaceIds = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Filter the Jobs by connectionId. + */ + public Builder connectionId(String connectionId) { + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionId = Optional.ofNullable(connectionId); + return this; + } + + /** + * Filter the Jobs by connectionId. + */ + public Builder connectionId(Optional connectionId) { + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionId = connectionId; + return this; + } + + /** + * The end date to filter by + */ + public Builder createdAtEnd(OffsetDateTime createdAtEnd) { + Utils.checkNotNull(createdAtEnd, "createdAtEnd"); + this.createdAtEnd = Optional.ofNullable(createdAtEnd); + return this; + } + + /** + * The end date to filter by + */ + public Builder createdAtEnd(Optional createdAtEnd) { + Utils.checkNotNull(createdAtEnd, "createdAtEnd"); + this.createdAtEnd = createdAtEnd; + return this; + } + + /** + * The start date to filter by + */ + public Builder createdAtStart(OffsetDateTime createdAtStart) { + Utils.checkNotNull(createdAtStart, "createdAtStart"); + this.createdAtStart = Optional.ofNullable(createdAtStart); + return this; + } + + /** + * The start date to filter by + */ + public Builder createdAtStart(Optional createdAtStart) { + Utils.checkNotNull(createdAtStart, "createdAtStart"); + this.createdAtStart = createdAtStart; + return this; + } + + /** + * Filter the Jobs by jobType. + */ + public Builder jobType(com.airbyte.api.models.shared.JobTypeEnum jobType) { + Utils.checkNotNull(jobType, "jobType"); + this.jobType = Optional.ofNullable(jobType); + return this; + } + + /** + * Filter the Jobs by jobType. + */ + public Builder jobType(Optional jobType) { + Utils.checkNotNull(jobType, "jobType"); + this.jobType = jobType; + return this; + } + + /** + * Set the limit on the number of Jobs returned. The default is 20 Jobs. + */ + public Builder limit(int limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = Optional.ofNullable(limit); + return this; + } + + /** + * Set the limit on the number of Jobs returned. The default is 20 Jobs. + */ + public Builder limit(Optional limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = limit; + return this; + } + + /** + * Set the offset to start at when returning Jobs. The default is 0. + */ + public Builder offset(int offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = Optional.ofNullable(offset); + return this; + } + + /** + * Set the offset to start at when returning Jobs. The default is 0. + */ + public Builder offset(Optional offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = offset; + return this; + } + + /** + * The field and method to use for ordering. Currently allowed are createdAt and updatedAt. + */ + public Builder orderBy(String orderBy) { + Utils.checkNotNull(orderBy, "orderBy"); + this.orderBy = Optional.ofNullable(orderBy); + return this; + } + + /** + * The field and method to use for ordering. Currently allowed are createdAt and updatedAt. + */ + public Builder orderBy(Optional orderBy) { + Utils.checkNotNull(orderBy, "orderBy"); + this.orderBy = orderBy; + return this; + } + + /** + * The Job status you want to filter by + */ + public Builder status(com.airbyte.api.models.shared.JobStatusEnum status) { + Utils.checkNotNull(status, "status"); + this.status = Optional.ofNullable(status); + return this; + } + + /** + * The Job status you want to filter by + */ + public Builder status(Optional status) { + Utils.checkNotNull(status, "status"); + this.status = status; + return this; + } + + /** + * The end date to filter by + */ + public Builder updatedAtEnd(OffsetDateTime updatedAtEnd) { + Utils.checkNotNull(updatedAtEnd, "updatedAtEnd"); + this.updatedAtEnd = Optional.ofNullable(updatedAtEnd); + return this; + } + + /** + * The end date to filter by + */ + public Builder updatedAtEnd(Optional updatedAtEnd) { + Utils.checkNotNull(updatedAtEnd, "updatedAtEnd"); + this.updatedAtEnd = updatedAtEnd; + return this; + } + + /** + * The start date to filter by + */ + public Builder updatedAtStart(OffsetDateTime updatedAtStart) { + Utils.checkNotNull(updatedAtStart, "updatedAtStart"); + this.updatedAtStart = Optional.ofNullable(updatedAtStart); + return this; + } + + /** + * The start date to filter by + */ + public Builder updatedAtStart(Optional updatedAtStart) { + Utils.checkNotNull(updatedAtStart, "updatedAtStart"); + this.updatedAtStart = updatedAtStart; + return this; + } + + /** + * The UUIDs of the workspaces you wish to list jobs for. Empty list will retrieve all allowed workspaces. + */ + public Builder workspaceIds(java.util.List workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = Optional.ofNullable(workspaceIds); + return this; + } + + /** + * The UUIDs of the workspaces you wish to list jobs for. Empty list will retrieve all allowed workspaces. + */ + public Builder workspaceIds(Optional> workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = workspaceIds; + return this; + } + + public ListJobsRequest build() { + if (limit == null) { + limit = _SINGLETON_VALUE_Limit.value(); + } + if (offset == null) { + offset = _SINGLETON_VALUE_Offset.value(); + } + return new ListJobsRequest( + connectionId, + createdAtEnd, + createdAtStart, + jobType, + limit, + offset, + orderBy, + status, + updatedAtEnd, + updatedAtStart, + workspaceIds); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Limit = + new LazySingletonValue<>( + "limit", + "20", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Offset = + new LazySingletonValue<>( + "offset", + "0", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/ListJobsRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/ListJobsRequestBuilder.java new file mode 100644 index 000000000..e5a6b7669 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/ListJobsRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class ListJobsRequestBuilder { + + private ListJobsRequest request; + private final SDKMethodInterfaces.MethodCallListJobs sdk; + + public ListJobsRequestBuilder(SDKMethodInterfaces.MethodCallListJobs sdk) { + this.sdk = sdk; + } + + public ListJobsRequestBuilder request(ListJobsRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public ListJobsResponse call() throws Exception { + + return sdk.listJobs( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/ListJobsResponse.java b/src/main/java/com/airbyte/api/models/operations/ListJobsResponse.java new file mode 100644 index 000000000..5e10ae68a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/ListJobsResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class ListJobsResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * List all the Jobs by connectionId. + */ + private Optional jobsResponse; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public ListJobsResponse( + String contentType, + Optional jobsResponse, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(jobsResponse, "jobsResponse"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.jobsResponse = jobsResponse; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * List all the Jobs by connectionId. + */ + public Optional jobsResponse() { + return jobsResponse; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public ListJobsResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * List all the Jobs by connectionId. + */ + public ListJobsResponse withJobsResponse(com.airbyte.api.models.shared.JobsResponse jobsResponse) { + Utils.checkNotNull(jobsResponse, "jobsResponse"); + this.jobsResponse = Optional.ofNullable(jobsResponse); + return this; + } + + /** + * List all the Jobs by connectionId. + */ + public ListJobsResponse withJobsResponse(Optional jobsResponse) { + Utils.checkNotNull(jobsResponse, "jobsResponse"); + this.jobsResponse = jobsResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public ListJobsResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public ListJobsResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ListJobsResponse other = (ListJobsResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.jobsResponse, other.jobsResponse) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + jobsResponse, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(ListJobsResponse.class, + "contentType", contentType, + "jobsResponse", jobsResponse, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Optional jobsResponse = Optional.empty(); + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * List all the Jobs by connectionId. + */ + public Builder jobsResponse(com.airbyte.api.models.shared.JobsResponse jobsResponse) { + Utils.checkNotNull(jobsResponse, "jobsResponse"); + this.jobsResponse = Optional.ofNullable(jobsResponse); + return this; + } + + /** + * List all the Jobs by connectionId. + */ + public Builder jobsResponse(Optional jobsResponse) { + Utils.checkNotNull(jobsResponse, "jobsResponse"); + this.jobsResponse = jobsResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public ListJobsResponse build() { + return new ListJobsResponse( + contentType, + jobsResponse, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/ListSourcesRequest.java b/src/main/java/com/airbyte/api/models/operations/ListSourcesRequest.java new file mode 100644 index 000000000..4a0161548 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/ListSourcesRequest.java @@ -0,0 +1,320 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ListSourcesRequest { + + /** + * Include deleted sources in the returned results. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeDeleted") + private Optional includeDeleted; + + /** + * Set the limit on the number of sources returned. The default is 20. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit") + private Optional limit; + + /** + * Set the offset to start at when returning sources. The default is 0 + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=offset") + private Optional offset; + + /** + * The UUIDs of the workspaces you wish to list sources for. Empty list will retrieve all allowed workspaces. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=workspaceIds") + private Optional> workspaceIds; + + public ListSourcesRequest( + Optional includeDeleted, + Optional limit, + Optional offset, + Optional> workspaceIds) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + Utils.checkNotNull(limit, "limit"); + Utils.checkNotNull(offset, "offset"); + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.includeDeleted = includeDeleted; + this.limit = limit; + this.offset = offset; + this.workspaceIds = workspaceIds; + } + + /** + * Include deleted sources in the returned results. + */ + public Optional includeDeleted() { + return includeDeleted; + } + + /** + * Set the limit on the number of sources returned. The default is 20. + */ + public Optional limit() { + return limit; + } + + /** + * Set the offset to start at when returning sources. The default is 0 + */ + public Optional offset() { + return offset; + } + + /** + * The UUIDs of the workspaces you wish to list sources for. Empty list will retrieve all allowed workspaces. + */ + public Optional> workspaceIds() { + return workspaceIds; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Include deleted sources in the returned results. + */ + public ListSourcesRequest withIncludeDeleted(boolean includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = Optional.ofNullable(includeDeleted); + return this; + } + + /** + * Include deleted sources in the returned results. + */ + public ListSourcesRequest withIncludeDeleted(Optional includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = includeDeleted; + return this; + } + + /** + * Set the limit on the number of sources returned. The default is 20. + */ + public ListSourcesRequest withLimit(int limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = Optional.ofNullable(limit); + return this; + } + + /** + * Set the limit on the number of sources returned. The default is 20. + */ + public ListSourcesRequest withLimit(Optional limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = limit; + return this; + } + + /** + * Set the offset to start at when returning sources. The default is 0 + */ + public ListSourcesRequest withOffset(int offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = Optional.ofNullable(offset); + return this; + } + + /** + * Set the offset to start at when returning sources. The default is 0 + */ + public ListSourcesRequest withOffset(Optional offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = offset; + return this; + } + + /** + * The UUIDs of the workspaces you wish to list sources for. Empty list will retrieve all allowed workspaces. + */ + public ListSourcesRequest withWorkspaceIds(java.util.List workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = Optional.ofNullable(workspaceIds); + return this; + } + + /** + * The UUIDs of the workspaces you wish to list sources for. Empty list will retrieve all allowed workspaces. + */ + public ListSourcesRequest withWorkspaceIds(Optional> workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = workspaceIds; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ListSourcesRequest other = (ListSourcesRequest) o; + return + java.util.Objects.deepEquals(this.includeDeleted, other.includeDeleted) && + java.util.Objects.deepEquals(this.limit, other.limit) && + java.util.Objects.deepEquals(this.offset, other.offset) && + java.util.Objects.deepEquals(this.workspaceIds, other.workspaceIds); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + includeDeleted, + limit, + offset, + workspaceIds); + } + + @Override + public String toString() { + return Utils.toString(ListSourcesRequest.class, + "includeDeleted", includeDeleted, + "limit", limit, + "offset", offset, + "workspaceIds", workspaceIds); + } + + public final static class Builder { + + private Optional includeDeleted; + + private Optional limit; + + private Optional offset; + + private Optional> workspaceIds = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Include deleted sources in the returned results. + */ + public Builder includeDeleted(boolean includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = Optional.ofNullable(includeDeleted); + return this; + } + + /** + * Include deleted sources in the returned results. + */ + public Builder includeDeleted(Optional includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = includeDeleted; + return this; + } + + /** + * Set the limit on the number of sources returned. The default is 20. + */ + public Builder limit(int limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = Optional.ofNullable(limit); + return this; + } + + /** + * Set the limit on the number of sources returned. The default is 20. + */ + public Builder limit(Optional limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = limit; + return this; + } + + /** + * Set the offset to start at when returning sources. The default is 0 + */ + public Builder offset(int offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = Optional.ofNullable(offset); + return this; + } + + /** + * Set the offset to start at when returning sources. The default is 0 + */ + public Builder offset(Optional offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = offset; + return this; + } + + /** + * The UUIDs of the workspaces you wish to list sources for. Empty list will retrieve all allowed workspaces. + */ + public Builder workspaceIds(java.util.List workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = Optional.ofNullable(workspaceIds); + return this; + } + + /** + * The UUIDs of the workspaces you wish to list sources for. Empty list will retrieve all allowed workspaces. + */ + public Builder workspaceIds(Optional> workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = workspaceIds; + return this; + } + + public ListSourcesRequest build() { + if (includeDeleted == null) { + includeDeleted = _SINGLETON_VALUE_IncludeDeleted.value(); + } + if (limit == null) { + limit = _SINGLETON_VALUE_Limit.value(); + } + if (offset == null) { + offset = _SINGLETON_VALUE_Offset.value(); + } + return new ListSourcesRequest( + includeDeleted, + limit, + offset, + workspaceIds); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_IncludeDeleted = + new LazySingletonValue<>( + "includeDeleted", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Limit = + new LazySingletonValue<>( + "limit", + "20", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Offset = + new LazySingletonValue<>( + "offset", + "0", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/ListSourcesRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/ListSourcesRequestBuilder.java new file mode 100644 index 000000000..bc20cb6e2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/ListSourcesRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class ListSourcesRequestBuilder { + + private ListSourcesRequest request; + private final SDKMethodInterfaces.MethodCallListSources sdk; + + public ListSourcesRequestBuilder(SDKMethodInterfaces.MethodCallListSources sdk) { + this.sdk = sdk; + } + + public ListSourcesRequestBuilder request(ListSourcesRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public ListSourcesResponse call() throws Exception { + + return sdk.listSources( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/ListSourcesResponse.java b/src/main/java/com/airbyte/api/models/operations/ListSourcesResponse.java new file mode 100644 index 000000000..e7b2cb03b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/ListSourcesResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class ListSourcesResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * Successful operation + */ + private Optional sourcesResponse; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public ListSourcesResponse( + String contentType, + Optional sourcesResponse, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(sourcesResponse, "sourcesResponse"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.sourcesResponse = sourcesResponse; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * Successful operation + */ + public Optional sourcesResponse() { + return sourcesResponse; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public ListSourcesResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Successful operation + */ + public ListSourcesResponse withSourcesResponse(com.airbyte.api.models.shared.SourcesResponse sourcesResponse) { + Utils.checkNotNull(sourcesResponse, "sourcesResponse"); + this.sourcesResponse = Optional.ofNullable(sourcesResponse); + return this; + } + + /** + * Successful operation + */ + public ListSourcesResponse withSourcesResponse(Optional sourcesResponse) { + Utils.checkNotNull(sourcesResponse, "sourcesResponse"); + this.sourcesResponse = sourcesResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public ListSourcesResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public ListSourcesResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ListSourcesResponse other = (ListSourcesResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.sourcesResponse, other.sourcesResponse) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + sourcesResponse, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(ListSourcesResponse.class, + "contentType", contentType, + "sourcesResponse", sourcesResponse, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Optional sourcesResponse = Optional.empty(); + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Successful operation + */ + public Builder sourcesResponse(com.airbyte.api.models.shared.SourcesResponse sourcesResponse) { + Utils.checkNotNull(sourcesResponse, "sourcesResponse"); + this.sourcesResponse = Optional.ofNullable(sourcesResponse); + return this; + } + + /** + * Successful operation + */ + public Builder sourcesResponse(Optional sourcesResponse) { + Utils.checkNotNull(sourcesResponse, "sourcesResponse"); + this.sourcesResponse = sourcesResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public ListSourcesResponse build() { + return new ListSourcesResponse( + contentType, + sourcesResponse, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/ListWorkspacesRequest.java b/src/main/java/com/airbyte/api/models/operations/ListWorkspacesRequest.java new file mode 100644 index 000000000..1b83e10ae --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/ListWorkspacesRequest.java @@ -0,0 +1,320 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ListWorkspacesRequest { + + /** + * Include deleted workspaces in the returned results. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeDeleted") + private Optional includeDeleted; + + /** + * Set the limit on the number of workspaces returned. The default is 20. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit") + private Optional limit; + + /** + * Set the offset to start at when returning workspaces. The default is 0 + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=offset") + private Optional offset; + + /** + * The UUIDs of the workspaces you wish to fetch. Empty list will retrieve all allowed workspaces. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=workspaceIds") + private Optional> workspaceIds; + + public ListWorkspacesRequest( + Optional includeDeleted, + Optional limit, + Optional offset, + Optional> workspaceIds) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + Utils.checkNotNull(limit, "limit"); + Utils.checkNotNull(offset, "offset"); + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.includeDeleted = includeDeleted; + this.limit = limit; + this.offset = offset; + this.workspaceIds = workspaceIds; + } + + /** + * Include deleted workspaces in the returned results. + */ + public Optional includeDeleted() { + return includeDeleted; + } + + /** + * Set the limit on the number of workspaces returned. The default is 20. + */ + public Optional limit() { + return limit; + } + + /** + * Set the offset to start at when returning workspaces. The default is 0 + */ + public Optional offset() { + return offset; + } + + /** + * The UUIDs of the workspaces you wish to fetch. Empty list will retrieve all allowed workspaces. + */ + public Optional> workspaceIds() { + return workspaceIds; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Include deleted workspaces in the returned results. + */ + public ListWorkspacesRequest withIncludeDeleted(boolean includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = Optional.ofNullable(includeDeleted); + return this; + } + + /** + * Include deleted workspaces in the returned results. + */ + public ListWorkspacesRequest withIncludeDeleted(Optional includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = includeDeleted; + return this; + } + + /** + * Set the limit on the number of workspaces returned. The default is 20. + */ + public ListWorkspacesRequest withLimit(int limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = Optional.ofNullable(limit); + return this; + } + + /** + * Set the limit on the number of workspaces returned. The default is 20. + */ + public ListWorkspacesRequest withLimit(Optional limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = limit; + return this; + } + + /** + * Set the offset to start at when returning workspaces. The default is 0 + */ + public ListWorkspacesRequest withOffset(int offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = Optional.ofNullable(offset); + return this; + } + + /** + * Set the offset to start at when returning workspaces. The default is 0 + */ + public ListWorkspacesRequest withOffset(Optional offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = offset; + return this; + } + + /** + * The UUIDs of the workspaces you wish to fetch. Empty list will retrieve all allowed workspaces. + */ + public ListWorkspacesRequest withWorkspaceIds(java.util.List workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = Optional.ofNullable(workspaceIds); + return this; + } + + /** + * The UUIDs of the workspaces you wish to fetch. Empty list will retrieve all allowed workspaces. + */ + public ListWorkspacesRequest withWorkspaceIds(Optional> workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = workspaceIds; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ListWorkspacesRequest other = (ListWorkspacesRequest) o; + return + java.util.Objects.deepEquals(this.includeDeleted, other.includeDeleted) && + java.util.Objects.deepEquals(this.limit, other.limit) && + java.util.Objects.deepEquals(this.offset, other.offset) && + java.util.Objects.deepEquals(this.workspaceIds, other.workspaceIds); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + includeDeleted, + limit, + offset, + workspaceIds); + } + + @Override + public String toString() { + return Utils.toString(ListWorkspacesRequest.class, + "includeDeleted", includeDeleted, + "limit", limit, + "offset", offset, + "workspaceIds", workspaceIds); + } + + public final static class Builder { + + private Optional includeDeleted; + + private Optional limit; + + private Optional offset; + + private Optional> workspaceIds = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Include deleted workspaces in the returned results. + */ + public Builder includeDeleted(boolean includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = Optional.ofNullable(includeDeleted); + return this; + } + + /** + * Include deleted workspaces in the returned results. + */ + public Builder includeDeleted(Optional includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = includeDeleted; + return this; + } + + /** + * Set the limit on the number of workspaces returned. The default is 20. + */ + public Builder limit(int limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = Optional.ofNullable(limit); + return this; + } + + /** + * Set the limit on the number of workspaces returned. The default is 20. + */ + public Builder limit(Optional limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = limit; + return this; + } + + /** + * Set the offset to start at when returning workspaces. The default is 0 + */ + public Builder offset(int offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = Optional.ofNullable(offset); + return this; + } + + /** + * Set the offset to start at when returning workspaces. The default is 0 + */ + public Builder offset(Optional offset) { + Utils.checkNotNull(offset, "offset"); + this.offset = offset; + return this; + } + + /** + * The UUIDs of the workspaces you wish to fetch. Empty list will retrieve all allowed workspaces. + */ + public Builder workspaceIds(java.util.List workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = Optional.ofNullable(workspaceIds); + return this; + } + + /** + * The UUIDs of the workspaces you wish to fetch. Empty list will retrieve all allowed workspaces. + */ + public Builder workspaceIds(Optional> workspaceIds) { + Utils.checkNotNull(workspaceIds, "workspaceIds"); + this.workspaceIds = workspaceIds; + return this; + } + + public ListWorkspacesRequest build() { + if (includeDeleted == null) { + includeDeleted = _SINGLETON_VALUE_IncludeDeleted.value(); + } + if (limit == null) { + limit = _SINGLETON_VALUE_Limit.value(); + } + if (offset == null) { + offset = _SINGLETON_VALUE_Offset.value(); + } + return new ListWorkspacesRequest( + includeDeleted, + limit, + offset, + workspaceIds); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_IncludeDeleted = + new LazySingletonValue<>( + "includeDeleted", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Limit = + new LazySingletonValue<>( + "limit", + "20", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Offset = + new LazySingletonValue<>( + "offset", + "0", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/ListWorkspacesRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/ListWorkspacesRequestBuilder.java new file mode 100644 index 000000000..a1919ee9a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/ListWorkspacesRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class ListWorkspacesRequestBuilder { + + private ListWorkspacesRequest request; + private final SDKMethodInterfaces.MethodCallListWorkspaces sdk; + + public ListWorkspacesRequestBuilder(SDKMethodInterfaces.MethodCallListWorkspaces sdk) { + this.sdk = sdk; + } + + public ListWorkspacesRequestBuilder request(ListWorkspacesRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public ListWorkspacesResponse call() throws Exception { + + return sdk.listWorkspaces( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/ListWorkspacesResponse.java b/src/main/java/com/airbyte/api/models/operations/ListWorkspacesResponse.java new file mode 100644 index 000000000..c4b9349e9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/ListWorkspacesResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class ListWorkspacesResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + /** + * Successful operation + */ + private Optional workspacesResponse; + + public ListWorkspacesResponse( + String contentType, + int statusCode, + HttpResponse rawResponse, + Optional workspacesResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + Utils.checkNotNull(workspacesResponse, "workspacesResponse"); + this.contentType = contentType; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + this.workspacesResponse = workspacesResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + /** + * Successful operation + */ + public Optional workspacesResponse() { + return workspacesResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public ListWorkspacesResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public ListWorkspacesResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public ListWorkspacesResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + /** + * Successful operation + */ + public ListWorkspacesResponse withWorkspacesResponse(com.airbyte.api.models.shared.WorkspacesResponse workspacesResponse) { + Utils.checkNotNull(workspacesResponse, "workspacesResponse"); + this.workspacesResponse = Optional.ofNullable(workspacesResponse); + return this; + } + + /** + * Successful operation + */ + public ListWorkspacesResponse withWorkspacesResponse(Optional workspacesResponse) { + Utils.checkNotNull(workspacesResponse, "workspacesResponse"); + this.workspacesResponse = workspacesResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ListWorkspacesResponse other = (ListWorkspacesResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse) && + java.util.Objects.deepEquals(this.workspacesResponse, other.workspacesResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + statusCode, + rawResponse, + workspacesResponse); + } + + @Override + public String toString() { + return Utils.toString(ListWorkspacesResponse.class, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse, + "workspacesResponse", workspacesResponse); + } + + public final static class Builder { + + private String contentType; + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Optional workspacesResponse = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + /** + * Successful operation + */ + public Builder workspacesResponse(com.airbyte.api.models.shared.WorkspacesResponse workspacesResponse) { + Utils.checkNotNull(workspacesResponse, "workspacesResponse"); + this.workspacesResponse = Optional.ofNullable(workspacesResponse); + return this; + } + + /** + * Successful operation + */ + public Builder workspacesResponse(Optional workspacesResponse) { + Utils.checkNotNull(workspacesResponse, "workspacesResponse"); + this.workspacesResponse = workspacesResponse; + return this; + } + + public ListWorkspacesResponse build() { + return new ListWorkspacesResponse( + contentType, + statusCode, + rawResponse, + workspacesResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/PatchConnectionRequest.java b/src/main/java/com/airbyte/api/models/operations/PatchConnectionRequest.java new file mode 100644 index 000000000..5e5ea6b11 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/PatchConnectionRequest.java @@ -0,0 +1,115 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class PatchConnectionRequest { + + @SpeakeasyMetadata("request:mediaType=application/json") + private com.airbyte.api.models.shared.ConnectionPatchRequest connectionPatchRequest; + + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=connectionId") + private String connectionId; + + public PatchConnectionRequest( + com.airbyte.api.models.shared.ConnectionPatchRequest connectionPatchRequest, + String connectionId) { + Utils.checkNotNull(connectionPatchRequest, "connectionPatchRequest"); + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionPatchRequest = connectionPatchRequest; + this.connectionId = connectionId; + } + + public com.airbyte.api.models.shared.ConnectionPatchRequest connectionPatchRequest() { + return connectionPatchRequest; + } + + public String connectionId() { + return connectionId; + } + + public final static Builder builder() { + return new Builder(); + } + + public PatchConnectionRequest withConnectionPatchRequest(com.airbyte.api.models.shared.ConnectionPatchRequest connectionPatchRequest) { + Utils.checkNotNull(connectionPatchRequest, "connectionPatchRequest"); + this.connectionPatchRequest = connectionPatchRequest; + return this; + } + + public PatchConnectionRequest withConnectionId(String connectionId) { + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionId = connectionId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PatchConnectionRequest other = (PatchConnectionRequest) o; + return + java.util.Objects.deepEquals(this.connectionPatchRequest, other.connectionPatchRequest) && + java.util.Objects.deepEquals(this.connectionId, other.connectionId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + connectionPatchRequest, + connectionId); + } + + @Override + public String toString() { + return Utils.toString(PatchConnectionRequest.class, + "connectionPatchRequest", connectionPatchRequest, + "connectionId", connectionId); + } + + public final static class Builder { + + private com.airbyte.api.models.shared.ConnectionPatchRequest connectionPatchRequest; + + private String connectionId; + + private Builder() { + // force use of static builder() method + } + + public Builder connectionPatchRequest(com.airbyte.api.models.shared.ConnectionPatchRequest connectionPatchRequest) { + Utils.checkNotNull(connectionPatchRequest, "connectionPatchRequest"); + this.connectionPatchRequest = connectionPatchRequest; + return this; + } + + public Builder connectionId(String connectionId) { + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionId = connectionId; + return this; + } + + public PatchConnectionRequest build() { + return new PatchConnectionRequest( + connectionPatchRequest, + connectionId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/PatchConnectionRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/PatchConnectionRequestBuilder.java new file mode 100644 index 000000000..d69955e8f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/PatchConnectionRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class PatchConnectionRequestBuilder { + + private PatchConnectionRequest request; + private final SDKMethodInterfaces.MethodCallPatchConnection sdk; + + public PatchConnectionRequestBuilder(SDKMethodInterfaces.MethodCallPatchConnection sdk) { + this.sdk = sdk; + } + + public PatchConnectionRequestBuilder request(PatchConnectionRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public PatchConnectionResponse call() throws Exception { + + return sdk.patchConnection( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/PatchConnectionResponse.java b/src/main/java/com/airbyte/api/models/operations/PatchConnectionResponse.java new file mode 100644 index 000000000..29a93fc8f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/PatchConnectionResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class PatchConnectionResponse implements com.airbyte.api.utils.Response { + + /** + * Update a Connection by the id in the path. + */ + private Optional connectionResponse; + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public PatchConnectionResponse( + Optional connectionResponse, + String contentType, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(connectionResponse, "connectionResponse"); + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.connectionResponse = connectionResponse; + this.contentType = contentType; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * Update a Connection by the id in the path. + */ + public Optional connectionResponse() { + return connectionResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Update a Connection by the id in the path. + */ + public PatchConnectionResponse withConnectionResponse(com.airbyte.api.models.shared.ConnectionResponse connectionResponse) { + Utils.checkNotNull(connectionResponse, "connectionResponse"); + this.connectionResponse = Optional.ofNullable(connectionResponse); + return this; + } + + /** + * Update a Connection by the id in the path. + */ + public PatchConnectionResponse withConnectionResponse(Optional connectionResponse) { + Utils.checkNotNull(connectionResponse, "connectionResponse"); + this.connectionResponse = connectionResponse; + return this; + } + + /** + * HTTP response content type for this operation + */ + public PatchConnectionResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public PatchConnectionResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public PatchConnectionResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PatchConnectionResponse other = (PatchConnectionResponse) o; + return + java.util.Objects.deepEquals(this.connectionResponse, other.connectionResponse) && + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + connectionResponse, + contentType, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(PatchConnectionResponse.class, + "connectionResponse", connectionResponse, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private Optional connectionResponse = Optional.empty(); + + private String contentType; + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * Update a Connection by the id in the path. + */ + public Builder connectionResponse(com.airbyte.api.models.shared.ConnectionResponse connectionResponse) { + Utils.checkNotNull(connectionResponse, "connectionResponse"); + this.connectionResponse = Optional.ofNullable(connectionResponse); + return this; + } + + /** + * Update a Connection by the id in the path. + */ + public Builder connectionResponse(Optional connectionResponse) { + Utils.checkNotNull(connectionResponse, "connectionResponse"); + this.connectionResponse = connectionResponse; + return this; + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public PatchConnectionResponse build() { + return new PatchConnectionResponse( + connectionResponse, + contentType, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/PatchDestinationRequest.java b/src/main/java/com/airbyte/api/models/operations/PatchDestinationRequest.java new file mode 100644 index 000000000..4845f0044 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/PatchDestinationRequest.java @@ -0,0 +1,128 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class PatchDestinationRequest { + + @SpeakeasyMetadata("request:mediaType=application/json") + private Optional destinationPatchRequest; + + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=destinationId") + private String destinationId; + + public PatchDestinationRequest( + Optional destinationPatchRequest, + String destinationId) { + Utils.checkNotNull(destinationPatchRequest, "destinationPatchRequest"); + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationPatchRequest = destinationPatchRequest; + this.destinationId = destinationId; + } + + public Optional destinationPatchRequest() { + return destinationPatchRequest; + } + + public String destinationId() { + return destinationId; + } + + public final static Builder builder() { + return new Builder(); + } + + public PatchDestinationRequest withDestinationPatchRequest(com.airbyte.api.models.shared.DestinationPatchRequest destinationPatchRequest) { + Utils.checkNotNull(destinationPatchRequest, "destinationPatchRequest"); + this.destinationPatchRequest = Optional.ofNullable(destinationPatchRequest); + return this; + } + + public PatchDestinationRequest withDestinationPatchRequest(Optional destinationPatchRequest) { + Utils.checkNotNull(destinationPatchRequest, "destinationPatchRequest"); + this.destinationPatchRequest = destinationPatchRequest; + return this; + } + + public PatchDestinationRequest withDestinationId(String destinationId) { + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationId = destinationId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PatchDestinationRequest other = (PatchDestinationRequest) o; + return + java.util.Objects.deepEquals(this.destinationPatchRequest, other.destinationPatchRequest) && + java.util.Objects.deepEquals(this.destinationId, other.destinationId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + destinationPatchRequest, + destinationId); + } + + @Override + public String toString() { + return Utils.toString(PatchDestinationRequest.class, + "destinationPatchRequest", destinationPatchRequest, + "destinationId", destinationId); + } + + public final static class Builder { + + private Optional destinationPatchRequest = Optional.empty(); + + private String destinationId; + + private Builder() { + // force use of static builder() method + } + + public Builder destinationPatchRequest(com.airbyte.api.models.shared.DestinationPatchRequest destinationPatchRequest) { + Utils.checkNotNull(destinationPatchRequest, "destinationPatchRequest"); + this.destinationPatchRequest = Optional.ofNullable(destinationPatchRequest); + return this; + } + + public Builder destinationPatchRequest(Optional destinationPatchRequest) { + Utils.checkNotNull(destinationPatchRequest, "destinationPatchRequest"); + this.destinationPatchRequest = destinationPatchRequest; + return this; + } + + public Builder destinationId(String destinationId) { + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationId = destinationId; + return this; + } + + public PatchDestinationRequest build() { + return new PatchDestinationRequest( + destinationPatchRequest, + destinationId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/PatchDestinationRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/PatchDestinationRequestBuilder.java new file mode 100644 index 000000000..ce1c4270a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/PatchDestinationRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class PatchDestinationRequestBuilder { + + private PatchDestinationRequest request; + private final SDKMethodInterfaces.MethodCallPatchDestination sdk; + + public PatchDestinationRequestBuilder(SDKMethodInterfaces.MethodCallPatchDestination sdk) { + this.sdk = sdk; + } + + public PatchDestinationRequestBuilder request(PatchDestinationRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public PatchDestinationResponse call() throws Exception { + + return sdk.patchDestination( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/PatchDestinationResponse.java b/src/main/java/com/airbyte/api/models/operations/PatchDestinationResponse.java new file mode 100644 index 000000000..8abc0dd9c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/PatchDestinationResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class PatchDestinationResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * Update a Destination + */ + private Optional destinationResponse; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public PatchDestinationResponse( + String contentType, + Optional destinationResponse, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(destinationResponse, "destinationResponse"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.destinationResponse = destinationResponse; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * Update a Destination + */ + public Optional destinationResponse() { + return destinationResponse; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public PatchDestinationResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Update a Destination + */ + public PatchDestinationResponse withDestinationResponse(com.airbyte.api.models.shared.DestinationResponse destinationResponse) { + Utils.checkNotNull(destinationResponse, "destinationResponse"); + this.destinationResponse = Optional.ofNullable(destinationResponse); + return this; + } + + /** + * Update a Destination + */ + public PatchDestinationResponse withDestinationResponse(Optional destinationResponse) { + Utils.checkNotNull(destinationResponse, "destinationResponse"); + this.destinationResponse = destinationResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public PatchDestinationResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public PatchDestinationResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PatchDestinationResponse other = (PatchDestinationResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.destinationResponse, other.destinationResponse) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + destinationResponse, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(PatchDestinationResponse.class, + "contentType", contentType, + "destinationResponse", destinationResponse, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Optional destinationResponse = Optional.empty(); + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Update a Destination + */ + public Builder destinationResponse(com.airbyte.api.models.shared.DestinationResponse destinationResponse) { + Utils.checkNotNull(destinationResponse, "destinationResponse"); + this.destinationResponse = Optional.ofNullable(destinationResponse); + return this; + } + + /** + * Update a Destination + */ + public Builder destinationResponse(Optional destinationResponse) { + Utils.checkNotNull(destinationResponse, "destinationResponse"); + this.destinationResponse = destinationResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public PatchDestinationResponse build() { + return new PatchDestinationResponse( + contentType, + destinationResponse, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/PatchSourceRequest.java b/src/main/java/com/airbyte/api/models/operations/PatchSourceRequest.java new file mode 100644 index 000000000..3636bd4cf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/PatchSourceRequest.java @@ -0,0 +1,128 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class PatchSourceRequest { + + @SpeakeasyMetadata("request:mediaType=application/json") + private Optional sourcePatchRequest; + + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sourceId") + private String sourceId; + + public PatchSourceRequest( + Optional sourcePatchRequest, + String sourceId) { + Utils.checkNotNull(sourcePatchRequest, "sourcePatchRequest"); + Utils.checkNotNull(sourceId, "sourceId"); + this.sourcePatchRequest = sourcePatchRequest; + this.sourceId = sourceId; + } + + public Optional sourcePatchRequest() { + return sourcePatchRequest; + } + + public String sourceId() { + return sourceId; + } + + public final static Builder builder() { + return new Builder(); + } + + public PatchSourceRequest withSourcePatchRequest(com.airbyte.api.models.shared.SourcePatchRequest sourcePatchRequest) { + Utils.checkNotNull(sourcePatchRequest, "sourcePatchRequest"); + this.sourcePatchRequest = Optional.ofNullable(sourcePatchRequest); + return this; + } + + public PatchSourceRequest withSourcePatchRequest(Optional sourcePatchRequest) { + Utils.checkNotNull(sourcePatchRequest, "sourcePatchRequest"); + this.sourcePatchRequest = sourcePatchRequest; + return this; + } + + public PatchSourceRequest withSourceId(String sourceId) { + Utils.checkNotNull(sourceId, "sourceId"); + this.sourceId = sourceId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PatchSourceRequest other = (PatchSourceRequest) o; + return + java.util.Objects.deepEquals(this.sourcePatchRequest, other.sourcePatchRequest) && + java.util.Objects.deepEquals(this.sourceId, other.sourceId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sourcePatchRequest, + sourceId); + } + + @Override + public String toString() { + return Utils.toString(PatchSourceRequest.class, + "sourcePatchRequest", sourcePatchRequest, + "sourceId", sourceId); + } + + public final static class Builder { + + private Optional sourcePatchRequest = Optional.empty(); + + private String sourceId; + + private Builder() { + // force use of static builder() method + } + + public Builder sourcePatchRequest(com.airbyte.api.models.shared.SourcePatchRequest sourcePatchRequest) { + Utils.checkNotNull(sourcePatchRequest, "sourcePatchRequest"); + this.sourcePatchRequest = Optional.ofNullable(sourcePatchRequest); + return this; + } + + public Builder sourcePatchRequest(Optional sourcePatchRequest) { + Utils.checkNotNull(sourcePatchRequest, "sourcePatchRequest"); + this.sourcePatchRequest = sourcePatchRequest; + return this; + } + + public Builder sourceId(String sourceId) { + Utils.checkNotNull(sourceId, "sourceId"); + this.sourceId = sourceId; + return this; + } + + public PatchSourceRequest build() { + return new PatchSourceRequest( + sourcePatchRequest, + sourceId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/PatchSourceRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/PatchSourceRequestBuilder.java new file mode 100644 index 000000000..ea3f6b238 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/PatchSourceRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class PatchSourceRequestBuilder { + + private PatchSourceRequest request; + private final SDKMethodInterfaces.MethodCallPatchSource sdk; + + public PatchSourceRequestBuilder(SDKMethodInterfaces.MethodCallPatchSource sdk) { + this.sdk = sdk; + } + + public PatchSourceRequestBuilder request(PatchSourceRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public PatchSourceResponse call() throws Exception { + + return sdk.patchSource( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/PatchSourceResponse.java b/src/main/java/com/airbyte/api/models/operations/PatchSourceResponse.java new file mode 100644 index 000000000..af87f2d3c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/PatchSourceResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class PatchSourceResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * Update a Source + */ + private Optional sourceResponse; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public PatchSourceResponse( + String contentType, + Optional sourceResponse, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(sourceResponse, "sourceResponse"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.sourceResponse = sourceResponse; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * Update a Source + */ + public Optional sourceResponse() { + return sourceResponse; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public PatchSourceResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Update a Source + */ + public PatchSourceResponse withSourceResponse(com.airbyte.api.models.shared.SourceResponse sourceResponse) { + Utils.checkNotNull(sourceResponse, "sourceResponse"); + this.sourceResponse = Optional.ofNullable(sourceResponse); + return this; + } + + /** + * Update a Source + */ + public PatchSourceResponse withSourceResponse(Optional sourceResponse) { + Utils.checkNotNull(sourceResponse, "sourceResponse"); + this.sourceResponse = sourceResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public PatchSourceResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public PatchSourceResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PatchSourceResponse other = (PatchSourceResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.sourceResponse, other.sourceResponse) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + sourceResponse, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(PatchSourceResponse.class, + "contentType", contentType, + "sourceResponse", sourceResponse, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Optional sourceResponse = Optional.empty(); + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Update a Source + */ + public Builder sourceResponse(com.airbyte.api.models.shared.SourceResponse sourceResponse) { + Utils.checkNotNull(sourceResponse, "sourceResponse"); + this.sourceResponse = Optional.ofNullable(sourceResponse); + return this; + } + + /** + * Update a Source + */ + public Builder sourceResponse(Optional sourceResponse) { + Utils.checkNotNull(sourceResponse, "sourceResponse"); + this.sourceResponse = sourceResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public PatchSourceResponse build() { + return new PatchSourceResponse( + contentType, + sourceResponse, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/PutDestinationRequest.java b/src/main/java/com/airbyte/api/models/operations/PutDestinationRequest.java new file mode 100644 index 000000000..4eb361d3b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/PutDestinationRequest.java @@ -0,0 +1,128 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class PutDestinationRequest { + + @SpeakeasyMetadata("request:mediaType=application/json") + private Optional destinationPutRequest; + + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=destinationId") + private String destinationId; + + public PutDestinationRequest( + Optional destinationPutRequest, + String destinationId) { + Utils.checkNotNull(destinationPutRequest, "destinationPutRequest"); + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationPutRequest = destinationPutRequest; + this.destinationId = destinationId; + } + + public Optional destinationPutRequest() { + return destinationPutRequest; + } + + public String destinationId() { + return destinationId; + } + + public final static Builder builder() { + return new Builder(); + } + + public PutDestinationRequest withDestinationPutRequest(com.airbyte.api.models.shared.DestinationPutRequest destinationPutRequest) { + Utils.checkNotNull(destinationPutRequest, "destinationPutRequest"); + this.destinationPutRequest = Optional.ofNullable(destinationPutRequest); + return this; + } + + public PutDestinationRequest withDestinationPutRequest(Optional destinationPutRequest) { + Utils.checkNotNull(destinationPutRequest, "destinationPutRequest"); + this.destinationPutRequest = destinationPutRequest; + return this; + } + + public PutDestinationRequest withDestinationId(String destinationId) { + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationId = destinationId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PutDestinationRequest other = (PutDestinationRequest) o; + return + java.util.Objects.deepEquals(this.destinationPutRequest, other.destinationPutRequest) && + java.util.Objects.deepEquals(this.destinationId, other.destinationId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + destinationPutRequest, + destinationId); + } + + @Override + public String toString() { + return Utils.toString(PutDestinationRequest.class, + "destinationPutRequest", destinationPutRequest, + "destinationId", destinationId); + } + + public final static class Builder { + + private Optional destinationPutRequest = Optional.empty(); + + private String destinationId; + + private Builder() { + // force use of static builder() method + } + + public Builder destinationPutRequest(com.airbyte.api.models.shared.DestinationPutRequest destinationPutRequest) { + Utils.checkNotNull(destinationPutRequest, "destinationPutRequest"); + this.destinationPutRequest = Optional.ofNullable(destinationPutRequest); + return this; + } + + public Builder destinationPutRequest(Optional destinationPutRequest) { + Utils.checkNotNull(destinationPutRequest, "destinationPutRequest"); + this.destinationPutRequest = destinationPutRequest; + return this; + } + + public Builder destinationId(String destinationId) { + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationId = destinationId; + return this; + } + + public PutDestinationRequest build() { + return new PutDestinationRequest( + destinationPutRequest, + destinationId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/PutDestinationRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/PutDestinationRequestBuilder.java new file mode 100644 index 000000000..48a97f4e4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/PutDestinationRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class PutDestinationRequestBuilder { + + private PutDestinationRequest request; + private final SDKMethodInterfaces.MethodCallPutDestination sdk; + + public PutDestinationRequestBuilder(SDKMethodInterfaces.MethodCallPutDestination sdk) { + this.sdk = sdk; + } + + public PutDestinationRequestBuilder request(PutDestinationRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public PutDestinationResponse call() throws Exception { + + return sdk.putDestination( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/PutDestinationResponse.java b/src/main/java/com/airbyte/api/models/operations/PutDestinationResponse.java new file mode 100644 index 000000000..6b96e044f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/PutDestinationResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class PutDestinationResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * Update a Destination and fully overwrite it + */ + private Optional destinationResponse; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public PutDestinationResponse( + String contentType, + Optional destinationResponse, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(destinationResponse, "destinationResponse"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.destinationResponse = destinationResponse; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * Update a Destination and fully overwrite it + */ + public Optional destinationResponse() { + return destinationResponse; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public PutDestinationResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Update a Destination and fully overwrite it + */ + public PutDestinationResponse withDestinationResponse(com.airbyte.api.models.shared.DestinationResponse destinationResponse) { + Utils.checkNotNull(destinationResponse, "destinationResponse"); + this.destinationResponse = Optional.ofNullable(destinationResponse); + return this; + } + + /** + * Update a Destination and fully overwrite it + */ + public PutDestinationResponse withDestinationResponse(Optional destinationResponse) { + Utils.checkNotNull(destinationResponse, "destinationResponse"); + this.destinationResponse = destinationResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public PutDestinationResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public PutDestinationResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PutDestinationResponse other = (PutDestinationResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.destinationResponse, other.destinationResponse) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + destinationResponse, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(PutDestinationResponse.class, + "contentType", contentType, + "destinationResponse", destinationResponse, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Optional destinationResponse = Optional.empty(); + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Update a Destination and fully overwrite it + */ + public Builder destinationResponse(com.airbyte.api.models.shared.DestinationResponse destinationResponse) { + Utils.checkNotNull(destinationResponse, "destinationResponse"); + this.destinationResponse = Optional.ofNullable(destinationResponse); + return this; + } + + /** + * Update a Destination and fully overwrite it + */ + public Builder destinationResponse(Optional destinationResponse) { + Utils.checkNotNull(destinationResponse, "destinationResponse"); + this.destinationResponse = destinationResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public PutDestinationResponse build() { + return new PutDestinationResponse( + contentType, + destinationResponse, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/PutSourceRequest.java b/src/main/java/com/airbyte/api/models/operations/PutSourceRequest.java new file mode 100644 index 000000000..3262671e1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/PutSourceRequest.java @@ -0,0 +1,128 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class PutSourceRequest { + + @SpeakeasyMetadata("request:mediaType=application/json") + private Optional sourcePutRequest; + + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sourceId") + private String sourceId; + + public PutSourceRequest( + Optional sourcePutRequest, + String sourceId) { + Utils.checkNotNull(sourcePutRequest, "sourcePutRequest"); + Utils.checkNotNull(sourceId, "sourceId"); + this.sourcePutRequest = sourcePutRequest; + this.sourceId = sourceId; + } + + public Optional sourcePutRequest() { + return sourcePutRequest; + } + + public String sourceId() { + return sourceId; + } + + public final static Builder builder() { + return new Builder(); + } + + public PutSourceRequest withSourcePutRequest(com.airbyte.api.models.shared.SourcePutRequest sourcePutRequest) { + Utils.checkNotNull(sourcePutRequest, "sourcePutRequest"); + this.sourcePutRequest = Optional.ofNullable(sourcePutRequest); + return this; + } + + public PutSourceRequest withSourcePutRequest(Optional sourcePutRequest) { + Utils.checkNotNull(sourcePutRequest, "sourcePutRequest"); + this.sourcePutRequest = sourcePutRequest; + return this; + } + + public PutSourceRequest withSourceId(String sourceId) { + Utils.checkNotNull(sourceId, "sourceId"); + this.sourceId = sourceId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PutSourceRequest other = (PutSourceRequest) o; + return + java.util.Objects.deepEquals(this.sourcePutRequest, other.sourcePutRequest) && + java.util.Objects.deepEquals(this.sourceId, other.sourceId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sourcePutRequest, + sourceId); + } + + @Override + public String toString() { + return Utils.toString(PutSourceRequest.class, + "sourcePutRequest", sourcePutRequest, + "sourceId", sourceId); + } + + public final static class Builder { + + private Optional sourcePutRequest = Optional.empty(); + + private String sourceId; + + private Builder() { + // force use of static builder() method + } + + public Builder sourcePutRequest(com.airbyte.api.models.shared.SourcePutRequest sourcePutRequest) { + Utils.checkNotNull(sourcePutRequest, "sourcePutRequest"); + this.sourcePutRequest = Optional.ofNullable(sourcePutRequest); + return this; + } + + public Builder sourcePutRequest(Optional sourcePutRequest) { + Utils.checkNotNull(sourcePutRequest, "sourcePutRequest"); + this.sourcePutRequest = sourcePutRequest; + return this; + } + + public Builder sourceId(String sourceId) { + Utils.checkNotNull(sourceId, "sourceId"); + this.sourceId = sourceId; + return this; + } + + public PutSourceRequest build() { + return new PutSourceRequest( + sourcePutRequest, + sourceId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/PutSourceRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/PutSourceRequestBuilder.java new file mode 100644 index 000000000..b2e0254e4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/PutSourceRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class PutSourceRequestBuilder { + + private PutSourceRequest request; + private final SDKMethodInterfaces.MethodCallPutSource sdk; + + public PutSourceRequestBuilder(SDKMethodInterfaces.MethodCallPutSource sdk) { + this.sdk = sdk; + } + + public PutSourceRequestBuilder request(PutSourceRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public PutSourceResponse call() throws Exception { + + return sdk.putSource( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/PutSourceResponse.java b/src/main/java/com/airbyte/api/models/operations/PutSourceResponse.java new file mode 100644 index 000000000..696b93634 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/PutSourceResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class PutSourceResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * Update a source and fully overwrite it + */ + private Optional sourceResponse; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + public PutSourceResponse( + String contentType, + Optional sourceResponse, + int statusCode, + HttpResponse rawResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(sourceResponse, "sourceResponse"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.contentType = contentType; + this.sourceResponse = sourceResponse; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * Update a source and fully overwrite it + */ + public Optional sourceResponse() { + return sourceResponse; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public PutSourceResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Update a source and fully overwrite it + */ + public PutSourceResponse withSourceResponse(com.airbyte.api.models.shared.SourceResponse sourceResponse) { + Utils.checkNotNull(sourceResponse, "sourceResponse"); + this.sourceResponse = Optional.ofNullable(sourceResponse); + return this; + } + + /** + * Update a source and fully overwrite it + */ + public PutSourceResponse withSourceResponse(Optional sourceResponse) { + Utils.checkNotNull(sourceResponse, "sourceResponse"); + this.sourceResponse = sourceResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public PutSourceResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public PutSourceResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PutSourceResponse other = (PutSourceResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.sourceResponse, other.sourceResponse) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + sourceResponse, + statusCode, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(PutSourceResponse.class, + "contentType", contentType, + "sourceResponse", sourceResponse, + "statusCode", statusCode, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private String contentType; + + private Optional sourceResponse = Optional.empty(); + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Update a source and fully overwrite it + */ + public Builder sourceResponse(com.airbyte.api.models.shared.SourceResponse sourceResponse) { + Utils.checkNotNull(sourceResponse, "sourceResponse"); + this.sourceResponse = Optional.ofNullable(sourceResponse); + return this; + } + + /** + * Update a source and fully overwrite it + */ + public Builder sourceResponse(Optional sourceResponse) { + Utils.checkNotNull(sourceResponse, "sourceResponse"); + this.sourceResponse = sourceResponse; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public PutSourceResponse build() { + return new PutSourceResponse( + contentType, + sourceResponse, + statusCode, + rawResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/SDKMethodInterfaces.java b/src/main/java/com/airbyte/api/models/operations/SDKMethodInterfaces.java new file mode 100644 index 000000000..75dccae7a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/SDKMethodInterfaces.java @@ -0,0 +1,190 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class SDKMethodInterfaces { + + public interface MethodCallCreateConnection { + com.airbyte.api.models.operations.CreateConnectionResponse createConnection( + com.airbyte.api.models.shared.ConnectionCreateRequest request) throws Exception; + } + + + public interface MethodCallDeleteConnection { + com.airbyte.api.models.operations.DeleteConnectionResponse deleteConnection( + com.airbyte.api.models.operations.DeleteConnectionRequest request) throws Exception; + } + + + public interface MethodCallGetConnection { + com.airbyte.api.models.operations.GetConnectionResponse getConnection( + com.airbyte.api.models.operations.GetConnectionRequest request) throws Exception; + } + + + public interface MethodCallListConnections { + com.airbyte.api.models.operations.ListConnectionsResponse listConnections( + com.airbyte.api.models.operations.ListConnectionsRequest request) throws Exception; + } + + + public interface MethodCallPatchConnection { + com.airbyte.api.models.operations.PatchConnectionResponse patchConnection( + com.airbyte.api.models.operations.PatchConnectionRequest request) throws Exception; + } + + + public interface MethodCallCreateDestination { + com.airbyte.api.models.operations.CreateDestinationResponse createDestination( + Optional request) throws Exception; + } + + + public interface MethodCallDeleteDestination { + com.airbyte.api.models.operations.DeleteDestinationResponse deleteDestination( + com.airbyte.api.models.operations.DeleteDestinationRequest request) throws Exception; + } + + + public interface MethodCallGetDestination { + com.airbyte.api.models.operations.GetDestinationResponse getDestination( + com.airbyte.api.models.operations.GetDestinationRequest request) throws Exception; + } + + + public interface MethodCallListDestinations { + com.airbyte.api.models.operations.ListDestinationsResponse listDestinations( + com.airbyte.api.models.operations.ListDestinationsRequest request) throws Exception; + } + + + public interface MethodCallPatchDestination { + com.airbyte.api.models.operations.PatchDestinationResponse patchDestination( + com.airbyte.api.models.operations.PatchDestinationRequest request) throws Exception; + } + + + public interface MethodCallPutDestination { + com.airbyte.api.models.operations.PutDestinationResponse putDestination( + com.airbyte.api.models.operations.PutDestinationRequest request) throws Exception; + } + + + public interface MethodCallCancelJob { + com.airbyte.api.models.operations.CancelJobResponse cancelJob( + com.airbyte.api.models.operations.CancelJobRequest request) throws Exception; + } + + + public interface MethodCallCreateJob { + com.airbyte.api.models.operations.CreateJobResponse createJob( + com.airbyte.api.models.shared.JobCreateRequest request) throws Exception; + } + + + public interface MethodCallGetJob { + com.airbyte.api.models.operations.GetJobResponse getJob( + com.airbyte.api.models.operations.GetJobRequest request) throws Exception; + } + + + public interface MethodCallListJobs { + com.airbyte.api.models.operations.ListJobsResponse listJobs( + com.airbyte.api.models.operations.ListJobsRequest request) throws Exception; + } + + + public interface MethodCallCreateSource { + com.airbyte.api.models.operations.CreateSourceResponse createSource( + Optional request) throws Exception; + } + + + public interface MethodCallDeleteSource { + com.airbyte.api.models.operations.DeleteSourceResponse deleteSource( + com.airbyte.api.models.operations.DeleteSourceRequest request) throws Exception; + } + + + public interface MethodCallGetSource { + com.airbyte.api.models.operations.GetSourceResponse getSource( + com.airbyte.api.models.operations.GetSourceRequest request) throws Exception; + } + + + public interface MethodCallInitiateOAuth { + com.airbyte.api.models.operations.InitiateOAuthResponse initiateOAuth( + com.airbyte.api.models.shared.InitiateOauthRequest request) throws Exception; + } + + + public interface MethodCallListSources { + com.airbyte.api.models.operations.ListSourcesResponse listSources( + com.airbyte.api.models.operations.ListSourcesRequest request) throws Exception; + } + + + public interface MethodCallPatchSource { + com.airbyte.api.models.operations.PatchSourceResponse patchSource( + com.airbyte.api.models.operations.PatchSourceRequest request) throws Exception; + } + + + public interface MethodCallPutSource { + com.airbyte.api.models.operations.PutSourceResponse putSource( + com.airbyte.api.models.operations.PutSourceRequest request) throws Exception; + } + + + public interface MethodCallGetStreamProperties { + com.airbyte.api.models.operations.GetStreamPropertiesResponse getStreamProperties( + com.airbyte.api.models.operations.GetStreamPropertiesRequest request) throws Exception; + } + + + public interface MethodCallCreateOrUpdateWorkspaceOAuthCredentials { + com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsResponse createOrUpdateWorkspaceOAuthCredentials( + com.airbyte.api.models.operations.CreateOrUpdateWorkspaceOAuthCredentialsRequest request) throws Exception; + } + + + public interface MethodCallCreateWorkspace { + com.airbyte.api.models.operations.CreateWorkspaceResponse createWorkspace( + com.airbyte.api.models.shared.WorkspaceCreateRequest request) throws Exception; + } + + + public interface MethodCallDeleteWorkspace { + com.airbyte.api.models.operations.DeleteWorkspaceResponse deleteWorkspace( + com.airbyte.api.models.operations.DeleteWorkspaceRequest request) throws Exception; + } + + + public interface MethodCallGetWorkspace { + com.airbyte.api.models.operations.GetWorkspaceResponse getWorkspace( + com.airbyte.api.models.operations.GetWorkspaceRequest request) throws Exception; + } + + + public interface MethodCallListWorkspaces { + com.airbyte.api.models.operations.ListWorkspacesResponse listWorkspaces( + com.airbyte.api.models.operations.ListWorkspacesRequest request) throws Exception; + } + + + public interface MethodCallUpdateWorkspace { + com.airbyte.api.models.operations.UpdateWorkspaceResponse updateWorkspace( + com.airbyte.api.models.operations.UpdateWorkspaceRequest request) throws Exception; + } + +} diff --git a/src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceRequest.java b/src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceRequest.java new file mode 100644 index 000000000..c67e90462 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceRequest.java @@ -0,0 +1,115 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class UpdateWorkspaceRequest { + + @SpeakeasyMetadata("request:mediaType=application/json") + private com.airbyte.api.models.shared.WorkspaceUpdateRequest workspaceUpdateRequest; + + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=workspaceId") + private String workspaceId; + + public UpdateWorkspaceRequest( + com.airbyte.api.models.shared.WorkspaceUpdateRequest workspaceUpdateRequest, + String workspaceId) { + Utils.checkNotNull(workspaceUpdateRequest, "workspaceUpdateRequest"); + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceUpdateRequest = workspaceUpdateRequest; + this.workspaceId = workspaceId; + } + + public com.airbyte.api.models.shared.WorkspaceUpdateRequest workspaceUpdateRequest() { + return workspaceUpdateRequest; + } + + public String workspaceId() { + return workspaceId; + } + + public final static Builder builder() { + return new Builder(); + } + + public UpdateWorkspaceRequest withWorkspaceUpdateRequest(com.airbyte.api.models.shared.WorkspaceUpdateRequest workspaceUpdateRequest) { + Utils.checkNotNull(workspaceUpdateRequest, "workspaceUpdateRequest"); + this.workspaceUpdateRequest = workspaceUpdateRequest; + return this; + } + + public UpdateWorkspaceRequest withWorkspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateWorkspaceRequest other = (UpdateWorkspaceRequest) o; + return + java.util.Objects.deepEquals(this.workspaceUpdateRequest, other.workspaceUpdateRequest) && + java.util.Objects.deepEquals(this.workspaceId, other.workspaceId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + workspaceUpdateRequest, + workspaceId); + } + + @Override + public String toString() { + return Utils.toString(UpdateWorkspaceRequest.class, + "workspaceUpdateRequest", workspaceUpdateRequest, + "workspaceId", workspaceId); + } + + public final static class Builder { + + private com.airbyte.api.models.shared.WorkspaceUpdateRequest workspaceUpdateRequest; + + private String workspaceId; + + private Builder() { + // force use of static builder() method + } + + public Builder workspaceUpdateRequest(com.airbyte.api.models.shared.WorkspaceUpdateRequest workspaceUpdateRequest) { + Utils.checkNotNull(workspaceUpdateRequest, "workspaceUpdateRequest"); + this.workspaceUpdateRequest = workspaceUpdateRequest; + return this; + } + + public Builder workspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + public UpdateWorkspaceRequest build() { + return new UpdateWorkspaceRequest( + workspaceUpdateRequest, + workspaceId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceRequestBuilder.java b/src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceRequestBuilder.java new file mode 100644 index 000000000..59e52f63a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceRequestBuilder.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.models.errors.SDKError; +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.Optional; +import java.util.stream.Stream; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class UpdateWorkspaceRequestBuilder { + + private UpdateWorkspaceRequest request; + private final SDKMethodInterfaces.MethodCallUpdateWorkspace sdk; + + public UpdateWorkspaceRequestBuilder(SDKMethodInterfaces.MethodCallUpdateWorkspace sdk) { + this.sdk = sdk; + } + + public UpdateWorkspaceRequestBuilder request(UpdateWorkspaceRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public UpdateWorkspaceResponse call() throws Exception { + + return sdk.updateWorkspace( + request); + } +} diff --git a/src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceResponse.java b/src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceResponse.java new file mode 100644 index 000000000..aebf5df3a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/operations/UpdateWorkspaceResponse.java @@ -0,0 +1,234 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.operations; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.http.HttpResponse; +import java.util.Optional; + + +public class UpdateWorkspaceResponse implements com.airbyte.api.utils.Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + /** + * Successful operation + */ + private Optional workspaceResponse; + + public UpdateWorkspaceResponse( + String contentType, + int statusCode, + HttpResponse rawResponse, + Optional workspaceResponse) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + Utils.checkNotNull(workspaceResponse, "workspaceResponse"); + this.contentType = contentType; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + this.workspaceResponse = workspaceResponse; + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return rawResponse; + } + + /** + * Successful operation + */ + public Optional workspaceResponse() { + return workspaceResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public UpdateWorkspaceResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public UpdateWorkspaceResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public UpdateWorkspaceResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + /** + * Successful operation + */ + public UpdateWorkspaceResponse withWorkspaceResponse(com.airbyte.api.models.shared.WorkspaceResponse workspaceResponse) { + Utils.checkNotNull(workspaceResponse, "workspaceResponse"); + this.workspaceResponse = Optional.ofNullable(workspaceResponse); + return this; + } + + /** + * Successful operation + */ + public UpdateWorkspaceResponse withWorkspaceResponse(Optional workspaceResponse) { + Utils.checkNotNull(workspaceResponse, "workspaceResponse"); + this.workspaceResponse = workspaceResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateWorkspaceResponse other = (UpdateWorkspaceResponse) o; + return + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.statusCode, other.statusCode) && + java.util.Objects.deepEquals(this.rawResponse, other.rawResponse) && + java.util.Objects.deepEquals(this.workspaceResponse, other.workspaceResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + contentType, + statusCode, + rawResponse, + workspaceResponse); + } + + @Override + public String toString() { + return Utils.toString(UpdateWorkspaceResponse.class, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse, + "workspaceResponse", workspaceResponse); + } + + public final static class Builder { + + private String contentType; + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Optional workspaceResponse = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + /** + * Successful operation + */ + public Builder workspaceResponse(com.airbyte.api.models.shared.WorkspaceResponse workspaceResponse) { + Utils.checkNotNull(workspaceResponse, "workspaceResponse"); + this.workspaceResponse = Optional.ofNullable(workspaceResponse); + return this; + } + + /** + * Successful operation + */ + public Builder workspaceResponse(Optional workspaceResponse) { + Utils.checkNotNull(workspaceResponse, "workspaceResponse"); + this.workspaceResponse = workspaceResponse; + return this; + } + + public UpdateWorkspaceResponse build() { + return new UpdateWorkspaceResponse( + contentType, + statusCode, + rawResponse, + workspaceResponse); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AESCBCEnvelopeEncryption.java b/src/main/java/com/airbyte/api/models/shared/AESCBCEnvelopeEncryption.java new file mode 100644 index 000000000..0880dc585 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AESCBCEnvelopeEncryption.java @@ -0,0 +1,143 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * AESCBCEnvelopeEncryption - Staging data will be encrypted using AES-CBC envelope encryption. + */ + +public class AESCBCEnvelopeEncryption { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("encryption_type") + private Optional encryptionType; + + /** + * The key, base64-encoded. Must be either 128, 192, or 256 bits. Leave blank to have Airbyte generate an ephemeral key for each sync. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("key_encrypting_key") + private Optional keyEncryptingKey; + + public AESCBCEnvelopeEncryption( + @JsonProperty("key_encrypting_key") Optional keyEncryptingKey) { + Utils.checkNotNull(keyEncryptingKey, "keyEncryptingKey"); + this.encryptionType = Builder._SINGLETON_VALUE_EncryptionType.value(); + this.keyEncryptingKey = keyEncryptingKey; + } + + public Optional encryptionType() { + return encryptionType; + } + + /** + * The key, base64-encoded. Must be either 128, 192, or 256 bits. Leave blank to have Airbyte generate an ephemeral key for each sync. + */ + public Optional keyEncryptingKey() { + return keyEncryptingKey; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The key, base64-encoded. Must be either 128, 192, or 256 bits. Leave blank to have Airbyte generate an ephemeral key for each sync. + */ + public AESCBCEnvelopeEncryption withKeyEncryptingKey(String keyEncryptingKey) { + Utils.checkNotNull(keyEncryptingKey, "keyEncryptingKey"); + this.keyEncryptingKey = Optional.ofNullable(keyEncryptingKey); + return this; + } + + /** + * The key, base64-encoded. Must be either 128, 192, or 256 bits. Leave blank to have Airbyte generate an ephemeral key for each sync. + */ + public AESCBCEnvelopeEncryption withKeyEncryptingKey(Optional keyEncryptingKey) { + Utils.checkNotNull(keyEncryptingKey, "keyEncryptingKey"); + this.keyEncryptingKey = keyEncryptingKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AESCBCEnvelopeEncryption other = (AESCBCEnvelopeEncryption) o; + return + java.util.Objects.deepEquals(this.encryptionType, other.encryptionType) && + java.util.Objects.deepEquals(this.keyEncryptingKey, other.keyEncryptingKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + encryptionType, + keyEncryptingKey); + } + + @Override + public String toString() { + return Utils.toString(AESCBCEnvelopeEncryption.class, + "encryptionType", encryptionType, + "keyEncryptingKey", keyEncryptingKey); + } + + public final static class Builder { + + private Optional keyEncryptingKey = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The key, base64-encoded. Must be either 128, 192, or 256 bits. Leave blank to have Airbyte generate an ephemeral key for each sync. + */ + public Builder keyEncryptingKey(String keyEncryptingKey) { + Utils.checkNotNull(keyEncryptingKey, "keyEncryptingKey"); + this.keyEncryptingKey = Optional.ofNullable(keyEncryptingKey); + return this; + } + + /** + * The key, base64-encoded. Must be either 128, 192, or 256 bits. Leave blank to have Airbyte generate an ephemeral key for each sync. + */ + public Builder keyEncryptingKey(Optional keyEncryptingKey) { + Utils.checkNotNull(keyEncryptingKey, "keyEncryptingKey"); + this.keyEncryptingKey = keyEncryptingKey; + return this; + } + + public AESCBCEnvelopeEncryption build() { + return new AESCBCEnvelopeEncryption( + keyEncryptingKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_EncryptionType = + new LazySingletonValue<>( + "encryption_type", + "\"aes_cbc_envelope\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/APIAccessToken.java b/src/main/java/com/airbyte/api/models/shared/APIAccessToken.java new file mode 100644 index 000000000..076a93599 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/APIAccessToken.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class APIAccessToken { + + /** + * The access token to use for accessing your data from Smartsheets. This access token must be generated by a user with at least read access to the data you'd like to replicate. Generate an access token in the Smartsheets main menu by clicking Account > Apps & Integrations > API Access. See the <a href="https://docs.airbyte.com/integrations/sources/smartsheets/#setup-guide">setup guide</a> for information on how to obtain this token. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + public APIAccessToken( + @JsonProperty("access_token") String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + } + + /** + * The access token to use for accessing your data from Smartsheets. This access token must be generated by a user with at least read access to the data you'd like to replicate. Generate an access token in the Smartsheets main menu by clicking Account > Apps & Integrations > API Access. See the <a href="https://docs.airbyte.com/integrations/sources/smartsheets/#setup-guide">setup guide</a> for information on how to obtain this token. + */ + public String accessToken() { + return accessToken; + } + + public Optional authType() { + return authType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The access token to use for accessing your data from Smartsheets. This access token must be generated by a user with at least read access to the data you'd like to replicate. Generate an access token in the Smartsheets main menu by clicking Account > Apps & Integrations > API Access. See the <a href="https://docs.airbyte.com/integrations/sources/smartsheets/#setup-guide">setup guide</a> for information on how to obtain this token. + */ + public APIAccessToken withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + APIAccessToken other = (APIAccessToken) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authType, other.authType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authType); + } + + @Override + public String toString() { + return Utils.toString(APIAccessToken.class, + "accessToken", accessToken, + "authType", authType); + } + + public final static class Builder { + + private String accessToken; + + private Builder() { + // force use of static builder() method + } + + /** + * The access token to use for accessing your data from Smartsheets. This access token must be generated by a user with at least read access to the data you'd like to replicate. Generate an access token in the Smartsheets main menu by clicking Account > Apps & Integrations > API Access. See the <a href="https://docs.airbyte.com/integrations/sources/smartsheets/#setup-guide">setup guide</a> for information on how to obtain this token. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + public APIAccessToken build() { + return new APIAccessToken( + accessToken); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"access_token\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/APIKey.java b/src/main/java/com/airbyte/api/models/shared/APIKey.java new file mode 100644 index 000000000..2a0e0034c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/APIKey.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class APIKey { + + /** + * Mailchimp API Key. See the <a href="https://docs.airbyte.com/integrations/sources/mailchimp">docs</a> for information on how to generate this key. + */ + @JsonProperty("apikey") + private String apikey; + + @JsonProperty("auth_type") + private SourceMailchimpSchemasAuthType authType; + + public APIKey( + @JsonProperty("apikey") String apikey) { + Utils.checkNotNull(apikey, "apikey"); + this.apikey = apikey; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + } + + /** + * Mailchimp API Key. See the <a href="https://docs.airbyte.com/integrations/sources/mailchimp">docs</a> for information on how to generate this key. + */ + public String apikey() { + return apikey; + } + + public SourceMailchimpSchemasAuthType authType() { + return authType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Mailchimp API Key. See the <a href="https://docs.airbyte.com/integrations/sources/mailchimp">docs</a> for information on how to generate this key. + */ + public APIKey withApikey(String apikey) { + Utils.checkNotNull(apikey, "apikey"); + this.apikey = apikey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + APIKey other = (APIKey) o; + return + java.util.Objects.deepEquals(this.apikey, other.apikey) && + java.util.Objects.deepEquals(this.authType, other.authType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apikey, + authType); + } + + @Override + public String toString() { + return Utils.toString(APIKey.class, + "apikey", apikey, + "authType", authType); + } + + public final static class Builder { + + private String apikey; + + private Builder() { + // force use of static builder() method + } + + /** + * Mailchimp API Key. See the <a href="https://docs.airbyte.com/integrations/sources/mailchimp">docs</a> for information on how to generate this key. + */ + public Builder apikey(String apikey) { + Utils.checkNotNull(apikey, "apikey"); + this.apikey = apikey; + return this; + } + + public APIKey build() { + return new APIKey( + apikey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"apikey\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/APIPassword.java b/src/main/java/com/airbyte/api/models/shared/APIPassword.java new file mode 100644 index 000000000..149c51e3a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/APIPassword.java @@ -0,0 +1,120 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * APIPassword - API Password Auth + */ + +public class APIPassword { + + /** + * The API Password for your private application in the `Shopify` store. + */ + @JsonProperty("api_password") + private String apiPassword; + + @JsonProperty("auth_method") + private SourceShopifySchemasAuthMethod authMethod; + + public APIPassword( + @JsonProperty("api_password") String apiPassword) { + Utils.checkNotNull(apiPassword, "apiPassword"); + this.apiPassword = apiPassword; + this.authMethod = Builder._SINGLETON_VALUE_AuthMethod.value(); + } + + /** + * The API Password for your private application in the `Shopify` store. + */ + public String apiPassword() { + return apiPassword; + } + + public SourceShopifySchemasAuthMethod authMethod() { + return authMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The API Password for your private application in the `Shopify` store. + */ + public APIPassword withApiPassword(String apiPassword) { + Utils.checkNotNull(apiPassword, "apiPassword"); + this.apiPassword = apiPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + APIPassword other = (APIPassword) o; + return + java.util.Objects.deepEquals(this.apiPassword, other.apiPassword) && + java.util.Objects.deepEquals(this.authMethod, other.authMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiPassword, + authMethod); + } + + @Override + public String toString() { + return Utils.toString(APIPassword.class, + "apiPassword", apiPassword, + "authMethod", authMethod); + } + + public final static class Builder { + + private String apiPassword; + + private Builder() { + // force use of static builder() method + } + + /** + * The API Password for your private application in the `Shopify` store. + */ + public Builder apiPassword(String apiPassword) { + Utils.checkNotNull(apiPassword, "apiPassword"); + this.apiPassword = apiPassword; + return this; + } + + public APIPassword build() { + return new APIPassword( + apiPassword); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthMethod = + new LazySingletonValue<>( + "auth_method", + "\"api_password\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/APIToken.java b/src/main/java/com/airbyte/api/models/shared/APIToken.java new file mode 100644 index 000000000..63b16a88c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/APIToken.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class APIToken { + + /** + * API Token for making authenticated requests. + */ + @JsonProperty("api_token") + private String apiToken; + + @JsonProperty("auth_type") + private SourceMondaySchemasAuthType authType; + + public APIToken( + @JsonProperty("api_token") String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + } + + /** + * API Token for making authenticated requests. + */ + public String apiToken() { + return apiToken; + } + + public SourceMondaySchemasAuthType authType() { + return authType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Token for making authenticated requests. + */ + public APIToken withApiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + APIToken other = (APIToken) o; + return + java.util.Objects.deepEquals(this.apiToken, other.apiToken) && + java.util.Objects.deepEquals(this.authType, other.authType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiToken, + authType); + } + + @Override + public String toString() { + return Utils.toString(APIToken.class, + "apiToken", apiToken, + "authType", authType); + } + + public final static class Builder { + + private String apiToken; + + private Builder() { + // force use of static builder() method + } + + /** + * API Token for making authenticated requests. + */ + public Builder apiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + public APIToken build() { + return new APIToken( + apiToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"api_token\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AWSEnvironment.java b/src/main/java/com/airbyte/api/models/shared/AWSEnvironment.java new file mode 100644 index 000000000..7e3da3246 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AWSEnvironment.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * AWSEnvironment - Select the AWS Environment. + */ +public enum AWSEnvironment { + PRODUCTION("PRODUCTION"), + SANDBOX("SANDBOX"); + + @JsonValue + private final String value; + + private AWSEnvironment(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/AWSRegion.java b/src/main/java/com/airbyte/api/models/shared/AWSRegion.java new file mode 100644 index 000000000..5d5669b2b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AWSRegion.java @@ -0,0 +1,53 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * AWSRegion - Select the AWS Region. + */ +public enum AWSRegion { + AE("AE"), + AU("AU"), + BE("BE"), + BR("BR"), + CA("CA"), + DE("DE"), + EG("EG"), + ES("ES"), + FR("FR"), + GB("GB"), + IN("IN"), + IT("IT"), + JP("JP"), + MX("MX"), + NL("NL"), + PL("PL"), + SA("SA"), + SE("SE"), + SG("SG"), + TR("TR"), + UK("UK"), + US("US"); + + @JsonValue + private final String value; + + private AWSRegion(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/AWSS3Staging.java b/src/main/java/com/airbyte/api/models/shared/AWSS3Staging.java new file mode 100644 index 000000000..0227dfb5e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AWSS3Staging.java @@ -0,0 +1,516 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * AWSS3Staging - <i>(recommended)</i> Uploads data to S3 and then uses a COPY to insert the data into Redshift. COPY is recommended for production workloads for better speed and scalability. See <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html">AWS docs</a> for more details. + */ + +public class AWSS3Staging { + + /** + * This ID grants access to the above S3 staging bucket. Airbyte requires Read and Write permissions to the given bucket. See <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">AWS docs</a> on how to generate an access key ID and secret access key. + */ + @JsonProperty("access_key_id") + private String accessKeyId; + + /** + * How to encrypt the staging data + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("encryption") + private Optional encryption; + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("file_name_pattern") + private Optional fileNamePattern; + + @JsonProperty("method") + private DestinationRedshiftMethod method; + + /** + * Whether to delete the staging files from S3 after completing the sync. See <a href="https://docs.airbyte.com/integrations/destinations/redshift/#:~:text=the%20root%20directory.-,Purge%20Staging%20Data,-Whether%20to%20delete"> docs</a> for details. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("purge_staging_data") + private Optional purgeStagingData; + + /** + * The name of the staging S3 bucket. + */ + @JsonProperty("s3_bucket_name") + private String s3BucketName; + + /** + * The directory under the S3 bucket where data will be written. If not provided, then defaults to the root directory. See <a href="https://docs.aws.amazon.com/prescriptive-guidance/latest/defining-bucket-names-data-lakes/faq.html#:~:text=be%20globally%20unique.-,For%20S3%20bucket%20paths,-%2C%20you%20can%20use">path's name recommendations</a> for more details. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("s3_bucket_path") + private Optional s3BucketPath; + + /** + * The region of the S3 staging bucket. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("s3_bucket_region") + private Optional s3BucketRegion; + + /** + * The corresponding secret to the above access key id. See <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">AWS docs</a> on how to generate an access key ID and secret access key. + */ + @JsonProperty("secret_access_key") + private String secretAccessKey; + + public AWSS3Staging( + @JsonProperty("access_key_id") String accessKeyId, + @JsonProperty("encryption") Optional encryption, + @JsonProperty("file_name_pattern") Optional fileNamePattern, + @JsonProperty("purge_staging_data") Optional purgeStagingData, + @JsonProperty("s3_bucket_name") String s3BucketName, + @JsonProperty("s3_bucket_path") Optional s3BucketPath, + @JsonProperty("s3_bucket_region") Optional s3BucketRegion, + @JsonProperty("secret_access_key") String secretAccessKey) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + Utils.checkNotNull(encryption, "encryption"); + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + Utils.checkNotNull(purgeStagingData, "purgeStagingData"); + Utils.checkNotNull(s3BucketName, "s3BucketName"); + Utils.checkNotNull(s3BucketPath, "s3BucketPath"); + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.accessKeyId = accessKeyId; + this.encryption = encryption; + this.fileNamePattern = fileNamePattern; + this.method = Builder._SINGLETON_VALUE_Method.value(); + this.purgeStagingData = purgeStagingData; + this.s3BucketName = s3BucketName; + this.s3BucketPath = s3BucketPath; + this.s3BucketRegion = s3BucketRegion; + this.secretAccessKey = secretAccessKey; + } + + /** + * This ID grants access to the above S3 staging bucket. Airbyte requires Read and Write permissions to the given bucket. See <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">AWS docs</a> on how to generate an access key ID and secret access key. + */ + public String accessKeyId() { + return accessKeyId; + } + + /** + * How to encrypt the staging data + */ + public Optional encryption() { + return encryption; + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public Optional fileNamePattern() { + return fileNamePattern; + } + + public DestinationRedshiftMethod method() { + return method; + } + + /** + * Whether to delete the staging files from S3 after completing the sync. See <a href="https://docs.airbyte.com/integrations/destinations/redshift/#:~:text=the%20root%20directory.-,Purge%20Staging%20Data,-Whether%20to%20delete"> docs</a> for details. + */ + public Optional purgeStagingData() { + return purgeStagingData; + } + + /** + * The name of the staging S3 bucket. + */ + public String s3BucketName() { + return s3BucketName; + } + + /** + * The directory under the S3 bucket where data will be written. If not provided, then defaults to the root directory. See <a href="https://docs.aws.amazon.com/prescriptive-guidance/latest/defining-bucket-names-data-lakes/faq.html#:~:text=be%20globally%20unique.-,For%20S3%20bucket%20paths,-%2C%20you%20can%20use">path's name recommendations</a> for more details. + */ + public Optional s3BucketPath() { + return s3BucketPath; + } + + /** + * The region of the S3 staging bucket. + */ + public Optional s3BucketRegion() { + return s3BucketRegion; + } + + /** + * The corresponding secret to the above access key id. See <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">AWS docs</a> on how to generate an access key ID and secret access key. + */ + public String secretAccessKey() { + return secretAccessKey; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * This ID grants access to the above S3 staging bucket. Airbyte requires Read and Write permissions to the given bucket. See <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">AWS docs</a> on how to generate an access key ID and secret access key. + */ + public AWSS3Staging withAccessKeyId(String accessKeyId) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + this.accessKeyId = accessKeyId; + return this; + } + + /** + * How to encrypt the staging data + */ + public AWSS3Staging withEncryption(DestinationRedshiftEncryption encryption) { + Utils.checkNotNull(encryption, "encryption"); + this.encryption = Optional.ofNullable(encryption); + return this; + } + + /** + * How to encrypt the staging data + */ + public AWSS3Staging withEncryption(Optional encryption) { + Utils.checkNotNull(encryption, "encryption"); + this.encryption = encryption; + return this; + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public AWSS3Staging withFileNamePattern(String fileNamePattern) { + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + this.fileNamePattern = Optional.ofNullable(fileNamePattern); + return this; + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public AWSS3Staging withFileNamePattern(Optional fileNamePattern) { + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + this.fileNamePattern = fileNamePattern; + return this; + } + + /** + * Whether to delete the staging files from S3 after completing the sync. See <a href="https://docs.airbyte.com/integrations/destinations/redshift/#:~:text=the%20root%20directory.-,Purge%20Staging%20Data,-Whether%20to%20delete"> docs</a> for details. + */ + public AWSS3Staging withPurgeStagingData(boolean purgeStagingData) { + Utils.checkNotNull(purgeStagingData, "purgeStagingData"); + this.purgeStagingData = Optional.ofNullable(purgeStagingData); + return this; + } + + /** + * Whether to delete the staging files from S3 after completing the sync. See <a href="https://docs.airbyte.com/integrations/destinations/redshift/#:~:text=the%20root%20directory.-,Purge%20Staging%20Data,-Whether%20to%20delete"> docs</a> for details. + */ + public AWSS3Staging withPurgeStagingData(Optional purgeStagingData) { + Utils.checkNotNull(purgeStagingData, "purgeStagingData"); + this.purgeStagingData = purgeStagingData; + return this; + } + + /** + * The name of the staging S3 bucket. + */ + public AWSS3Staging withS3BucketName(String s3BucketName) { + Utils.checkNotNull(s3BucketName, "s3BucketName"); + this.s3BucketName = s3BucketName; + return this; + } + + /** + * The directory under the S3 bucket where data will be written. If not provided, then defaults to the root directory. See <a href="https://docs.aws.amazon.com/prescriptive-guidance/latest/defining-bucket-names-data-lakes/faq.html#:~:text=be%20globally%20unique.-,For%20S3%20bucket%20paths,-%2C%20you%20can%20use">path's name recommendations</a> for more details. + */ + public AWSS3Staging withS3BucketPath(String s3BucketPath) { + Utils.checkNotNull(s3BucketPath, "s3BucketPath"); + this.s3BucketPath = Optional.ofNullable(s3BucketPath); + return this; + } + + /** + * The directory under the S3 bucket where data will be written. If not provided, then defaults to the root directory. See <a href="https://docs.aws.amazon.com/prescriptive-guidance/latest/defining-bucket-names-data-lakes/faq.html#:~:text=be%20globally%20unique.-,For%20S3%20bucket%20paths,-%2C%20you%20can%20use">path's name recommendations</a> for more details. + */ + public AWSS3Staging withS3BucketPath(Optional s3BucketPath) { + Utils.checkNotNull(s3BucketPath, "s3BucketPath"); + this.s3BucketPath = s3BucketPath; + return this; + } + + /** + * The region of the S3 staging bucket. + */ + public AWSS3Staging withS3BucketRegion(DestinationRedshiftS3BucketRegion s3BucketRegion) { + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + this.s3BucketRegion = Optional.ofNullable(s3BucketRegion); + return this; + } + + /** + * The region of the S3 staging bucket. + */ + public AWSS3Staging withS3BucketRegion(Optional s3BucketRegion) { + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + this.s3BucketRegion = s3BucketRegion; + return this; + } + + /** + * The corresponding secret to the above access key id. See <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">AWS docs</a> on how to generate an access key ID and secret access key. + */ + public AWSS3Staging withSecretAccessKey(String secretAccessKey) { + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.secretAccessKey = secretAccessKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AWSS3Staging other = (AWSS3Staging) o; + return + java.util.Objects.deepEquals(this.accessKeyId, other.accessKeyId) && + java.util.Objects.deepEquals(this.encryption, other.encryption) && + java.util.Objects.deepEquals(this.fileNamePattern, other.fileNamePattern) && + java.util.Objects.deepEquals(this.method, other.method) && + java.util.Objects.deepEquals(this.purgeStagingData, other.purgeStagingData) && + java.util.Objects.deepEquals(this.s3BucketName, other.s3BucketName) && + java.util.Objects.deepEquals(this.s3BucketPath, other.s3BucketPath) && + java.util.Objects.deepEquals(this.s3BucketRegion, other.s3BucketRegion) && + java.util.Objects.deepEquals(this.secretAccessKey, other.secretAccessKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessKeyId, + encryption, + fileNamePattern, + method, + purgeStagingData, + s3BucketName, + s3BucketPath, + s3BucketRegion, + secretAccessKey); + } + + @Override + public String toString() { + return Utils.toString(AWSS3Staging.class, + "accessKeyId", accessKeyId, + "encryption", encryption, + "fileNamePattern", fileNamePattern, + "method", method, + "purgeStagingData", purgeStagingData, + "s3BucketName", s3BucketName, + "s3BucketPath", s3BucketPath, + "s3BucketRegion", s3BucketRegion, + "secretAccessKey", secretAccessKey); + } + + public final static class Builder { + + private String accessKeyId; + + private Optional encryption = Optional.empty(); + + private Optional fileNamePattern = Optional.empty(); + + private Optional purgeStagingData; + + private String s3BucketName; + + private Optional s3BucketPath = Optional.empty(); + + private Optional s3BucketRegion; + + private String secretAccessKey; + + private Builder() { + // force use of static builder() method + } + + /** + * This ID grants access to the above S3 staging bucket. Airbyte requires Read and Write permissions to the given bucket. See <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">AWS docs</a> on how to generate an access key ID and secret access key. + */ + public Builder accessKeyId(String accessKeyId) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + this.accessKeyId = accessKeyId; + return this; + } + + /** + * How to encrypt the staging data + */ + public Builder encryption(DestinationRedshiftEncryption encryption) { + Utils.checkNotNull(encryption, "encryption"); + this.encryption = Optional.ofNullable(encryption); + return this; + } + + /** + * How to encrypt the staging data + */ + public Builder encryption(Optional encryption) { + Utils.checkNotNull(encryption, "encryption"); + this.encryption = encryption; + return this; + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public Builder fileNamePattern(String fileNamePattern) { + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + this.fileNamePattern = Optional.ofNullable(fileNamePattern); + return this; + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public Builder fileNamePattern(Optional fileNamePattern) { + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + this.fileNamePattern = fileNamePattern; + return this; + } + + /** + * Whether to delete the staging files from S3 after completing the sync. See <a href="https://docs.airbyte.com/integrations/destinations/redshift/#:~:text=the%20root%20directory.-,Purge%20Staging%20Data,-Whether%20to%20delete"> docs</a> for details. + */ + public Builder purgeStagingData(boolean purgeStagingData) { + Utils.checkNotNull(purgeStagingData, "purgeStagingData"); + this.purgeStagingData = Optional.ofNullable(purgeStagingData); + return this; + } + + /** + * Whether to delete the staging files from S3 after completing the sync. See <a href="https://docs.airbyte.com/integrations/destinations/redshift/#:~:text=the%20root%20directory.-,Purge%20Staging%20Data,-Whether%20to%20delete"> docs</a> for details. + */ + public Builder purgeStagingData(Optional purgeStagingData) { + Utils.checkNotNull(purgeStagingData, "purgeStagingData"); + this.purgeStagingData = purgeStagingData; + return this; + } + + /** + * The name of the staging S3 bucket. + */ + public Builder s3BucketName(String s3BucketName) { + Utils.checkNotNull(s3BucketName, "s3BucketName"); + this.s3BucketName = s3BucketName; + return this; + } + + /** + * The directory under the S3 bucket where data will be written. If not provided, then defaults to the root directory. See <a href="https://docs.aws.amazon.com/prescriptive-guidance/latest/defining-bucket-names-data-lakes/faq.html#:~:text=be%20globally%20unique.-,For%20S3%20bucket%20paths,-%2C%20you%20can%20use">path's name recommendations</a> for more details. + */ + public Builder s3BucketPath(String s3BucketPath) { + Utils.checkNotNull(s3BucketPath, "s3BucketPath"); + this.s3BucketPath = Optional.ofNullable(s3BucketPath); + return this; + } + + /** + * The directory under the S3 bucket where data will be written. If not provided, then defaults to the root directory. See <a href="https://docs.aws.amazon.com/prescriptive-guidance/latest/defining-bucket-names-data-lakes/faq.html#:~:text=be%20globally%20unique.-,For%20S3%20bucket%20paths,-%2C%20you%20can%20use">path's name recommendations</a> for more details. + */ + public Builder s3BucketPath(Optional s3BucketPath) { + Utils.checkNotNull(s3BucketPath, "s3BucketPath"); + this.s3BucketPath = s3BucketPath; + return this; + } + + /** + * The region of the S3 staging bucket. + */ + public Builder s3BucketRegion(DestinationRedshiftS3BucketRegion s3BucketRegion) { + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + this.s3BucketRegion = Optional.ofNullable(s3BucketRegion); + return this; + } + + /** + * The region of the S3 staging bucket. + */ + public Builder s3BucketRegion(Optional s3BucketRegion) { + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + this.s3BucketRegion = s3BucketRegion; + return this; + } + + /** + * The corresponding secret to the above access key id. See <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">AWS docs</a> on how to generate an access key ID and secret access key. + */ + public Builder secretAccessKey(String secretAccessKey) { + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.secretAccessKey = secretAccessKey; + return this; + } + + public AWSS3Staging build() { + if (purgeStagingData == null) { + purgeStagingData = _SINGLETON_VALUE_PurgeStagingData.value(); + } + if (s3BucketRegion == null) { + s3BucketRegion = _SINGLETON_VALUE_S3BucketRegion.value(); + } + return new AWSS3Staging( + accessKeyId, + encryption, + fileNamePattern, + purgeStagingData, + s3BucketName, + s3BucketPath, + s3BucketRegion, + secretAccessKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Method = + new LazySingletonValue<>( + "method", + "\"S3 Staging\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_PurgeStagingData = + new LazySingletonValue<>( + "purge_staging_data", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_S3BucketRegion = + new LazySingletonValue<>( + "s3_bucket_region", + "\"\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AWSSellerPartnerAccountType.java b/src/main/java/com/airbyte/api/models/shared/AWSSellerPartnerAccountType.java new file mode 100644 index 000000000..bf204413b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AWSSellerPartnerAccountType.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * AWSSellerPartnerAccountType - Type of the Account you're going to authorize the Airbyte application by + */ +public enum AWSSellerPartnerAccountType { + SELLER("Seller"), + VENDOR("Vendor"); + + @JsonValue + private final String value; + + private AWSSellerPartnerAccountType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/AccessToken.java b/src/main/java/com/airbyte/api/models/shared/AccessToken.java new file mode 100644 index 000000000..50ba9056d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AccessToken.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class AccessToken { + + /** + * The access token generated for your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_method") + private Optional authMethod; + + public AccessToken( + @JsonProperty("access_token") String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + this.authMethod = Builder._SINGLETON_VALUE_AuthMethod.value(); + } + + /** + * The access token generated for your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public String accessToken() { + return accessToken; + } + + public Optional authMethod() { + return authMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The access token generated for your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public AccessToken withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccessToken other = (AccessToken) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authMethod, other.authMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authMethod); + } + + @Override + public String toString() { + return Utils.toString(AccessToken.class, + "accessToken", accessToken, + "authMethod", authMethod); + } + + public final static class Builder { + + private String accessToken; + + private Builder() { + // force use of static builder() method + } + + /** + * The access token generated for your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + public AccessToken build() { + return new AccessToken( + accessToken); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthMethod = + new LazySingletonValue<>( + "auth_method", + "\"access_token\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AccessTokenIsRequiredForAuthenticationRequests.java b/src/main/java/com/airbyte/api/models/shared/AccessTokenIsRequiredForAuthenticationRequests.java new file mode 100644 index 000000000..645851d01 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AccessTokenIsRequiredForAuthenticationRequests.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum AccessTokenIsRequiredForAuthenticationRequests { + ACCESS_TOKEN("access_token"); + + @JsonValue + private final String value; + + private AccessTokenIsRequiredForAuthenticationRequests(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/AccountNames.java b/src/main/java/com/airbyte/api/models/shared/AccountNames.java new file mode 100644 index 000000000..ba482add0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AccountNames.java @@ -0,0 +1,142 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * AccountNames - Account Names Predicates Config. + */ + +public class AccountNames { + + /** + * Account Name is a string value for comparing with the specified predicate. + */ + @JsonProperty("name") + private String name; + + /** + * An Operator that will be used to filter accounts. The Contains predicate has features for matching words, matching inflectional forms of words, searching using wildcard characters, and searching using proximity. The Equals is used to return all rows where account name is equal(=) to the string that you provided + */ + @JsonProperty("operator") + private Operator operator; + + public AccountNames( + @JsonProperty("name") String name, + @JsonProperty("operator") Operator operator) { + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(operator, "operator"); + this.name = name; + this.operator = operator; + } + + /** + * Account Name is a string value for comparing with the specified predicate. + */ + public String name() { + return name; + } + + /** + * An Operator that will be used to filter accounts. The Contains predicate has features for matching words, matching inflectional forms of words, searching using wildcard characters, and searching using proximity. The Equals is used to return all rows where account name is equal(=) to the string that you provided + */ + public Operator operator() { + return operator; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Account Name is a string value for comparing with the specified predicate. + */ + public AccountNames withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * An Operator that will be used to filter accounts. The Contains predicate has features for matching words, matching inflectional forms of words, searching using wildcard characters, and searching using proximity. The Equals is used to return all rows where account name is equal(=) to the string that you provided + */ + public AccountNames withOperator(Operator operator) { + Utils.checkNotNull(operator, "operator"); + this.operator = operator; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AccountNames other = (AccountNames) o; + return + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.operator, other.operator); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + name, + operator); + } + + @Override + public String toString() { + return Utils.toString(AccountNames.class, + "name", name, + "operator", operator); + } + + public final static class Builder { + + private String name; + + private Operator operator; + + private Builder() { + // force use of static builder() method + } + + /** + * Account Name is a string value for comparing with the specified predicate. + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * An Operator that will be used to filter accounts. The Contains predicate has features for matching words, matching inflectional forms of words, searching using wildcard characters, and searching using proximity. The Equals is used to return all rows where account name is equal(=) to the string that you provided + */ + public Builder operator(Operator operator) { + Utils.checkNotNull(operator, "operator"); + this.operator = operator; + return this; + } + + public AccountNames build() { + return new AccountNames( + name, + operator); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ActionReportTime.java b/src/main/java/com/airbyte/api/models/shared/ActionReportTime.java new file mode 100644 index 000000000..ab91869ae --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ActionReportTime.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ActionReportTime - Specifies the principle for conversion reporting. + */ +public enum ActionReportTime { + CONVERSION("conversion"), + IMPRESSION("impression"); + + @JsonValue + private final String value; + + private ActionReportTime(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ActorTypeEnum.java b/src/main/java/com/airbyte/api/models/shared/ActorTypeEnum.java new file mode 100644 index 000000000..d5c112500 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ActorTypeEnum.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ActorTypeEnum - Whether you're setting this override for a source or destination + */ +public enum ActorTypeEnum { + SOURCE("source"), + DESTINATION("destination"); + + @JsonValue + private final String value; + + private ActorTypeEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/AdAnalyticsReportConfiguration.java b/src/main/java/com/airbyte/api/models/shared/AdAnalyticsReportConfiguration.java new file mode 100644 index 000000000..a15b899f7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AdAnalyticsReportConfiguration.java @@ -0,0 +1,182 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * AdAnalyticsReportConfiguration - Config for custom ad Analytics Report + */ + +public class AdAnalyticsReportConfiguration { + + /** + * The name for the custom report. + */ + @JsonProperty("name") + private String name; + + /** + * Choose a category to pivot your analytics report around. This selection will organize your data based on the chosen attribute, allowing you to analyze trends and performance from different perspectives. + */ + @JsonProperty("pivot_by") + private PivotCategory pivotBy; + + /** + * Choose how to group the data in your report by time. The options are:<br>- 'ALL': A single result summarizing the entire time range.<br>- 'DAILY': Group results by each day.<br>- 'MONTHLY': Group results by each month.<br>- 'YEARLY': Group results by each year.<br>Selecting a time grouping helps you analyze trends and patterns over different time periods. + */ + @JsonProperty("time_granularity") + private TimeGranularity timeGranularity; + + public AdAnalyticsReportConfiguration( + @JsonProperty("name") String name, + @JsonProperty("pivot_by") PivotCategory pivotBy, + @JsonProperty("time_granularity") TimeGranularity timeGranularity) { + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(pivotBy, "pivotBy"); + Utils.checkNotNull(timeGranularity, "timeGranularity"); + this.name = name; + this.pivotBy = pivotBy; + this.timeGranularity = timeGranularity; + } + + /** + * The name for the custom report. + */ + public String name() { + return name; + } + + /** + * Choose a category to pivot your analytics report around. This selection will organize your data based on the chosen attribute, allowing you to analyze trends and performance from different perspectives. + */ + public PivotCategory pivotBy() { + return pivotBy; + } + + /** + * Choose how to group the data in your report by time. The options are:<br>- 'ALL': A single result summarizing the entire time range.<br>- 'DAILY': Group results by each day.<br>- 'MONTHLY': Group results by each month.<br>- 'YEARLY': Group results by each year.<br>Selecting a time grouping helps you analyze trends and patterns over different time periods. + */ + public TimeGranularity timeGranularity() { + return timeGranularity; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The name for the custom report. + */ + public AdAnalyticsReportConfiguration withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * Choose a category to pivot your analytics report around. This selection will organize your data based on the chosen attribute, allowing you to analyze trends and performance from different perspectives. + */ + public AdAnalyticsReportConfiguration withPivotBy(PivotCategory pivotBy) { + Utils.checkNotNull(pivotBy, "pivotBy"); + this.pivotBy = pivotBy; + return this; + } + + /** + * Choose how to group the data in your report by time. The options are:<br>- 'ALL': A single result summarizing the entire time range.<br>- 'DAILY': Group results by each day.<br>- 'MONTHLY': Group results by each month.<br>- 'YEARLY': Group results by each year.<br>Selecting a time grouping helps you analyze trends and patterns over different time periods. + */ + public AdAnalyticsReportConfiguration withTimeGranularity(TimeGranularity timeGranularity) { + Utils.checkNotNull(timeGranularity, "timeGranularity"); + this.timeGranularity = timeGranularity; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AdAnalyticsReportConfiguration other = (AdAnalyticsReportConfiguration) o; + return + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.pivotBy, other.pivotBy) && + java.util.Objects.deepEquals(this.timeGranularity, other.timeGranularity); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + name, + pivotBy, + timeGranularity); + } + + @Override + public String toString() { + return Utils.toString(AdAnalyticsReportConfiguration.class, + "name", name, + "pivotBy", pivotBy, + "timeGranularity", timeGranularity); + } + + public final static class Builder { + + private String name; + + private PivotCategory pivotBy; + + private TimeGranularity timeGranularity; + + private Builder() { + // force use of static builder() method + } + + /** + * The name for the custom report. + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * Choose a category to pivot your analytics report around. This selection will organize your data based on the chosen attribute, allowing you to analyze trends and performance from different perspectives. + */ + public Builder pivotBy(PivotCategory pivotBy) { + Utils.checkNotNull(pivotBy, "pivotBy"); + this.pivotBy = pivotBy; + return this; + } + + /** + * Choose how to group the data in your report by time. The options are:<br>- 'ALL': A single result summarizing the entire time range.<br>- 'DAILY': Group results by each day.<br>- 'MONTHLY': Group results by each month.<br>- 'YEARLY': Group results by each year.<br>Selecting a time grouping helps you analyze trends and patterns over different time periods. + */ + public Builder timeGranularity(TimeGranularity timeGranularity) { + Utils.checkNotNull(timeGranularity, "timeGranularity"); + this.timeGranularity = timeGranularity; + return this; + } + + public AdAnalyticsReportConfiguration build() { + return new AdAnalyticsReportConfiguration( + name, + pivotBy, + timeGranularity); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Aha.java b/src/main/java/com/airbyte/api/models/shared/Aha.java new file mode 100644 index 000000000..cd6f9d299 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Aha.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Aha { + AHA("aha"); + + @JsonValue + private final String value; + + private Aha(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Aircall.java b/src/main/java/com/airbyte/api/models/shared/Aircall.java new file mode 100644 index 000000000..5623616d5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Aircall.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Aircall { + AIRCALL("aircall"); + + @JsonValue + private final String value; + + private Aircall(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Airtable.java b/src/main/java/com/airbyte/api/models/shared/Airtable.java new file mode 100644 index 000000000..6ed3d9367 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Airtable.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Airtable { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public Airtable( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public Airtable withCredentials(Credentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Airtable withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Airtable other = (Airtable) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(Airtable.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(Credentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Airtable build() { + return new Airtable( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Allow.java b/src/main/java/com/airbyte/api/models/shared/Allow.java new file mode 100644 index 000000000..c6f0366d0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Allow.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * Allow - Allow SSL mode. + */ + +public class Allow { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public Allow() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Allow other = (Allow) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(Allow.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public Allow build() { + return new Allow( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"allow\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AmazonAds.java b/src/main/java/com/airbyte/api/models/shared/AmazonAds.java new file mode 100644 index 000000000..955d0ba7f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AmazonAds.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class AmazonAds { + + /** + * The client ID of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The client secret of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public AmazonAds( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The client ID of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + public Optional clientId() { + return clientId; + } + + /** + * The client secret of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The client ID of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + public AmazonAds withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The client ID of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + public AmazonAds withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + public AmazonAds withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The client secret of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + public AmazonAds withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AmazonAds other = (AmazonAds) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(AmazonAds.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The client ID of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The client ID of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The client secret of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public AmazonAds build() { + return new AmazonAds( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AmazonS3.java b/src/main/java/com/airbyte/api/models/shared/AmazonS3.java new file mode 100644 index 000000000..4978e5c73 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AmazonS3.java @@ -0,0 +1,367 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class AmazonS3 { + + @JsonProperty("data_source_type") + private DestinationDatabricksDataSourceType dataSourceType; + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("file_name_pattern") + private Optional fileNamePattern; + + /** + * The Access Key Id granting allow one to access the above S3 staging bucket. Airbyte requires Read and Write permissions to the given bucket. + */ + @JsonProperty("s3_access_key_id") + private String s3AccessKeyId; + + /** + * The name of the S3 bucket to use for intermittent staging of the data. + */ + @JsonProperty("s3_bucket_name") + private String s3BucketName; + + /** + * The directory under the S3 bucket where data will be written. + */ + @JsonProperty("s3_bucket_path") + private String s3BucketPath; + + /** + * The region of the S3 staging bucket to use if utilising a copy strategy. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("s3_bucket_region") + private Optional s3BucketRegion; + + /** + * The corresponding secret to the above access key id. + */ + @JsonProperty("s3_secret_access_key") + private String s3SecretAccessKey; + + public AmazonS3( + @JsonProperty("file_name_pattern") Optional fileNamePattern, + @JsonProperty("s3_access_key_id") String s3AccessKeyId, + @JsonProperty("s3_bucket_name") String s3BucketName, + @JsonProperty("s3_bucket_path") String s3BucketPath, + @JsonProperty("s3_bucket_region") Optional s3BucketRegion, + @JsonProperty("s3_secret_access_key") String s3SecretAccessKey) { + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + Utils.checkNotNull(s3AccessKeyId, "s3AccessKeyId"); + Utils.checkNotNull(s3BucketName, "s3BucketName"); + Utils.checkNotNull(s3BucketPath, "s3BucketPath"); + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + Utils.checkNotNull(s3SecretAccessKey, "s3SecretAccessKey"); + this.dataSourceType = Builder._SINGLETON_VALUE_DataSourceType.value(); + this.fileNamePattern = fileNamePattern; + this.s3AccessKeyId = s3AccessKeyId; + this.s3BucketName = s3BucketName; + this.s3BucketPath = s3BucketPath; + this.s3BucketRegion = s3BucketRegion; + this.s3SecretAccessKey = s3SecretAccessKey; + } + + public DestinationDatabricksDataSourceType dataSourceType() { + return dataSourceType; + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public Optional fileNamePattern() { + return fileNamePattern; + } + + /** + * The Access Key Id granting allow one to access the above S3 staging bucket. Airbyte requires Read and Write permissions to the given bucket. + */ + public String s3AccessKeyId() { + return s3AccessKeyId; + } + + /** + * The name of the S3 bucket to use for intermittent staging of the data. + */ + public String s3BucketName() { + return s3BucketName; + } + + /** + * The directory under the S3 bucket where data will be written. + */ + public String s3BucketPath() { + return s3BucketPath; + } + + /** + * The region of the S3 staging bucket to use if utilising a copy strategy. + */ + public Optional s3BucketRegion() { + return s3BucketRegion; + } + + /** + * The corresponding secret to the above access key id. + */ + public String s3SecretAccessKey() { + return s3SecretAccessKey; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public AmazonS3 withFileNamePattern(String fileNamePattern) { + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + this.fileNamePattern = Optional.ofNullable(fileNamePattern); + return this; + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public AmazonS3 withFileNamePattern(Optional fileNamePattern) { + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + this.fileNamePattern = fileNamePattern; + return this; + } + + /** + * The Access Key Id granting allow one to access the above S3 staging bucket. Airbyte requires Read and Write permissions to the given bucket. + */ + public AmazonS3 withS3AccessKeyId(String s3AccessKeyId) { + Utils.checkNotNull(s3AccessKeyId, "s3AccessKeyId"); + this.s3AccessKeyId = s3AccessKeyId; + return this; + } + + /** + * The name of the S3 bucket to use for intermittent staging of the data. + */ + public AmazonS3 withS3BucketName(String s3BucketName) { + Utils.checkNotNull(s3BucketName, "s3BucketName"); + this.s3BucketName = s3BucketName; + return this; + } + + /** + * The directory under the S3 bucket where data will be written. + */ + public AmazonS3 withS3BucketPath(String s3BucketPath) { + Utils.checkNotNull(s3BucketPath, "s3BucketPath"); + this.s3BucketPath = s3BucketPath; + return this; + } + + /** + * The region of the S3 staging bucket to use if utilising a copy strategy. + */ + public AmazonS3 withS3BucketRegion(DestinationDatabricksS3BucketRegion s3BucketRegion) { + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + this.s3BucketRegion = Optional.ofNullable(s3BucketRegion); + return this; + } + + /** + * The region of the S3 staging bucket to use if utilising a copy strategy. + */ + public AmazonS3 withS3BucketRegion(Optional s3BucketRegion) { + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + this.s3BucketRegion = s3BucketRegion; + return this; + } + + /** + * The corresponding secret to the above access key id. + */ + public AmazonS3 withS3SecretAccessKey(String s3SecretAccessKey) { + Utils.checkNotNull(s3SecretAccessKey, "s3SecretAccessKey"); + this.s3SecretAccessKey = s3SecretAccessKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AmazonS3 other = (AmazonS3) o; + return + java.util.Objects.deepEquals(this.dataSourceType, other.dataSourceType) && + java.util.Objects.deepEquals(this.fileNamePattern, other.fileNamePattern) && + java.util.Objects.deepEquals(this.s3AccessKeyId, other.s3AccessKeyId) && + java.util.Objects.deepEquals(this.s3BucketName, other.s3BucketName) && + java.util.Objects.deepEquals(this.s3BucketPath, other.s3BucketPath) && + java.util.Objects.deepEquals(this.s3BucketRegion, other.s3BucketRegion) && + java.util.Objects.deepEquals(this.s3SecretAccessKey, other.s3SecretAccessKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + dataSourceType, + fileNamePattern, + s3AccessKeyId, + s3BucketName, + s3BucketPath, + s3BucketRegion, + s3SecretAccessKey); + } + + @Override + public String toString() { + return Utils.toString(AmazonS3.class, + "dataSourceType", dataSourceType, + "fileNamePattern", fileNamePattern, + "s3AccessKeyId", s3AccessKeyId, + "s3BucketName", s3BucketName, + "s3BucketPath", s3BucketPath, + "s3BucketRegion", s3BucketRegion, + "s3SecretAccessKey", s3SecretAccessKey); + } + + public final static class Builder { + + private Optional fileNamePattern = Optional.empty(); + + private String s3AccessKeyId; + + private String s3BucketName; + + private String s3BucketPath; + + private Optional s3BucketRegion; + + private String s3SecretAccessKey; + + private Builder() { + // force use of static builder() method + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public Builder fileNamePattern(String fileNamePattern) { + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + this.fileNamePattern = Optional.ofNullable(fileNamePattern); + return this; + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public Builder fileNamePattern(Optional fileNamePattern) { + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + this.fileNamePattern = fileNamePattern; + return this; + } + + /** + * The Access Key Id granting allow one to access the above S3 staging bucket. Airbyte requires Read and Write permissions to the given bucket. + */ + public Builder s3AccessKeyId(String s3AccessKeyId) { + Utils.checkNotNull(s3AccessKeyId, "s3AccessKeyId"); + this.s3AccessKeyId = s3AccessKeyId; + return this; + } + + /** + * The name of the S3 bucket to use for intermittent staging of the data. + */ + public Builder s3BucketName(String s3BucketName) { + Utils.checkNotNull(s3BucketName, "s3BucketName"); + this.s3BucketName = s3BucketName; + return this; + } + + /** + * The directory under the S3 bucket where data will be written. + */ + public Builder s3BucketPath(String s3BucketPath) { + Utils.checkNotNull(s3BucketPath, "s3BucketPath"); + this.s3BucketPath = s3BucketPath; + return this; + } + + /** + * The region of the S3 staging bucket to use if utilising a copy strategy. + */ + public Builder s3BucketRegion(DestinationDatabricksS3BucketRegion s3BucketRegion) { + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + this.s3BucketRegion = Optional.ofNullable(s3BucketRegion); + return this; + } + + /** + * The region of the S3 staging bucket to use if utilising a copy strategy. + */ + public Builder s3BucketRegion(Optional s3BucketRegion) { + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + this.s3BucketRegion = s3BucketRegion; + return this; + } + + /** + * The corresponding secret to the above access key id. + */ + public Builder s3SecretAccessKey(String s3SecretAccessKey) { + Utils.checkNotNull(s3SecretAccessKey, "s3SecretAccessKey"); + this.s3SecretAccessKey = s3SecretAccessKey; + return this; + } + + public AmazonS3 build() { + if (s3BucketRegion == null) { + s3BucketRegion = _SINGLETON_VALUE_S3BucketRegion.value(); + } + return new AmazonS3( + fileNamePattern, + s3AccessKeyId, + s3BucketName, + s3BucketPath, + s3BucketRegion, + s3SecretAccessKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DataSourceType = + new LazySingletonValue<>( + "data_source_type", + "\"S3_STORAGE\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_S3BucketRegion = + new LazySingletonValue<>( + "s3_bucket_region", + "\"\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AmazonSellerPartner.java b/src/main/java/com/airbyte/api/models/shared/AmazonSellerPartner.java new file mode 100644 index 000000000..754c6f130 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AmazonSellerPartner.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class AmazonSellerPartner { + + /** + * Your Login with Amazon Client ID. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lwa_app_id") + private Optional lwaAppId; + + /** + * Your Login with Amazon Client Secret. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lwa_client_secret") + private Optional lwaClientSecret; + + public AmazonSellerPartner( + @JsonProperty("lwa_app_id") Optional lwaAppId, + @JsonProperty("lwa_client_secret") Optional lwaClientSecret) { + Utils.checkNotNull(lwaAppId, "lwaAppId"); + Utils.checkNotNull(lwaClientSecret, "lwaClientSecret"); + this.lwaAppId = lwaAppId; + this.lwaClientSecret = lwaClientSecret; + } + + /** + * Your Login with Amazon Client ID. + */ + public Optional lwaAppId() { + return lwaAppId; + } + + /** + * Your Login with Amazon Client Secret. + */ + public Optional lwaClientSecret() { + return lwaClientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your Login with Amazon Client ID. + */ + public AmazonSellerPartner withLwaAppId(String lwaAppId) { + Utils.checkNotNull(lwaAppId, "lwaAppId"); + this.lwaAppId = Optional.ofNullable(lwaAppId); + return this; + } + + /** + * Your Login with Amazon Client ID. + */ + public AmazonSellerPartner withLwaAppId(Optional lwaAppId) { + Utils.checkNotNull(lwaAppId, "lwaAppId"); + this.lwaAppId = lwaAppId; + return this; + } + + /** + * Your Login with Amazon Client Secret. + */ + public AmazonSellerPartner withLwaClientSecret(String lwaClientSecret) { + Utils.checkNotNull(lwaClientSecret, "lwaClientSecret"); + this.lwaClientSecret = Optional.ofNullable(lwaClientSecret); + return this; + } + + /** + * Your Login with Amazon Client Secret. + */ + public AmazonSellerPartner withLwaClientSecret(Optional lwaClientSecret) { + Utils.checkNotNull(lwaClientSecret, "lwaClientSecret"); + this.lwaClientSecret = lwaClientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AmazonSellerPartner other = (AmazonSellerPartner) o; + return + java.util.Objects.deepEquals(this.lwaAppId, other.lwaAppId) && + java.util.Objects.deepEquals(this.lwaClientSecret, other.lwaClientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + lwaAppId, + lwaClientSecret); + } + + @Override + public String toString() { + return Utils.toString(AmazonSellerPartner.class, + "lwaAppId", lwaAppId, + "lwaClientSecret", lwaClientSecret); + } + + public final static class Builder { + + private Optional lwaAppId = Optional.empty(); + + private Optional lwaClientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Your Login with Amazon Client ID. + */ + public Builder lwaAppId(String lwaAppId) { + Utils.checkNotNull(lwaAppId, "lwaAppId"); + this.lwaAppId = Optional.ofNullable(lwaAppId); + return this; + } + + /** + * Your Login with Amazon Client ID. + */ + public Builder lwaAppId(Optional lwaAppId) { + Utils.checkNotNull(lwaAppId, "lwaAppId"); + this.lwaAppId = lwaAppId; + return this; + } + + /** + * Your Login with Amazon Client Secret. + */ + public Builder lwaClientSecret(String lwaClientSecret) { + Utils.checkNotNull(lwaClientSecret, "lwaClientSecret"); + this.lwaClientSecret = Optional.ofNullable(lwaClientSecret); + return this; + } + + /** + * Your Login with Amazon Client Secret. + */ + public Builder lwaClientSecret(Optional lwaClientSecret) { + Utils.checkNotNull(lwaClientSecret, "lwaClientSecret"); + this.lwaClientSecret = lwaClientSecret; + return this; + } + + public AmazonSellerPartner build() { + return new AmazonSellerPartner( + lwaAppId, + lwaClientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AmazonSqs.java b/src/main/java/com/airbyte/api/models/shared/AmazonSqs.java new file mode 100644 index 000000000..503ae120c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AmazonSqs.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum AmazonSqs { + AMAZON_SQS("amazon-sqs"); + + @JsonValue + private final String value; + + private AmazonSqs(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Amplitude.java b/src/main/java/com/airbyte/api/models/shared/Amplitude.java new file mode 100644 index 000000000..1ddd00019 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Amplitude.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Amplitude { + AMPLITUDE("amplitude"); + + @JsonValue + private final String value; + + private Amplitude(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/AndGroup.java b/src/main/java/com/airbyte/api/models/shared/AndGroup.java new file mode 100644 index 000000000..5e3171c3d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AndGroup.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * AndGroup - The FilterExpressions in andGroup have an AND relationship. + */ + +public class AndGroup { + + @JsonProperty("expressions") + private java.util.List expressions; + + @JsonProperty("filter_type") + private FilterType filterType; + + public AndGroup( + @JsonProperty("expressions") java.util.List expressions) { + Utils.checkNotNull(expressions, "expressions"); + this.expressions = expressions; + this.filterType = Builder._SINGLETON_VALUE_FilterType.value(); + } + + public java.util.List expressions() { + return expressions; + } + + public FilterType filterType() { + return filterType; + } + + public final static Builder builder() { + return new Builder(); + } + + public AndGroup withExpressions(java.util.List expressions) { + Utils.checkNotNull(expressions, "expressions"); + this.expressions = expressions; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AndGroup other = (AndGroup) o; + return + java.util.Objects.deepEquals(this.expressions, other.expressions) && + java.util.Objects.deepEquals(this.filterType, other.filterType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + expressions, + filterType); + } + + @Override + public String toString() { + return Utils.toString(AndGroup.class, + "expressions", expressions, + "filterType", filterType); + } + + public final static class Builder { + + private java.util.List expressions; + + private Builder() { + // force use of static builder() method + } + + public Builder expressions(java.util.List expressions) { + Utils.checkNotNull(expressions, "expressions"); + this.expressions = expressions; + return this; + } + + public AndGroup build() { + return new AndGroup( + expressions); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterType = + new LazySingletonValue<>( + "filter_type", + "\"andGroup\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ApiKeyAuth.java b/src/main/java/com/airbyte/api/models/shared/ApiKeyAuth.java new file mode 100644 index 000000000..2895bfbec --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ApiKeyAuth.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ApiKeyAuth { + + /** + * API Key for the Qdrant instance + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public ApiKeyAuth( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + /** + * API Key for the Qdrant instance + */ + public String apiKey() { + return apiKey; + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Key for the Qdrant instance + */ + public ApiKeyAuth withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ApiKeyAuth other = (ApiKeyAuth) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + mode); + } + + @Override + public String toString() { + return Utils.toString(ApiKeyAuth.class, + "apiKey", apiKey, + "mode", mode); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * API Key for the Qdrant instance + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public ApiKeyAuth build() { + return new ApiKeyAuth( + apiKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"api_key_auth\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ApiKeySecret.java b/src/main/java/com/airbyte/api/models/shared/ApiKeySecret.java new file mode 100644 index 000000000..d0670e4c7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ApiKeySecret.java @@ -0,0 +1,160 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ApiKeySecret - Use a api key and secret combination to authenticate + */ + +public class ApiKeySecret { + + /** + * The Key ID to used when accessing an enterprise Elasticsearch instance. + */ + @JsonProperty("apiKeyId") + private String apiKeyId; + + /** + * The secret associated with the API Key ID. + */ + @JsonProperty("apiKeySecret") + private String apiKeySecret; + + @JsonProperty("method") + private DestinationElasticsearchMethod method; + + public ApiKeySecret( + @JsonProperty("apiKeyId") String apiKeyId, + @JsonProperty("apiKeySecret") String apiKeySecret) { + Utils.checkNotNull(apiKeyId, "apiKeyId"); + Utils.checkNotNull(apiKeySecret, "apiKeySecret"); + this.apiKeyId = apiKeyId; + this.apiKeySecret = apiKeySecret; + this.method = Builder._SINGLETON_VALUE_Method.value(); + } + + /** + * The Key ID to used when accessing an enterprise Elasticsearch instance. + */ + public String apiKeyId() { + return apiKeyId; + } + + /** + * The secret associated with the API Key ID. + */ + public String apiKeySecret() { + return apiKeySecret; + } + + public DestinationElasticsearchMethod method() { + return method; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Key ID to used when accessing an enterprise Elasticsearch instance. + */ + public ApiKeySecret withApiKeyId(String apiKeyId) { + Utils.checkNotNull(apiKeyId, "apiKeyId"); + this.apiKeyId = apiKeyId; + return this; + } + + /** + * The secret associated with the API Key ID. + */ + public ApiKeySecret withApiKeySecret(String apiKeySecret) { + Utils.checkNotNull(apiKeySecret, "apiKeySecret"); + this.apiKeySecret = apiKeySecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ApiKeySecret other = (ApiKeySecret) o; + return + java.util.Objects.deepEquals(this.apiKeyId, other.apiKeyId) && + java.util.Objects.deepEquals(this.apiKeySecret, other.apiKeySecret) && + java.util.Objects.deepEquals(this.method, other.method); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKeyId, + apiKeySecret, + method); + } + + @Override + public String toString() { + return Utils.toString(ApiKeySecret.class, + "apiKeyId", apiKeyId, + "apiKeySecret", apiKeySecret, + "method", method); + } + + public final static class Builder { + + private String apiKeyId; + + private String apiKeySecret; + + private Builder() { + // force use of static builder() method + } + + /** + * The Key ID to used when accessing an enterprise Elasticsearch instance. + */ + public Builder apiKeyId(String apiKeyId) { + Utils.checkNotNull(apiKeyId, "apiKeyId"); + this.apiKeyId = apiKeyId; + return this; + } + + /** + * The secret associated with the API Key ID. + */ + public Builder apiKeySecret(String apiKeySecret) { + Utils.checkNotNull(apiKeySecret, "apiKeySecret"); + this.apiKeySecret = apiKeySecret; + return this; + } + + public ApiKeySecret build() { + return new ApiKeySecret( + apiKeyId, + apiKeySecret); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Method = + new LazySingletonValue<>( + "method", + "\"secret\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ApifyDataset.java b/src/main/java/com/airbyte/api/models/shared/ApifyDataset.java new file mode 100644 index 000000000..a6e678d2a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ApifyDataset.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum ApifyDataset { + APIFY_DATASET("apify-dataset"); + + @JsonValue + private final String value; + + private ApifyDataset(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Appfollow.java b/src/main/java/com/airbyte/api/models/shared/Appfollow.java new file mode 100644 index 000000000..89cbebea2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Appfollow.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Appfollow { + APPFOLLOW("appfollow"); + + @JsonValue + private final String value; + + private Appfollow(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Applications.java b/src/main/java/com/airbyte/api/models/shared/Applications.java new file mode 100644 index 000000000..d469a31a6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Applications.java @@ -0,0 +1,159 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Applications { + + @JsonProperty("app_api_key") + private String appApiKey; + + @JsonProperty("app_id") + private String appId; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("app_name") + private Optional appName; + + public Applications( + @JsonProperty("app_api_key") String appApiKey, + @JsonProperty("app_id") String appId, + @JsonProperty("app_name") Optional appName) { + Utils.checkNotNull(appApiKey, "appApiKey"); + Utils.checkNotNull(appId, "appId"); + Utils.checkNotNull(appName, "appName"); + this.appApiKey = appApiKey; + this.appId = appId; + this.appName = appName; + } + + public String appApiKey() { + return appApiKey; + } + + public String appId() { + return appId; + } + + public Optional appName() { + return appName; + } + + public final static Builder builder() { + return new Builder(); + } + + public Applications withAppApiKey(String appApiKey) { + Utils.checkNotNull(appApiKey, "appApiKey"); + this.appApiKey = appApiKey; + return this; + } + + public Applications withAppId(String appId) { + Utils.checkNotNull(appId, "appId"); + this.appId = appId; + return this; + } + + public Applications withAppName(String appName) { + Utils.checkNotNull(appName, "appName"); + this.appName = Optional.ofNullable(appName); + return this; + } + + public Applications withAppName(Optional appName) { + Utils.checkNotNull(appName, "appName"); + this.appName = appName; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Applications other = (Applications) o; + return + java.util.Objects.deepEquals(this.appApiKey, other.appApiKey) && + java.util.Objects.deepEquals(this.appId, other.appId) && + java.util.Objects.deepEquals(this.appName, other.appName); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + appApiKey, + appId, + appName); + } + + @Override + public String toString() { + return Utils.toString(Applications.class, + "appApiKey", appApiKey, + "appId", appId, + "appName", appName); + } + + public final static class Builder { + + private String appApiKey; + + private String appId; + + private Optional appName = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder appApiKey(String appApiKey) { + Utils.checkNotNull(appApiKey, "appApiKey"); + this.appApiKey = appApiKey; + return this; + } + + public Builder appId(String appId) { + Utils.checkNotNull(appId, "appId"); + this.appId = appId; + return this; + } + + public Builder appName(String appName) { + Utils.checkNotNull(appName, "appName"); + this.appName = Optional.ofNullable(appName); + return this; + } + + public Builder appName(Optional appName) { + Utils.checkNotNull(appName, "appName"); + this.appName = appName; + return this; + } + + public Applications build() { + return new Applications( + appApiKey, + appId, + appName); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Asana.java b/src/main/java/com/airbyte/api/models/shared/Asana.java new file mode 100644 index 000000000..d469bf00a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Asana.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Asana { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public Asana( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public Asana withCredentials(AsanaCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Asana withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Asana other = (Asana) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(Asana.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(AsanaCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Asana build() { + return new Asana( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AsanaCredentials.java b/src/main/java/com/airbyte/api/models/shared/AsanaCredentials.java new file mode 100644 index 000000000..029b59bba --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AsanaCredentials.java @@ -0,0 +1,144 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class AsanaCredentials { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public AsanaCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + public Optional clientId() { + return clientId; + } + + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + public AsanaCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + public AsanaCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + public AsanaCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + public AsanaCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AsanaCredentials other = (AsanaCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(AsanaCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public AsanaCredentials build() { + return new AsanaCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Astra.java b/src/main/java/com/airbyte/api/models/shared/Astra.java new file mode 100644 index 000000000..0fcb9aa6d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Astra.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Astra { + ASTRA("astra"); + + @JsonValue + private final String value; + + private Astra(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Auth0.java b/src/main/java/com/airbyte/api/models/shared/Auth0.java new file mode 100644 index 000000000..6608a015c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Auth0.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Auth0 { + AUTH0("auth0"); + + @JsonValue + private final String value; + + private Auth0(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/AuthMethod.java b/src/main/java/com/airbyte/api/models/shared/AuthMethod.java new file mode 100644 index 000000000..6d32cbe48 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum AuthMethod { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private AuthMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/AuthType.java b/src/main/java/com/airbyte/api/models/shared/AuthType.java new file mode 100644 index 000000000..5a80ec173 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum AuthType { + CLIENT("Client"); + + @JsonValue + private final String value; + + private AuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/AuthenticateViaAPIKey.java b/src/main/java/com/airbyte/api/models/shared/AuthenticateViaAPIKey.java new file mode 100644 index 000000000..d0f781322 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthenticateViaAPIKey.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class AuthenticateViaAPIKey { + + /** + * API Key for making authenticated requests. More instruction on how to find this value in our <a href="https://docs.airbyte.com/integrations/sources/salesloft#setup-guide">docs</a> + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("auth_type") + private SourceSalesloftSchemasAuthType authType; + + public AuthenticateViaAPIKey( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + } + + /** + * API Key for making authenticated requests. More instruction on how to find this value in our <a href="https://docs.airbyte.com/integrations/sources/salesloft#setup-guide">docs</a> + */ + public String apiKey() { + return apiKey; + } + + public SourceSalesloftSchemasAuthType authType() { + return authType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Key for making authenticated requests. More instruction on how to find this value in our <a href="https://docs.airbyte.com/integrations/sources/salesloft#setup-guide">docs</a> + */ + public AuthenticateViaAPIKey withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthenticateViaAPIKey other = (AuthenticateViaAPIKey) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.authType, other.authType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + authType); + } + + @Override + public String toString() { + return Utils.toString(AuthenticateViaAPIKey.class, + "apiKey", apiKey, + "authType", authType); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * API Key for making authenticated requests. More instruction on how to find this value in our <a href="https://docs.airbyte.com/integrations/sources/salesloft#setup-guide">docs</a> + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public AuthenticateViaAPIKey build() { + return new AuthenticateViaAPIKey( + apiKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"api_key\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AuthenticateViaAsanaOauth.java b/src/main/java/com/airbyte/api/models/shared/AuthenticateViaAsanaOauth.java new file mode 100644 index 000000000..4ccb2377e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthenticateViaAsanaOauth.java @@ -0,0 +1,171 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class AuthenticateViaAsanaOauth { + + @JsonProperty("client_id") + private String clientId; + + @JsonProperty("client_secret") + private String clientSecret; + + /** + * OAuth Credentials + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("option_title") + private Optional optionTitle; + + @JsonProperty("refresh_token") + private String refreshToken; + + public AuthenticateViaAsanaOauth( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.optionTitle = Builder._SINGLETON_VALUE_OptionTitle.value(); + this.refreshToken = refreshToken; + } + + public String clientId() { + return clientId; + } + + public String clientSecret() { + return clientSecret; + } + + /** + * OAuth Credentials + */ + public Optional optionTitle() { + return optionTitle; + } + + public String refreshToken() { + return refreshToken; + } + + public final static Builder builder() { + return new Builder(); + } + + public AuthenticateViaAsanaOauth withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + public AuthenticateViaAsanaOauth withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public AuthenticateViaAsanaOauth withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthenticateViaAsanaOauth other = (AuthenticateViaAsanaOauth) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.optionTitle, other.optionTitle) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret, + optionTitle, + refreshToken); + } + + @Override + public String toString() { + return Utils.toString(AuthenticateViaAsanaOauth.class, + "clientId", clientId, + "clientSecret", clientSecret, + "optionTitle", optionTitle, + "refreshToken", refreshToken); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private Builder() { + // force use of static builder() method + } + + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + public AuthenticateViaAsanaOauth build() { + return new AuthenticateViaAsanaOauth( + clientId, + clientSecret, + refreshToken); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_OptionTitle = + new LazySingletonValue<>( + "option_title", + "\"OAuth Credentials\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AuthenticateViaGoogleOauth.java b/src/main/java/com/airbyte/api/models/shared/AuthenticateViaGoogleOauth.java new file mode 100644 index 000000000..736ed3916 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthenticateViaGoogleOauth.java @@ -0,0 +1,260 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class AuthenticateViaGoogleOauth { + + /** + * Access Token for making authenticated requests. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("access_token") + private Optional accessToken; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * The Client ID of your Google Analytics developer application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of your Google Analytics developer application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * The token for obtaining a new access token. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + public AuthenticateViaGoogleOauth( + @JsonProperty("access_token") Optional accessToken, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + this.accessToken = accessToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + } + + /** + * Access Token for making authenticated requests. + */ + public Optional accessToken() { + return accessToken; + } + + public Optional authType() { + return authType; + } + + /** + * The Client ID of your Google Analytics developer application. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of your Google Analytics developer application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * The token for obtaining a new access token. + */ + public String refreshToken() { + return refreshToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Access Token for making authenticated requests. + */ + public AuthenticateViaGoogleOauth withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = Optional.ofNullable(accessToken); + return this; + } + + /** + * Access Token for making authenticated requests. + */ + public AuthenticateViaGoogleOauth withAccessToken(Optional accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of your Google Analytics developer application. + */ + public AuthenticateViaGoogleOauth withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Google Analytics developer application. + */ + public AuthenticateViaGoogleOauth withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The token for obtaining a new access token. + */ + public AuthenticateViaGoogleOauth withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthenticateViaGoogleOauth other = (AuthenticateViaGoogleOauth) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authType, + clientId, + clientSecret, + refreshToken); + } + + @Override + public String toString() { + return Utils.toString(AuthenticateViaGoogleOauth.class, + "accessToken", accessToken, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken); + } + + public final static class Builder { + + private Optional accessToken = Optional.empty(); + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private Builder() { + // force use of static builder() method + } + + /** + * Access Token for making authenticated requests. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = Optional.ofNullable(accessToken); + return this; + } + + /** + * Access Token for making authenticated requests. + */ + public Builder accessToken(Optional accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of your Google Analytics developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Google Analytics developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The token for obtaining a new access token. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + public AuthenticateViaGoogleOauth build() { + return new AuthenticateViaGoogleOauth( + accessToken, + clientId, + clientSecret, + refreshToken); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Client\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AuthenticateViaLeverApiKey.java b/src/main/java/com/airbyte/api/models/shared/AuthenticateViaLeverApiKey.java new file mode 100644 index 000000000..ad1590738 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthenticateViaLeverApiKey.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class AuthenticateViaLeverApiKey { + + /** + * The Api Key of your Lever Hiring account. + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + public AuthenticateViaLeverApiKey( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + } + + /** + * The Api Key of your Lever Hiring account. + */ + public String apiKey() { + return apiKey; + } + + public Optional authType() { + return authType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Api Key of your Lever Hiring account. + */ + public AuthenticateViaLeverApiKey withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthenticateViaLeverApiKey other = (AuthenticateViaLeverApiKey) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.authType, other.authType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + authType); + } + + @Override + public String toString() { + return Utils.toString(AuthenticateViaLeverApiKey.class, + "apiKey", apiKey, + "authType", authType); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * The Api Key of your Lever Hiring account. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public AuthenticateViaLeverApiKey build() { + return new AuthenticateViaLeverApiKey( + apiKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Api Key\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AuthenticateViaLeverOAuth.java b/src/main/java/com/airbyte/api/models/shared/AuthenticateViaLeverOAuth.java new file mode 100644 index 000000000..988b46a24 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthenticateViaLeverOAuth.java @@ -0,0 +1,239 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class AuthenticateViaLeverOAuth { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * The Client ID of your Lever Hiring developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your Lever Hiring developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + /** + * The token for obtaining new access token. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + public AuthenticateViaLeverOAuth( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret, + @JsonProperty("refresh_token") String refreshToken) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + } + + public Optional authType() { + return authType; + } + + /** + * The Client ID of your Lever Hiring developer application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your Lever Hiring developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + /** + * The token for obtaining new access token. + */ + public String refreshToken() { + return refreshToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your Lever Hiring developer application. + */ + public AuthenticateViaLeverOAuth withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Lever Hiring developer application. + */ + public AuthenticateViaLeverOAuth withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Lever Hiring developer application. + */ + public AuthenticateViaLeverOAuth withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Lever Hiring developer application. + */ + public AuthenticateViaLeverOAuth withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The token for obtaining new access token. + */ + public AuthenticateViaLeverOAuth withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthenticateViaLeverOAuth other = (AuthenticateViaLeverOAuth) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + clientId, + clientSecret, + refreshToken); + } + + @Override + public String toString() { + return Utils.toString(AuthenticateViaLeverOAuth.class, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private String refreshToken; + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your Lever Hiring developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Lever Hiring developer application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Lever Hiring developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Lever Hiring developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The token for obtaining new access token. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + public AuthenticateViaLeverOAuth build() { + return new AuthenticateViaLeverOAuth( + clientId, + clientSecret, + refreshToken); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Client\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AuthenticateViaMicrosoft.java b/src/main/java/com/airbyte/api/models/shared/AuthenticateViaMicrosoft.java new file mode 100644 index 000000000..aee48de17 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthenticateViaMicrosoft.java @@ -0,0 +1,201 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class AuthenticateViaMicrosoft { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * The Client ID of your Microsoft Teams developer application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of your Microsoft Teams developer application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * A globally unique identifier (GUID) that is different than your organization name or domain. Follow these steps to obtain: open one of the Teams where you belong inside the Teams Application -> Click on the … next to the Team title -> Click on Get link to team -> Copy the link to the team and grab the tenant ID form the URL + */ + @JsonProperty("tenant_id") + private String tenantId; + + public AuthenticateViaMicrosoft( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("tenant_id") String tenantId) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(tenantId, "tenantId"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.tenantId = tenantId; + } + + public Optional authType() { + return authType; + } + + /** + * The Client ID of your Microsoft Teams developer application. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of your Microsoft Teams developer application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * A globally unique identifier (GUID) that is different than your organization name or domain. Follow these steps to obtain: open one of the Teams where you belong inside the Teams Application -> Click on the … next to the Team title -> Click on Get link to team -> Copy the link to the team and grab the tenant ID form the URL + */ + public String tenantId() { + return tenantId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your Microsoft Teams developer application. + */ + public AuthenticateViaMicrosoft withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Microsoft Teams developer application. + */ + public AuthenticateViaMicrosoft withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * A globally unique identifier (GUID) that is different than your organization name or domain. Follow these steps to obtain: open one of the Teams where you belong inside the Teams Application -> Click on the … next to the Team title -> Click on Get link to team -> Copy the link to the team and grab the tenant ID form the URL + */ + public AuthenticateViaMicrosoft withTenantId(String tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = tenantId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthenticateViaMicrosoft other = (AuthenticateViaMicrosoft) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.tenantId, other.tenantId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + clientId, + clientSecret, + tenantId); + } + + @Override + public String toString() { + return Utils.toString(AuthenticateViaMicrosoft.class, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "tenantId", tenantId); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String tenantId; + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your Microsoft Teams developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Microsoft Teams developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * A globally unique identifier (GUID) that is different than your organization name or domain. Follow these steps to obtain: open one of the Teams where you belong inside the Teams Application -> Click on the … next to the Team title -> Click on Get link to team -> Copy the link to the team and grab the tenant ID form the URL + */ + public Builder tenantId(String tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = tenantId; + return this; + } + + public AuthenticateViaMicrosoft build() { + return new AuthenticateViaMicrosoft( + clientId, + clientSecret, + tenantId); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Token\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AuthenticateViaMicrosoftOAuth.java b/src/main/java/com/airbyte/api/models/shared/AuthenticateViaMicrosoftOAuth.java new file mode 100644 index 000000000..c790716dd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthenticateViaMicrosoftOAuth.java @@ -0,0 +1,245 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * AuthenticateViaMicrosoftOAuth - OAuthCredentials class to hold authentication details for Microsoft OAuth authentication. + * This class uses pydantic for data validation and settings management. + */ + +public class AuthenticateViaMicrosoftOAuth { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * Client ID of your Microsoft developer application + */ + @JsonProperty("client_id") + private String clientId; + + /** + * Client Secret of your Microsoft developer application + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * Refresh Token of your Microsoft developer application + */ + @JsonProperty("refresh_token") + private String refreshToken; + + /** + * Tenant ID of the Microsoft OneDrive user + */ + @JsonProperty("tenant_id") + private String tenantId; + + public AuthenticateViaMicrosoftOAuth( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("tenant_id") String tenantId) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(tenantId, "tenantId"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + this.tenantId = tenantId; + } + + public Optional authType() { + return authType; + } + + /** + * Client ID of your Microsoft developer application + */ + public String clientId() { + return clientId; + } + + /** + * Client Secret of your Microsoft developer application + */ + public String clientSecret() { + return clientSecret; + } + + /** + * Refresh Token of your Microsoft developer application + */ + public String refreshToken() { + return refreshToken; + } + + /** + * Tenant ID of the Microsoft OneDrive user + */ + public String tenantId() { + return tenantId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Client ID of your Microsoft developer application + */ + public AuthenticateViaMicrosoftOAuth withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret of your Microsoft developer application + */ + public AuthenticateViaMicrosoftOAuth withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Refresh Token of your Microsoft developer application + */ + public AuthenticateViaMicrosoftOAuth withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * Tenant ID of the Microsoft OneDrive user + */ + public AuthenticateViaMicrosoftOAuth withTenantId(String tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = tenantId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthenticateViaMicrosoftOAuth other = (AuthenticateViaMicrosoftOAuth) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.tenantId, other.tenantId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + clientId, + clientSecret, + refreshToken, + tenantId); + } + + @Override + public String toString() { + return Utils.toString(AuthenticateViaMicrosoftOAuth.class, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken, + "tenantId", tenantId); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private String tenantId; + + private Builder() { + // force use of static builder() method + } + + /** + * Client ID of your Microsoft developer application + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret of your Microsoft developer application + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Refresh Token of your Microsoft developer application + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * Tenant ID of the Microsoft OneDrive user + */ + public Builder tenantId(String tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = tenantId; + return this; + } + + public AuthenticateViaMicrosoftOAuth build() { + return new AuthenticateViaMicrosoftOAuth( + clientId, + clientSecret, + refreshToken, + tenantId); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Client\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AuthenticateViaMicrosoftOAuth20.java b/src/main/java/com/airbyte/api/models/shared/AuthenticateViaMicrosoftOAuth20.java new file mode 100644 index 000000000..20108c6f9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthenticateViaMicrosoftOAuth20.java @@ -0,0 +1,241 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class AuthenticateViaMicrosoftOAuth20 { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * The Client ID of your Microsoft Teams developer application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of your Microsoft Teams developer application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * A Refresh Token to renew the expired Access Token. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + /** + * A globally unique identifier (GUID) that is different than your organization name or domain. Follow these steps to obtain: open one of the Teams where you belong inside the Teams Application -> Click on the … next to the Team title -> Click on Get link to team -> Copy the link to the team and grab the tenant ID form the URL + */ + @JsonProperty("tenant_id") + private String tenantId; + + public AuthenticateViaMicrosoftOAuth20( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("tenant_id") String tenantId) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(tenantId, "tenantId"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + this.tenantId = tenantId; + } + + public Optional authType() { + return authType; + } + + /** + * The Client ID of your Microsoft Teams developer application. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of your Microsoft Teams developer application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * A Refresh Token to renew the expired Access Token. + */ + public String refreshToken() { + return refreshToken; + } + + /** + * A globally unique identifier (GUID) that is different than your organization name or domain. Follow these steps to obtain: open one of the Teams where you belong inside the Teams Application -> Click on the … next to the Team title -> Click on Get link to team -> Copy the link to the team and grab the tenant ID form the URL + */ + public String tenantId() { + return tenantId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your Microsoft Teams developer application. + */ + public AuthenticateViaMicrosoftOAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Microsoft Teams developer application. + */ + public AuthenticateViaMicrosoftOAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * A Refresh Token to renew the expired Access Token. + */ + public AuthenticateViaMicrosoftOAuth20 withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * A globally unique identifier (GUID) that is different than your organization name or domain. Follow these steps to obtain: open one of the Teams where you belong inside the Teams Application -> Click on the … next to the Team title -> Click on Get link to team -> Copy the link to the team and grab the tenant ID form the URL + */ + public AuthenticateViaMicrosoftOAuth20 withTenantId(String tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = tenantId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthenticateViaMicrosoftOAuth20 other = (AuthenticateViaMicrosoftOAuth20) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.tenantId, other.tenantId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + clientId, + clientSecret, + refreshToken, + tenantId); + } + + @Override + public String toString() { + return Utils.toString(AuthenticateViaMicrosoftOAuth20.class, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken, + "tenantId", tenantId); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private String tenantId; + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your Microsoft Teams developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Microsoft Teams developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * A Refresh Token to renew the expired Access Token. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * A globally unique identifier (GUID) that is different than your organization name or domain. Follow these steps to obtain: open one of the Teams where you belong inside the Teams Application -> Click on the … next to the Team title -> Click on Get link to team -> Copy the link to the team and grab the tenant ID form the URL + */ + public Builder tenantId(String tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = tenantId; + return this; + } + + public AuthenticateViaMicrosoftOAuth20 build() { + return new AuthenticateViaMicrosoftOAuth20( + clientId, + clientSecret, + refreshToken, + tenantId); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Client\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AuthenticateViaOAuth.java b/src/main/java/com/airbyte/api/models/shared/AuthenticateViaOAuth.java new file mode 100644 index 000000000..b02be6d80 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthenticateViaOAuth.java @@ -0,0 +1,280 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; + + +public class AuthenticateViaOAuth { + + /** + * Access Token for making authenticated requests. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonProperty("auth_type") + private SourceSalesloftAuthType authType; + + /** + * The Client ID of your Salesloft developer application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of your Salesloft developer application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * The token for obtaining a new access token. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + /** + * The date-time when the access token should be refreshed. + */ + @JsonProperty("token_expiry_date") + private OffsetDateTime tokenExpiryDate; + + public AuthenticateViaOAuth( + @JsonProperty("access_token") String accessToken, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("token_expiry_date") OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.accessToken = accessToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + this.tokenExpiryDate = tokenExpiryDate; + } + + /** + * Access Token for making authenticated requests. + */ + public String accessToken() { + return accessToken; + } + + public SourceSalesloftAuthType authType() { + return authType; + } + + /** + * The Client ID of your Salesloft developer application. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of your Salesloft developer application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * The token for obtaining a new access token. + */ + public String refreshToken() { + return refreshToken; + } + + /** + * The date-time when the access token should be refreshed. + */ + public OffsetDateTime tokenExpiryDate() { + return tokenExpiryDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Access Token for making authenticated requests. + */ + public AuthenticateViaOAuth withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of your Salesloft developer application. + */ + public AuthenticateViaOAuth withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Salesloft developer application. + */ + public AuthenticateViaOAuth withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The token for obtaining a new access token. + */ + public AuthenticateViaOAuth withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * The date-time when the access token should be refreshed. + */ + public AuthenticateViaOAuth withTokenExpiryDate(OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.tokenExpiryDate = tokenExpiryDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthenticateViaOAuth other = (AuthenticateViaOAuth) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.tokenExpiryDate, other.tokenExpiryDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authType, + clientId, + clientSecret, + refreshToken, + tokenExpiryDate); + } + + @Override + public String toString() { + return Utils.toString(AuthenticateViaOAuth.class, + "accessToken", accessToken, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken, + "tokenExpiryDate", tokenExpiryDate); + } + + public final static class Builder { + + private String accessToken; + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private OffsetDateTime tokenExpiryDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Access Token for making authenticated requests. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of your Salesloft developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Salesloft developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The token for obtaining a new access token. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * The date-time when the access token should be refreshed. + */ + public Builder tokenExpiryDate(OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.tokenExpiryDate = tokenExpiryDate; + return this; + } + + public AuthenticateViaOAuth build() { + return new AuthenticateViaOAuth( + accessToken, + clientId, + clientSecret, + refreshToken, + tokenExpiryDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"oauth2.0\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AuthenticateWithPersonalAccessToken.java b/src/main/java/com/airbyte/api/models/shared/AuthenticateWithPersonalAccessToken.java new file mode 100644 index 000000000..419469bdb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthenticateWithPersonalAccessToken.java @@ -0,0 +1,127 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class AuthenticateWithPersonalAccessToken { + + /** + * PAT Credentials + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("option_title") + private Optional optionTitle; + + /** + * Asana Personal Access Token (generate yours <a href="https://app.asana.com/0/developer-console">here</a>). + */ + @JsonProperty("personal_access_token") + private String personalAccessToken; + + public AuthenticateWithPersonalAccessToken( + @JsonProperty("personal_access_token") String personalAccessToken) { + Utils.checkNotNull(personalAccessToken, "personalAccessToken"); + this.optionTitle = Builder._SINGLETON_VALUE_OptionTitle.value(); + this.personalAccessToken = personalAccessToken; + } + + /** + * PAT Credentials + */ + public Optional optionTitle() { + return optionTitle; + } + + /** + * Asana Personal Access Token (generate yours <a href="https://app.asana.com/0/developer-console">here</a>). + */ + public String personalAccessToken() { + return personalAccessToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Asana Personal Access Token (generate yours <a href="https://app.asana.com/0/developer-console">here</a>). + */ + public AuthenticateWithPersonalAccessToken withPersonalAccessToken(String personalAccessToken) { + Utils.checkNotNull(personalAccessToken, "personalAccessToken"); + this.personalAccessToken = personalAccessToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthenticateWithPersonalAccessToken other = (AuthenticateWithPersonalAccessToken) o; + return + java.util.Objects.deepEquals(this.optionTitle, other.optionTitle) && + java.util.Objects.deepEquals(this.personalAccessToken, other.personalAccessToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + optionTitle, + personalAccessToken); + } + + @Override + public String toString() { + return Utils.toString(AuthenticateWithPersonalAccessToken.class, + "optionTitle", optionTitle, + "personalAccessToken", personalAccessToken); + } + + public final static class Builder { + + private String personalAccessToken; + + private Builder() { + // force use of static builder() method + } + + /** + * Asana Personal Access Token (generate yours <a href="https://app.asana.com/0/developer-console">here</a>). + */ + public Builder personalAccessToken(String personalAccessToken) { + Utils.checkNotNull(personalAccessToken, "personalAccessToken"); + this.personalAccessToken = personalAccessToken; + return this; + } + + public AuthenticateWithPersonalAccessToken build() { + return new AuthenticateWithPersonalAccessToken( + personalAccessToken); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_OptionTitle = + new LazySingletonValue<>( + "option_title", + "\"PAT Credentials\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Authentication.java b/src/main/java/com/airbyte/api/models/shared/Authentication.java new file mode 100644 index 000000000..28d593d56 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Authentication.java @@ -0,0 +1,94 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * Authentication - An HMAC key is a type of credential and can be associated with a service account or a user account in Cloud Storage. Read more <a href="https://cloud.google.com/storage/docs/authentication/hmackeys">here</a>. + */ + +@JsonDeserialize(using = Authentication._Deserializer.class) +public class Authentication { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private Authentication(TypedObject value) { + this.value = value; + } + + public static Authentication of(HMACKey value) { + Utils.checkNotNull(value, "value"); + return new Authentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code HMACKey}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Authentication other = (Authentication) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(Authentication.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(Authentication.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/AuthenticationMechanism.java b/src/main/java/com/airbyte/api/models/shared/AuthenticationMechanism.java new file mode 100644 index 000000000..4f1dc6734 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthenticationMechanism.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * AuthenticationMechanism - Choose how to authenticate to Github + */ + +@JsonDeserialize(using = AuthenticationMechanism._Deserializer.class) +public class AuthenticationMechanism { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private AuthenticationMechanism(TypedObject value) { + this.value = value; + } + + public static AuthenticationMechanism of(AuthenticateViaAsanaOauth value) { + Utils.checkNotNull(value, "value"); + return new AuthenticationMechanism(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static AuthenticationMechanism of(AuthenticateWithPersonalAccessToken value) { + Utils.checkNotNull(value, "value"); + return new AuthenticationMechanism(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code AuthenticateViaAsanaOauth}
    • + *
    • {@code AuthenticateWithPersonalAccessToken}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthenticationMechanism other = (AuthenticationMechanism) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(AuthenticationMechanism.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(AuthenticationMechanism.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/AuthenticationMethod.java b/src/main/java/com/airbyte/api/models/shared/AuthenticationMethod.java new file mode 100644 index 000000000..f986d6451 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthenticationMethod.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * AuthenticationMethod - The type of authentication to be used + */ + +@JsonDeserialize(using = AuthenticationMethod._Deserializer.class) +public class AuthenticationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private AuthenticationMethod(TypedObject value) { + this.value = value; + } + + public static AuthenticationMethod of(ApiKeySecret value) { + Utils.checkNotNull(value, "value"); + return new AuthenticationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static AuthenticationMethod of(UsernamePassword value) { + Utils.checkNotNull(value, "value"); + return new AuthenticationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code ApiKeySecret}
    • + *
    • {@code UsernamePassword}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthenticationMethod other = (AuthenticationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(AuthenticationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(AuthenticationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/AuthenticationMode.java b/src/main/java/com/airbyte/api/models/shared/AuthenticationMode.java new file mode 100644 index 000000000..9ea6ac7cf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthenticationMode.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * AuthenticationMode - Choose How to Authenticate to AWS. + */ + +@JsonDeserialize(using = AuthenticationMode._Deserializer.class) +public class AuthenticationMode { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private AuthenticationMode(TypedObject value) { + this.value = value; + } + + public static AuthenticationMode of(IAMRole value) { + Utils.checkNotNull(value, "value"); + return new AuthenticationMode(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static AuthenticationMode of(IAMUser value) { + Utils.checkNotNull(value, "value"); + return new AuthenticationMode(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code IAMRole}
    • + *
    • {@code IAMUser}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthenticationMode other = (AuthenticationMode) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(AuthenticationMode.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(AuthenticationMode.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/AuthenticationType.java b/src/main/java/com/airbyte/api/models/shared/AuthenticationType.java new file mode 100644 index 000000000..3e8430f2f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthenticationType.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = AuthenticationType._Deserializer.class) +public class AuthenticationType { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private AuthenticationType(TypedObject value) { + this.value = value; + } + + public static AuthenticationType of(SourceGoogleSearchConsoleOAuth value) { + Utils.checkNotNull(value, "value"); + return new AuthenticationType(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static AuthenticationType of(SourceGoogleSearchConsoleServiceAccountKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new AuthenticationType(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleSearchConsoleOAuth}
    • + *
    • {@code SourceGoogleSearchConsoleServiceAccountKeyAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthenticationType other = (AuthenticationType) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(AuthenticationType.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(AuthenticationType.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/AuthenticationViaGoogleOAuth.java b/src/main/java/com/airbyte/api/models/shared/AuthenticationViaGoogleOAuth.java new file mode 100644 index 000000000..f537425b5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthenticationViaGoogleOAuth.java @@ -0,0 +1,182 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * AuthenticationViaGoogleOAuth - Google API Credentials for connecting to Google Sheets and Google Drive APIs + */ + +public class AuthenticationViaGoogleOAuth { + + /** + * The Client ID of your Google Sheets developer application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of your Google Sheets developer application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * The token for obtaining new access token. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + public AuthenticationViaGoogleOAuth( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + } + + /** + * The Client ID of your Google Sheets developer application. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of your Google Sheets developer application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * The token for obtaining new access token. + */ + public String refreshToken() { + return refreshToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your Google Sheets developer application. + */ + public AuthenticationViaGoogleOAuth withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Google Sheets developer application. + */ + public AuthenticationViaGoogleOAuth withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The token for obtaining new access token. + */ + public AuthenticationViaGoogleOAuth withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthenticationViaGoogleOAuth other = (AuthenticationViaGoogleOAuth) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret, + refreshToken); + } + + @Override + public String toString() { + return Utils.toString(AuthenticationViaGoogleOAuth.class, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your Google Sheets developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Google Sheets developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The token for obtaining new access token. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + public AuthenticationViaGoogleOAuth build() { + return new AuthenticationViaGoogleOAuth( + clientId, + clientSecret, + refreshToken); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AuthenticationWildcard.java b/src/main/java/com/airbyte/api/models/shared/AuthenticationWildcard.java new file mode 100644 index 000000000..1d23f7263 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthenticationWildcard.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * AuthenticationWildcard - Choose how to authenticate to Mixpanel + */ + +@JsonDeserialize(using = AuthenticationWildcard._Deserializer.class) +public class AuthenticationWildcard { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private AuthenticationWildcard(TypedObject value) { + this.value = value; + } + + public static AuthenticationWildcard of(ServiceAccount value) { + Utils.checkNotNull(value, "value"); + return new AuthenticationWildcard(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static AuthenticationWildcard of(ProjectSecret value) { + Utils.checkNotNull(value, "value"); + return new AuthenticationWildcard(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code ServiceAccount}
    • + *
    • {@code ProjectSecret}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthenticationWildcard other = (AuthenticationWildcard) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(AuthenticationWildcard.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(AuthenticationWildcard.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/Authorization.java b/src/main/java/com/airbyte/api/models/shared/Authorization.java new file mode 100644 index 000000000..b81380d59 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Authorization.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Authorization { + + /** + * The client ID of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The client secret of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public Authorization( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The client ID of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public Optional clientId() { + return clientId; + } + + /** + * The client secret of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The client ID of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public Authorization withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The client ID of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public Authorization withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public Authorization withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The client secret of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public Authorization withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Authorization other = (Authorization) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(Authorization.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The client ID of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The client ID of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The client secret of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public Authorization build() { + return new Authorization( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AuthorizationMethod.java b/src/main/java/com/airbyte/api/models/shared/AuthorizationMethod.java new file mode 100644 index 000000000..8626e1ef4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthorizationMethod.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = AuthorizationMethod._Deserializer.class) +public class AuthorizationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private AuthorizationMethod(TypedObject value) { + this.value = value; + } + + public static AuthorizationMethod of(KeyPairAuthentication value) { + Utils.checkNotNull(value, "value"); + return new AuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static AuthorizationMethod of(UsernameAndPassword value) { + Utils.checkNotNull(value, "value"); + return new AuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static AuthorizationMethod of(DestinationSnowflakeOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new AuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code KeyPairAuthentication}
    • + *
    • {@code UsernameAndPassword}
    • + *
    • {@code DestinationSnowflakeOAuth20}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthorizationMethod other = (AuthorizationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(AuthorizationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(AuthorizationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/AuthorizationType.java b/src/main/java/com/airbyte/api/models/shared/AuthorizationType.java new file mode 100644 index 000000000..d321e8fcf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AuthorizationType.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * AuthorizationType - Authorization type. + */ + +@JsonDeserialize(using = AuthorizationType._Deserializer.class) +public class AuthorizationType { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private AuthorizationType(TypedObject value) { + this.value = value; + } + + public static AuthorizationType of(None value) { + Utils.checkNotNull(value, "value"); + return new AuthorizationType(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static AuthorizationType of(LoginPassword value) { + Utils.checkNotNull(value, "value"); + return new AuthorizationType(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code None}
    • + *
    • {@code LoginPassword}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AuthorizationType other = (AuthorizationType) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(AuthorizationType.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(AuthorizationType.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/Autogenerated.java b/src/main/java/com/airbyte/api/models/shared/Autogenerated.java new file mode 100644 index 000000000..1cd3cb27a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Autogenerated.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Autogenerated { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition_type") + private Optional headerDefinitionType; + + public Autogenerated() { + + this.headerDefinitionType = Builder._SINGLETON_VALUE_HeaderDefinitionType.value(); + } + + public Optional headerDefinitionType() { + return headerDefinitionType; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Autogenerated other = (Autogenerated) o; + return + java.util.Objects.deepEquals(this.headerDefinitionType, other.headerDefinitionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + headerDefinitionType); + } + + @Override + public String toString() { + return Utils.toString(Autogenerated.class, + "headerDefinitionType", headerDefinitionType); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public Autogenerated build() { + return new Autogenerated( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_HeaderDefinitionType = + new LazySingletonValue<>( + "header_definition_type", + "\"Autogenerated\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Avro.java b/src/main/java/com/airbyte/api/models/shared/Avro.java new file mode 100644 index 000000000..50f9b7664 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Avro.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * Avro - This connector utilises <a href="https://fastavro.readthedocs.io/en/latest/" target="_blank">fastavro</a> for Avro parsing. + */ + +public class Avro { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + public Avro() { + + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + } + + public Optional filetype() { + return filetype; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Avro other = (Avro) o; + return + java.util.Objects.deepEquals(this.filetype, other.filetype); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filetype); + } + + @Override + public String toString() { + return Utils.toString(Avro.class, + "filetype", filetype); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public Avro build() { + return new Avro( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"avro\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AvroApacheAvro.java b/src/main/java/com/airbyte/api/models/shared/AvroApacheAvro.java new file mode 100644 index 000000000..68a259c28 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AvroApacheAvro.java @@ -0,0 +1,153 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class AvroApacheAvro { + + /** + * The compression algorithm used to compress data. Default to no compression. + */ + @JsonProperty("compression_codec") + private CompressionCodec compressionCodec; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("format_type") + private Optional formatType; + + public AvroApacheAvro( + @JsonProperty("compression_codec") CompressionCodec compressionCodec, + @JsonProperty("format_type") Optional formatType) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + Utils.checkNotNull(formatType, "formatType"); + this.compressionCodec = compressionCodec; + this.formatType = formatType; + } + + /** + * The compression algorithm used to compress data. Default to no compression. + */ + public CompressionCodec compressionCodec() { + return compressionCodec; + } + + public Optional formatType() { + return formatType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The compression algorithm used to compress data. Default to no compression. + */ + public AvroApacheAvro withCompressionCodec(CompressionCodec compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = compressionCodec; + return this; + } + + public AvroApacheAvro withFormatType(DestinationGcsFormatType formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public AvroApacheAvro withFormatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AvroApacheAvro other = (AvroApacheAvro) o; + return + java.util.Objects.deepEquals(this.compressionCodec, other.compressionCodec) && + java.util.Objects.deepEquals(this.formatType, other.formatType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compressionCodec, + formatType); + } + + @Override + public String toString() { + return Utils.toString(AvroApacheAvro.class, + "compressionCodec", compressionCodec, + "formatType", formatType); + } + + public final static class Builder { + + private CompressionCodec compressionCodec; + + private Optional formatType; + + private Builder() { + // force use of static builder() method + } + + /** + * The compression algorithm used to compress data. Default to no compression. + */ + public Builder compressionCodec(CompressionCodec compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = compressionCodec; + return this; + } + + public Builder formatType(DestinationGcsFormatType formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public Builder formatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + public AvroApacheAvro build() { + if (formatType == null) { + formatType = _SINGLETON_VALUE_FormatType.value(); + } + return new AvroApacheAvro( + compressionCodec, + formatType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_FormatType = + new LazySingletonValue<>( + "format_type", + "\"Avro\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AvroFormat.java b/src/main/java/com/airbyte/api/models/shared/AvroFormat.java new file mode 100644 index 000000000..78cb0378e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AvroFormat.java @@ -0,0 +1,149 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class AvroFormat { + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("double_as_string") + private Optional doubleAsString; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + public AvroFormat( + @JsonProperty("double_as_string") Optional doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = doubleAsString; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public Optional doubleAsString() { + return doubleAsString; + } + + public Optional filetype() { + return filetype; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public AvroFormat withDoubleAsString(boolean doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = Optional.ofNullable(doubleAsString); + return this; + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public AvroFormat withDoubleAsString(Optional doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = doubleAsString; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AvroFormat other = (AvroFormat) o; + return + java.util.Objects.deepEquals(this.doubleAsString, other.doubleAsString) && + java.util.Objects.deepEquals(this.filetype, other.filetype); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + doubleAsString, + filetype); + } + + @Override + public String toString() { + return Utils.toString(AvroFormat.class, + "doubleAsString", doubleAsString, + "filetype", filetype); + } + + public final static class Builder { + + private Optional doubleAsString; + + private Builder() { + // force use of static builder() method + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public Builder doubleAsString(boolean doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = Optional.ofNullable(doubleAsString); + return this; + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public Builder doubleAsString(Optional doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = doubleAsString; + return this; + } + + public AvroFormat build() { + if (doubleAsString == null) { + doubleAsString = _SINGLETON_VALUE_DoubleAsString.value(); + } + return new AvroFormat( + doubleAsString); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DoubleAsString = + new LazySingletonValue<>( + "double_as_string", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"avro\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AwsCloudtrail.java b/src/main/java/com/airbyte/api/models/shared/AwsCloudtrail.java new file mode 100644 index 000000000..411d54ff4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AwsCloudtrail.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum AwsCloudtrail { + AWS_CLOUDTRAIL("aws-cloudtrail"); + + @JsonValue + private final String value; + + private AwsCloudtrail(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/AwsDatalake.java b/src/main/java/com/airbyte/api/models/shared/AwsDatalake.java new file mode 100644 index 000000000..adbb7ffae --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AwsDatalake.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum AwsDatalake { + AWS_DATALAKE("aws-datalake"); + + @JsonValue + private final String value; + + private AwsDatalake(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/AzBlobAzureBlobStorage.java b/src/main/java/com/airbyte/api/models/shared/AzBlobAzureBlobStorage.java new file mode 100644 index 000000000..64af3e2f8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AzBlobAzureBlobStorage.java @@ -0,0 +1,238 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class AzBlobAzureBlobStorage { + + /** + * To access Azure Blob Storage, this connector would need credentials with the proper permissions. One option is a SAS (Shared Access Signature) token. If accessing publicly available data, this field is not necessary. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sas_token") + private Optional sasToken; + + /** + * To access Azure Blob Storage, this connector would need credentials with the proper permissions. One option is a storage account shared key (aka account key or access key). If accessing publicly available data, this field is not necessary. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("shared_key") + private Optional sharedKey; + + @JsonProperty("storage") + private SourceFileSchemasProviderStorage storage; + + /** + * The globally unique name of the storage account that the desired blob sits within. See <a href="https://docs.microsoft.com/en-us/azure/storage/common/storage-account-overview" target="_blank">here</a> for more details. + */ + @JsonProperty("storage_account") + private String storageAccount; + + public AzBlobAzureBlobStorage( + @JsonProperty("sas_token") Optional sasToken, + @JsonProperty("shared_key") Optional sharedKey, + @JsonProperty("storage_account") String storageAccount) { + Utils.checkNotNull(sasToken, "sasToken"); + Utils.checkNotNull(sharedKey, "sharedKey"); + Utils.checkNotNull(storageAccount, "storageAccount"); + this.sasToken = sasToken; + this.sharedKey = sharedKey; + this.storage = Builder._SINGLETON_VALUE_Storage.value(); + this.storageAccount = storageAccount; + } + + /** + * To access Azure Blob Storage, this connector would need credentials with the proper permissions. One option is a SAS (Shared Access Signature) token. If accessing publicly available data, this field is not necessary. + */ + public Optional sasToken() { + return sasToken; + } + + /** + * To access Azure Blob Storage, this connector would need credentials with the proper permissions. One option is a storage account shared key (aka account key or access key). If accessing publicly available data, this field is not necessary. + */ + public Optional sharedKey() { + return sharedKey; + } + + public SourceFileSchemasProviderStorage storage() { + return storage; + } + + /** + * The globally unique name of the storage account that the desired blob sits within. See <a href="https://docs.microsoft.com/en-us/azure/storage/common/storage-account-overview" target="_blank">here</a> for more details. + */ + public String storageAccount() { + return storageAccount; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * To access Azure Blob Storage, this connector would need credentials with the proper permissions. One option is a SAS (Shared Access Signature) token. If accessing publicly available data, this field is not necessary. + */ + public AzBlobAzureBlobStorage withSasToken(String sasToken) { + Utils.checkNotNull(sasToken, "sasToken"); + this.sasToken = Optional.ofNullable(sasToken); + return this; + } + + /** + * To access Azure Blob Storage, this connector would need credentials with the proper permissions. One option is a SAS (Shared Access Signature) token. If accessing publicly available data, this field is not necessary. + */ + public AzBlobAzureBlobStorage withSasToken(Optional sasToken) { + Utils.checkNotNull(sasToken, "sasToken"); + this.sasToken = sasToken; + return this; + } + + /** + * To access Azure Blob Storage, this connector would need credentials with the proper permissions. One option is a storage account shared key (aka account key or access key). If accessing publicly available data, this field is not necessary. + */ + public AzBlobAzureBlobStorage withSharedKey(String sharedKey) { + Utils.checkNotNull(sharedKey, "sharedKey"); + this.sharedKey = Optional.ofNullable(sharedKey); + return this; + } + + /** + * To access Azure Blob Storage, this connector would need credentials with the proper permissions. One option is a storage account shared key (aka account key or access key). If accessing publicly available data, this field is not necessary. + */ + public AzBlobAzureBlobStorage withSharedKey(Optional sharedKey) { + Utils.checkNotNull(sharedKey, "sharedKey"); + this.sharedKey = sharedKey; + return this; + } + + /** + * The globally unique name of the storage account that the desired blob sits within. See <a href="https://docs.microsoft.com/en-us/azure/storage/common/storage-account-overview" target="_blank">here</a> for more details. + */ + public AzBlobAzureBlobStorage withStorageAccount(String storageAccount) { + Utils.checkNotNull(storageAccount, "storageAccount"); + this.storageAccount = storageAccount; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AzBlobAzureBlobStorage other = (AzBlobAzureBlobStorage) o; + return + java.util.Objects.deepEquals(this.sasToken, other.sasToken) && + java.util.Objects.deepEquals(this.sharedKey, other.sharedKey) && + java.util.Objects.deepEquals(this.storage, other.storage) && + java.util.Objects.deepEquals(this.storageAccount, other.storageAccount); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sasToken, + sharedKey, + storage, + storageAccount); + } + + @Override + public String toString() { + return Utils.toString(AzBlobAzureBlobStorage.class, + "sasToken", sasToken, + "sharedKey", sharedKey, + "storage", storage, + "storageAccount", storageAccount); + } + + public final static class Builder { + + private Optional sasToken = Optional.empty(); + + private Optional sharedKey = Optional.empty(); + + private String storageAccount; + + private Builder() { + // force use of static builder() method + } + + /** + * To access Azure Blob Storage, this connector would need credentials with the proper permissions. One option is a SAS (Shared Access Signature) token. If accessing publicly available data, this field is not necessary. + */ + public Builder sasToken(String sasToken) { + Utils.checkNotNull(sasToken, "sasToken"); + this.sasToken = Optional.ofNullable(sasToken); + return this; + } + + /** + * To access Azure Blob Storage, this connector would need credentials with the proper permissions. One option is a SAS (Shared Access Signature) token. If accessing publicly available data, this field is not necessary. + */ + public Builder sasToken(Optional sasToken) { + Utils.checkNotNull(sasToken, "sasToken"); + this.sasToken = sasToken; + return this; + } + + /** + * To access Azure Blob Storage, this connector would need credentials with the proper permissions. One option is a storage account shared key (aka account key or access key). If accessing publicly available data, this field is not necessary. + */ + public Builder sharedKey(String sharedKey) { + Utils.checkNotNull(sharedKey, "sharedKey"); + this.sharedKey = Optional.ofNullable(sharedKey); + return this; + } + + /** + * To access Azure Blob Storage, this connector would need credentials with the proper permissions. One option is a storage account shared key (aka account key or access key). If accessing publicly available data, this field is not necessary. + */ + public Builder sharedKey(Optional sharedKey) { + Utils.checkNotNull(sharedKey, "sharedKey"); + this.sharedKey = sharedKey; + return this; + } + + /** + * The globally unique name of the storage account that the desired blob sits within. See <a href="https://docs.microsoft.com/en-us/azure/storage/common/storage-account-overview" target="_blank">here</a> for more details. + */ + public Builder storageAccount(String storageAccount) { + Utils.checkNotNull(storageAccount, "storageAccount"); + this.storageAccount = storageAccount; + return this; + } + + public AzBlobAzureBlobStorage build() { + return new AzBlobAzureBlobStorage( + sasToken, + sharedKey, + storageAccount); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Storage = + new LazySingletonValue<>( + "storage", + "\"AzBlob\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AzureBlobStorage.java b/src/main/java/com/airbyte/api/models/shared/AzureBlobStorage.java new file mode 100644 index 000000000..8f2d316f0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AzureBlobStorage.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum AzureBlobStorage { + AZURE_BLOB_STORAGE("azure-blob-storage"); + + @JsonValue + private final String value; + + private AzureBlobStorage(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/AzureOpenAI.java b/src/main/java/com/airbyte/api/models/shared/AzureOpenAI.java new file mode 100644 index 000000000..38abc221a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AzureOpenAI.java @@ -0,0 +1,204 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * AzureOpenAI - Use the Azure-hosted OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + */ + +public class AzureOpenAI { + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + @JsonProperty("api_base") + private String apiBase; + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + @JsonProperty("deployment") + private String deployment; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + @JsonProperty("openai_key") + private String openaiKey; + + public AzureOpenAI( + @JsonProperty("api_base") String apiBase, + @JsonProperty("deployment") String deployment, + @JsonProperty("openai_key") String openaiKey) { + Utils.checkNotNull(apiBase, "apiBase"); + Utils.checkNotNull(deployment, "deployment"); + Utils.checkNotNull(openaiKey, "openaiKey"); + this.apiBase = apiBase; + this.deployment = deployment; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.openaiKey = openaiKey; + } + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public String apiBase() { + return apiBase; + } + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public String deployment() { + return deployment; + } + + public Optional mode() { + return mode; + } + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public String openaiKey() { + return openaiKey; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public AzureOpenAI withApiBase(String apiBase) { + Utils.checkNotNull(apiBase, "apiBase"); + this.apiBase = apiBase; + return this; + } + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public AzureOpenAI withDeployment(String deployment) { + Utils.checkNotNull(deployment, "deployment"); + this.deployment = deployment; + return this; + } + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public AzureOpenAI withOpenaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AzureOpenAI other = (AzureOpenAI) o; + return + java.util.Objects.deepEquals(this.apiBase, other.apiBase) && + java.util.Objects.deepEquals(this.deployment, other.deployment) && + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.openaiKey, other.openaiKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiBase, + deployment, + mode, + openaiKey); + } + + @Override + public String toString() { + return Utils.toString(AzureOpenAI.class, + "apiBase", apiBase, + "deployment", deployment, + "mode", mode, + "openaiKey", openaiKey); + } + + public final static class Builder { + + private String apiBase; + + private String deployment; + + private String openaiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public Builder apiBase(String apiBase) { + Utils.checkNotNull(apiBase, "apiBase"); + this.apiBase = apiBase; + return this; + } + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public Builder deployment(String deployment) { + Utils.checkNotNull(deployment, "deployment"); + this.deployment = deployment; + return this; + } + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public Builder openaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + public AzureOpenAI build() { + return new AzureOpenAI( + apiBase, + deployment, + openaiKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"azure_openai\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/AzureTable.java b/src/main/java/com/airbyte/api/models/shared/AzureTable.java new file mode 100644 index 000000000..dde1a3799 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/AzureTable.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum AzureTable { + AZURE_TABLE("azure-table"); + + @JsonValue + private final String value; + + private AzureTable(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/BambooHr.java b/src/main/java/com/airbyte/api/models/shared/BambooHr.java new file mode 100644 index 000000000..e53e26069 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/BambooHr.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum BambooHr { + BAMBOO_HR("bamboo-hr"); + + @JsonValue + private final String value; + + private BambooHr(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/BaseURL.java b/src/main/java/com/airbyte/api/models/shared/BaseURL.java new file mode 100644 index 000000000..234ee52a7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/BaseURL.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * BaseURL - Is your account location is EU based? If yes, the base url to retrieve data will be different. + */ + +@JsonDeserialize(using = BaseURL._Deserializer.class) +public class BaseURL { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private BaseURL(TypedObject value) { + this.value = value; + } + + public static BaseURL of(EUBasedAccount value) { + Utils.checkNotNull(value, "value"); + return new BaseURL(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static BaseURL of(GlobalAccount value) { + Utils.checkNotNull(value, "value"); + return new BaseURL(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code EUBasedAccount}
    • + *
    • {@code GlobalAccount}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BaseURL other = (BaseURL) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(BaseURL.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(BaseURL.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/BetweenFilter.java b/src/main/java/com/airbyte/api/models/shared/BetweenFilter.java new file mode 100644 index 000000000..e3947f230 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/BetweenFilter.java @@ -0,0 +1,133 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class BetweenFilter { + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterName filterName; + + @JsonProperty("fromValue") + private FromValue fromValue; + + @JsonProperty("toValue") + private ToValue toValue; + + public BetweenFilter( + @JsonProperty("fromValue") FromValue fromValue, + @JsonProperty("toValue") ToValue toValue) { + Utils.checkNotNull(fromValue, "fromValue"); + Utils.checkNotNull(toValue, "toValue"); + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.fromValue = fromValue; + this.toValue = toValue; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterName filterName() { + return filterName; + } + + public FromValue fromValue() { + return fromValue; + } + + public ToValue toValue() { + return toValue; + } + + public final static Builder builder() { + return new Builder(); + } + + public BetweenFilter withFromValue(FromValue fromValue) { + Utils.checkNotNull(fromValue, "fromValue"); + this.fromValue = fromValue; + return this; + } + + public BetweenFilter withToValue(ToValue toValue) { + Utils.checkNotNull(toValue, "toValue"); + this.toValue = toValue; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BetweenFilter other = (BetweenFilter) o; + return + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.fromValue, other.fromValue) && + java.util.Objects.deepEquals(this.toValue, other.toValue); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filterName, + fromValue, + toValue); + } + + @Override + public String toString() { + return Utils.toString(BetweenFilter.class, + "filterName", filterName, + "fromValue", fromValue, + "toValue", toValue); + } + + public final static class Builder { + + private FromValue fromValue; + + private ToValue toValue; + + private Builder() { + // force use of static builder() method + } + + public Builder fromValue(FromValue fromValue) { + Utils.checkNotNull(fromValue, "fromValue"); + this.fromValue = fromValue; + return this; + } + + public Builder toValue(ToValue toValue) { + Utils.checkNotNull(toValue, "toValue"); + this.toValue = toValue; + return this; + } + + public BetweenFilter build() { + return new BetweenFilter( + fromValue, + toValue); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"betweenFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Bigquery.java b/src/main/java/com/airbyte/api/models/shared/Bigquery.java new file mode 100644 index 000000000..191a20fdd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Bigquery.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Bigquery { + BIGQUERY("bigquery"); + + @JsonValue + private final String value; + + private Bigquery(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/BingAds.java b/src/main/java/com/airbyte/api/models/shared/BingAds.java new file mode 100644 index 000000000..9891c8fdf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/BingAds.java @@ -0,0 +1,190 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class BingAds { + + /** + * The Client ID of your Microsoft Advertising developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your Microsoft Advertising developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public BingAds( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of your Microsoft Advertising developer application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your Microsoft Advertising developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your Microsoft Advertising developer application. + */ + public BingAds withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Microsoft Advertising developer application. + */ + public BingAds withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Microsoft Advertising developer application. + */ + public BingAds withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Microsoft Advertising developer application. + */ + public BingAds withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BingAds other = (BingAds) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(BingAds.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret; + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your Microsoft Advertising developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Microsoft Advertising developer application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Microsoft Advertising developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Microsoft Advertising developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public BingAds build() { + if (clientSecret == null) { + clientSecret = _SINGLETON_VALUE_ClientSecret.value(); + } + return new BingAds( + clientId, + clientSecret); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ClientSecret = + new LazySingletonValue<>( + "client_secret", + "\"\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/BothUsernameAndPasswordIsRequiredForAuthenticationRequest.java b/src/main/java/com/airbyte/api/models/shared/BothUsernameAndPasswordIsRequiredForAuthenticationRequest.java new file mode 100644 index 000000000..5b77e4d59 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/BothUsernameAndPasswordIsRequiredForAuthenticationRequest.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum BothUsernameAndPasswordIsRequiredForAuthenticationRequest { + USERNAME_PASSWORD("username_password"); + + @JsonValue + private final String value; + + private BothUsernameAndPasswordIsRequiredForAuthenticationRequest(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Braintree.java b/src/main/java/com/airbyte/api/models/shared/Braintree.java new file mode 100644 index 000000000..9fa15dd8e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Braintree.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Braintree { + BRAINTREE("braintree"); + + @JsonValue + private final String value; + + private Braintree(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Braze.java b/src/main/java/com/airbyte/api/models/shared/Braze.java new file mode 100644 index 000000000..42b2242f7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Braze.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Braze { + BRAZE("braze"); + + @JsonValue + private final String value; + + private Braze(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ByMarkdownHeader.java b/src/main/java/com/airbyte/api/models/shared/ByMarkdownHeader.java new file mode 100644 index 000000000..a5c21eac4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ByMarkdownHeader.java @@ -0,0 +1,152 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * ByMarkdownHeader - Split the text by Markdown headers down to the specified header level. If the chunk size fits multiple sections, they will be combined into a single chunk. + */ + +public class ByMarkdownHeader { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("split_level") + private Optional splitLevel; + + public ByMarkdownHeader( + @JsonProperty("split_level") Optional splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.splitLevel = splitLevel; + } + + public Optional mode() { + return mode; + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public Optional splitLevel() { + return splitLevel; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public ByMarkdownHeader withSplitLevel(long splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = Optional.ofNullable(splitLevel); + return this; + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public ByMarkdownHeader withSplitLevel(Optional splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = splitLevel; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ByMarkdownHeader other = (ByMarkdownHeader) o; + return + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.splitLevel, other.splitLevel); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode, + splitLevel); + } + + @Override + public String toString() { + return Utils.toString(ByMarkdownHeader.class, + "mode", mode, + "splitLevel", splitLevel); + } + + public final static class Builder { + + private Optional splitLevel; + + private Builder() { + // force use of static builder() method + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public Builder splitLevel(long splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = Optional.ofNullable(splitLevel); + return this; + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public Builder splitLevel(Optional splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = splitLevel; + return this; + } + + public ByMarkdownHeader build() { + if (splitLevel == null) { + splitLevel = _SINGLETON_VALUE_SplitLevel.value(); + } + return new ByMarkdownHeader( + splitLevel); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"markdown\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SplitLevel = + new LazySingletonValue<>( + "split_level", + "1", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ByProgrammingLanguage.java b/src/main/java/com/airbyte/api/models/shared/ByProgrammingLanguage.java new file mode 100644 index 000000000..65b5b80ce --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ByProgrammingLanguage.java @@ -0,0 +1,124 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * ByProgrammingLanguage - Split the text by suitable delimiters based on the programming language. This is useful for splitting code into chunks. + */ + +public class ByProgrammingLanguage { + + /** + * Split code in suitable places based on the programming language + */ + @JsonProperty("language") + private DestinationAstraLanguage language; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public ByProgrammingLanguage( + @JsonProperty("language") DestinationAstraLanguage language) { + Utils.checkNotNull(language, "language"); + this.language = language; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + /** + * Split code in suitable places based on the programming language + */ + public DestinationAstraLanguage language() { + return language; + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Split code in suitable places based on the programming language + */ + public ByProgrammingLanguage withLanguage(DestinationAstraLanguage language) { + Utils.checkNotNull(language, "language"); + this.language = language; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ByProgrammingLanguage other = (ByProgrammingLanguage) o; + return + java.util.Objects.deepEquals(this.language, other.language) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + language, + mode); + } + + @Override + public String toString() { + return Utils.toString(ByProgrammingLanguage.class, + "language", language, + "mode", mode); + } + + public final static class Builder { + + private DestinationAstraLanguage language; + + private Builder() { + // force use of static builder() method + } + + /** + * Split code in suitable places based on the programming language + */ + public Builder language(DestinationAstraLanguage language) { + Utils.checkNotNull(language, "language"); + this.language = language; + return this; + } + + public ByProgrammingLanguage build() { + return new ByProgrammingLanguage( + language); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"code\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/BySeparator.java b/src/main/java/com/airbyte/api/models/shared/BySeparator.java new file mode 100644 index 000000000..36379cbc1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/BySeparator.java @@ -0,0 +1,211 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * BySeparator - Split the text by the list of separators until the chunk size is reached, using the earlier mentioned separators where possible. This is useful for splitting text fields by paragraphs, sentences, words, etc. + */ + +public class BySeparator { + + /** + * Whether to keep the separator in the resulting chunks + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("keep_separator") + private Optional keepSeparator; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("separators") + private Optional> separators; + + public BySeparator( + @JsonProperty("keep_separator") Optional keepSeparator, + @JsonProperty("separators") Optional> separators) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + Utils.checkNotNull(separators, "separators"); + this.keepSeparator = keepSeparator; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.separators = separators; + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public Optional keepSeparator() { + return keepSeparator; + } + + public Optional mode() { + return mode; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public Optional> separators() { + return separators; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public BySeparator withKeepSeparator(boolean keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = Optional.ofNullable(keepSeparator); + return this; + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public BySeparator withKeepSeparator(Optional keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = keepSeparator; + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public BySeparator withSeparators(java.util.List separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = Optional.ofNullable(separators); + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public BySeparator withSeparators(Optional> separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = separators; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BySeparator other = (BySeparator) o; + return + java.util.Objects.deepEquals(this.keepSeparator, other.keepSeparator) && + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.separators, other.separators); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + keepSeparator, + mode, + separators); + } + + @Override + public String toString() { + return Utils.toString(BySeparator.class, + "keepSeparator", keepSeparator, + "mode", mode, + "separators", separators); + } + + public final static class Builder { + + private Optional keepSeparator; + + private Optional> separators = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public Builder keepSeparator(boolean keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = Optional.ofNullable(keepSeparator); + return this; + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public Builder keepSeparator(Optional keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = keepSeparator; + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public Builder separators(java.util.List separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = Optional.ofNullable(separators); + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public Builder separators(Optional> separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = separators; + return this; + } + + public BySeparator build() { + if (keepSeparator == null) { + keepSeparator = _SINGLETON_VALUE_KeepSeparator.value(); + } + return new BySeparator( + keepSeparator, + separators); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_KeepSeparator = + new LazySingletonValue<>( + "keep_separator", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"separator\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Bzip2.java b/src/main/java/com/airbyte/api/models/shared/Bzip2.java new file mode 100644 index 000000000..f36ff453e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Bzip2.java @@ -0,0 +1,113 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Bzip2 { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("codec") + private Optional codec; + + public Bzip2( + @JsonProperty("codec") Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + } + + public Optional codec() { + return codec; + } + + public final static Builder builder() { + return new Builder(); + } + + public Bzip2 withCodec(DestinationGcsSchemasCodec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public Bzip2 withCodec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Bzip2 other = (Bzip2) o; + return + java.util.Objects.deepEquals(this.codec, other.codec); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + codec); + } + + @Override + public String toString() { + return Utils.toString(Bzip2.class, + "codec", codec); + } + + public final static class Builder { + + private Optional codec; + + private Builder() { + // force use of static builder() method + } + + public Builder codec(DestinationGcsSchemasCodec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public Builder codec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + public Bzip2 build() { + if (codec == null) { + codec = _SINGLETON_VALUE_Codec.value(); + } + return new Bzip2( + codec); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Codec = + new LazySingletonValue<>( + "codec", + "\"bzip2\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/CSVCommaSeparatedValues.java b/src/main/java/com/airbyte/api/models/shared/CSVCommaSeparatedValues.java new file mode 100644 index 000000000..f3e413aef --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/CSVCommaSeparatedValues.java @@ -0,0 +1,148 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class CSVCommaSeparatedValues { + + /** + * Whether the input json data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("flattening") + private Optional flattening; + + @JsonProperty("format_type") + private FormatType formatType; + + public CSVCommaSeparatedValues( + @JsonProperty("flattening") Optional flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = flattening; + this.formatType = Builder._SINGLETON_VALUE_FormatType.value(); + } + + /** + * Whether the input json data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ + public Optional flattening() { + return flattening; + } + + public FormatType formatType() { + return formatType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether the input json data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ + public CSVCommaSeparatedValues withFlattening(NormalizationFlattening flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = Optional.ofNullable(flattening); + return this; + } + + /** + * Whether the input json data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ + public CSVCommaSeparatedValues withFlattening(Optional flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = flattening; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CSVCommaSeparatedValues other = (CSVCommaSeparatedValues) o; + return + java.util.Objects.deepEquals(this.flattening, other.flattening) && + java.util.Objects.deepEquals(this.formatType, other.formatType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + flattening, + formatType); + } + + @Override + public String toString() { + return Utils.toString(CSVCommaSeparatedValues.class, + "flattening", flattening, + "formatType", formatType); + } + + public final static class Builder { + + private Optional flattening; + + private Builder() { + // force use of static builder() method + } + + /** + * Whether the input json data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ + public Builder flattening(NormalizationFlattening flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = Optional.ofNullable(flattening); + return this; + } + + /** + * Whether the input json data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ + public Builder flattening(Optional flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = flattening; + return this; + } + + public CSVCommaSeparatedValues build() { + if (flattening == null) { + flattening = _SINGLETON_VALUE_Flattening.value(); + } + return new CSVCommaSeparatedValues( + flattening); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Flattening = + new LazySingletonValue<>( + "flattening", + "\"No flattening\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_FormatType = + new LazySingletonValue<>( + "format_type", + "\"CSV\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/CSVFormat.java b/src/main/java/com/airbyte/api/models/shared/CSVFormat.java new file mode 100644 index 000000000..954b888c3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/CSVFormat.java @@ -0,0 +1,988 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class CSVFormat { + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("delimiter") + private Optional delimiter; + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("double_quote") + private Optional doubleQuote; + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("encoding") + private Optional encoding; + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("escape_char") + private Optional escapeChar; + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("false_values") + private Optional> falseValues; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition") + private Optional headerDefinition; + + /** + * Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ignore_errors_on_fields_mismatch") + private Optional ignoreErrorsOnFieldsMismatch; + + /** + * How to infer the types of the columns. If none, inference default to strings. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("inference_type") + private Optional inferenceType; + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("null_values") + private Optional> nullValues; + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("quote_char") + private Optional quoteChar; + + /** + * The number of rows to skip after the header row. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("skip_rows_after_header") + private Optional skipRowsAfterHeader; + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("skip_rows_before_header") + private Optional skipRowsBeforeHeader; + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("strings_can_be_null") + private Optional stringsCanBeNull; + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("true_values") + private Optional> trueValues; + + public CSVFormat( + @JsonProperty("delimiter") Optional delimiter, + @JsonProperty("double_quote") Optional doubleQuote, + @JsonProperty("encoding") Optional encoding, + @JsonProperty("escape_char") Optional escapeChar, + @JsonProperty("false_values") Optional> falseValues, + @JsonProperty("header_definition") Optional headerDefinition, + @JsonProperty("ignore_errors_on_fields_mismatch") Optional ignoreErrorsOnFieldsMismatch, + @JsonProperty("inference_type") Optional inferenceType, + @JsonProperty("null_values") Optional> nullValues, + @JsonProperty("quote_char") Optional quoteChar, + @JsonProperty("skip_rows_after_header") Optional skipRowsAfterHeader, + @JsonProperty("skip_rows_before_header") Optional skipRowsBeforeHeader, + @JsonProperty("strings_can_be_null") Optional stringsCanBeNull, + @JsonProperty("true_values") Optional> trueValues) { + Utils.checkNotNull(delimiter, "delimiter"); + Utils.checkNotNull(doubleQuote, "doubleQuote"); + Utils.checkNotNull(encoding, "encoding"); + Utils.checkNotNull(escapeChar, "escapeChar"); + Utils.checkNotNull(falseValues, "falseValues"); + Utils.checkNotNull(headerDefinition, "headerDefinition"); + Utils.checkNotNull(ignoreErrorsOnFieldsMismatch, "ignoreErrorsOnFieldsMismatch"); + Utils.checkNotNull(inferenceType, "inferenceType"); + Utils.checkNotNull(nullValues, "nullValues"); + Utils.checkNotNull(quoteChar, "quoteChar"); + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + Utils.checkNotNull(trueValues, "trueValues"); + this.delimiter = delimiter; + this.doubleQuote = doubleQuote; + this.encoding = encoding; + this.escapeChar = escapeChar; + this.falseValues = falseValues; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + this.headerDefinition = headerDefinition; + this.ignoreErrorsOnFieldsMismatch = ignoreErrorsOnFieldsMismatch; + this.inferenceType = inferenceType; + this.nullValues = nullValues; + this.quoteChar = quoteChar; + this.skipRowsAfterHeader = skipRowsAfterHeader; + this.skipRowsBeforeHeader = skipRowsBeforeHeader; + this.stringsCanBeNull = stringsCanBeNull; + this.trueValues = trueValues; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Optional delimiter() { + return delimiter; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Optional doubleQuote() { + return doubleQuote; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Optional encoding() { + return encoding; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Optional escapeChar() { + return escapeChar; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public Optional> falseValues() { + return falseValues; + } + + public Optional filetype() { + return filetype; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public Optional headerDefinition() { + return headerDefinition; + } + + /** + * Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. + */ + public Optional ignoreErrorsOnFieldsMismatch() { + return ignoreErrorsOnFieldsMismatch; + } + + /** + * How to infer the types of the columns. If none, inference default to strings. + */ + public Optional inferenceType() { + return inferenceType; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public Optional> nullValues() { + return nullValues; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Optional quoteChar() { + return quoteChar; + } + + /** + * The number of rows to skip after the header row. + */ + public Optional skipRowsAfterHeader() { + return skipRowsAfterHeader; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public Optional skipRowsBeforeHeader() { + return skipRowsBeforeHeader; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public Optional stringsCanBeNull() { + return stringsCanBeNull; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public Optional> trueValues() { + return trueValues; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public CSVFormat withDelimiter(String delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = Optional.ofNullable(delimiter); + return this; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public CSVFormat withDelimiter(Optional delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = delimiter; + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public CSVFormat withDoubleQuote(boolean doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = Optional.ofNullable(doubleQuote); + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public CSVFormat withDoubleQuote(Optional doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = doubleQuote; + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public CSVFormat withEncoding(String encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = Optional.ofNullable(encoding); + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public CSVFormat withEncoding(Optional encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = encoding; + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public CSVFormat withEscapeChar(String escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = Optional.ofNullable(escapeChar); + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public CSVFormat withEscapeChar(Optional escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = escapeChar; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public CSVFormat withFalseValues(java.util.List falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = Optional.ofNullable(falseValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public CSVFormat withFalseValues(Optional> falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = falseValues; + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public CSVFormat withHeaderDefinition(CSVHeaderDefinition headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = Optional.ofNullable(headerDefinition); + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public CSVFormat withHeaderDefinition(Optional headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = headerDefinition; + return this; + } + + /** + * Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. + */ + public CSVFormat withIgnoreErrorsOnFieldsMismatch(boolean ignoreErrorsOnFieldsMismatch) { + Utils.checkNotNull(ignoreErrorsOnFieldsMismatch, "ignoreErrorsOnFieldsMismatch"); + this.ignoreErrorsOnFieldsMismatch = Optional.ofNullable(ignoreErrorsOnFieldsMismatch); + return this; + } + + /** + * Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. + */ + public CSVFormat withIgnoreErrorsOnFieldsMismatch(Optional ignoreErrorsOnFieldsMismatch) { + Utils.checkNotNull(ignoreErrorsOnFieldsMismatch, "ignoreErrorsOnFieldsMismatch"); + this.ignoreErrorsOnFieldsMismatch = ignoreErrorsOnFieldsMismatch; + return this; + } + + /** + * How to infer the types of the columns. If none, inference default to strings. + */ + public CSVFormat withInferenceType(InferenceType inferenceType) { + Utils.checkNotNull(inferenceType, "inferenceType"); + this.inferenceType = Optional.ofNullable(inferenceType); + return this; + } + + /** + * How to infer the types of the columns. If none, inference default to strings. + */ + public CSVFormat withInferenceType(Optional inferenceType) { + Utils.checkNotNull(inferenceType, "inferenceType"); + this.inferenceType = inferenceType; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public CSVFormat withNullValues(java.util.List nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = Optional.ofNullable(nullValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public CSVFormat withNullValues(Optional> nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = nullValues; + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public CSVFormat withQuoteChar(String quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = Optional.ofNullable(quoteChar); + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public CSVFormat withQuoteChar(Optional quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = quoteChar; + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public CSVFormat withSkipRowsAfterHeader(long skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = Optional.ofNullable(skipRowsAfterHeader); + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public CSVFormat withSkipRowsAfterHeader(Optional skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = skipRowsAfterHeader; + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public CSVFormat withSkipRowsBeforeHeader(long skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = Optional.ofNullable(skipRowsBeforeHeader); + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public CSVFormat withSkipRowsBeforeHeader(Optional skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = skipRowsBeforeHeader; + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public CSVFormat withStringsCanBeNull(boolean stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = Optional.ofNullable(stringsCanBeNull); + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public CSVFormat withStringsCanBeNull(Optional stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = stringsCanBeNull; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public CSVFormat withTrueValues(java.util.List trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = Optional.ofNullable(trueValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public CSVFormat withTrueValues(Optional> trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = trueValues; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CSVFormat other = (CSVFormat) o; + return + java.util.Objects.deepEquals(this.delimiter, other.delimiter) && + java.util.Objects.deepEquals(this.doubleQuote, other.doubleQuote) && + java.util.Objects.deepEquals(this.encoding, other.encoding) && + java.util.Objects.deepEquals(this.escapeChar, other.escapeChar) && + java.util.Objects.deepEquals(this.falseValues, other.falseValues) && + java.util.Objects.deepEquals(this.filetype, other.filetype) && + java.util.Objects.deepEquals(this.headerDefinition, other.headerDefinition) && + java.util.Objects.deepEquals(this.ignoreErrorsOnFieldsMismatch, other.ignoreErrorsOnFieldsMismatch) && + java.util.Objects.deepEquals(this.inferenceType, other.inferenceType) && + java.util.Objects.deepEquals(this.nullValues, other.nullValues) && + java.util.Objects.deepEquals(this.quoteChar, other.quoteChar) && + java.util.Objects.deepEquals(this.skipRowsAfterHeader, other.skipRowsAfterHeader) && + java.util.Objects.deepEquals(this.skipRowsBeforeHeader, other.skipRowsBeforeHeader) && + java.util.Objects.deepEquals(this.stringsCanBeNull, other.stringsCanBeNull) && + java.util.Objects.deepEquals(this.trueValues, other.trueValues); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + delimiter, + doubleQuote, + encoding, + escapeChar, + falseValues, + filetype, + headerDefinition, + ignoreErrorsOnFieldsMismatch, + inferenceType, + nullValues, + quoteChar, + skipRowsAfterHeader, + skipRowsBeforeHeader, + stringsCanBeNull, + trueValues); + } + + @Override + public String toString() { + return Utils.toString(CSVFormat.class, + "delimiter", delimiter, + "doubleQuote", doubleQuote, + "encoding", encoding, + "escapeChar", escapeChar, + "falseValues", falseValues, + "filetype", filetype, + "headerDefinition", headerDefinition, + "ignoreErrorsOnFieldsMismatch", ignoreErrorsOnFieldsMismatch, + "inferenceType", inferenceType, + "nullValues", nullValues, + "quoteChar", quoteChar, + "skipRowsAfterHeader", skipRowsAfterHeader, + "skipRowsBeforeHeader", skipRowsBeforeHeader, + "stringsCanBeNull", stringsCanBeNull, + "trueValues", trueValues); + } + + public final static class Builder { + + private Optional delimiter; + + private Optional doubleQuote; + + private Optional encoding; + + private Optional escapeChar = Optional.empty(); + + private Optional> falseValues = Optional.empty(); + + private Optional headerDefinition = Optional.empty(); + + private Optional ignoreErrorsOnFieldsMismatch; + + private Optional inferenceType; + + private Optional> nullValues = Optional.empty(); + + private Optional quoteChar; + + private Optional skipRowsAfterHeader; + + private Optional skipRowsBeforeHeader; + + private Optional stringsCanBeNull; + + private Optional> trueValues = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Builder delimiter(String delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = Optional.ofNullable(delimiter); + return this; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Builder delimiter(Optional delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = delimiter; + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Builder doubleQuote(boolean doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = Optional.ofNullable(doubleQuote); + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Builder doubleQuote(Optional doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = doubleQuote; + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Builder encoding(String encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = Optional.ofNullable(encoding); + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Builder encoding(Optional encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = encoding; + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Builder escapeChar(String escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = Optional.ofNullable(escapeChar); + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Builder escapeChar(Optional escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = escapeChar; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public Builder falseValues(java.util.List falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = Optional.ofNullable(falseValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public Builder falseValues(Optional> falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = falseValues; + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public Builder headerDefinition(CSVHeaderDefinition headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = Optional.ofNullable(headerDefinition); + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public Builder headerDefinition(Optional headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = headerDefinition; + return this; + } + + /** + * Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. + */ + public Builder ignoreErrorsOnFieldsMismatch(boolean ignoreErrorsOnFieldsMismatch) { + Utils.checkNotNull(ignoreErrorsOnFieldsMismatch, "ignoreErrorsOnFieldsMismatch"); + this.ignoreErrorsOnFieldsMismatch = Optional.ofNullable(ignoreErrorsOnFieldsMismatch); + return this; + } + + /** + * Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. + */ + public Builder ignoreErrorsOnFieldsMismatch(Optional ignoreErrorsOnFieldsMismatch) { + Utils.checkNotNull(ignoreErrorsOnFieldsMismatch, "ignoreErrorsOnFieldsMismatch"); + this.ignoreErrorsOnFieldsMismatch = ignoreErrorsOnFieldsMismatch; + return this; + } + + /** + * How to infer the types of the columns. If none, inference default to strings. + */ + public Builder inferenceType(InferenceType inferenceType) { + Utils.checkNotNull(inferenceType, "inferenceType"); + this.inferenceType = Optional.ofNullable(inferenceType); + return this; + } + + /** + * How to infer the types of the columns. If none, inference default to strings. + */ + public Builder inferenceType(Optional inferenceType) { + Utils.checkNotNull(inferenceType, "inferenceType"); + this.inferenceType = inferenceType; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public Builder nullValues(java.util.List nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = Optional.ofNullable(nullValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public Builder nullValues(Optional> nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = nullValues; + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Builder quoteChar(String quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = Optional.ofNullable(quoteChar); + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Builder quoteChar(Optional quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = quoteChar; + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public Builder skipRowsAfterHeader(long skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = Optional.ofNullable(skipRowsAfterHeader); + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public Builder skipRowsAfterHeader(Optional skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = skipRowsAfterHeader; + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public Builder skipRowsBeforeHeader(long skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = Optional.ofNullable(skipRowsBeforeHeader); + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public Builder skipRowsBeforeHeader(Optional skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = skipRowsBeforeHeader; + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public Builder stringsCanBeNull(boolean stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = Optional.ofNullable(stringsCanBeNull); + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public Builder stringsCanBeNull(Optional stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = stringsCanBeNull; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public Builder trueValues(java.util.List trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = Optional.ofNullable(trueValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public Builder trueValues(Optional> trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = trueValues; + return this; + } + + public CSVFormat build() { + if (delimiter == null) { + delimiter = _SINGLETON_VALUE_Delimiter.value(); + } + if (doubleQuote == null) { + doubleQuote = _SINGLETON_VALUE_DoubleQuote.value(); + } + if (encoding == null) { + encoding = _SINGLETON_VALUE_Encoding.value(); + } + if (ignoreErrorsOnFieldsMismatch == null) { + ignoreErrorsOnFieldsMismatch = _SINGLETON_VALUE_IgnoreErrorsOnFieldsMismatch.value(); + } + if (inferenceType == null) { + inferenceType = _SINGLETON_VALUE_InferenceType.value(); + } + if (quoteChar == null) { + quoteChar = _SINGLETON_VALUE_QuoteChar.value(); + } + if (skipRowsAfterHeader == null) { + skipRowsAfterHeader = _SINGLETON_VALUE_SkipRowsAfterHeader.value(); + } + if (skipRowsBeforeHeader == null) { + skipRowsBeforeHeader = _SINGLETON_VALUE_SkipRowsBeforeHeader.value(); + } + if (stringsCanBeNull == null) { + stringsCanBeNull = _SINGLETON_VALUE_StringsCanBeNull.value(); + } + return new CSVFormat( + delimiter, + doubleQuote, + encoding, + escapeChar, + falseValues, + headerDefinition, + ignoreErrorsOnFieldsMismatch, + inferenceType, + nullValues, + quoteChar, + skipRowsAfterHeader, + skipRowsBeforeHeader, + stringsCanBeNull, + trueValues); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Delimiter = + new LazySingletonValue<>( + "delimiter", + "\",\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DoubleQuote = + new LazySingletonValue<>( + "double_quote", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Encoding = + new LazySingletonValue<>( + "encoding", + "\"utf8\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"csv\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_IgnoreErrorsOnFieldsMismatch = + new LazySingletonValue<>( + "ignore_errors_on_fields_mismatch", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_InferenceType = + new LazySingletonValue<>( + "inference_type", + "\"None\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_QuoteChar = + new LazySingletonValue<>( + "quote_char", + "\"\\\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SkipRowsAfterHeader = + new LazySingletonValue<>( + "skip_rows_after_header", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SkipRowsBeforeHeader = + new LazySingletonValue<>( + "skip_rows_before_header", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_StringsCanBeNull = + new LazySingletonValue<>( + "strings_can_be_null", + "true", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/CSVHeaderDefinition.java b/src/main/java/com/airbyte/api/models/shared/CSVHeaderDefinition.java new file mode 100644 index 000000000..294004eb0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/CSVHeaderDefinition.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * CSVHeaderDefinition - How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + +@JsonDeserialize(using = CSVHeaderDefinition._Deserializer.class) +public class CSVHeaderDefinition { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private CSVHeaderDefinition(TypedObject value) { + this.value = value; + } + + public static CSVHeaderDefinition of(FromCSV value) { + Utils.checkNotNull(value, "value"); + return new CSVHeaderDefinition(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static CSVHeaderDefinition of(Autogenerated value) { + Utils.checkNotNull(value, "value"); + return new CSVHeaderDefinition(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static CSVHeaderDefinition of(UserProvided value) { + Utils.checkNotNull(value, "value"); + return new CSVHeaderDefinition(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code FromCSV}
    • + *
    • {@code Autogenerated}
    • + *
    • {@code UserProvided}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CSVHeaderDefinition other = (CSVHeaderDefinition) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(CSVHeaderDefinition.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(CSVHeaderDefinition.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/CacheType.java b/src/main/java/com/airbyte/api/models/shared/CacheType.java new file mode 100644 index 000000000..30a569004 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/CacheType.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * CacheType - Redis cache type to store data in. + */ +public enum CacheType { + HASH("hash"); + + @JsonValue + private final String value; + + private CacheType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Cart.java b/src/main/java/com/airbyte/api/models/shared/Cart.java new file mode 100644 index 000000000..4568aaef6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Cart.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Cart { + CART("cart"); + + @JsonValue + private final String value; + + private Cart(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Categories.java b/src/main/java/com/airbyte/api/models/shared/Categories.java new file mode 100644 index 000000000..8ed83e83b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Categories.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Categories { + ACCESSIBILITY("accessibility"), + BEST_PRACTICES("best-practices"), + PERFORMANCE("performance"), + PWA("pwa"), + SEO("seo"); + + @JsonValue + private final String value; + + private Categories(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/CentralAPIRouter.java b/src/main/java/com/airbyte/api/models/shared/CentralAPIRouter.java new file mode 100644 index 000000000..588ae2224 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/CentralAPIRouter.java @@ -0,0 +1,197 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class CentralAPIRouter { + + @JsonProperty("auth_type") + private SourceCartAuthType authType; + + /** + * You can determine a site provisioning site Id by hitting https://site.com/store/sitemonitor.aspx and reading the response param PSID + */ + @JsonProperty("site_id") + private String siteId; + + /** + * Enter your application's User Name + */ + @JsonProperty("user_name") + private String userName; + + /** + * Enter your application's User Secret + */ + @JsonProperty("user_secret") + private String userSecret; + + public CentralAPIRouter( + @JsonProperty("site_id") String siteId, + @JsonProperty("user_name") String userName, + @JsonProperty("user_secret") String userSecret) { + Utils.checkNotNull(siteId, "siteId"); + Utils.checkNotNull(userName, "userName"); + Utils.checkNotNull(userSecret, "userSecret"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.siteId = siteId; + this.userName = userName; + this.userSecret = userSecret; + } + + public SourceCartAuthType authType() { + return authType; + } + + /** + * You can determine a site provisioning site Id by hitting https://site.com/store/sitemonitor.aspx and reading the response param PSID + */ + public String siteId() { + return siteId; + } + + /** + * Enter your application's User Name + */ + public String userName() { + return userName; + } + + /** + * Enter your application's User Secret + */ + public String userSecret() { + return userSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * You can determine a site provisioning site Id by hitting https://site.com/store/sitemonitor.aspx and reading the response param PSID + */ + public CentralAPIRouter withSiteId(String siteId) { + Utils.checkNotNull(siteId, "siteId"); + this.siteId = siteId; + return this; + } + + /** + * Enter your application's User Name + */ + public CentralAPIRouter withUserName(String userName) { + Utils.checkNotNull(userName, "userName"); + this.userName = userName; + return this; + } + + /** + * Enter your application's User Secret + */ + public CentralAPIRouter withUserSecret(String userSecret) { + Utils.checkNotNull(userSecret, "userSecret"); + this.userSecret = userSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CentralAPIRouter other = (CentralAPIRouter) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.siteId, other.siteId) && + java.util.Objects.deepEquals(this.userName, other.userName) && + java.util.Objects.deepEquals(this.userSecret, other.userSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + siteId, + userName, + userSecret); + } + + @Override + public String toString() { + return Utils.toString(CentralAPIRouter.class, + "authType", authType, + "siteId", siteId, + "userName", userName, + "userSecret", userSecret); + } + + public final static class Builder { + + private String siteId; + + private String userName; + + private String userSecret; + + private Builder() { + // force use of static builder() method + } + + /** + * You can determine a site provisioning site Id by hitting https://site.com/store/sitemonitor.aspx and reading the response param PSID + */ + public Builder siteId(String siteId) { + Utils.checkNotNull(siteId, "siteId"); + this.siteId = siteId; + return this; + } + + /** + * Enter your application's User Name + */ + public Builder userName(String userName) { + Utils.checkNotNull(userName, "userName"); + this.userName = userName; + return this; + } + + /** + * Enter your application's User Secret + */ + public Builder userSecret(String userSecret) { + Utils.checkNotNull(userSecret, "userSecret"); + this.userSecret = userSecret; + return this; + } + + public CentralAPIRouter build() { + return new CentralAPIRouter( + siteId, + userName, + userSecret); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"CENTRAL_API_ROUTER\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Chargebee.java b/src/main/java/com/airbyte/api/models/shared/Chargebee.java new file mode 100644 index 000000000..b199fe9f3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Chargebee.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Chargebee { + CHARGEBEE("chargebee"); + + @JsonValue + private final String value; + + private Chargebee(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Chartmogul.java b/src/main/java/com/airbyte/api/models/shared/Chartmogul.java new file mode 100644 index 000000000..278ef542f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Chartmogul.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Chartmogul { + CHARTMOGUL("chartmogul"); + + @JsonValue + private final String value; + + private Chartmogul(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ChooseHowToPartitionData.java b/src/main/java/com/airbyte/api/models/shared/ChooseHowToPartitionData.java new file mode 100644 index 000000000..a3724cda9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ChooseHowToPartitionData.java @@ -0,0 +1,38 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ChooseHowToPartitionData - Partition data by cursor fields when a cursor field is a date + */ +public enum ChooseHowToPartitionData { + NO_PARTITIONING("NO PARTITIONING"), + DATE("DATE"), + YEAR("YEAR"), + MONTH("MONTH"), + DAY("DAY"), + YEAR_MONTH("YEAR/MONTH"), + YEAR_MONTH_DAY("YEAR/MONTH/DAY"); + + @JsonValue + private final String value; + + private ChooseHowToPartitionData(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ChromaLocalPersistance.java b/src/main/java/com/airbyte/api/models/shared/ChromaLocalPersistance.java new file mode 100644 index 000000000..ae03a570f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ChromaLocalPersistance.java @@ -0,0 +1,192 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * ChromaLocalPersistance - Chroma is a popular vector store that can be used to store and retrieve embeddings. It will build its index in memory and persist it to disk by the end of the sync. + */ + +public class ChromaLocalPersistance { + + /** + * Name of the collection to use. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("collection_name") + private Optional collectionName; + + /** + * Path to the directory where chroma files will be written. The files will be placed inside that local mount. + */ + @JsonProperty("destination_path") + private String destinationPath; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public ChromaLocalPersistance( + @JsonProperty("collection_name") Optional collectionName, + @JsonProperty("destination_path") String destinationPath) { + Utils.checkNotNull(collectionName, "collectionName"); + Utils.checkNotNull(destinationPath, "destinationPath"); + this.collectionName = collectionName; + this.destinationPath = destinationPath; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + /** + * Name of the collection to use. + */ + public Optional collectionName() { + return collectionName; + } + + /** + * Path to the directory where chroma files will be written. The files will be placed inside that local mount. + */ + public String destinationPath() { + return destinationPath; + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Name of the collection to use. + */ + public ChromaLocalPersistance withCollectionName(String collectionName) { + Utils.checkNotNull(collectionName, "collectionName"); + this.collectionName = Optional.ofNullable(collectionName); + return this; + } + + /** + * Name of the collection to use. + */ + public ChromaLocalPersistance withCollectionName(Optional collectionName) { + Utils.checkNotNull(collectionName, "collectionName"); + this.collectionName = collectionName; + return this; + } + + /** + * Path to the directory where chroma files will be written. The files will be placed inside that local mount. + */ + public ChromaLocalPersistance withDestinationPath(String destinationPath) { + Utils.checkNotNull(destinationPath, "destinationPath"); + this.destinationPath = destinationPath; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ChromaLocalPersistance other = (ChromaLocalPersistance) o; + return + java.util.Objects.deepEquals(this.collectionName, other.collectionName) && + java.util.Objects.deepEquals(this.destinationPath, other.destinationPath) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + collectionName, + destinationPath, + mode); + } + + @Override + public String toString() { + return Utils.toString(ChromaLocalPersistance.class, + "collectionName", collectionName, + "destinationPath", destinationPath, + "mode", mode); + } + + public final static class Builder { + + private Optional collectionName; + + private String destinationPath; + + private Builder() { + // force use of static builder() method + } + + /** + * Name of the collection to use. + */ + public Builder collectionName(String collectionName) { + Utils.checkNotNull(collectionName, "collectionName"); + this.collectionName = Optional.ofNullable(collectionName); + return this; + } + + /** + * Name of the collection to use. + */ + public Builder collectionName(Optional collectionName) { + Utils.checkNotNull(collectionName, "collectionName"); + this.collectionName = collectionName; + return this; + } + + /** + * Path to the directory where chroma files will be written. The files will be placed inside that local mount. + */ + public Builder destinationPath(String destinationPath) { + Utils.checkNotNull(destinationPath, "destinationPath"); + this.destinationPath = destinationPath; + return this; + } + + public ChromaLocalPersistance build() { + if (collectionName == null) { + collectionName = _SINGLETON_VALUE_CollectionName.value(); + } + return new ChromaLocalPersistance( + collectionName, + destinationPath); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CollectionName = + new LazySingletonValue<>( + "collection_name", + "\"langchain\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"chroma_local\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ClickWindowDays.java b/src/main/java/com/airbyte/api/models/shared/ClickWindowDays.java new file mode 100644 index 000000000..b63c2764c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ClickWindowDays.java @@ -0,0 +1,37 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ClickWindowDays - Number of days to use as the conversion attribution window for a pin click action. + */ +public enum ClickWindowDays { + ZERO(0L), + ONE(1L), + SEVEN(7L), + FOURTEEN(14L), + THIRTY(30L), + SIXTY(60L); + + @JsonValue + private final long value; + + private ClickWindowDays(long value) { + this.value = value; + } + + public long value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Clickhouse.java b/src/main/java/com/airbyte/api/models/shared/Clickhouse.java new file mode 100644 index 000000000..f2a22f313 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Clickhouse.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Clickhouse { + CLICKHOUSE("clickhouse"); + + @JsonValue + private final String value; + + private Clickhouse(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ClickupApi.java b/src/main/java/com/airbyte/api/models/shared/ClickupApi.java new file mode 100644 index 000000000..491cc75a2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ClickupApi.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum ClickupApi { + CLICKUP_API("clickup-api"); + + @JsonValue + private final String value; + + private ClickupApi(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Clockify.java b/src/main/java/com/airbyte/api/models/shared/Clockify.java new file mode 100644 index 000000000..bb0d75263 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Clockify.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Clockify { + CLOCKIFY("clockify"); + + @JsonValue + private final String value; + + private Clockify(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/CloseCom.java b/src/main/java/com/airbyte/api/models/shared/CloseCom.java new file mode 100644 index 000000000..4ae0c1f96 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/CloseCom.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum CloseCom { + CLOSE_COM("close-com"); + + @JsonValue + private final String value; + + private CloseCom(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Coda.java b/src/main/java/com/airbyte/api/models/shared/Coda.java new file mode 100644 index 000000000..716e5398f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Coda.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Coda { + CODA("coda"); + + @JsonValue + private final String value; + + private Coda(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Codec.java b/src/main/java/com/airbyte/api/models/shared/Codec.java new file mode 100644 index 000000000..f56688356 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Codec.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Codec { + NO_COMPRESSION("no compression"); + + @JsonValue + private final String value; + + private Codec(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Cohere.java b/src/main/java/com/airbyte/api/models/shared/Cohere.java new file mode 100644 index 000000000..024e9de48 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Cohere.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * Cohere - Use the Cohere API to embed text. + */ + +public class Cohere { + + @JsonProperty("cohere_key") + private String cohereKey; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public Cohere( + @JsonProperty("cohere_key") String cohereKey) { + Utils.checkNotNull(cohereKey, "cohereKey"); + this.cohereKey = cohereKey; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public String cohereKey() { + return cohereKey; + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + public Cohere withCohereKey(String cohereKey) { + Utils.checkNotNull(cohereKey, "cohereKey"); + this.cohereKey = cohereKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Cohere other = (Cohere) o; + return + java.util.Objects.deepEquals(this.cohereKey, other.cohereKey) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + cohereKey, + mode); + } + + @Override + public String toString() { + return Utils.toString(Cohere.class, + "cohereKey", cohereKey, + "mode", mode); + } + + public final static class Builder { + + private String cohereKey; + + private Builder() { + // force use of static builder() method + } + + public Builder cohereKey(String cohereKey) { + Utils.checkNotNull(cohereKey, "cohereKey"); + this.cohereKey = cohereKey; + return this; + } + + public Cohere build() { + return new Cohere( + cohereKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"cohere\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/CohortReportSettings.java b/src/main/java/com/airbyte/api/models/shared/CohortReportSettings.java new file mode 100644 index 000000000..eb0334e1b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/CohortReportSettings.java @@ -0,0 +1,124 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * CohortReportSettings - Optional settings for a cohort report. + */ + +public class CohortReportSettings { + + /** + * If true, accumulates the result from first touch day to the end day + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("accumulate") + private Optional accumulate; + + public CohortReportSettings( + @JsonProperty("accumulate") Optional accumulate) { + Utils.checkNotNull(accumulate, "accumulate"); + this.accumulate = accumulate; + } + + /** + * If true, accumulates the result from first touch day to the end day + */ + public Optional accumulate() { + return accumulate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * If true, accumulates the result from first touch day to the end day + */ + public CohortReportSettings withAccumulate(boolean accumulate) { + Utils.checkNotNull(accumulate, "accumulate"); + this.accumulate = Optional.ofNullable(accumulate); + return this; + } + + /** + * If true, accumulates the result from first touch day to the end day + */ + public CohortReportSettings withAccumulate(Optional accumulate) { + Utils.checkNotNull(accumulate, "accumulate"); + this.accumulate = accumulate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CohortReportSettings other = (CohortReportSettings) o; + return + java.util.Objects.deepEquals(this.accumulate, other.accumulate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accumulate); + } + + @Override + public String toString() { + return Utils.toString(CohortReportSettings.class, + "accumulate", accumulate); + } + + public final static class Builder { + + private Optional accumulate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * If true, accumulates the result from first touch day to the end day + */ + public Builder accumulate(boolean accumulate) { + Utils.checkNotNull(accumulate, "accumulate"); + this.accumulate = Optional.ofNullable(accumulate); + return this; + } + + /** + * If true, accumulates the result from first touch day to the end day + */ + public Builder accumulate(Optional accumulate) { + Utils.checkNotNull(accumulate, "accumulate"); + this.accumulate = accumulate; + return this; + } + + public CohortReportSettings build() { + return new CohortReportSettings( + accumulate); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/CohortReports.java b/src/main/java/com/airbyte/api/models/shared/CohortReports.java new file mode 100644 index 000000000..795be1043 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/CohortReports.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * CohortReports - Cohort reports creates a time series of user retention for the cohort. + */ + +@JsonDeserialize(using = CohortReports._Deserializer.class) +public class CohortReports { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private CohortReports(TypedObject value) { + this.value = value; + } + + public static CohortReports of(SourceGoogleAnalyticsDataApiDisabled value) { + Utils.checkNotNull(value, "value"); + return new CohortReports(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static CohortReports of(SourceGoogleAnalyticsDataApiSchemasEnabled value) { + Utils.checkNotNull(value, "value"); + return new CohortReports(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiDisabled}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasEnabled}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CohortReports other = (CohortReports) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(CohortReports.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(CohortReports.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/Cohorts.java b/src/main/java/com/airbyte/api/models/shared/Cohorts.java new file mode 100644 index 000000000..eb3cf9c1b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Cohorts.java @@ -0,0 +1,189 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Cohorts { + + @JsonProperty("dateRange") + private DateRange dateRange; + + /** + * Dimension used by the cohort. Required and only supports `firstSessionDate` + */ + @JsonProperty("dimension") + private Dimension dimension; + + /** + * Assigns a name to this cohort. If not set, cohorts are named by their zero based index cohort_0, cohort_1, etc. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("name") + private Optional name; + + public Cohorts( + @JsonProperty("dateRange") DateRange dateRange, + @JsonProperty("dimension") Dimension dimension, + @JsonProperty("name") Optional name) { + Utils.checkNotNull(dateRange, "dateRange"); + Utils.checkNotNull(dimension, "dimension"); + Utils.checkNotNull(name, "name"); + this.dateRange = dateRange; + this.dimension = dimension; + this.name = name; + } + + public DateRange dateRange() { + return dateRange; + } + + /** + * Dimension used by the cohort. Required and only supports `firstSessionDate` + */ + public Dimension dimension() { + return dimension; + } + + /** + * Assigns a name to this cohort. If not set, cohorts are named by their zero based index cohort_0, cohort_1, etc. + */ + public Optional name() { + return name; + } + + public final static Builder builder() { + return new Builder(); + } + + public Cohorts withDateRange(DateRange dateRange) { + Utils.checkNotNull(dateRange, "dateRange"); + this.dateRange = dateRange; + return this; + } + + /** + * Dimension used by the cohort. Required and only supports `firstSessionDate` + */ + public Cohorts withDimension(Dimension dimension) { + Utils.checkNotNull(dimension, "dimension"); + this.dimension = dimension; + return this; + } + + /** + * Assigns a name to this cohort. If not set, cohorts are named by their zero based index cohort_0, cohort_1, etc. + */ + public Cohorts withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = Optional.ofNullable(name); + return this; + } + + /** + * Assigns a name to this cohort. If not set, cohorts are named by their zero based index cohort_0, cohort_1, etc. + */ + public Cohorts withName(Optional name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Cohorts other = (Cohorts) o; + return + java.util.Objects.deepEquals(this.dateRange, other.dateRange) && + java.util.Objects.deepEquals(this.dimension, other.dimension) && + java.util.Objects.deepEquals(this.name, other.name); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + dateRange, + dimension, + name); + } + + @Override + public String toString() { + return Utils.toString(Cohorts.class, + "dateRange", dateRange, + "dimension", dimension, + "name", name); + } + + public final static class Builder { + + private DateRange dateRange; + + private Dimension dimension; + + private Optional name = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder dateRange(DateRange dateRange) { + Utils.checkNotNull(dateRange, "dateRange"); + this.dateRange = dateRange; + return this; + } + + /** + * Dimension used by the cohort. Required and only supports `firstSessionDate` + */ + public Builder dimension(Dimension dimension) { + Utils.checkNotNull(dimension, "dimension"); + this.dimension = dimension; + return this; + } + + /** + * Assigns a name to this cohort. If not set, cohorts are named by their zero based index cohort_0, cohort_1, etc. + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = Optional.ofNullable(name); + return this; + } + + /** + * Assigns a name to this cohort. If not set, cohorts are named by their zero based index cohort_0, cohort_1, etc. + */ + public Builder name(Optional name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + public Cohorts build() { + return new Cohorts( + dateRange, + dimension, + name); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/CohortsRange.java b/src/main/java/com/airbyte/api/models/shared/CohortsRange.java new file mode 100644 index 000000000..8c7c6a378 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/CohortsRange.java @@ -0,0 +1,201 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class CohortsRange { + + /** + * Specifies the end date of the extended reporting date range for a cohort report. + */ + @JsonProperty("endOffset") + private long endOffset; + + /** + * The granularity used to interpret the startOffset and endOffset for the extended reporting date range for a cohort report. + */ + @JsonProperty("granularity") + private SourceGoogleAnalyticsDataApiGranularity granularity; + + /** + * Specifies the start date of the extended reporting date range for a cohort report. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("startOffset") + private Optional startOffset; + + public CohortsRange( + @JsonProperty("endOffset") long endOffset, + @JsonProperty("granularity") SourceGoogleAnalyticsDataApiGranularity granularity, + @JsonProperty("startOffset") Optional startOffset) { + Utils.checkNotNull(endOffset, "endOffset"); + Utils.checkNotNull(granularity, "granularity"); + Utils.checkNotNull(startOffset, "startOffset"); + this.endOffset = endOffset; + this.granularity = granularity; + this.startOffset = startOffset; + } + + /** + * Specifies the end date of the extended reporting date range for a cohort report. + */ + public long endOffset() { + return endOffset; + } + + /** + * The granularity used to interpret the startOffset and endOffset for the extended reporting date range for a cohort report. + */ + public SourceGoogleAnalyticsDataApiGranularity granularity() { + return granularity; + } + + /** + * Specifies the start date of the extended reporting date range for a cohort report. + */ + public Optional startOffset() { + return startOffset; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Specifies the end date of the extended reporting date range for a cohort report. + */ + public CohortsRange withEndOffset(long endOffset) { + Utils.checkNotNull(endOffset, "endOffset"); + this.endOffset = endOffset; + return this; + } + + /** + * The granularity used to interpret the startOffset and endOffset for the extended reporting date range for a cohort report. + */ + public CohortsRange withGranularity(SourceGoogleAnalyticsDataApiGranularity granularity) { + Utils.checkNotNull(granularity, "granularity"); + this.granularity = granularity; + return this; + } + + /** + * Specifies the start date of the extended reporting date range for a cohort report. + */ + public CohortsRange withStartOffset(long startOffset) { + Utils.checkNotNull(startOffset, "startOffset"); + this.startOffset = Optional.ofNullable(startOffset); + return this; + } + + /** + * Specifies the start date of the extended reporting date range for a cohort report. + */ + public CohortsRange withStartOffset(Optional startOffset) { + Utils.checkNotNull(startOffset, "startOffset"); + this.startOffset = startOffset; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CohortsRange other = (CohortsRange) o; + return + java.util.Objects.deepEquals(this.endOffset, other.endOffset) && + java.util.Objects.deepEquals(this.granularity, other.granularity) && + java.util.Objects.deepEquals(this.startOffset, other.startOffset); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + endOffset, + granularity, + startOffset); + } + + @Override + public String toString() { + return Utils.toString(CohortsRange.class, + "endOffset", endOffset, + "granularity", granularity, + "startOffset", startOffset); + } + + public final static class Builder { + + private Long endOffset; + + private SourceGoogleAnalyticsDataApiGranularity granularity; + + private Optional startOffset = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Specifies the end date of the extended reporting date range for a cohort report. + */ + public Builder endOffset(long endOffset) { + Utils.checkNotNull(endOffset, "endOffset"); + this.endOffset = endOffset; + return this; + } + + /** + * The granularity used to interpret the startOffset and endOffset for the extended reporting date range for a cohort report. + */ + public Builder granularity(SourceGoogleAnalyticsDataApiGranularity granularity) { + Utils.checkNotNull(granularity, "granularity"); + this.granularity = granularity; + return this; + } + + /** + * Specifies the start date of the extended reporting date range for a cohort report. + */ + public Builder startOffset(long startOffset) { + Utils.checkNotNull(startOffset, "startOffset"); + this.startOffset = Optional.ofNullable(startOffset); + return this; + } + + /** + * Specifies the start date of the extended reporting date range for a cohort report. + */ + public Builder startOffset(Optional startOffset) { + Utils.checkNotNull(startOffset, "startOffset"); + this.startOffset = startOffset; + return this; + } + + public CohortsRange build() { + return new CohortsRange( + endOffset, + granularity, + startOffset); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/CoinApi.java b/src/main/java/com/airbyte/api/models/shared/CoinApi.java new file mode 100644 index 000000000..11d74ecab --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/CoinApi.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum CoinApi { + COIN_API("coin-api"); + + @JsonValue + private final String value; + + private CoinApi(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Coinmarketcap.java b/src/main/java/com/airbyte/api/models/shared/Coinmarketcap.java new file mode 100644 index 000000000..9b2e52085 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Coinmarketcap.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Coinmarketcap { + COINMARKETCAP("coinmarketcap"); + + @JsonValue + private final String value; + + private Coinmarketcap(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Collection.java b/src/main/java/com/airbyte/api/models/shared/Collection.java new file mode 100644 index 000000000..b47f165b0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Collection.java @@ -0,0 +1,198 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * Collection - Settings for the Fauna Collection. + */ + +public class Collection { + + /** + * <b>This only applies to incremental syncs.</b> <br> + * Enabling deletion mode informs your destination of deleted documents.<br> + * Disabled - Leave this feature disabled, and ignore deleted documents.<br> + * Enabled - Enables this feature. When a document is deleted, the connector exports a record with a "deleted at" column containing the time that the document was deleted. + */ + @JsonProperty("deletions") + private DeletionMode deletions; + + /** + * The page size used when reading documents from the database. The larger the page size, the faster the connector processes documents. However, if a page is too large, the connector may fail. <br> + * Choose your page size based on how large the documents are. <br> + * See <a href="https://docs.fauna.com/fauna/current/learn/understanding/types#page">the docs</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("page_size") + private Optional pageSize; + + public Collection( + @JsonProperty("deletions") DeletionMode deletions, + @JsonProperty("page_size") Optional pageSize) { + Utils.checkNotNull(deletions, "deletions"); + Utils.checkNotNull(pageSize, "pageSize"); + this.deletions = deletions; + this.pageSize = pageSize; + } + + /** + * <b>This only applies to incremental syncs.</b> <br> + * Enabling deletion mode informs your destination of deleted documents.<br> + * Disabled - Leave this feature disabled, and ignore deleted documents.<br> + * Enabled - Enables this feature. When a document is deleted, the connector exports a record with a "deleted at" column containing the time that the document was deleted. + */ + public DeletionMode deletions() { + return deletions; + } + + /** + * The page size used when reading documents from the database. The larger the page size, the faster the connector processes documents. However, if a page is too large, the connector may fail. <br> + * Choose your page size based on how large the documents are. <br> + * See <a href="https://docs.fauna.com/fauna/current/learn/understanding/types#page">the docs</a>. + */ + public Optional pageSize() { + return pageSize; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * <b>This only applies to incremental syncs.</b> <br> + * Enabling deletion mode informs your destination of deleted documents.<br> + * Disabled - Leave this feature disabled, and ignore deleted documents.<br> + * Enabled - Enables this feature. When a document is deleted, the connector exports a record with a "deleted at" column containing the time that the document was deleted. + */ + public Collection withDeletions(DeletionMode deletions) { + Utils.checkNotNull(deletions, "deletions"); + this.deletions = deletions; + return this; + } + + /** + * The page size used when reading documents from the database. The larger the page size, the faster the connector processes documents. However, if a page is too large, the connector may fail. <br> + * Choose your page size based on how large the documents are. <br> + * See <a href="https://docs.fauna.com/fauna/current/learn/understanding/types#page">the docs</a>. + */ + public Collection withPageSize(long pageSize) { + Utils.checkNotNull(pageSize, "pageSize"); + this.pageSize = Optional.ofNullable(pageSize); + return this; + } + + /** + * The page size used when reading documents from the database. The larger the page size, the faster the connector processes documents. However, if a page is too large, the connector may fail. <br> + * Choose your page size based on how large the documents are. <br> + * See <a href="https://docs.fauna.com/fauna/current/learn/understanding/types#page">the docs</a>. + */ + public Collection withPageSize(Optional pageSize) { + Utils.checkNotNull(pageSize, "pageSize"); + this.pageSize = pageSize; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Collection other = (Collection) o; + return + java.util.Objects.deepEquals(this.deletions, other.deletions) && + java.util.Objects.deepEquals(this.pageSize, other.pageSize); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + deletions, + pageSize); + } + + @Override + public String toString() { + return Utils.toString(Collection.class, + "deletions", deletions, + "pageSize", pageSize); + } + + public final static class Builder { + + private DeletionMode deletions; + + private Optional pageSize; + + private Builder() { + // force use of static builder() method + } + + /** + * <b>This only applies to incremental syncs.</b> <br> + * Enabling deletion mode informs your destination of deleted documents.<br> + * Disabled - Leave this feature disabled, and ignore deleted documents.<br> + * Enabled - Enables this feature. When a document is deleted, the connector exports a record with a "deleted at" column containing the time that the document was deleted. + */ + public Builder deletions(DeletionMode deletions) { + Utils.checkNotNull(deletions, "deletions"); + this.deletions = deletions; + return this; + } + + /** + * The page size used when reading documents from the database. The larger the page size, the faster the connector processes documents. However, if a page is too large, the connector may fail. <br> + * Choose your page size based on how large the documents are. <br> + * See <a href="https://docs.fauna.com/fauna/current/learn/understanding/types#page">the docs</a>. + */ + public Builder pageSize(long pageSize) { + Utils.checkNotNull(pageSize, "pageSize"); + this.pageSize = Optional.ofNullable(pageSize); + return this; + } + + /** + * The page size used when reading documents from the database. The larger the page size, the faster the connector processes documents. However, if a page is too large, the connector may fail. <br> + * Choose your page size based on how large the documents are. <br> + * See <a href="https://docs.fauna.com/fauna/current/learn/understanding/types#page">the docs</a>. + */ + public Builder pageSize(Optional pageSize) { + Utils.checkNotNull(pageSize, "pageSize"); + this.pageSize = pageSize; + return this; + } + + public Collection build() { + if (pageSize == null) { + pageSize = _SINGLETON_VALUE_PageSize.value(); + } + return new Collection( + deletions, + pageSize); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_PageSize = + new LazySingletonValue<>( + "page_size", + "64", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Compression.java b/src/main/java/com/airbyte/api/models/shared/Compression.java new file mode 100644 index 000000000..d586bd2c5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Compression.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * Compression - Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".csv.gz"). + */ + +@JsonDeserialize(using = Compression._Deserializer.class) +public class Compression { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private Compression(TypedObject value) { + this.value = value; + } + + public static Compression of(DestinationGcsNoCompression value) { + Utils.checkNotNull(value, "value"); + return new Compression(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static Compression of(Gzip value) { + Utils.checkNotNull(value, "value"); + return new Compression(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationGcsNoCompression}
    • + *
    • {@code Gzip}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Compression other = (Compression) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(Compression.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(Compression.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/CompressionCodec.java b/src/main/java/com/airbyte/api/models/shared/CompressionCodec.java new file mode 100644 index 000000000..6e70801b8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/CompressionCodec.java @@ -0,0 +1,129 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * CompressionCodec - The compression algorithm used to compress data. Default to no compression. + */ + +@JsonDeserialize(using = CompressionCodec._Deserializer.class) +public class CompressionCodec { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private CompressionCodec(TypedObject value) { + this.value = value; + } + + public static CompressionCodec of(NoCompression value) { + Utils.checkNotNull(value, "value"); + return new CompressionCodec(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static CompressionCodec of(Deflate value) { + Utils.checkNotNull(value, "value"); + return new CompressionCodec(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static CompressionCodec of(Bzip2 value) { + Utils.checkNotNull(value, "value"); + return new CompressionCodec(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static CompressionCodec of(Xz value) { + Utils.checkNotNull(value, "value"); + return new CompressionCodec(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static CompressionCodec of(Zstandard value) { + Utils.checkNotNull(value, "value"); + return new CompressionCodec(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static CompressionCodec of(Snappy value) { + Utils.checkNotNull(value, "value"); + return new CompressionCodec(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code NoCompression}
    • + *
    • {@code Deflate}
    • + *
    • {@code Bzip2}
    • + *
    • {@code Xz}
    • + *
    • {@code Zstandard}
    • + *
    • {@code Snappy}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CompressionCodec other = (CompressionCodec) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(CompressionCodec.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(CompressionCodec.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/CompressionCodecOptional.java b/src/main/java/com/airbyte/api/models/shared/CompressionCodecOptional.java new file mode 100644 index 000000000..c84b8c92e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/CompressionCodecOptional.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * CompressionCodecOptional - The compression algorithm used to compress data. + */ +public enum CompressionCodecOptional { + UNCOMPRESSED("UNCOMPRESSED"), + GZIP("GZIP"); + + @JsonValue + private final String value; + + private CompressionCodecOptional(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/CompressionType.java b/src/main/java/com/airbyte/api/models/shared/CompressionType.java new file mode 100644 index 000000000..aaad66440 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/CompressionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum CompressionType { + NO_COMPRESSION("No Compression"); + + @JsonValue + private final String value; + + private CompressionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Configcat.java b/src/main/java/com/airbyte/api/models/shared/Configcat.java new file mode 100644 index 000000000..3d81f7ae9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Configcat.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Configcat { + CONFIGCAT("configcat"); + + @JsonValue + private final String value; + + private Configcat(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Confluence.java b/src/main/java/com/airbyte/api/models/shared/Confluence.java new file mode 100644 index 000000000..99eafebb5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Confluence.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Confluence { + CONFLUENCE("confluence"); + + @JsonValue + private final String value; + + private Confluence(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ConnectBy.java b/src/main/java/com/airbyte/api/models/shared/ConnectBy.java new file mode 100644 index 000000000..bc3c0949e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ConnectBy.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * ConnectBy - Connect data that will be used for DB connection + */ + +@JsonDeserialize(using = ConnectBy._Deserializer.class) +public class ConnectBy { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private ConnectBy(TypedObject value) { + this.value = value; + } + + public static ConnectBy of(ServiceName value) { + Utils.checkNotNull(value, "value"); + return new ConnectBy(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static ConnectBy of(SystemIDSID value) { + Utils.checkNotNull(value, "value"); + return new ConnectBy(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code ServiceName}
    • + *
    • {@code SystemIDSID}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConnectBy other = (ConnectBy) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(ConnectBy.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(ConnectBy.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/ConnectionCreateRequest.java b/src/main/java/com/airbyte/api/models/shared/ConnectionCreateRequest.java new file mode 100644 index 000000000..2a6d8bd0f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ConnectionCreateRequest.java @@ -0,0 +1,650 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ConnectionCreateRequest { + + /** + * A list of configured stream options for a connection. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("configurations") + private Optional configurations; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("dataResidency") + private Optional dataResidency; + + @JsonProperty("destinationId") + private String destinationId; + + /** + * Optional name of the connection + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("name") + private Optional name; + + /** + * Define the location where the data will be stored in the destination + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("namespaceDefinition") + private Optional namespaceDefinition; + + /** + * Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("namespaceFormat") + private Optional namespaceFormat; + + /** + * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("nonBreakingSchemaUpdatesBehavior") + private Optional nonBreakingSchemaUpdatesBehavior; + + /** + * Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("prefix") + private Optional prefix; + + /** + * schedule for when the the connection should run, per the schedule type + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schedule") + private Optional schedule; + + @JsonProperty("sourceId") + private String sourceId; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("status") + private Optional status; + + public ConnectionCreateRequest( + @JsonProperty("configurations") Optional configurations, + @JsonProperty("dataResidency") Optional dataResidency, + @JsonProperty("destinationId") String destinationId, + @JsonProperty("name") Optional name, + @JsonProperty("namespaceDefinition") Optional namespaceDefinition, + @JsonProperty("namespaceFormat") Optional namespaceFormat, + @JsonProperty("nonBreakingSchemaUpdatesBehavior") Optional nonBreakingSchemaUpdatesBehavior, + @JsonProperty("prefix") Optional prefix, + @JsonProperty("schedule") Optional schedule, + @JsonProperty("sourceId") String sourceId, + @JsonProperty("status") Optional status) { + Utils.checkNotNull(configurations, "configurations"); + Utils.checkNotNull(dataResidency, "dataResidency"); + Utils.checkNotNull(destinationId, "destinationId"); + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(namespaceDefinition, "namespaceDefinition"); + Utils.checkNotNull(namespaceFormat, "namespaceFormat"); + Utils.checkNotNull(nonBreakingSchemaUpdatesBehavior, "nonBreakingSchemaUpdatesBehavior"); + Utils.checkNotNull(prefix, "prefix"); + Utils.checkNotNull(schedule, "schedule"); + Utils.checkNotNull(sourceId, "sourceId"); + Utils.checkNotNull(status, "status"); + this.configurations = configurations; + this.dataResidency = dataResidency; + this.destinationId = destinationId; + this.name = name; + this.namespaceDefinition = namespaceDefinition; + this.namespaceFormat = namespaceFormat; + this.nonBreakingSchemaUpdatesBehavior = nonBreakingSchemaUpdatesBehavior; + this.prefix = prefix; + this.schedule = schedule; + this.sourceId = sourceId; + this.status = status; + } + + /** + * A list of configured stream options for a connection. + */ + public Optional configurations() { + return configurations; + } + + public Optional dataResidency() { + return dataResidency; + } + + public String destinationId() { + return destinationId; + } + + /** + * Optional name of the connection + */ + public Optional name() { + return name; + } + + /** + * Define the location where the data will be stored in the destination + */ + public Optional namespaceDefinition() { + return namespaceDefinition; + } + + /** + * Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. + */ + public Optional namespaceFormat() { + return namespaceFormat; + } + + /** + * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ + public Optional nonBreakingSchemaUpdatesBehavior() { + return nonBreakingSchemaUpdatesBehavior; + } + + /** + * Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”). + */ + public Optional prefix() { + return prefix; + } + + /** + * schedule for when the the connection should run, per the schedule type + */ + public Optional schedule() { + return schedule; + } + + public String sourceId() { + return sourceId; + } + + public Optional status() { + return status; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * A list of configured stream options for a connection. + */ + public ConnectionCreateRequest withConfigurations(StreamConfigurations configurations) { + Utils.checkNotNull(configurations, "configurations"); + this.configurations = Optional.ofNullable(configurations); + return this; + } + + /** + * A list of configured stream options for a connection. + */ + public ConnectionCreateRequest withConfigurations(Optional configurations) { + Utils.checkNotNull(configurations, "configurations"); + this.configurations = configurations; + return this; + } + + public ConnectionCreateRequest withDataResidency(GeographyEnum dataResidency) { + Utils.checkNotNull(dataResidency, "dataResidency"); + this.dataResidency = Optional.ofNullable(dataResidency); + return this; + } + + public ConnectionCreateRequest withDataResidency(Optional dataResidency) { + Utils.checkNotNull(dataResidency, "dataResidency"); + this.dataResidency = dataResidency; + return this; + } + + public ConnectionCreateRequest withDestinationId(String destinationId) { + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationId = destinationId; + return this; + } + + /** + * Optional name of the connection + */ + public ConnectionCreateRequest withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = Optional.ofNullable(name); + return this; + } + + /** + * Optional name of the connection + */ + public ConnectionCreateRequest withName(Optional name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * Define the location where the data will be stored in the destination + */ + public ConnectionCreateRequest withNamespaceDefinition(NamespaceDefinitionEnum namespaceDefinition) { + Utils.checkNotNull(namespaceDefinition, "namespaceDefinition"); + this.namespaceDefinition = Optional.ofNullable(namespaceDefinition); + return this; + } + + /** + * Define the location where the data will be stored in the destination + */ + public ConnectionCreateRequest withNamespaceDefinition(Optional namespaceDefinition) { + Utils.checkNotNull(namespaceDefinition, "namespaceDefinition"); + this.namespaceDefinition = namespaceDefinition; + return this; + } + + /** + * Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. + */ + public ConnectionCreateRequest withNamespaceFormat(String namespaceFormat) { + Utils.checkNotNull(namespaceFormat, "namespaceFormat"); + this.namespaceFormat = Optional.ofNullable(namespaceFormat); + return this; + } + + /** + * Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. + */ + public ConnectionCreateRequest withNamespaceFormat(Optional namespaceFormat) { + Utils.checkNotNull(namespaceFormat, "namespaceFormat"); + this.namespaceFormat = namespaceFormat; + return this; + } + + /** + * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ + public ConnectionCreateRequest withNonBreakingSchemaUpdatesBehavior(NonBreakingSchemaUpdatesBehaviorEnum nonBreakingSchemaUpdatesBehavior) { + Utils.checkNotNull(nonBreakingSchemaUpdatesBehavior, "nonBreakingSchemaUpdatesBehavior"); + this.nonBreakingSchemaUpdatesBehavior = Optional.ofNullable(nonBreakingSchemaUpdatesBehavior); + return this; + } + + /** + * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ + public ConnectionCreateRequest withNonBreakingSchemaUpdatesBehavior(Optional nonBreakingSchemaUpdatesBehavior) { + Utils.checkNotNull(nonBreakingSchemaUpdatesBehavior, "nonBreakingSchemaUpdatesBehavior"); + this.nonBreakingSchemaUpdatesBehavior = nonBreakingSchemaUpdatesBehavior; + return this; + } + + /** + * Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”). + */ + public ConnectionCreateRequest withPrefix(String prefix) { + Utils.checkNotNull(prefix, "prefix"); + this.prefix = Optional.ofNullable(prefix); + return this; + } + + /** + * Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”). + */ + public ConnectionCreateRequest withPrefix(Optional prefix) { + Utils.checkNotNull(prefix, "prefix"); + this.prefix = prefix; + return this; + } + + /** + * schedule for when the the connection should run, per the schedule type + */ + public ConnectionCreateRequest withSchedule(ConnectionSchedule schedule) { + Utils.checkNotNull(schedule, "schedule"); + this.schedule = Optional.ofNullable(schedule); + return this; + } + + /** + * schedule for when the the connection should run, per the schedule type + */ + public ConnectionCreateRequest withSchedule(Optional schedule) { + Utils.checkNotNull(schedule, "schedule"); + this.schedule = schedule; + return this; + } + + public ConnectionCreateRequest withSourceId(String sourceId) { + Utils.checkNotNull(sourceId, "sourceId"); + this.sourceId = sourceId; + return this; + } + + public ConnectionCreateRequest withStatus(ConnectionStatusEnum status) { + Utils.checkNotNull(status, "status"); + this.status = Optional.ofNullable(status); + return this; + } + + public ConnectionCreateRequest withStatus(Optional status) { + Utils.checkNotNull(status, "status"); + this.status = status; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConnectionCreateRequest other = (ConnectionCreateRequest) o; + return + java.util.Objects.deepEquals(this.configurations, other.configurations) && + java.util.Objects.deepEquals(this.dataResidency, other.dataResidency) && + java.util.Objects.deepEquals(this.destinationId, other.destinationId) && + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.namespaceDefinition, other.namespaceDefinition) && + java.util.Objects.deepEquals(this.namespaceFormat, other.namespaceFormat) && + java.util.Objects.deepEquals(this.nonBreakingSchemaUpdatesBehavior, other.nonBreakingSchemaUpdatesBehavior) && + java.util.Objects.deepEquals(this.prefix, other.prefix) && + java.util.Objects.deepEquals(this.schedule, other.schedule) && + java.util.Objects.deepEquals(this.sourceId, other.sourceId) && + java.util.Objects.deepEquals(this.status, other.status); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + configurations, + dataResidency, + destinationId, + name, + namespaceDefinition, + namespaceFormat, + nonBreakingSchemaUpdatesBehavior, + prefix, + schedule, + sourceId, + status); + } + + @Override + public String toString() { + return Utils.toString(ConnectionCreateRequest.class, + "configurations", configurations, + "dataResidency", dataResidency, + "destinationId", destinationId, + "name", name, + "namespaceDefinition", namespaceDefinition, + "namespaceFormat", namespaceFormat, + "nonBreakingSchemaUpdatesBehavior", nonBreakingSchemaUpdatesBehavior, + "prefix", prefix, + "schedule", schedule, + "sourceId", sourceId, + "status", status); + } + + public final static class Builder { + + private Optional configurations = Optional.empty(); + + private Optional dataResidency; + + private String destinationId; + + private Optional name = Optional.empty(); + + private Optional namespaceDefinition; + + private Optional namespaceFormat; + + private Optional nonBreakingSchemaUpdatesBehavior; + + private Optional prefix = Optional.empty(); + + private Optional schedule = Optional.empty(); + + private String sourceId; + + private Optional status = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * A list of configured stream options for a connection. + */ + public Builder configurations(StreamConfigurations configurations) { + Utils.checkNotNull(configurations, "configurations"); + this.configurations = Optional.ofNullable(configurations); + return this; + } + + /** + * A list of configured stream options for a connection. + */ + public Builder configurations(Optional configurations) { + Utils.checkNotNull(configurations, "configurations"); + this.configurations = configurations; + return this; + } + + public Builder dataResidency(GeographyEnum dataResidency) { + Utils.checkNotNull(dataResidency, "dataResidency"); + this.dataResidency = Optional.ofNullable(dataResidency); + return this; + } + + public Builder dataResidency(Optional dataResidency) { + Utils.checkNotNull(dataResidency, "dataResidency"); + this.dataResidency = dataResidency; + return this; + } + + public Builder destinationId(String destinationId) { + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationId = destinationId; + return this; + } + + /** + * Optional name of the connection + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = Optional.ofNullable(name); + return this; + } + + /** + * Optional name of the connection + */ + public Builder name(Optional name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * Define the location where the data will be stored in the destination + */ + public Builder namespaceDefinition(NamespaceDefinitionEnum namespaceDefinition) { + Utils.checkNotNull(namespaceDefinition, "namespaceDefinition"); + this.namespaceDefinition = Optional.ofNullable(namespaceDefinition); + return this; + } + + /** + * Define the location where the data will be stored in the destination + */ + public Builder namespaceDefinition(Optional namespaceDefinition) { + Utils.checkNotNull(namespaceDefinition, "namespaceDefinition"); + this.namespaceDefinition = namespaceDefinition; + return this; + } + + /** + * Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. + */ + public Builder namespaceFormat(String namespaceFormat) { + Utils.checkNotNull(namespaceFormat, "namespaceFormat"); + this.namespaceFormat = Optional.ofNullable(namespaceFormat); + return this; + } + + /** + * Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. + */ + public Builder namespaceFormat(Optional namespaceFormat) { + Utils.checkNotNull(namespaceFormat, "namespaceFormat"); + this.namespaceFormat = namespaceFormat; + return this; + } + + /** + * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ + public Builder nonBreakingSchemaUpdatesBehavior(NonBreakingSchemaUpdatesBehaviorEnum nonBreakingSchemaUpdatesBehavior) { + Utils.checkNotNull(nonBreakingSchemaUpdatesBehavior, "nonBreakingSchemaUpdatesBehavior"); + this.nonBreakingSchemaUpdatesBehavior = Optional.ofNullable(nonBreakingSchemaUpdatesBehavior); + return this; + } + + /** + * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ + public Builder nonBreakingSchemaUpdatesBehavior(Optional nonBreakingSchemaUpdatesBehavior) { + Utils.checkNotNull(nonBreakingSchemaUpdatesBehavior, "nonBreakingSchemaUpdatesBehavior"); + this.nonBreakingSchemaUpdatesBehavior = nonBreakingSchemaUpdatesBehavior; + return this; + } + + /** + * Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”). + */ + public Builder prefix(String prefix) { + Utils.checkNotNull(prefix, "prefix"); + this.prefix = Optional.ofNullable(prefix); + return this; + } + + /** + * Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”). + */ + public Builder prefix(Optional prefix) { + Utils.checkNotNull(prefix, "prefix"); + this.prefix = prefix; + return this; + } + + /** + * schedule for when the the connection should run, per the schedule type + */ + public Builder schedule(ConnectionSchedule schedule) { + Utils.checkNotNull(schedule, "schedule"); + this.schedule = Optional.ofNullable(schedule); + return this; + } + + /** + * schedule for when the the connection should run, per the schedule type + */ + public Builder schedule(Optional schedule) { + Utils.checkNotNull(schedule, "schedule"); + this.schedule = schedule; + return this; + } + + public Builder sourceId(String sourceId) { + Utils.checkNotNull(sourceId, "sourceId"); + this.sourceId = sourceId; + return this; + } + + public Builder status(ConnectionStatusEnum status) { + Utils.checkNotNull(status, "status"); + this.status = Optional.ofNullable(status); + return this; + } + + public Builder status(Optional status) { + Utils.checkNotNull(status, "status"); + this.status = status; + return this; + } + + public ConnectionCreateRequest build() { + if (dataResidency == null) { + dataResidency = _SINGLETON_VALUE_DataResidency.value(); + } + if (namespaceDefinition == null) { + namespaceDefinition = _SINGLETON_VALUE_NamespaceDefinition.value(); + } + if (namespaceFormat == null) { + namespaceFormat = _SINGLETON_VALUE_NamespaceFormat.value(); + } + if (nonBreakingSchemaUpdatesBehavior == null) { + nonBreakingSchemaUpdatesBehavior = _SINGLETON_VALUE_NonBreakingSchemaUpdatesBehavior.value(); + } + return new ConnectionCreateRequest( + configurations, + dataResidency, + destinationId, + name, + namespaceDefinition, + namespaceFormat, + nonBreakingSchemaUpdatesBehavior, + prefix, + schedule, + sourceId, + status); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DataResidency = + new LazySingletonValue<>( + "dataResidency", + "\"auto\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_NamespaceDefinition = + new LazySingletonValue<>( + "namespaceDefinition", + "\"destination\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_NamespaceFormat = + new LazySingletonValue<>( + "namespaceFormat", + "null", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_NonBreakingSchemaUpdatesBehavior = + new LazySingletonValue<>( + "nonBreakingSchemaUpdatesBehavior", + "\"ignore\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ConnectionPatchRequest.java b/src/main/java/com/airbyte/api/models/shared/ConnectionPatchRequest.java new file mode 100644 index 000000000..b88088f3b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ConnectionPatchRequest.java @@ -0,0 +1,567 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ConnectionPatchRequest { + + /** + * A list of configured stream options for a connection. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("configurations") + private Optional configurations; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("dataResidency") + private Optional dataResidency; + + /** + * Optional name of the connection + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("name") + private Optional name; + + /** + * Define the location where the data will be stored in the destination + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("namespaceDefinition") + private Optional namespaceDefinition; + + /** + * Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("namespaceFormat") + private Optional namespaceFormat; + + /** + * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("nonBreakingSchemaUpdatesBehavior") + private Optional nonBreakingSchemaUpdatesBehavior; + + /** + * Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("prefix") + private Optional prefix; + + /** + * schedule for when the the connection should run, per the schedule type + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schedule") + private Optional schedule; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("status") + private Optional status; + + public ConnectionPatchRequest( + @JsonProperty("configurations") Optional configurations, + @JsonProperty("dataResidency") Optional dataResidency, + @JsonProperty("name") Optional name, + @JsonProperty("namespaceDefinition") Optional namespaceDefinition, + @JsonProperty("namespaceFormat") Optional namespaceFormat, + @JsonProperty("nonBreakingSchemaUpdatesBehavior") Optional nonBreakingSchemaUpdatesBehavior, + @JsonProperty("prefix") Optional prefix, + @JsonProperty("schedule") Optional schedule, + @JsonProperty("status") Optional status) { + Utils.checkNotNull(configurations, "configurations"); + Utils.checkNotNull(dataResidency, "dataResidency"); + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(namespaceDefinition, "namespaceDefinition"); + Utils.checkNotNull(namespaceFormat, "namespaceFormat"); + Utils.checkNotNull(nonBreakingSchemaUpdatesBehavior, "nonBreakingSchemaUpdatesBehavior"); + Utils.checkNotNull(prefix, "prefix"); + Utils.checkNotNull(schedule, "schedule"); + Utils.checkNotNull(status, "status"); + this.configurations = configurations; + this.dataResidency = dataResidency; + this.name = name; + this.namespaceDefinition = namespaceDefinition; + this.namespaceFormat = namespaceFormat; + this.nonBreakingSchemaUpdatesBehavior = nonBreakingSchemaUpdatesBehavior; + this.prefix = prefix; + this.schedule = schedule; + this.status = status; + } + + /** + * A list of configured stream options for a connection. + */ + public Optional configurations() { + return configurations; + } + + public Optional dataResidency() { + return dataResidency; + } + + /** + * Optional name of the connection + */ + public Optional name() { + return name; + } + + /** + * Define the location where the data will be stored in the destination + */ + public Optional namespaceDefinition() { + return namespaceDefinition; + } + + /** + * Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. + */ + public Optional namespaceFormat() { + return namespaceFormat; + } + + /** + * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ + public Optional nonBreakingSchemaUpdatesBehavior() { + return nonBreakingSchemaUpdatesBehavior; + } + + /** + * Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”). + */ + public Optional prefix() { + return prefix; + } + + /** + * schedule for when the the connection should run, per the schedule type + */ + public Optional schedule() { + return schedule; + } + + public Optional status() { + return status; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * A list of configured stream options for a connection. + */ + public ConnectionPatchRequest withConfigurations(StreamConfigurations configurations) { + Utils.checkNotNull(configurations, "configurations"); + this.configurations = Optional.ofNullable(configurations); + return this; + } + + /** + * A list of configured stream options for a connection. + */ + public ConnectionPatchRequest withConfigurations(Optional configurations) { + Utils.checkNotNull(configurations, "configurations"); + this.configurations = configurations; + return this; + } + + public ConnectionPatchRequest withDataResidency(GeographyEnumNoDefault dataResidency) { + Utils.checkNotNull(dataResidency, "dataResidency"); + this.dataResidency = Optional.ofNullable(dataResidency); + return this; + } + + public ConnectionPatchRequest withDataResidency(Optional dataResidency) { + Utils.checkNotNull(dataResidency, "dataResidency"); + this.dataResidency = dataResidency; + return this; + } + + /** + * Optional name of the connection + */ + public ConnectionPatchRequest withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = Optional.ofNullable(name); + return this; + } + + /** + * Optional name of the connection + */ + public ConnectionPatchRequest withName(Optional name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * Define the location where the data will be stored in the destination + */ + public ConnectionPatchRequest withNamespaceDefinition(NamespaceDefinitionEnumNoDefault namespaceDefinition) { + Utils.checkNotNull(namespaceDefinition, "namespaceDefinition"); + this.namespaceDefinition = Optional.ofNullable(namespaceDefinition); + return this; + } + + /** + * Define the location where the data will be stored in the destination + */ + public ConnectionPatchRequest withNamespaceDefinition(Optional namespaceDefinition) { + Utils.checkNotNull(namespaceDefinition, "namespaceDefinition"); + this.namespaceDefinition = namespaceDefinition; + return this; + } + + /** + * Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. + */ + public ConnectionPatchRequest withNamespaceFormat(String namespaceFormat) { + Utils.checkNotNull(namespaceFormat, "namespaceFormat"); + this.namespaceFormat = Optional.ofNullable(namespaceFormat); + return this; + } + + /** + * Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. + */ + public ConnectionPatchRequest withNamespaceFormat(Optional namespaceFormat) { + Utils.checkNotNull(namespaceFormat, "namespaceFormat"); + this.namespaceFormat = namespaceFormat; + return this; + } + + /** + * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ + public ConnectionPatchRequest withNonBreakingSchemaUpdatesBehavior(NonBreakingSchemaUpdatesBehaviorEnumNoDefault nonBreakingSchemaUpdatesBehavior) { + Utils.checkNotNull(nonBreakingSchemaUpdatesBehavior, "nonBreakingSchemaUpdatesBehavior"); + this.nonBreakingSchemaUpdatesBehavior = Optional.ofNullable(nonBreakingSchemaUpdatesBehavior); + return this; + } + + /** + * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ + public ConnectionPatchRequest withNonBreakingSchemaUpdatesBehavior(Optional nonBreakingSchemaUpdatesBehavior) { + Utils.checkNotNull(nonBreakingSchemaUpdatesBehavior, "nonBreakingSchemaUpdatesBehavior"); + this.nonBreakingSchemaUpdatesBehavior = nonBreakingSchemaUpdatesBehavior; + return this; + } + + /** + * Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”). + */ + public ConnectionPatchRequest withPrefix(String prefix) { + Utils.checkNotNull(prefix, "prefix"); + this.prefix = Optional.ofNullable(prefix); + return this; + } + + /** + * Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”). + */ + public ConnectionPatchRequest withPrefix(Optional prefix) { + Utils.checkNotNull(prefix, "prefix"); + this.prefix = prefix; + return this; + } + + /** + * schedule for when the the connection should run, per the schedule type + */ + public ConnectionPatchRequest withSchedule(ConnectionSchedule schedule) { + Utils.checkNotNull(schedule, "schedule"); + this.schedule = Optional.ofNullable(schedule); + return this; + } + + /** + * schedule for when the the connection should run, per the schedule type + */ + public ConnectionPatchRequest withSchedule(Optional schedule) { + Utils.checkNotNull(schedule, "schedule"); + this.schedule = schedule; + return this; + } + + public ConnectionPatchRequest withStatus(ConnectionStatusEnum status) { + Utils.checkNotNull(status, "status"); + this.status = Optional.ofNullable(status); + return this; + } + + public ConnectionPatchRequest withStatus(Optional status) { + Utils.checkNotNull(status, "status"); + this.status = status; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConnectionPatchRequest other = (ConnectionPatchRequest) o; + return + java.util.Objects.deepEquals(this.configurations, other.configurations) && + java.util.Objects.deepEquals(this.dataResidency, other.dataResidency) && + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.namespaceDefinition, other.namespaceDefinition) && + java.util.Objects.deepEquals(this.namespaceFormat, other.namespaceFormat) && + java.util.Objects.deepEquals(this.nonBreakingSchemaUpdatesBehavior, other.nonBreakingSchemaUpdatesBehavior) && + java.util.Objects.deepEquals(this.prefix, other.prefix) && + java.util.Objects.deepEquals(this.schedule, other.schedule) && + java.util.Objects.deepEquals(this.status, other.status); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + configurations, + dataResidency, + name, + namespaceDefinition, + namespaceFormat, + nonBreakingSchemaUpdatesBehavior, + prefix, + schedule, + status); + } + + @Override + public String toString() { + return Utils.toString(ConnectionPatchRequest.class, + "configurations", configurations, + "dataResidency", dataResidency, + "name", name, + "namespaceDefinition", namespaceDefinition, + "namespaceFormat", namespaceFormat, + "nonBreakingSchemaUpdatesBehavior", nonBreakingSchemaUpdatesBehavior, + "prefix", prefix, + "schedule", schedule, + "status", status); + } + + public final static class Builder { + + private Optional configurations = Optional.empty(); + + private Optional dataResidency = Optional.empty(); + + private Optional name = Optional.empty(); + + private Optional namespaceDefinition = Optional.empty(); + + private Optional namespaceFormat; + + private Optional nonBreakingSchemaUpdatesBehavior = Optional.empty(); + + private Optional prefix = Optional.empty(); + + private Optional schedule = Optional.empty(); + + private Optional status = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * A list of configured stream options for a connection. + */ + public Builder configurations(StreamConfigurations configurations) { + Utils.checkNotNull(configurations, "configurations"); + this.configurations = Optional.ofNullable(configurations); + return this; + } + + /** + * A list of configured stream options for a connection. + */ + public Builder configurations(Optional configurations) { + Utils.checkNotNull(configurations, "configurations"); + this.configurations = configurations; + return this; + } + + public Builder dataResidency(GeographyEnumNoDefault dataResidency) { + Utils.checkNotNull(dataResidency, "dataResidency"); + this.dataResidency = Optional.ofNullable(dataResidency); + return this; + } + + public Builder dataResidency(Optional dataResidency) { + Utils.checkNotNull(dataResidency, "dataResidency"); + this.dataResidency = dataResidency; + return this; + } + + /** + * Optional name of the connection + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = Optional.ofNullable(name); + return this; + } + + /** + * Optional name of the connection + */ + public Builder name(Optional name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * Define the location where the data will be stored in the destination + */ + public Builder namespaceDefinition(NamespaceDefinitionEnumNoDefault namespaceDefinition) { + Utils.checkNotNull(namespaceDefinition, "namespaceDefinition"); + this.namespaceDefinition = Optional.ofNullable(namespaceDefinition); + return this; + } + + /** + * Define the location where the data will be stored in the destination + */ + public Builder namespaceDefinition(Optional namespaceDefinition) { + Utils.checkNotNull(namespaceDefinition, "namespaceDefinition"); + this.namespaceDefinition = namespaceDefinition; + return this; + } + + /** + * Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. + */ + public Builder namespaceFormat(String namespaceFormat) { + Utils.checkNotNull(namespaceFormat, "namespaceFormat"); + this.namespaceFormat = Optional.ofNullable(namespaceFormat); + return this; + } + + /** + * Used when namespaceDefinition is 'custom_format'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. + */ + public Builder namespaceFormat(Optional namespaceFormat) { + Utils.checkNotNull(namespaceFormat, "namespaceFormat"); + this.namespaceFormat = namespaceFormat; + return this; + } + + /** + * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ + public Builder nonBreakingSchemaUpdatesBehavior(NonBreakingSchemaUpdatesBehaviorEnumNoDefault nonBreakingSchemaUpdatesBehavior) { + Utils.checkNotNull(nonBreakingSchemaUpdatesBehavior, "nonBreakingSchemaUpdatesBehavior"); + this.nonBreakingSchemaUpdatesBehavior = Optional.ofNullable(nonBreakingSchemaUpdatesBehavior); + return this; + } + + /** + * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ + public Builder nonBreakingSchemaUpdatesBehavior(Optional nonBreakingSchemaUpdatesBehavior) { + Utils.checkNotNull(nonBreakingSchemaUpdatesBehavior, "nonBreakingSchemaUpdatesBehavior"); + this.nonBreakingSchemaUpdatesBehavior = nonBreakingSchemaUpdatesBehavior; + return this; + } + + /** + * Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”). + */ + public Builder prefix(String prefix) { + Utils.checkNotNull(prefix, "prefix"); + this.prefix = Optional.ofNullable(prefix); + return this; + } + + /** + * Prefix that will be prepended to the name of each stream when it is written to the destination (ex. “airbyte_” causes “projects” => “airbyte_projects”). + */ + public Builder prefix(Optional prefix) { + Utils.checkNotNull(prefix, "prefix"); + this.prefix = prefix; + return this; + } + + /** + * schedule for when the the connection should run, per the schedule type + */ + public Builder schedule(ConnectionSchedule schedule) { + Utils.checkNotNull(schedule, "schedule"); + this.schedule = Optional.ofNullable(schedule); + return this; + } + + /** + * schedule for when the the connection should run, per the schedule type + */ + public Builder schedule(Optional schedule) { + Utils.checkNotNull(schedule, "schedule"); + this.schedule = schedule; + return this; + } + + public Builder status(ConnectionStatusEnum status) { + Utils.checkNotNull(status, "status"); + this.status = Optional.ofNullable(status); + return this; + } + + public Builder status(Optional status) { + Utils.checkNotNull(status, "status"); + this.status = status; + return this; + } + + public ConnectionPatchRequest build() { + if (namespaceFormat == null) { + namespaceFormat = _SINGLETON_VALUE_NamespaceFormat.value(); + } + return new ConnectionPatchRequest( + configurations, + dataResidency, + name, + namespaceDefinition, + namespaceFormat, + nonBreakingSchemaUpdatesBehavior, + prefix, + schedule, + status); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_NamespaceFormat = + new LazySingletonValue<>( + "namespaceFormat", + "null", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ConnectionResponse.java b/src/main/java/com/airbyte/api/models/shared/ConnectionResponse.java new file mode 100644 index 000000000..a50482d84 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ConnectionResponse.java @@ -0,0 +1,582 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * ConnectionResponse - Provides details of a single connection. + */ + +public class ConnectionResponse { + + /** + * A list of configured stream options for a connection. + */ + @JsonProperty("configurations") + private StreamConfigurations configurations; + + @JsonProperty("connectionId") + private String connectionId; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("dataResidency") + private Optional dataResidency; + + @JsonProperty("destinationId") + private String destinationId; + + @JsonProperty("name") + private String name; + + /** + * Define the location where the data will be stored in the destination + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("namespaceDefinition") + private Optional namespaceDefinition; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("namespaceFormat") + private Optional namespaceFormat; + + /** + * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("nonBreakingSchemaUpdatesBehavior") + private Optional nonBreakingSchemaUpdatesBehavior; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("prefix") + private Optional prefix; + + /** + * schedule for when the the connection should run, per the schedule type + */ + @JsonProperty("schedule") + private ConnectionScheduleResponse schedule; + + @JsonProperty("sourceId") + private String sourceId; + + @JsonProperty("status") + private ConnectionStatusEnum status; + + @JsonProperty("workspaceId") + private String workspaceId; + + public ConnectionResponse( + @JsonProperty("configurations") StreamConfigurations configurations, + @JsonProperty("connectionId") String connectionId, + @JsonProperty("dataResidency") Optional dataResidency, + @JsonProperty("destinationId") String destinationId, + @JsonProperty("name") String name, + @JsonProperty("namespaceDefinition") Optional namespaceDefinition, + @JsonProperty("namespaceFormat") Optional namespaceFormat, + @JsonProperty("nonBreakingSchemaUpdatesBehavior") Optional nonBreakingSchemaUpdatesBehavior, + @JsonProperty("prefix") Optional prefix, + @JsonProperty("schedule") ConnectionScheduleResponse schedule, + @JsonProperty("sourceId") String sourceId, + @JsonProperty("status") ConnectionStatusEnum status, + @JsonProperty("workspaceId") String workspaceId) { + Utils.checkNotNull(configurations, "configurations"); + Utils.checkNotNull(connectionId, "connectionId"); + Utils.checkNotNull(dataResidency, "dataResidency"); + Utils.checkNotNull(destinationId, "destinationId"); + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(namespaceDefinition, "namespaceDefinition"); + Utils.checkNotNull(namespaceFormat, "namespaceFormat"); + Utils.checkNotNull(nonBreakingSchemaUpdatesBehavior, "nonBreakingSchemaUpdatesBehavior"); + Utils.checkNotNull(prefix, "prefix"); + Utils.checkNotNull(schedule, "schedule"); + Utils.checkNotNull(sourceId, "sourceId"); + Utils.checkNotNull(status, "status"); + Utils.checkNotNull(workspaceId, "workspaceId"); + this.configurations = configurations; + this.connectionId = connectionId; + this.dataResidency = dataResidency; + this.destinationId = destinationId; + this.name = name; + this.namespaceDefinition = namespaceDefinition; + this.namespaceFormat = namespaceFormat; + this.nonBreakingSchemaUpdatesBehavior = nonBreakingSchemaUpdatesBehavior; + this.prefix = prefix; + this.schedule = schedule; + this.sourceId = sourceId; + this.status = status; + this.workspaceId = workspaceId; + } + + /** + * A list of configured stream options for a connection. + */ + public StreamConfigurations configurations() { + return configurations; + } + + public String connectionId() { + return connectionId; + } + + public Optional dataResidency() { + return dataResidency; + } + + public String destinationId() { + return destinationId; + } + + public String name() { + return name; + } + + /** + * Define the location where the data will be stored in the destination + */ + public Optional namespaceDefinition() { + return namespaceDefinition; + } + + public Optional namespaceFormat() { + return namespaceFormat; + } + + /** + * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ + public Optional nonBreakingSchemaUpdatesBehavior() { + return nonBreakingSchemaUpdatesBehavior; + } + + public Optional prefix() { + return prefix; + } + + /** + * schedule for when the the connection should run, per the schedule type + */ + public ConnectionScheduleResponse schedule() { + return schedule; + } + + public String sourceId() { + return sourceId; + } + + public ConnectionStatusEnum status() { + return status; + } + + public String workspaceId() { + return workspaceId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * A list of configured stream options for a connection. + */ + public ConnectionResponse withConfigurations(StreamConfigurations configurations) { + Utils.checkNotNull(configurations, "configurations"); + this.configurations = configurations; + return this; + } + + public ConnectionResponse withConnectionId(String connectionId) { + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionId = connectionId; + return this; + } + + public ConnectionResponse withDataResidency(GeographyEnum dataResidency) { + Utils.checkNotNull(dataResidency, "dataResidency"); + this.dataResidency = Optional.ofNullable(dataResidency); + return this; + } + + public ConnectionResponse withDataResidency(Optional dataResidency) { + Utils.checkNotNull(dataResidency, "dataResidency"); + this.dataResidency = dataResidency; + return this; + } + + public ConnectionResponse withDestinationId(String destinationId) { + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationId = destinationId; + return this; + } + + public ConnectionResponse withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * Define the location where the data will be stored in the destination + */ + public ConnectionResponse withNamespaceDefinition(NamespaceDefinitionEnum namespaceDefinition) { + Utils.checkNotNull(namespaceDefinition, "namespaceDefinition"); + this.namespaceDefinition = Optional.ofNullable(namespaceDefinition); + return this; + } + + /** + * Define the location where the data will be stored in the destination + */ + public ConnectionResponse withNamespaceDefinition(Optional namespaceDefinition) { + Utils.checkNotNull(namespaceDefinition, "namespaceDefinition"); + this.namespaceDefinition = namespaceDefinition; + return this; + } + + public ConnectionResponse withNamespaceFormat(String namespaceFormat) { + Utils.checkNotNull(namespaceFormat, "namespaceFormat"); + this.namespaceFormat = Optional.ofNullable(namespaceFormat); + return this; + } + + public ConnectionResponse withNamespaceFormat(Optional namespaceFormat) { + Utils.checkNotNull(namespaceFormat, "namespaceFormat"); + this.namespaceFormat = namespaceFormat; + return this; + } + + /** + * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ + public ConnectionResponse withNonBreakingSchemaUpdatesBehavior(NonBreakingSchemaUpdatesBehaviorEnum nonBreakingSchemaUpdatesBehavior) { + Utils.checkNotNull(nonBreakingSchemaUpdatesBehavior, "nonBreakingSchemaUpdatesBehavior"); + this.nonBreakingSchemaUpdatesBehavior = Optional.ofNullable(nonBreakingSchemaUpdatesBehavior); + return this; + } + + /** + * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ + public ConnectionResponse withNonBreakingSchemaUpdatesBehavior(Optional nonBreakingSchemaUpdatesBehavior) { + Utils.checkNotNull(nonBreakingSchemaUpdatesBehavior, "nonBreakingSchemaUpdatesBehavior"); + this.nonBreakingSchemaUpdatesBehavior = nonBreakingSchemaUpdatesBehavior; + return this; + } + + public ConnectionResponse withPrefix(String prefix) { + Utils.checkNotNull(prefix, "prefix"); + this.prefix = Optional.ofNullable(prefix); + return this; + } + + public ConnectionResponse withPrefix(Optional prefix) { + Utils.checkNotNull(prefix, "prefix"); + this.prefix = prefix; + return this; + } + + /** + * schedule for when the the connection should run, per the schedule type + */ + public ConnectionResponse withSchedule(ConnectionScheduleResponse schedule) { + Utils.checkNotNull(schedule, "schedule"); + this.schedule = schedule; + return this; + } + + public ConnectionResponse withSourceId(String sourceId) { + Utils.checkNotNull(sourceId, "sourceId"); + this.sourceId = sourceId; + return this; + } + + public ConnectionResponse withStatus(ConnectionStatusEnum status) { + Utils.checkNotNull(status, "status"); + this.status = status; + return this; + } + + public ConnectionResponse withWorkspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConnectionResponse other = (ConnectionResponse) o; + return + java.util.Objects.deepEquals(this.configurations, other.configurations) && + java.util.Objects.deepEquals(this.connectionId, other.connectionId) && + java.util.Objects.deepEquals(this.dataResidency, other.dataResidency) && + java.util.Objects.deepEquals(this.destinationId, other.destinationId) && + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.namespaceDefinition, other.namespaceDefinition) && + java.util.Objects.deepEquals(this.namespaceFormat, other.namespaceFormat) && + java.util.Objects.deepEquals(this.nonBreakingSchemaUpdatesBehavior, other.nonBreakingSchemaUpdatesBehavior) && + java.util.Objects.deepEquals(this.prefix, other.prefix) && + java.util.Objects.deepEquals(this.schedule, other.schedule) && + java.util.Objects.deepEquals(this.sourceId, other.sourceId) && + java.util.Objects.deepEquals(this.status, other.status) && + java.util.Objects.deepEquals(this.workspaceId, other.workspaceId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + configurations, + connectionId, + dataResidency, + destinationId, + name, + namespaceDefinition, + namespaceFormat, + nonBreakingSchemaUpdatesBehavior, + prefix, + schedule, + sourceId, + status, + workspaceId); + } + + @Override + public String toString() { + return Utils.toString(ConnectionResponse.class, + "configurations", configurations, + "connectionId", connectionId, + "dataResidency", dataResidency, + "destinationId", destinationId, + "name", name, + "namespaceDefinition", namespaceDefinition, + "namespaceFormat", namespaceFormat, + "nonBreakingSchemaUpdatesBehavior", nonBreakingSchemaUpdatesBehavior, + "prefix", prefix, + "schedule", schedule, + "sourceId", sourceId, + "status", status, + "workspaceId", workspaceId); + } + + public final static class Builder { + + private StreamConfigurations configurations; + + private String connectionId; + + private Optional dataResidency; + + private String destinationId; + + private String name; + + private Optional namespaceDefinition; + + private Optional namespaceFormat = Optional.empty(); + + private Optional nonBreakingSchemaUpdatesBehavior; + + private Optional prefix = Optional.empty(); + + private ConnectionScheduleResponse schedule; + + private String sourceId; + + private ConnectionStatusEnum status; + + private String workspaceId; + + private Builder() { + // force use of static builder() method + } + + /** + * A list of configured stream options for a connection. + */ + public Builder configurations(StreamConfigurations configurations) { + Utils.checkNotNull(configurations, "configurations"); + this.configurations = configurations; + return this; + } + + public Builder connectionId(String connectionId) { + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionId = connectionId; + return this; + } + + public Builder dataResidency(GeographyEnum dataResidency) { + Utils.checkNotNull(dataResidency, "dataResidency"); + this.dataResidency = Optional.ofNullable(dataResidency); + return this; + } + + public Builder dataResidency(Optional dataResidency) { + Utils.checkNotNull(dataResidency, "dataResidency"); + this.dataResidency = dataResidency; + return this; + } + + public Builder destinationId(String destinationId) { + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationId = destinationId; + return this; + } + + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * Define the location where the data will be stored in the destination + */ + public Builder namespaceDefinition(NamespaceDefinitionEnum namespaceDefinition) { + Utils.checkNotNull(namespaceDefinition, "namespaceDefinition"); + this.namespaceDefinition = Optional.ofNullable(namespaceDefinition); + return this; + } + + /** + * Define the location where the data will be stored in the destination + */ + public Builder namespaceDefinition(Optional namespaceDefinition) { + Utils.checkNotNull(namespaceDefinition, "namespaceDefinition"); + this.namespaceDefinition = namespaceDefinition; + return this; + } + + public Builder namespaceFormat(String namespaceFormat) { + Utils.checkNotNull(namespaceFormat, "namespaceFormat"); + this.namespaceFormat = Optional.ofNullable(namespaceFormat); + return this; + } + + public Builder namespaceFormat(Optional namespaceFormat) { + Utils.checkNotNull(namespaceFormat, "namespaceFormat"); + this.namespaceFormat = namespaceFormat; + return this; + } + + /** + * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ + public Builder nonBreakingSchemaUpdatesBehavior(NonBreakingSchemaUpdatesBehaviorEnum nonBreakingSchemaUpdatesBehavior) { + Utils.checkNotNull(nonBreakingSchemaUpdatesBehavior, "nonBreakingSchemaUpdatesBehavior"); + this.nonBreakingSchemaUpdatesBehavior = Optional.ofNullable(nonBreakingSchemaUpdatesBehavior); + return this; + } + + /** + * Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ + public Builder nonBreakingSchemaUpdatesBehavior(Optional nonBreakingSchemaUpdatesBehavior) { + Utils.checkNotNull(nonBreakingSchemaUpdatesBehavior, "nonBreakingSchemaUpdatesBehavior"); + this.nonBreakingSchemaUpdatesBehavior = nonBreakingSchemaUpdatesBehavior; + return this; + } + + public Builder prefix(String prefix) { + Utils.checkNotNull(prefix, "prefix"); + this.prefix = Optional.ofNullable(prefix); + return this; + } + + public Builder prefix(Optional prefix) { + Utils.checkNotNull(prefix, "prefix"); + this.prefix = prefix; + return this; + } + + /** + * schedule for when the the connection should run, per the schedule type + */ + public Builder schedule(ConnectionScheduleResponse schedule) { + Utils.checkNotNull(schedule, "schedule"); + this.schedule = schedule; + return this; + } + + public Builder sourceId(String sourceId) { + Utils.checkNotNull(sourceId, "sourceId"); + this.sourceId = sourceId; + return this; + } + + public Builder status(ConnectionStatusEnum status) { + Utils.checkNotNull(status, "status"); + this.status = status; + return this; + } + + public Builder workspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + public ConnectionResponse build() { + if (dataResidency == null) { + dataResidency = _SINGLETON_VALUE_DataResidency.value(); + } + if (namespaceDefinition == null) { + namespaceDefinition = _SINGLETON_VALUE_NamespaceDefinition.value(); + } + if (nonBreakingSchemaUpdatesBehavior == null) { + nonBreakingSchemaUpdatesBehavior = _SINGLETON_VALUE_NonBreakingSchemaUpdatesBehavior.value(); + } + return new ConnectionResponse( + configurations, + connectionId, + dataResidency, + destinationId, + name, + namespaceDefinition, + namespaceFormat, + nonBreakingSchemaUpdatesBehavior, + prefix, + schedule, + sourceId, + status, + workspaceId); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DataResidency = + new LazySingletonValue<>( + "dataResidency", + "\"auto\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_NamespaceDefinition = + new LazySingletonValue<>( + "namespaceDefinition", + "\"destination\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_NonBreakingSchemaUpdatesBehavior = + new LazySingletonValue<>( + "nonBreakingSchemaUpdatesBehavior", + "\"ignore\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ConnectionSchedule.java b/src/main/java/com/airbyte/api/models/shared/ConnectionSchedule.java new file mode 100644 index 000000000..1489add3d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ConnectionSchedule.java @@ -0,0 +1,134 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * ConnectionSchedule - schedule for when the the connection should run, per the schedule type + */ + +public class ConnectionSchedule { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("cronExpression") + private Optional cronExpression; + + @JsonProperty("scheduleType") + private ScheduleTypeEnum scheduleType; + + public ConnectionSchedule( + @JsonProperty("cronExpression") Optional cronExpression, + @JsonProperty("scheduleType") ScheduleTypeEnum scheduleType) { + Utils.checkNotNull(cronExpression, "cronExpression"); + Utils.checkNotNull(scheduleType, "scheduleType"); + this.cronExpression = cronExpression; + this.scheduleType = scheduleType; + } + + public Optional cronExpression() { + return cronExpression; + } + + public ScheduleTypeEnum scheduleType() { + return scheduleType; + } + + public final static Builder builder() { + return new Builder(); + } + + public ConnectionSchedule withCronExpression(String cronExpression) { + Utils.checkNotNull(cronExpression, "cronExpression"); + this.cronExpression = Optional.ofNullable(cronExpression); + return this; + } + + public ConnectionSchedule withCronExpression(Optional cronExpression) { + Utils.checkNotNull(cronExpression, "cronExpression"); + this.cronExpression = cronExpression; + return this; + } + + public ConnectionSchedule withScheduleType(ScheduleTypeEnum scheduleType) { + Utils.checkNotNull(scheduleType, "scheduleType"); + this.scheduleType = scheduleType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConnectionSchedule other = (ConnectionSchedule) o; + return + java.util.Objects.deepEquals(this.cronExpression, other.cronExpression) && + java.util.Objects.deepEquals(this.scheduleType, other.scheduleType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + cronExpression, + scheduleType); + } + + @Override + public String toString() { + return Utils.toString(ConnectionSchedule.class, + "cronExpression", cronExpression, + "scheduleType", scheduleType); + } + + public final static class Builder { + + private Optional cronExpression = Optional.empty(); + + private ScheduleTypeEnum scheduleType; + + private Builder() { + // force use of static builder() method + } + + public Builder cronExpression(String cronExpression) { + Utils.checkNotNull(cronExpression, "cronExpression"); + this.cronExpression = Optional.ofNullable(cronExpression); + return this; + } + + public Builder cronExpression(Optional cronExpression) { + Utils.checkNotNull(cronExpression, "cronExpression"); + this.cronExpression = cronExpression; + return this; + } + + public Builder scheduleType(ScheduleTypeEnum scheduleType) { + Utils.checkNotNull(scheduleType, "scheduleType"); + this.scheduleType = scheduleType; + return this; + } + + public ConnectionSchedule build() { + return new ConnectionSchedule( + cronExpression, + scheduleType); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ConnectionScheduleResponse.java b/src/main/java/com/airbyte/api/models/shared/ConnectionScheduleResponse.java new file mode 100644 index 000000000..5f9eb6078 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ConnectionScheduleResponse.java @@ -0,0 +1,175 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * ConnectionScheduleResponse - schedule for when the the connection should run, per the schedule type + */ + +public class ConnectionScheduleResponse { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("basicTiming") + private Optional basicTiming; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("cronExpression") + private Optional cronExpression; + + @JsonProperty("scheduleType") + private ScheduleTypeWithBasicEnum scheduleType; + + public ConnectionScheduleResponse( + @JsonProperty("basicTiming") Optional basicTiming, + @JsonProperty("cronExpression") Optional cronExpression, + @JsonProperty("scheduleType") ScheduleTypeWithBasicEnum scheduleType) { + Utils.checkNotNull(basicTiming, "basicTiming"); + Utils.checkNotNull(cronExpression, "cronExpression"); + Utils.checkNotNull(scheduleType, "scheduleType"); + this.basicTiming = basicTiming; + this.cronExpression = cronExpression; + this.scheduleType = scheduleType; + } + + public Optional basicTiming() { + return basicTiming; + } + + public Optional cronExpression() { + return cronExpression; + } + + public ScheduleTypeWithBasicEnum scheduleType() { + return scheduleType; + } + + public final static Builder builder() { + return new Builder(); + } + + public ConnectionScheduleResponse withBasicTiming(String basicTiming) { + Utils.checkNotNull(basicTiming, "basicTiming"); + this.basicTiming = Optional.ofNullable(basicTiming); + return this; + } + + public ConnectionScheduleResponse withBasicTiming(Optional basicTiming) { + Utils.checkNotNull(basicTiming, "basicTiming"); + this.basicTiming = basicTiming; + return this; + } + + public ConnectionScheduleResponse withCronExpression(String cronExpression) { + Utils.checkNotNull(cronExpression, "cronExpression"); + this.cronExpression = Optional.ofNullable(cronExpression); + return this; + } + + public ConnectionScheduleResponse withCronExpression(Optional cronExpression) { + Utils.checkNotNull(cronExpression, "cronExpression"); + this.cronExpression = cronExpression; + return this; + } + + public ConnectionScheduleResponse withScheduleType(ScheduleTypeWithBasicEnum scheduleType) { + Utils.checkNotNull(scheduleType, "scheduleType"); + this.scheduleType = scheduleType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConnectionScheduleResponse other = (ConnectionScheduleResponse) o; + return + java.util.Objects.deepEquals(this.basicTiming, other.basicTiming) && + java.util.Objects.deepEquals(this.cronExpression, other.cronExpression) && + java.util.Objects.deepEquals(this.scheduleType, other.scheduleType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + basicTiming, + cronExpression, + scheduleType); + } + + @Override + public String toString() { + return Utils.toString(ConnectionScheduleResponse.class, + "basicTiming", basicTiming, + "cronExpression", cronExpression, + "scheduleType", scheduleType); + } + + public final static class Builder { + + private Optional basicTiming = Optional.empty(); + + private Optional cronExpression = Optional.empty(); + + private ScheduleTypeWithBasicEnum scheduleType; + + private Builder() { + // force use of static builder() method + } + + public Builder basicTiming(String basicTiming) { + Utils.checkNotNull(basicTiming, "basicTiming"); + this.basicTiming = Optional.ofNullable(basicTiming); + return this; + } + + public Builder basicTiming(Optional basicTiming) { + Utils.checkNotNull(basicTiming, "basicTiming"); + this.basicTiming = basicTiming; + return this; + } + + public Builder cronExpression(String cronExpression) { + Utils.checkNotNull(cronExpression, "cronExpression"); + this.cronExpression = Optional.ofNullable(cronExpression); + return this; + } + + public Builder cronExpression(Optional cronExpression) { + Utils.checkNotNull(cronExpression, "cronExpression"); + this.cronExpression = cronExpression; + return this; + } + + public Builder scheduleType(ScheduleTypeWithBasicEnum scheduleType) { + Utils.checkNotNull(scheduleType, "scheduleType"); + this.scheduleType = scheduleType; + return this; + } + + public ConnectionScheduleResponse build() { + return new ConnectionScheduleResponse( + basicTiming, + cronExpression, + scheduleType); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ConnectionStatusEnum.java b/src/main/java/com/airbyte/api/models/shared/ConnectionStatusEnum.java new file mode 100644 index 000000000..3ea4390d9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ConnectionStatusEnum.java @@ -0,0 +1,31 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum ConnectionStatusEnum { + ACTIVE("active"), + INACTIVE("inactive"), + DEPRECATED("deprecated"); + + @JsonValue + private final String value; + + private ConnectionStatusEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ConnectionSyncModeEnum.java b/src/main/java/com/airbyte/api/models/shared/ConnectionSyncModeEnum.java new file mode 100644 index 000000000..2607f8d81 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ConnectionSyncModeEnum.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum ConnectionSyncModeEnum { + FULL_REFRESH_OVERWRITE("full_refresh_overwrite"), + FULL_REFRESH_APPEND("full_refresh_append"), + INCREMENTAL_APPEND("incremental_append"), + INCREMENTAL_DEDUPED_HISTORY("incremental_deduped_history"); + + @JsonValue + private final String value; + + private ConnectionSyncModeEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ConnectionType.java b/src/main/java/com/airbyte/api/models/shared/ConnectionType.java new file mode 100644 index 000000000..bdbcb111b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ConnectionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum ConnectionType { + SERVICE_NAME("service_name"); + + @JsonValue + private final String value; + + private ConnectionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ConnectionsResponse.java b/src/main/java/com/airbyte/api/models/shared/ConnectionsResponse.java new file mode 100644 index 000000000..bdd3bde5a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ConnectionsResponse.java @@ -0,0 +1,172 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ConnectionsResponse { + + @JsonProperty("data") + private java.util.List data; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("next") + private Optional next; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("previous") + private Optional previous; + + public ConnectionsResponse( + @JsonProperty("data") java.util.List data, + @JsonProperty("next") Optional next, + @JsonProperty("previous") Optional previous) { + Utils.checkNotNull(data, "data"); + Utils.checkNotNull(next, "next"); + Utils.checkNotNull(previous, "previous"); + this.data = data; + this.next = next; + this.previous = previous; + } + + public java.util.List data() { + return data; + } + + public Optional next() { + return next; + } + + public Optional previous() { + return previous; + } + + public final static Builder builder() { + return new Builder(); + } + + public ConnectionsResponse withData(java.util.List data) { + Utils.checkNotNull(data, "data"); + this.data = data; + return this; + } + + public ConnectionsResponse withNext(String next) { + Utils.checkNotNull(next, "next"); + this.next = Optional.ofNullable(next); + return this; + } + + public ConnectionsResponse withNext(Optional next) { + Utils.checkNotNull(next, "next"); + this.next = next; + return this; + } + + public ConnectionsResponse withPrevious(String previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = Optional.ofNullable(previous); + return this; + } + + public ConnectionsResponse withPrevious(Optional previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = previous; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConnectionsResponse other = (ConnectionsResponse) o; + return + java.util.Objects.deepEquals(this.data, other.data) && + java.util.Objects.deepEquals(this.next, other.next) && + java.util.Objects.deepEquals(this.previous, other.previous); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + data, + next, + previous); + } + + @Override + public String toString() { + return Utils.toString(ConnectionsResponse.class, + "data", data, + "next", next, + "previous", previous); + } + + public final static class Builder { + + private java.util.List data; + + private Optional next = Optional.empty(); + + private Optional previous = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder data(java.util.List data) { + Utils.checkNotNull(data, "data"); + this.data = data; + return this; + } + + public Builder next(String next) { + Utils.checkNotNull(next, "next"); + this.next = Optional.ofNullable(next); + return this; + } + + public Builder next(Optional next) { + Utils.checkNotNull(next, "next"); + this.next = next; + return this; + } + + public Builder previous(String previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = Optional.ofNullable(previous); + return this; + } + + public Builder previous(Optional previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = previous; + return this; + } + + public ConnectionsResponse build() { + return new ConnectionsResponse( + data, + next, + previous); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ContentType.java b/src/main/java/com/airbyte/api/models/shared/ContentType.java new file mode 100644 index 000000000..f79a7974d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ContentType.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ContentType - Select the content type of the items to retrieve. + */ +public enum ContentType { + ARTICLE("article"), + VIDEO("video"), + IMAGE("image"); + + @JsonValue + private final String value; + + private ContentType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ConversionReportTime.java b/src/main/java/com/airbyte/api/models/shared/ConversionReportTime.java new file mode 100644 index 000000000..46b56d138 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ConversionReportTime.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ConversionReportTime - The date by which the conversion metrics returned from this endpoint will be reported. There are two dates associated with a conversion event: the date that the user interacted with the ad, and the date that the user completed a conversion event.. + */ +public enum ConversionReportTime { + TIME_OF_AD_ACTION("TIME_OF_AD_ACTION"), + TIME_OF_CONVERSION("TIME_OF_CONVERSION"); + + @JsonValue + private final String value; + + private ConversionReportTime(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Convex.java b/src/main/java/com/airbyte/api/models/shared/Convex.java new file mode 100644 index 000000000..089633fec --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Convex.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Convex { + CONVEX("convex"); + + @JsonValue + private final String value; + + private Convex(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Country.java b/src/main/java/com/airbyte/api/models/shared/Country.java new file mode 100644 index 000000000..121d947b7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Country.java @@ -0,0 +1,61 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * Country - This parameter allows you to specify the country where the news articles returned by the API were published, the contents of the articles are not necessarily related to the specified country. You have to set as value the 2 letters code of the country you want to filter. + */ +public enum Country { + AU("au"), + BR("br"), + CA("ca"), + CN("cn"), + EG("eg"), + FR("fr"), + DE("de"), + GR("gr"), + HK("hk"), + IN("in"), + IE("ie"), + IL("il"), + IT("it"), + JP("jp"), + NL("nl"), + NO("no"), + PK("pk"), + PE("pe"), + PH("ph"), + PT("pt"), + RO("ro"), + RU("ru"), + SG("sg"), + ES("es"), + SE("se"), + CH("ch"), + TW("tw"), + UA("ua"), + GB("gb"), + US("us"); + + @JsonValue + private final String value; + + private Country(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Credential.java b/src/main/java/com/airbyte/api/models/shared/Credential.java new file mode 100644 index 000000000..e27b5d0e1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Credential.java @@ -0,0 +1,94 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * Credential - An HMAC key is a type of credential and can be associated with a service account or a user account in Cloud Storage. Read more <a href="https://cloud.google.com/storage/docs/authentication/hmackeys">here</a>. + */ + +@JsonDeserialize(using = Credential._Deserializer.class) +public class Credential { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private Credential(TypedObject value) { + this.value = value; + } + + public static Credential of(DestinationBigqueryHMACKey value) { + Utils.checkNotNull(value, "value"); + return new Credential(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationBigqueryHMACKey}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Credential other = (Credential) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(Credential.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(Credential.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/CredentialType.java b/src/main/java/com/airbyte/api/models/shared/CredentialType.java new file mode 100644 index 000000000..ac929e3b8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/CredentialType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum CredentialType { + HMAC_KEY("HMAC_KEY"); + + @JsonValue + private final String value; + + private CredentialType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Credentials.java b/src/main/java/com/airbyte/api/models/shared/Credentials.java new file mode 100644 index 000000000..fe97dc423 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Credentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Credentials { + + /** + * The client ID of the Airtable developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The client secret the Airtable developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public Credentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The client ID of the Airtable developer application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The client secret the Airtable developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The client ID of the Airtable developer application. + */ + public Credentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The client ID of the Airtable developer application. + */ + public Credentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret the Airtable developer application. + */ + public Credentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The client secret the Airtable developer application. + */ + public Credentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Credentials other = (Credentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(Credentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The client ID of the Airtable developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The client ID of the Airtable developer application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret the Airtable developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The client secret the Airtable developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public Credentials build() { + return new Credentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/CredentialsTitle.java b/src/main/java/com/airbyte/api/models/shared/CredentialsTitle.java new file mode 100644 index 000000000..5890c28e4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/CredentialsTitle.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * CredentialsTitle - Name of the credentials + */ +public enum CredentialsTitle { + IAM_ROLE("IAM Role"); + + @JsonValue + private final String value; + + private CredentialsTitle(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Csv.java b/src/main/java/com/airbyte/api/models/shared/Csv.java new file mode 100644 index 000000000..7d84e11ab --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Csv.java @@ -0,0 +1,737 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * Csv - This connector utilises <a href="https: // arrow.apache.org/docs/python/generated/pyarrow.csv.open_csv.html" target="_blank">PyArrow (Apache Arrow)</a> for CSV parsing. + */ + +public class Csv { + + /** + * Optionally add a valid JSON string here to provide additional options to the csv reader. Mappings must correspond to options <a href="https://arrow.apache.org/docs/python/generated/pyarrow.csv.ConvertOptions.html#pyarrow.csv.ConvertOptions" target="_blank">detailed here</a>. 'column_types' is used internally to handle schema so overriding that would likely cause problems. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("additional_reader_options") + private Optional additionalReaderOptions; + + /** + * Optionally add a valid JSON string here to provide additional <a href="https://arrow.apache.org/docs/python/generated/pyarrow.csv.ReadOptions.html#pyarrow.csv.ReadOptions" target="_blank">Pyarrow ReadOptions</a>. Specify 'column_names' here if your CSV doesn't have header, or if you want to use custom column names. 'block_size' and 'encoding' are already used above, specify them again here will override the values above. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("advanced_options") + private Optional advancedOptions; + + /** + * The chunk size in bytes to process at a time in memory from each file. If your data is particularly wide and failing during schema detection, increasing this should solve it. Beware of raising this too high as you could hit OOM errors. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("block_size") + private Optional blockSize; + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("delimiter") + private Optional delimiter; + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("double_quote") + private Optional doubleQuote; + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("encoding") + private Optional encoding; + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("escape_char") + private Optional escapeChar; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + /** + * Configures whether a schema for the source should be inferred from the current data or not. If set to false and a custom schema is set, then the manually enforced schema is used. If a schema is not manually set, and this is set to false, then all fields will be read as strings + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("infer_datatypes") + private Optional inferDatatypes; + + /** + * Whether newline characters are allowed in CSV values. Turning this on may affect performance. Leave blank to default to False. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("newlines_in_values") + private Optional newlinesInValues; + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("quote_char") + private Optional quoteChar; + + public Csv( + @JsonProperty("additional_reader_options") Optional additionalReaderOptions, + @JsonProperty("advanced_options") Optional advancedOptions, + @JsonProperty("block_size") Optional blockSize, + @JsonProperty("delimiter") Optional delimiter, + @JsonProperty("double_quote") Optional doubleQuote, + @JsonProperty("encoding") Optional encoding, + @JsonProperty("escape_char") Optional escapeChar, + @JsonProperty("infer_datatypes") Optional inferDatatypes, + @JsonProperty("newlines_in_values") Optional newlinesInValues, + @JsonProperty("quote_char") Optional quoteChar) { + Utils.checkNotNull(additionalReaderOptions, "additionalReaderOptions"); + Utils.checkNotNull(advancedOptions, "advancedOptions"); + Utils.checkNotNull(blockSize, "blockSize"); + Utils.checkNotNull(delimiter, "delimiter"); + Utils.checkNotNull(doubleQuote, "doubleQuote"); + Utils.checkNotNull(encoding, "encoding"); + Utils.checkNotNull(escapeChar, "escapeChar"); + Utils.checkNotNull(inferDatatypes, "inferDatatypes"); + Utils.checkNotNull(newlinesInValues, "newlinesInValues"); + Utils.checkNotNull(quoteChar, "quoteChar"); + this.additionalReaderOptions = additionalReaderOptions; + this.advancedOptions = advancedOptions; + this.blockSize = blockSize; + this.delimiter = delimiter; + this.doubleQuote = doubleQuote; + this.encoding = encoding; + this.escapeChar = escapeChar; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + this.inferDatatypes = inferDatatypes; + this.newlinesInValues = newlinesInValues; + this.quoteChar = quoteChar; + } + + /** + * Optionally add a valid JSON string here to provide additional options to the csv reader. Mappings must correspond to options <a href="https://arrow.apache.org/docs/python/generated/pyarrow.csv.ConvertOptions.html#pyarrow.csv.ConvertOptions" target="_blank">detailed here</a>. 'column_types' is used internally to handle schema so overriding that would likely cause problems. + */ + public Optional additionalReaderOptions() { + return additionalReaderOptions; + } + + /** + * Optionally add a valid JSON string here to provide additional <a href="https://arrow.apache.org/docs/python/generated/pyarrow.csv.ReadOptions.html#pyarrow.csv.ReadOptions" target="_blank">Pyarrow ReadOptions</a>. Specify 'column_names' here if your CSV doesn't have header, or if you want to use custom column names. 'block_size' and 'encoding' are already used above, specify them again here will override the values above. + */ + public Optional advancedOptions() { + return advancedOptions; + } + + /** + * The chunk size in bytes to process at a time in memory from each file. If your data is particularly wide and failing during schema detection, increasing this should solve it. Beware of raising this too high as you could hit OOM errors. + */ + public Optional blockSize() { + return blockSize; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Optional delimiter() { + return delimiter; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Optional doubleQuote() { + return doubleQuote; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Optional encoding() { + return encoding; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Optional escapeChar() { + return escapeChar; + } + + public Optional filetype() { + return filetype; + } + + /** + * Configures whether a schema for the source should be inferred from the current data or not. If set to false and a custom schema is set, then the manually enforced schema is used. If a schema is not manually set, and this is set to false, then all fields will be read as strings + */ + public Optional inferDatatypes() { + return inferDatatypes; + } + + /** + * Whether newline characters are allowed in CSV values. Turning this on may affect performance. Leave blank to default to False. + */ + public Optional newlinesInValues() { + return newlinesInValues; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Optional quoteChar() { + return quoteChar; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Optionally add a valid JSON string here to provide additional options to the csv reader. Mappings must correspond to options <a href="https://arrow.apache.org/docs/python/generated/pyarrow.csv.ConvertOptions.html#pyarrow.csv.ConvertOptions" target="_blank">detailed here</a>. 'column_types' is used internally to handle schema so overriding that would likely cause problems. + */ + public Csv withAdditionalReaderOptions(String additionalReaderOptions) { + Utils.checkNotNull(additionalReaderOptions, "additionalReaderOptions"); + this.additionalReaderOptions = Optional.ofNullable(additionalReaderOptions); + return this; + } + + /** + * Optionally add a valid JSON string here to provide additional options to the csv reader. Mappings must correspond to options <a href="https://arrow.apache.org/docs/python/generated/pyarrow.csv.ConvertOptions.html#pyarrow.csv.ConvertOptions" target="_blank">detailed here</a>. 'column_types' is used internally to handle schema so overriding that would likely cause problems. + */ + public Csv withAdditionalReaderOptions(Optional additionalReaderOptions) { + Utils.checkNotNull(additionalReaderOptions, "additionalReaderOptions"); + this.additionalReaderOptions = additionalReaderOptions; + return this; + } + + /** + * Optionally add a valid JSON string here to provide additional <a href="https://arrow.apache.org/docs/python/generated/pyarrow.csv.ReadOptions.html#pyarrow.csv.ReadOptions" target="_blank">Pyarrow ReadOptions</a>. Specify 'column_names' here if your CSV doesn't have header, or if you want to use custom column names. 'block_size' and 'encoding' are already used above, specify them again here will override the values above. + */ + public Csv withAdvancedOptions(String advancedOptions) { + Utils.checkNotNull(advancedOptions, "advancedOptions"); + this.advancedOptions = Optional.ofNullable(advancedOptions); + return this; + } + + /** + * Optionally add a valid JSON string here to provide additional <a href="https://arrow.apache.org/docs/python/generated/pyarrow.csv.ReadOptions.html#pyarrow.csv.ReadOptions" target="_blank">Pyarrow ReadOptions</a>. Specify 'column_names' here if your CSV doesn't have header, or if you want to use custom column names. 'block_size' and 'encoding' are already used above, specify them again here will override the values above. + */ + public Csv withAdvancedOptions(Optional advancedOptions) { + Utils.checkNotNull(advancedOptions, "advancedOptions"); + this.advancedOptions = advancedOptions; + return this; + } + + /** + * The chunk size in bytes to process at a time in memory from each file. If your data is particularly wide and failing during schema detection, increasing this should solve it. Beware of raising this too high as you could hit OOM errors. + */ + public Csv withBlockSize(long blockSize) { + Utils.checkNotNull(blockSize, "blockSize"); + this.blockSize = Optional.ofNullable(blockSize); + return this; + } + + /** + * The chunk size in bytes to process at a time in memory from each file. If your data is particularly wide and failing during schema detection, increasing this should solve it. Beware of raising this too high as you could hit OOM errors. + */ + public Csv withBlockSize(Optional blockSize) { + Utils.checkNotNull(blockSize, "blockSize"); + this.blockSize = blockSize; + return this; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Csv withDelimiter(String delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = Optional.ofNullable(delimiter); + return this; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Csv withDelimiter(Optional delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = delimiter; + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Csv withDoubleQuote(boolean doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = Optional.ofNullable(doubleQuote); + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Csv withDoubleQuote(Optional doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = doubleQuote; + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Csv withEncoding(String encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = Optional.ofNullable(encoding); + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Csv withEncoding(Optional encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = encoding; + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Csv withEscapeChar(String escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = Optional.ofNullable(escapeChar); + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Csv withEscapeChar(Optional escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = escapeChar; + return this; + } + + /** + * Configures whether a schema for the source should be inferred from the current data or not. If set to false and a custom schema is set, then the manually enforced schema is used. If a schema is not manually set, and this is set to false, then all fields will be read as strings + */ + public Csv withInferDatatypes(boolean inferDatatypes) { + Utils.checkNotNull(inferDatatypes, "inferDatatypes"); + this.inferDatatypes = Optional.ofNullable(inferDatatypes); + return this; + } + + /** + * Configures whether a schema for the source should be inferred from the current data or not. If set to false and a custom schema is set, then the manually enforced schema is used. If a schema is not manually set, and this is set to false, then all fields will be read as strings + */ + public Csv withInferDatatypes(Optional inferDatatypes) { + Utils.checkNotNull(inferDatatypes, "inferDatatypes"); + this.inferDatatypes = inferDatatypes; + return this; + } + + /** + * Whether newline characters are allowed in CSV values. Turning this on may affect performance. Leave blank to default to False. + */ + public Csv withNewlinesInValues(boolean newlinesInValues) { + Utils.checkNotNull(newlinesInValues, "newlinesInValues"); + this.newlinesInValues = Optional.ofNullable(newlinesInValues); + return this; + } + + /** + * Whether newline characters are allowed in CSV values. Turning this on may affect performance. Leave blank to default to False. + */ + public Csv withNewlinesInValues(Optional newlinesInValues) { + Utils.checkNotNull(newlinesInValues, "newlinesInValues"); + this.newlinesInValues = newlinesInValues; + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Csv withQuoteChar(String quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = Optional.ofNullable(quoteChar); + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Csv withQuoteChar(Optional quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = quoteChar; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Csv other = (Csv) o; + return + java.util.Objects.deepEquals(this.additionalReaderOptions, other.additionalReaderOptions) && + java.util.Objects.deepEquals(this.advancedOptions, other.advancedOptions) && + java.util.Objects.deepEquals(this.blockSize, other.blockSize) && + java.util.Objects.deepEquals(this.delimiter, other.delimiter) && + java.util.Objects.deepEquals(this.doubleQuote, other.doubleQuote) && + java.util.Objects.deepEquals(this.encoding, other.encoding) && + java.util.Objects.deepEquals(this.escapeChar, other.escapeChar) && + java.util.Objects.deepEquals(this.filetype, other.filetype) && + java.util.Objects.deepEquals(this.inferDatatypes, other.inferDatatypes) && + java.util.Objects.deepEquals(this.newlinesInValues, other.newlinesInValues) && + java.util.Objects.deepEquals(this.quoteChar, other.quoteChar); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + additionalReaderOptions, + advancedOptions, + blockSize, + delimiter, + doubleQuote, + encoding, + escapeChar, + filetype, + inferDatatypes, + newlinesInValues, + quoteChar); + } + + @Override + public String toString() { + return Utils.toString(Csv.class, + "additionalReaderOptions", additionalReaderOptions, + "advancedOptions", advancedOptions, + "blockSize", blockSize, + "delimiter", delimiter, + "doubleQuote", doubleQuote, + "encoding", encoding, + "escapeChar", escapeChar, + "filetype", filetype, + "inferDatatypes", inferDatatypes, + "newlinesInValues", newlinesInValues, + "quoteChar", quoteChar); + } + + public final static class Builder { + + private Optional additionalReaderOptions = Optional.empty(); + + private Optional advancedOptions = Optional.empty(); + + private Optional blockSize; + + private Optional delimiter; + + private Optional doubleQuote; + + private Optional encoding; + + private Optional escapeChar = Optional.empty(); + + private Optional inferDatatypes; + + private Optional newlinesInValues; + + private Optional quoteChar; + + private Builder() { + // force use of static builder() method + } + + /** + * Optionally add a valid JSON string here to provide additional options to the csv reader. Mappings must correspond to options <a href="https://arrow.apache.org/docs/python/generated/pyarrow.csv.ConvertOptions.html#pyarrow.csv.ConvertOptions" target="_blank">detailed here</a>. 'column_types' is used internally to handle schema so overriding that would likely cause problems. + */ + public Builder additionalReaderOptions(String additionalReaderOptions) { + Utils.checkNotNull(additionalReaderOptions, "additionalReaderOptions"); + this.additionalReaderOptions = Optional.ofNullable(additionalReaderOptions); + return this; + } + + /** + * Optionally add a valid JSON string here to provide additional options to the csv reader. Mappings must correspond to options <a href="https://arrow.apache.org/docs/python/generated/pyarrow.csv.ConvertOptions.html#pyarrow.csv.ConvertOptions" target="_blank">detailed here</a>. 'column_types' is used internally to handle schema so overriding that would likely cause problems. + */ + public Builder additionalReaderOptions(Optional additionalReaderOptions) { + Utils.checkNotNull(additionalReaderOptions, "additionalReaderOptions"); + this.additionalReaderOptions = additionalReaderOptions; + return this; + } + + /** + * Optionally add a valid JSON string here to provide additional <a href="https://arrow.apache.org/docs/python/generated/pyarrow.csv.ReadOptions.html#pyarrow.csv.ReadOptions" target="_blank">Pyarrow ReadOptions</a>. Specify 'column_names' here if your CSV doesn't have header, or if you want to use custom column names. 'block_size' and 'encoding' are already used above, specify them again here will override the values above. + */ + public Builder advancedOptions(String advancedOptions) { + Utils.checkNotNull(advancedOptions, "advancedOptions"); + this.advancedOptions = Optional.ofNullable(advancedOptions); + return this; + } + + /** + * Optionally add a valid JSON string here to provide additional <a href="https://arrow.apache.org/docs/python/generated/pyarrow.csv.ReadOptions.html#pyarrow.csv.ReadOptions" target="_blank">Pyarrow ReadOptions</a>. Specify 'column_names' here if your CSV doesn't have header, or if you want to use custom column names. 'block_size' and 'encoding' are already used above, specify them again here will override the values above. + */ + public Builder advancedOptions(Optional advancedOptions) { + Utils.checkNotNull(advancedOptions, "advancedOptions"); + this.advancedOptions = advancedOptions; + return this; + } + + /** + * The chunk size in bytes to process at a time in memory from each file. If your data is particularly wide and failing during schema detection, increasing this should solve it. Beware of raising this too high as you could hit OOM errors. + */ + public Builder blockSize(long blockSize) { + Utils.checkNotNull(blockSize, "blockSize"); + this.blockSize = Optional.ofNullable(blockSize); + return this; + } + + /** + * The chunk size in bytes to process at a time in memory from each file. If your data is particularly wide and failing during schema detection, increasing this should solve it. Beware of raising this too high as you could hit OOM errors. + */ + public Builder blockSize(Optional blockSize) { + Utils.checkNotNull(blockSize, "blockSize"); + this.blockSize = blockSize; + return this; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Builder delimiter(String delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = Optional.ofNullable(delimiter); + return this; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Builder delimiter(Optional delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = delimiter; + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Builder doubleQuote(boolean doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = Optional.ofNullable(doubleQuote); + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Builder doubleQuote(Optional doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = doubleQuote; + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Builder encoding(String encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = Optional.ofNullable(encoding); + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Builder encoding(Optional encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = encoding; + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Builder escapeChar(String escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = Optional.ofNullable(escapeChar); + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Builder escapeChar(Optional escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = escapeChar; + return this; + } + + /** + * Configures whether a schema for the source should be inferred from the current data or not. If set to false and a custom schema is set, then the manually enforced schema is used. If a schema is not manually set, and this is set to false, then all fields will be read as strings + */ + public Builder inferDatatypes(boolean inferDatatypes) { + Utils.checkNotNull(inferDatatypes, "inferDatatypes"); + this.inferDatatypes = Optional.ofNullable(inferDatatypes); + return this; + } + + /** + * Configures whether a schema for the source should be inferred from the current data or not. If set to false and a custom schema is set, then the manually enforced schema is used. If a schema is not manually set, and this is set to false, then all fields will be read as strings + */ + public Builder inferDatatypes(Optional inferDatatypes) { + Utils.checkNotNull(inferDatatypes, "inferDatatypes"); + this.inferDatatypes = inferDatatypes; + return this; + } + + /** + * Whether newline characters are allowed in CSV values. Turning this on may affect performance. Leave blank to default to False. + */ + public Builder newlinesInValues(boolean newlinesInValues) { + Utils.checkNotNull(newlinesInValues, "newlinesInValues"); + this.newlinesInValues = Optional.ofNullable(newlinesInValues); + return this; + } + + /** + * Whether newline characters are allowed in CSV values. Turning this on may affect performance. Leave blank to default to False. + */ + public Builder newlinesInValues(Optional newlinesInValues) { + Utils.checkNotNull(newlinesInValues, "newlinesInValues"); + this.newlinesInValues = newlinesInValues; + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Builder quoteChar(String quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = Optional.ofNullable(quoteChar); + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Builder quoteChar(Optional quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = quoteChar; + return this; + } + + public Csv build() { + if (blockSize == null) { + blockSize = _SINGLETON_VALUE_BlockSize.value(); + } + if (delimiter == null) { + delimiter = _SINGLETON_VALUE_Delimiter.value(); + } + if (doubleQuote == null) { + doubleQuote = _SINGLETON_VALUE_DoubleQuote.value(); + } + if (encoding == null) { + encoding = _SINGLETON_VALUE_Encoding.value(); + } + if (inferDatatypes == null) { + inferDatatypes = _SINGLETON_VALUE_InferDatatypes.value(); + } + if (newlinesInValues == null) { + newlinesInValues = _SINGLETON_VALUE_NewlinesInValues.value(); + } + if (quoteChar == null) { + quoteChar = _SINGLETON_VALUE_QuoteChar.value(); + } + return new Csv( + additionalReaderOptions, + advancedOptions, + blockSize, + delimiter, + doubleQuote, + encoding, + escapeChar, + inferDatatypes, + newlinesInValues, + quoteChar); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_BlockSize = + new LazySingletonValue<>( + "block_size", + "10000", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Delimiter = + new LazySingletonValue<>( + "delimiter", + "\",\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DoubleQuote = + new LazySingletonValue<>( + "double_quote", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Encoding = + new LazySingletonValue<>( + "encoding", + "\"utf8\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"csv\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_InferDatatypes = + new LazySingletonValue<>( + "infer_datatypes", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_NewlinesInValues = + new LazySingletonValue<>( + "newlines_in_values", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_QuoteChar = + new LazySingletonValue<>( + "quote_char", + "\"\\\"\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/CustomQueriesArray.java b/src/main/java/com/airbyte/api/models/shared/CustomQueriesArray.java new file mode 100644 index 000000000..3a7d3fd16 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/CustomQueriesArray.java @@ -0,0 +1,139 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class CustomQueriesArray { + + /** + * A custom defined GAQL query for building the report. Avoid including the segments.date field; wherever possible, Airbyte will automatically include it for incremental syncs. For more information, refer to <a href="https://developers.google.com/google-ads/api/fields/v11/overview_query_builder">Google's documentation</a>. + */ + @JsonProperty("query") + private String query; + + /** + * The table name in your destination database for the chosen query. + */ + @JsonProperty("table_name") + private String tableName; + + public CustomQueriesArray( + @JsonProperty("query") String query, + @JsonProperty("table_name") String tableName) { + Utils.checkNotNull(query, "query"); + Utils.checkNotNull(tableName, "tableName"); + this.query = query; + this.tableName = tableName; + } + + /** + * A custom defined GAQL query for building the report. Avoid including the segments.date field; wherever possible, Airbyte will automatically include it for incremental syncs. For more information, refer to <a href="https://developers.google.com/google-ads/api/fields/v11/overview_query_builder">Google's documentation</a>. + */ + public String query() { + return query; + } + + /** + * The table name in your destination database for the chosen query. + */ + public String tableName() { + return tableName; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * A custom defined GAQL query for building the report. Avoid including the segments.date field; wherever possible, Airbyte will automatically include it for incremental syncs. For more information, refer to <a href="https://developers.google.com/google-ads/api/fields/v11/overview_query_builder">Google's documentation</a>. + */ + public CustomQueriesArray withQuery(String query) { + Utils.checkNotNull(query, "query"); + this.query = query; + return this; + } + + /** + * The table name in your destination database for the chosen query. + */ + public CustomQueriesArray withTableName(String tableName) { + Utils.checkNotNull(tableName, "tableName"); + this.tableName = tableName; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomQueriesArray other = (CustomQueriesArray) o; + return + java.util.Objects.deepEquals(this.query, other.query) && + java.util.Objects.deepEquals(this.tableName, other.tableName); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + query, + tableName); + } + + @Override + public String toString() { + return Utils.toString(CustomQueriesArray.class, + "query", query, + "tableName", tableName); + } + + public final static class Builder { + + private String query; + + private String tableName; + + private Builder() { + // force use of static builder() method + } + + /** + * A custom defined GAQL query for building the report. Avoid including the segments.date field; wherever possible, Airbyte will automatically include it for incremental syncs. For more information, refer to <a href="https://developers.google.com/google-ads/api/fields/v11/overview_query_builder">Google's documentation</a>. + */ + public Builder query(String query) { + Utils.checkNotNull(query, "query"); + this.query = query; + return this; + } + + /** + * The table name in your destination database for the chosen query. + */ + public Builder tableName(String tableName) { + Utils.checkNotNull(tableName, "tableName"); + this.tableName = tableName; + return this; + } + + public CustomQueriesArray build() { + return new CustomQueriesArray( + query, + tableName); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/CustomReportConfig.java b/src/main/java/com/airbyte/api/models/shared/CustomReportConfig.java new file mode 100644 index 000000000..6065917b1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/CustomReportConfig.java @@ -0,0 +1,251 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class CustomReportConfig { + + /** + * The name of the custom report, this name would be used as stream name + */ + @JsonProperty("name") + private String name; + + /** + * A list of available aggregations. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("report_aggregation") + private Optional reportAggregation; + + /** + * A list of available report object columns. You can find it in description of reporting object that you want to add to custom report. + */ + @JsonProperty("report_columns") + private java.util.List reportColumns; + + /** + * The name of the the object derives from the ReportRequest object. You can find it in Bing Ads Api docs - Reporting API - Reporting Data Objects. + */ + @JsonProperty("reporting_object") + private ReportingDataObject reportingObject; + + public CustomReportConfig( + @JsonProperty("name") String name, + @JsonProperty("report_aggregation") Optional reportAggregation, + @JsonProperty("report_columns") java.util.List reportColumns, + @JsonProperty("reporting_object") ReportingDataObject reportingObject) { + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(reportAggregation, "reportAggregation"); + Utils.checkNotNull(reportColumns, "reportColumns"); + Utils.checkNotNull(reportingObject, "reportingObject"); + this.name = name; + this.reportAggregation = reportAggregation; + this.reportColumns = reportColumns; + this.reportingObject = reportingObject; + } + + /** + * The name of the custom report, this name would be used as stream name + */ + public String name() { + return name; + } + + /** + * A list of available aggregations. + */ + public Optional reportAggregation() { + return reportAggregation; + } + + /** + * A list of available report object columns. You can find it in description of reporting object that you want to add to custom report. + */ + public java.util.List reportColumns() { + return reportColumns; + } + + /** + * The name of the the object derives from the ReportRequest object. You can find it in Bing Ads Api docs - Reporting API - Reporting Data Objects. + */ + public ReportingDataObject reportingObject() { + return reportingObject; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The name of the custom report, this name would be used as stream name + */ + public CustomReportConfig withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * A list of available aggregations. + */ + public CustomReportConfig withReportAggregation(String reportAggregation) { + Utils.checkNotNull(reportAggregation, "reportAggregation"); + this.reportAggregation = Optional.ofNullable(reportAggregation); + return this; + } + + /** + * A list of available aggregations. + */ + public CustomReportConfig withReportAggregation(Optional reportAggregation) { + Utils.checkNotNull(reportAggregation, "reportAggregation"); + this.reportAggregation = reportAggregation; + return this; + } + + /** + * A list of available report object columns. You can find it in description of reporting object that you want to add to custom report. + */ + public CustomReportConfig withReportColumns(java.util.List reportColumns) { + Utils.checkNotNull(reportColumns, "reportColumns"); + this.reportColumns = reportColumns; + return this; + } + + /** + * The name of the the object derives from the ReportRequest object. You can find it in Bing Ads Api docs - Reporting API - Reporting Data Objects. + */ + public CustomReportConfig withReportingObject(ReportingDataObject reportingObject) { + Utils.checkNotNull(reportingObject, "reportingObject"); + this.reportingObject = reportingObject; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomReportConfig other = (CustomReportConfig) o; + return + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.reportAggregation, other.reportAggregation) && + java.util.Objects.deepEquals(this.reportColumns, other.reportColumns) && + java.util.Objects.deepEquals(this.reportingObject, other.reportingObject); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + name, + reportAggregation, + reportColumns, + reportingObject); + } + + @Override + public String toString() { + return Utils.toString(CustomReportConfig.class, + "name", name, + "reportAggregation", reportAggregation, + "reportColumns", reportColumns, + "reportingObject", reportingObject); + } + + public final static class Builder { + + private String name; + + private Optional reportAggregation; + + private java.util.List reportColumns; + + private ReportingDataObject reportingObject; + + private Builder() { + // force use of static builder() method + } + + /** + * The name of the custom report, this name would be used as stream name + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * A list of available aggregations. + */ + public Builder reportAggregation(String reportAggregation) { + Utils.checkNotNull(reportAggregation, "reportAggregation"); + this.reportAggregation = Optional.ofNullable(reportAggregation); + return this; + } + + /** + * A list of available aggregations. + */ + public Builder reportAggregation(Optional reportAggregation) { + Utils.checkNotNull(reportAggregation, "reportAggregation"); + this.reportAggregation = reportAggregation; + return this; + } + + /** + * A list of available report object columns. You can find it in description of reporting object that you want to add to custom report. + */ + public Builder reportColumns(java.util.List reportColumns) { + Utils.checkNotNull(reportColumns, "reportColumns"); + this.reportColumns = reportColumns; + return this; + } + + /** + * The name of the the object derives from the ReportRequest object. You can find it in Bing Ads Api docs - Reporting API - Reporting Data Objects. + */ + public Builder reportingObject(ReportingDataObject reportingObject) { + Utils.checkNotNull(reportingObject, "reportingObject"); + this.reportingObject = reportingObject; + return this; + } + + public CustomReportConfig build() { + if (reportAggregation == null) { + reportAggregation = _SINGLETON_VALUE_ReportAggregation.value(); + } + return new CustomReportConfig( + name, + reportAggregation, + reportColumns, + reportingObject); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ReportAggregation = + new LazySingletonValue<>( + "report_aggregation", + "\"[Hourly]\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/CustomerStatus.java b/src/main/java/com/airbyte/api/models/shared/CustomerStatus.java new file mode 100644 index 000000000..38b83abdb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/CustomerStatus.java @@ -0,0 +1,36 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * CustomerStatus - An enumeration. + */ +public enum CustomerStatus { + UNKNOWN("UNKNOWN"), + ENABLED("ENABLED"), + CANCELED("CANCELED"), + SUSPENDED("SUSPENDED"), + CLOSED("CLOSED"); + + @JsonValue + private final String value; + + private CustomerStatus(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DataCenterLocation.java b/src/main/java/com/airbyte/api/models/shared/DataCenterLocation.java new file mode 100644 index 000000000..53f818a1b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DataCenterLocation.java @@ -0,0 +1,37 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DataCenterLocation - Please choose the region of your Data Center location. More info by this <a href="https://www.zoho.com/crm/developer/docs/api/v2/multi-dc.html">Link</a> + */ +public enum DataCenterLocation { + US("US"), + AU("AU"), + EU("EU"), + IN("IN"), + CN("CN"), + JP("JP"); + + @JsonValue + private final String value; + + private DataCenterLocation(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DataFreshness.java b/src/main/java/com/airbyte/api/models/shared/DataFreshness.java new file mode 100644 index 000000000..83e8e5919 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DataFreshness.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DataFreshness - If set to 'final', the returned data will include only finalized, stable data. If set to 'all', fresh data will be included. When using Incremental sync mode, we do not recommend setting this parameter to 'all' as it may cause data loss. More information can be found in our <a href='https://docs.airbyte.com/integrations/source/google-search-console'>full documentation</a>. + */ +public enum DataFreshness { + FINAL_("final"), + ALL("all"); + + @JsonValue + private final String value; + + private DataFreshness(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DataRegion.java b/src/main/java/com/airbyte/api/models/shared/DataRegion.java new file mode 100644 index 000000000..e8c0051c7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DataRegion.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DataRegion - Amplitude data region server + */ +public enum DataRegion { + STANDARD_SERVER("Standard Server"), + EU_RESIDENCY_SERVER("EU Residency Server"); + + @JsonValue + private final String value; + + private DataRegion(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DataSource.java b/src/main/java/com/airbyte/api/models/shared/DataSource.java new file mode 100644 index 000000000..a0ee846ac --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DataSource.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DataSource - Storage on which the delta lake is built. + */ + +@JsonDeserialize(using = DataSource._Deserializer.class) +public class DataSource { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DataSource(TypedObject value) { + this.value = value; + } + + public static DataSource of(RecommendedManagedTables value) { + Utils.checkNotNull(value, "value"); + return new DataSource(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DataSource of(AmazonS3 value) { + Utils.checkNotNull(value, "value"); + return new DataSource(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DataSource of(DestinationDatabricksAzureBlobStorage value) { + Utils.checkNotNull(value, "value"); + return new DataSource(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code RecommendedManagedTables}
    • + *
    • {@code AmazonS3}
    • + *
    • {@code DestinationDatabricksAzureBlobStorage}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DataSource other = (DataSource) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DataSource.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DataSource.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DataSourceType.java b/src/main/java/com/airbyte/api/models/shared/DataSourceType.java new file mode 100644 index 000000000..ed5f87854 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DataSourceType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DataSourceType { + MANAGED_TABLES_STORAGE("MANAGED_TABLES_STORAGE"); + + @JsonValue + private final String value; + + private DataSourceType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DataType.java b/src/main/java/com/airbyte/api/models/shared/DataType.java new file mode 100644 index 000000000..36e74c1a2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DataType.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DataType - /latest: Latest market ticker quotes and averages for cryptocurrencies and exchanges. /historical: Intervals of historic market data like OHLCV data or data for use in charting libraries. See <a href="https://coinmarketcap.com/api/documentation/v1/#section/Endpoint-Overview">here</a>. + */ +public enum DataType { + LATEST("latest"), + HISTORICAL("historical"); + + @JsonValue + private final String value; + + private DataType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Databricks.java b/src/main/java/com/airbyte/api/models/shared/Databricks.java new file mode 100644 index 000000000..c001d0d8c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Databricks.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Databricks { + DATABRICKS("databricks"); + + @JsonValue + private final String value; + + private Databricks(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Datascope.java b/src/main/java/com/airbyte/api/models/shared/Datascope.java new file mode 100644 index 000000000..1a7ffcac9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Datascope.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Datascope { + DATASCOPE("datascope"); + + @JsonValue + private final String value; + + private Datascope(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DatasetLocation.java b/src/main/java/com/airbyte/api/models/shared/DatasetLocation.java new file mode 100644 index 000000000..5f39a174a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DatasetLocation.java @@ -0,0 +1,75 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DatasetLocation - The location of the dataset. Warning: Changes made after creation will not be applied. Read more <a href="https://cloud.google.com/bigquery/docs/locations">here</a>. + */ +public enum DatasetLocation { + US("US"), + EU("EU"), + ASIA_EAST1("asia-east1"), + ASIA_EAST2("asia-east2"), + ASIA_NORTHEAST1("asia-northeast1"), + ASIA_NORTHEAST2("asia-northeast2"), + ASIA_NORTHEAST3("asia-northeast3"), + ASIA_SOUTH1("asia-south1"), + ASIA_SOUTH2("asia-south2"), + ASIA_SOUTHEAST1("asia-southeast1"), + ASIA_SOUTHEAST2("asia-southeast2"), + AUSTRALIA_SOUTHEAST1("australia-southeast1"), + AUSTRALIA_SOUTHEAST2("australia-southeast2"), + EUROPE_CENTRAL1("europe-central1"), + EUROPE_CENTRAL2("europe-central2"), + EUROPE_NORTH1("europe-north1"), + EUROPE_SOUTHWEST1("europe-southwest1"), + EUROPE_WEST1("europe-west1"), + EUROPE_WEST2("europe-west2"), + EUROPE_WEST3("europe-west3"), + EUROPE_WEST4("europe-west4"), + EUROPE_WEST6("europe-west6"), + EUROPE_WEST7("europe-west7"), + EUROPE_WEST8("europe-west8"), + EUROPE_WEST9("europe-west9"), + EUROPE_WEST12("europe-west12"), + ME_CENTRAL1("me-central1"), + ME_CENTRAL2("me-central2"), + ME_WEST1("me-west1"), + NORTHAMERICA_NORTHEAST1("northamerica-northeast1"), + NORTHAMERICA_NORTHEAST2("northamerica-northeast2"), + SOUTHAMERICA_EAST1("southamerica-east1"), + SOUTHAMERICA_WEST1("southamerica-west1"), + US_CENTRAL1("us-central1"), + US_EAST1("us-east1"), + US_EAST2("us-east2"), + US_EAST3("us-east3"), + US_EAST4("us-east4"), + US_EAST5("us-east5"), + US_SOUTH1("us-south1"), + US_WEST1("us-west1"), + US_WEST2("us-west2"), + US_WEST3("us-west3"), + US_WEST4("us-west4"); + + @JsonValue + private final String value; + + private DatasetLocation(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DateRange.java b/src/main/java/com/airbyte/api/models/shared/DateRange.java new file mode 100644 index 000000000..8ec489a5e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DateRange.java @@ -0,0 +1,116 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; + + +public class DateRange { + + @JsonProperty("endDate") + private LocalDate endDate; + + @JsonProperty("startDate") + private LocalDate startDate; + + public DateRange( + @JsonProperty("endDate") LocalDate endDate, + @JsonProperty("startDate") LocalDate startDate) { + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(startDate, "startDate"); + this.endDate = endDate; + this.startDate = startDate; + } + + public LocalDate endDate() { + return endDate; + } + + public LocalDate startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + public DateRange withEndDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + public DateRange withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DateRange other = (DateRange) o; + return + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + endDate, + startDate); + } + + @Override + public String toString() { + return Utils.toString(DateRange.class, + "endDate", endDate, + "startDate", startDate); + } + + public final static class Builder { + + private LocalDate endDate; + + private LocalDate startDate; + + private Builder() { + // force use of static builder() method + } + + public Builder endDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public DateRange build() { + return new DateRange( + endDate, + startDate); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DefaultVectorizer.java b/src/main/java/com/airbyte/api/models/shared/DefaultVectorizer.java new file mode 100644 index 000000000..e8ac2517d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DefaultVectorizer.java @@ -0,0 +1,39 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DefaultVectorizer - The vectorizer to use if new classes need to be created + */ +public enum DefaultVectorizer { + NONE("none"), + TEXT2VEC_COHERE("text2vec-cohere"), + TEXT2VEC_HUGGINGFACE("text2vec-huggingface"), + TEXT2VEC_OPENAI("text2vec-openai"), + TEXT2VEC_PALM("text2vec-palm"), + TEXT2VEC_CONTEXTIONARY("text2vec-contextionary"), + TEXT2VEC_TRANSFORMERS("text2vec-transformers"), + TEXT2VEC_GPT4ALL("text2vec-gpt4all"); + + @JsonValue + private final String value; + + private DefaultVectorizer(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Deflate.java b/src/main/java/com/airbyte/api/models/shared/Deflate.java new file mode 100644 index 000000000..277136794 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Deflate.java @@ -0,0 +1,181 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Deflate { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("codec") + private Optional codec; + + /** + * 0: no compression & fastest, 9: best compression & slowest. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_level") + private Optional compressionLevel; + + public Deflate( + @JsonProperty("codec") Optional codec, + @JsonProperty("compression_level") Optional compressionLevel) { + Utils.checkNotNull(codec, "codec"); + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.codec = codec; + this.compressionLevel = compressionLevel; + } + + public Optional codec() { + return codec; + } + + /** + * 0: no compression & fastest, 9: best compression & slowest. + */ + public Optional compressionLevel() { + return compressionLevel; + } + + public final static Builder builder() { + return new Builder(); + } + + public Deflate withCodec(DestinationGcsCodec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public Deflate withCodec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + /** + * 0: no compression & fastest, 9: best compression & slowest. + */ + public Deflate withCompressionLevel(long compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = Optional.ofNullable(compressionLevel); + return this; + } + + /** + * 0: no compression & fastest, 9: best compression & slowest. + */ + public Deflate withCompressionLevel(Optional compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = compressionLevel; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Deflate other = (Deflate) o; + return + java.util.Objects.deepEquals(this.codec, other.codec) && + java.util.Objects.deepEquals(this.compressionLevel, other.compressionLevel); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + codec, + compressionLevel); + } + + @Override + public String toString() { + return Utils.toString(Deflate.class, + "codec", codec, + "compressionLevel", compressionLevel); + } + + public final static class Builder { + + private Optional codec; + + private Optional compressionLevel; + + private Builder() { + // force use of static builder() method + } + + public Builder codec(DestinationGcsCodec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public Builder codec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + /** + * 0: no compression & fastest, 9: best compression & slowest. + */ + public Builder compressionLevel(long compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = Optional.ofNullable(compressionLevel); + return this; + } + + /** + * 0: no compression & fastest, 9: best compression & slowest. + */ + public Builder compressionLevel(Optional compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = compressionLevel; + return this; + } + + public Deflate build() { + if (codec == null) { + codec = _SINGLETON_VALUE_Codec.value(); + } + if (compressionLevel == null) { + compressionLevel = _SINGLETON_VALUE_CompressionLevel.value(); + } + return new Deflate( + codec, + compressionLevel); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Codec = + new LazySingletonValue<>( + "codec", + "\"Deflate\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionLevel = + new LazySingletonValue<>( + "compression_level", + "0", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DeletionMode.java b/src/main/java/com/airbyte/api/models/shared/DeletionMode.java new file mode 100644 index 000000000..99b53d278 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DeletionMode.java @@ -0,0 +1,104 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DeletionMode - <b>This only applies to incremental syncs.</b> <br> + * Enabling deletion mode informs your destination of deleted documents.<br> + * Disabled - Leave this feature disabled, and ignore deleted documents.<br> + * Enabled - Enables this feature. When a document is deleted, the connector exports a record with a "deleted at" column containing the time that the document was deleted. + */ + +@JsonDeserialize(using = DeletionMode._Deserializer.class) +public class DeletionMode { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DeletionMode(TypedObject value) { + this.value = value; + } + + public static DeletionMode of(Disabled value) { + Utils.checkNotNull(value, "value"); + return new DeletionMode(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DeletionMode of(Enabled value) { + Utils.checkNotNull(value, "value"); + return new DeletionMode(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code Disabled}
    • + *
    • {@code Enabled}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeletionMode other = (DeletionMode) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DeletionMode.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DeletionMode.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/Delighted.java b/src/main/java/com/airbyte/api/models/shared/Delighted.java new file mode 100644 index 000000000..dd7bbb58e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Delighted.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Delighted { + DELIGHTED("delighted"); + + @JsonValue + private final String value; + + private Delighted(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationAstra.java b/src/main/java/com/airbyte/api/models/shared/DestinationAstra.java new file mode 100644 index 000000000..fa7c5b785 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationAstra.java @@ -0,0 +1,268 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationAstra - The configuration model for the Vector DB based destinations. This model is used to generate the UI for the destination configuration, + * as well as to provide type safety for the configuration passed to the destination. + * + * The configuration model is composed of four parts: + * * Processing configuration + * * Embedding configuration + * * Indexing configuration + * * Advanced configuration + * + * Processing, embedding and advanced configuration are provided by this base class, while the indexing configuration is provided by the destination connector in the sub class. + */ + +public class DestinationAstra { + + @JsonProperty("destinationType") + private Astra destinationType; + + /** + * Embedding configuration + */ + @JsonProperty("embedding") + private Embedding embedding; + + /** + * Astra DB gives developers the APIs, real-time data and ecosystem integrations to put accurate RAG and Gen AI apps with fewer hallucinations in production. + */ + @JsonProperty("indexing") + private Indexing indexing; + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("omit_raw_text") + private Optional omitRawText; + + @JsonProperty("processing") + private ProcessingConfigModel processing; + + public DestinationAstra( + @JsonProperty("embedding") Embedding embedding, + @JsonProperty("indexing") Indexing indexing, + @JsonProperty("omit_raw_text") Optional omitRawText, + @JsonProperty("processing") ProcessingConfigModel processing) { + Utils.checkNotNull(embedding, "embedding"); + Utils.checkNotNull(indexing, "indexing"); + Utils.checkNotNull(omitRawText, "omitRawText"); + Utils.checkNotNull(processing, "processing"); + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.embedding = embedding; + this.indexing = indexing; + this.omitRawText = omitRawText; + this.processing = processing; + } + + public Astra destinationType() { + return destinationType; + } + + /** + * Embedding configuration + */ + public Embedding embedding() { + return embedding; + } + + /** + * Astra DB gives developers the APIs, real-time data and ecosystem integrations to put accurate RAG and Gen AI apps with fewer hallucinations in production. + */ + public Indexing indexing() { + return indexing; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public Optional omitRawText() { + return omitRawText; + } + + public ProcessingConfigModel processing() { + return processing; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Embedding configuration + */ + public DestinationAstra withEmbedding(Embedding embedding) { + Utils.checkNotNull(embedding, "embedding"); + this.embedding = embedding; + return this; + } + + /** + * Astra DB gives developers the APIs, real-time data and ecosystem integrations to put accurate RAG and Gen AI apps with fewer hallucinations in production. + */ + public DestinationAstra withIndexing(Indexing indexing) { + Utils.checkNotNull(indexing, "indexing"); + this.indexing = indexing; + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public DestinationAstra withOmitRawText(boolean omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = Optional.ofNullable(omitRawText); + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public DestinationAstra withOmitRawText(Optional omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = omitRawText; + return this; + } + + public DestinationAstra withProcessing(ProcessingConfigModel processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationAstra other = (DestinationAstra) o; + return + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.embedding, other.embedding) && + java.util.Objects.deepEquals(this.indexing, other.indexing) && + java.util.Objects.deepEquals(this.omitRawText, other.omitRawText) && + java.util.Objects.deepEquals(this.processing, other.processing); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + destinationType, + embedding, + indexing, + omitRawText, + processing); + } + + @Override + public String toString() { + return Utils.toString(DestinationAstra.class, + "destinationType", destinationType, + "embedding", embedding, + "indexing", indexing, + "omitRawText", omitRawText, + "processing", processing); + } + + public final static class Builder { + + private Embedding embedding; + + private Indexing indexing; + + private Optional omitRawText; + + private ProcessingConfigModel processing; + + private Builder() { + // force use of static builder() method + } + + /** + * Embedding configuration + */ + public Builder embedding(Embedding embedding) { + Utils.checkNotNull(embedding, "embedding"); + this.embedding = embedding; + return this; + } + + /** + * Astra DB gives developers the APIs, real-time data and ecosystem integrations to put accurate RAG and Gen AI apps with fewer hallucinations in production. + */ + public Builder indexing(Indexing indexing) { + Utils.checkNotNull(indexing, "indexing"); + this.indexing = indexing; + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public Builder omitRawText(boolean omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = Optional.ofNullable(omitRawText); + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public Builder omitRawText(Optional omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = omitRawText; + return this; + } + + public Builder processing(ProcessingConfigModel processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + public DestinationAstra build() { + if (omitRawText == null) { + omitRawText = _SINGLETON_VALUE_OmitRawText.value(); + } + return new DestinationAstra( + embedding, + indexing, + omitRawText, + processing); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"astra\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_OmitRawText = + new LazySingletonValue<>( + "omit_raw_text", + "false", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationAstraLanguage.java b/src/main/java/com/airbyte/api/models/shared/DestinationAstraLanguage.java new file mode 100644 index 000000000..5b2dd432a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationAstraLanguage.java @@ -0,0 +1,47 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationAstraLanguage - Split code in suitable places based on the programming language + */ +public enum DestinationAstraLanguage { + CPP("cpp"), + GO("go"), + JAVA("java"), + JS("js"), + PHP("php"), + PROTO("proto"), + PYTHON("python"), + RST("rst"), + RUBY("ruby"), + RUST("rust"), + SCALA("scala"), + SWIFT("swift"), + MARKDOWN("markdown"), + LATEX("latex"), + HTML("html"), + SOL("sol"); + + @JsonValue + private final String value; + + private DestinationAstraLanguage(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationAstraMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationAstraMode.java new file mode 100644 index 000000000..b0b5a7070 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationAstraMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationAstraMode { + COHERE("cohere"); + + @JsonValue + private final String value; + + private DestinationAstraMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasEmbeddingEmbedding1Mode.java b/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasEmbeddingEmbedding1Mode.java new file mode 100644 index 000000000..30401e366 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasEmbeddingEmbedding1Mode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationAstraSchemasEmbeddingEmbedding1Mode { + OPENAI("openai"); + + @JsonValue + private final String value; + + private DestinationAstraSchemasEmbeddingEmbedding1Mode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasEmbeddingEmbeddingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasEmbeddingEmbeddingMode.java new file mode 100644 index 000000000..eadaa971f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasEmbeddingEmbeddingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationAstraSchemasEmbeddingEmbeddingMode { + OPENAI_COMPATIBLE("openai_compatible"); + + @JsonValue + private final String value; + + private DestinationAstraSchemasEmbeddingEmbeddingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasEmbeddingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasEmbeddingMode.java new file mode 100644 index 000000000..607fe48c2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasEmbeddingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationAstraSchemasEmbeddingMode { + AZURE_OPENAI("azure_openai"); + + @JsonValue + private final String value; + + private DestinationAstraSchemasEmbeddingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasMode.java new file mode 100644 index 000000000..5067746ba --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationAstraSchemasMode { + FAKE("fake"); + + @JsonValue + private final String value; + + private DestinationAstraSchemasMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasProcessingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasProcessingMode.java new file mode 100644 index 000000000..5f3dc85b4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasProcessingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationAstraSchemasProcessingMode { + SEPARATOR("separator"); + + @JsonValue + private final String value; + + private DestinationAstraSchemasProcessingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasProcessingTextSplitterMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasProcessingTextSplitterMode.java new file mode 100644 index 000000000..493e6f0ed --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasProcessingTextSplitterMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationAstraSchemasProcessingTextSplitterMode { + MARKDOWN("markdown"); + + @JsonValue + private final String value; + + private DestinationAstraSchemasProcessingTextSplitterMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasProcessingTextSplitterTextSplitterMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasProcessingTextSplitterTextSplitterMode.java new file mode 100644 index 000000000..32c91841c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationAstraSchemasProcessingTextSplitterTextSplitterMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationAstraSchemasProcessingTextSplitterTextSplitterMode { + CODE("code"); + + @JsonValue + private final String value; + + private DestinationAstraSchemasProcessingTextSplitterTextSplitterMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationAwsDatalake.java b/src/main/java/com/airbyte/api/models/shared/DestinationAwsDatalake.java new file mode 100644 index 000000000..f499cd591 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationAwsDatalake.java @@ -0,0 +1,767 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationAwsDatalake { + + /** + * target aws account id + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("aws_account_id") + private Optional awsAccountId; + + /** + * The name of the S3 bucket. Read more <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html">here</a>. + */ + @JsonProperty("bucket_name") + private String bucketName; + + /** + * S3 prefix + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("bucket_prefix") + private Optional bucketPrefix; + + /** + * Choose How to Authenticate to AWS. + */ + @JsonProperty("credentials") + private AuthenticationMode credentials; + + @JsonProperty("destinationType") + private AwsDatalake destinationType; + + /** + * Format of the data output. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("format") + private Optional format; + + /** + * Cast float/double as decimal(38,18). This can help achieve higher accuracy and represent numbers correctly as received from the source. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("glue_catalog_float_as_decimal") + private Optional glueCatalogFloatAsDecimal; + + /** + * Add a default tag key to databases created by this destination + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lakeformation_database_default_tag_key") + private Optional lakeformationDatabaseDefaultTagKey; + + /** + * Add default values for the `Tag Key` to databases created by this destination. Comma separate for multiple values. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lakeformation_database_default_tag_values") + private Optional lakeformationDatabaseDefaultTagValues; + + /** + * The default database this destination will use to create tables in per stream. Can be changed per connection by customizing the namespace. + */ + @JsonProperty("lakeformation_database_name") + private String lakeformationDatabaseName; + + /** + * Whether to create tables as LF governed tables. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lakeformation_governed_tables") + private Optional lakeformationGovernedTables; + + /** + * Partition data by cursor fields when a cursor field is a date + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("partitioning") + private Optional partitioning; + + /** + * The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("region") + private Optional region; + + public DestinationAwsDatalake( + @JsonProperty("aws_account_id") Optional awsAccountId, + @JsonProperty("bucket_name") String bucketName, + @JsonProperty("bucket_prefix") Optional bucketPrefix, + @JsonProperty("credentials") AuthenticationMode credentials, + @JsonProperty("format") Optional format, + @JsonProperty("glue_catalog_float_as_decimal") Optional glueCatalogFloatAsDecimal, + @JsonProperty("lakeformation_database_default_tag_key") Optional lakeformationDatabaseDefaultTagKey, + @JsonProperty("lakeformation_database_default_tag_values") Optional lakeformationDatabaseDefaultTagValues, + @JsonProperty("lakeformation_database_name") String lakeformationDatabaseName, + @JsonProperty("lakeformation_governed_tables") Optional lakeformationGovernedTables, + @JsonProperty("partitioning") Optional partitioning, + @JsonProperty("region") Optional region) { + Utils.checkNotNull(awsAccountId, "awsAccountId"); + Utils.checkNotNull(bucketName, "bucketName"); + Utils.checkNotNull(bucketPrefix, "bucketPrefix"); + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(format, "format"); + Utils.checkNotNull(glueCatalogFloatAsDecimal, "glueCatalogFloatAsDecimal"); + Utils.checkNotNull(lakeformationDatabaseDefaultTagKey, "lakeformationDatabaseDefaultTagKey"); + Utils.checkNotNull(lakeformationDatabaseDefaultTagValues, "lakeformationDatabaseDefaultTagValues"); + Utils.checkNotNull(lakeformationDatabaseName, "lakeformationDatabaseName"); + Utils.checkNotNull(lakeformationGovernedTables, "lakeformationGovernedTables"); + Utils.checkNotNull(partitioning, "partitioning"); + Utils.checkNotNull(region, "region"); + this.awsAccountId = awsAccountId; + this.bucketName = bucketName; + this.bucketPrefix = bucketPrefix; + this.credentials = credentials; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.format = format; + this.glueCatalogFloatAsDecimal = glueCatalogFloatAsDecimal; + this.lakeformationDatabaseDefaultTagKey = lakeformationDatabaseDefaultTagKey; + this.lakeformationDatabaseDefaultTagValues = lakeformationDatabaseDefaultTagValues; + this.lakeformationDatabaseName = lakeformationDatabaseName; + this.lakeformationGovernedTables = lakeformationGovernedTables; + this.partitioning = partitioning; + this.region = region; + } + + /** + * target aws account id + */ + public Optional awsAccountId() { + return awsAccountId; + } + + /** + * The name of the S3 bucket. Read more <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html">here</a>. + */ + public String bucketName() { + return bucketName; + } + + /** + * S3 prefix + */ + public Optional bucketPrefix() { + return bucketPrefix; + } + + /** + * Choose How to Authenticate to AWS. + */ + public AuthenticationMode credentials() { + return credentials; + } + + public AwsDatalake destinationType() { + return destinationType; + } + + /** + * Format of the data output. + */ + public Optional format() { + return format; + } + + /** + * Cast float/double as decimal(38,18). This can help achieve higher accuracy and represent numbers correctly as received from the source. + */ + public Optional glueCatalogFloatAsDecimal() { + return glueCatalogFloatAsDecimal; + } + + /** + * Add a default tag key to databases created by this destination + */ + public Optional lakeformationDatabaseDefaultTagKey() { + return lakeformationDatabaseDefaultTagKey; + } + + /** + * Add default values for the `Tag Key` to databases created by this destination. Comma separate for multiple values. + */ + public Optional lakeformationDatabaseDefaultTagValues() { + return lakeformationDatabaseDefaultTagValues; + } + + /** + * The default database this destination will use to create tables in per stream. Can be changed per connection by customizing the namespace. + */ + public String lakeformationDatabaseName() { + return lakeformationDatabaseName; + } + + /** + * Whether to create tables as LF governed tables. + */ + public Optional lakeformationGovernedTables() { + return lakeformationGovernedTables; + } + + /** + * Partition data by cursor fields when a cursor field is a date + */ + public Optional partitioning() { + return partitioning; + } + + /** + * The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ + public Optional region() { + return region; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * target aws account id + */ + public DestinationAwsDatalake withAwsAccountId(String awsAccountId) { + Utils.checkNotNull(awsAccountId, "awsAccountId"); + this.awsAccountId = Optional.ofNullable(awsAccountId); + return this; + } + + /** + * target aws account id + */ + public DestinationAwsDatalake withAwsAccountId(Optional awsAccountId) { + Utils.checkNotNull(awsAccountId, "awsAccountId"); + this.awsAccountId = awsAccountId; + return this; + } + + /** + * The name of the S3 bucket. Read more <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html">here</a>. + */ + public DestinationAwsDatalake withBucketName(String bucketName) { + Utils.checkNotNull(bucketName, "bucketName"); + this.bucketName = bucketName; + return this; + } + + /** + * S3 prefix + */ + public DestinationAwsDatalake withBucketPrefix(String bucketPrefix) { + Utils.checkNotNull(bucketPrefix, "bucketPrefix"); + this.bucketPrefix = Optional.ofNullable(bucketPrefix); + return this; + } + + /** + * S3 prefix + */ + public DestinationAwsDatalake withBucketPrefix(Optional bucketPrefix) { + Utils.checkNotNull(bucketPrefix, "bucketPrefix"); + this.bucketPrefix = bucketPrefix; + return this; + } + + /** + * Choose How to Authenticate to AWS. + */ + public DestinationAwsDatalake withCredentials(AuthenticationMode credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Format of the data output. + */ + public DestinationAwsDatalake withFormat(OutputFormatWildcard format) { + Utils.checkNotNull(format, "format"); + this.format = Optional.ofNullable(format); + return this; + } + + /** + * Format of the data output. + */ + public DestinationAwsDatalake withFormat(Optional format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * Cast float/double as decimal(38,18). This can help achieve higher accuracy and represent numbers correctly as received from the source. + */ + public DestinationAwsDatalake withGlueCatalogFloatAsDecimal(boolean glueCatalogFloatAsDecimal) { + Utils.checkNotNull(glueCatalogFloatAsDecimal, "glueCatalogFloatAsDecimal"); + this.glueCatalogFloatAsDecimal = Optional.ofNullable(glueCatalogFloatAsDecimal); + return this; + } + + /** + * Cast float/double as decimal(38,18). This can help achieve higher accuracy and represent numbers correctly as received from the source. + */ + public DestinationAwsDatalake withGlueCatalogFloatAsDecimal(Optional glueCatalogFloatAsDecimal) { + Utils.checkNotNull(glueCatalogFloatAsDecimal, "glueCatalogFloatAsDecimal"); + this.glueCatalogFloatAsDecimal = glueCatalogFloatAsDecimal; + return this; + } + + /** + * Add a default tag key to databases created by this destination + */ + public DestinationAwsDatalake withLakeformationDatabaseDefaultTagKey(String lakeformationDatabaseDefaultTagKey) { + Utils.checkNotNull(lakeformationDatabaseDefaultTagKey, "lakeformationDatabaseDefaultTagKey"); + this.lakeformationDatabaseDefaultTagKey = Optional.ofNullable(lakeformationDatabaseDefaultTagKey); + return this; + } + + /** + * Add a default tag key to databases created by this destination + */ + public DestinationAwsDatalake withLakeformationDatabaseDefaultTagKey(Optional lakeformationDatabaseDefaultTagKey) { + Utils.checkNotNull(lakeformationDatabaseDefaultTagKey, "lakeformationDatabaseDefaultTagKey"); + this.lakeformationDatabaseDefaultTagKey = lakeformationDatabaseDefaultTagKey; + return this; + } + + /** + * Add default values for the `Tag Key` to databases created by this destination. Comma separate for multiple values. + */ + public DestinationAwsDatalake withLakeformationDatabaseDefaultTagValues(String lakeformationDatabaseDefaultTagValues) { + Utils.checkNotNull(lakeformationDatabaseDefaultTagValues, "lakeformationDatabaseDefaultTagValues"); + this.lakeformationDatabaseDefaultTagValues = Optional.ofNullable(lakeformationDatabaseDefaultTagValues); + return this; + } + + /** + * Add default values for the `Tag Key` to databases created by this destination. Comma separate for multiple values. + */ + public DestinationAwsDatalake withLakeformationDatabaseDefaultTagValues(Optional lakeformationDatabaseDefaultTagValues) { + Utils.checkNotNull(lakeformationDatabaseDefaultTagValues, "lakeformationDatabaseDefaultTagValues"); + this.lakeformationDatabaseDefaultTagValues = lakeformationDatabaseDefaultTagValues; + return this; + } + + /** + * The default database this destination will use to create tables in per stream. Can be changed per connection by customizing the namespace. + */ + public DestinationAwsDatalake withLakeformationDatabaseName(String lakeformationDatabaseName) { + Utils.checkNotNull(lakeformationDatabaseName, "lakeformationDatabaseName"); + this.lakeformationDatabaseName = lakeformationDatabaseName; + return this; + } + + /** + * Whether to create tables as LF governed tables. + */ + public DestinationAwsDatalake withLakeformationGovernedTables(boolean lakeformationGovernedTables) { + Utils.checkNotNull(lakeformationGovernedTables, "lakeformationGovernedTables"); + this.lakeformationGovernedTables = Optional.ofNullable(lakeformationGovernedTables); + return this; + } + + /** + * Whether to create tables as LF governed tables. + */ + public DestinationAwsDatalake withLakeformationGovernedTables(Optional lakeformationGovernedTables) { + Utils.checkNotNull(lakeformationGovernedTables, "lakeformationGovernedTables"); + this.lakeformationGovernedTables = lakeformationGovernedTables; + return this; + } + + /** + * Partition data by cursor fields when a cursor field is a date + */ + public DestinationAwsDatalake withPartitioning(ChooseHowToPartitionData partitioning) { + Utils.checkNotNull(partitioning, "partitioning"); + this.partitioning = Optional.ofNullable(partitioning); + return this; + } + + /** + * Partition data by cursor fields when a cursor field is a date + */ + public DestinationAwsDatalake withPartitioning(Optional partitioning) { + Utils.checkNotNull(partitioning, "partitioning"); + this.partitioning = partitioning; + return this; + } + + /** + * The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ + public DestinationAwsDatalake withRegion(S3BucketRegion region) { + Utils.checkNotNull(region, "region"); + this.region = Optional.ofNullable(region); + return this; + } + + /** + * The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ + public DestinationAwsDatalake withRegion(Optional region) { + Utils.checkNotNull(region, "region"); + this.region = region; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationAwsDatalake other = (DestinationAwsDatalake) o; + return + java.util.Objects.deepEquals(this.awsAccountId, other.awsAccountId) && + java.util.Objects.deepEquals(this.bucketName, other.bucketName) && + java.util.Objects.deepEquals(this.bucketPrefix, other.bucketPrefix) && + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.format, other.format) && + java.util.Objects.deepEquals(this.glueCatalogFloatAsDecimal, other.glueCatalogFloatAsDecimal) && + java.util.Objects.deepEquals(this.lakeformationDatabaseDefaultTagKey, other.lakeformationDatabaseDefaultTagKey) && + java.util.Objects.deepEquals(this.lakeformationDatabaseDefaultTagValues, other.lakeformationDatabaseDefaultTagValues) && + java.util.Objects.deepEquals(this.lakeformationDatabaseName, other.lakeformationDatabaseName) && + java.util.Objects.deepEquals(this.lakeformationGovernedTables, other.lakeformationGovernedTables) && + java.util.Objects.deepEquals(this.partitioning, other.partitioning) && + java.util.Objects.deepEquals(this.region, other.region); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + awsAccountId, + bucketName, + bucketPrefix, + credentials, + destinationType, + format, + glueCatalogFloatAsDecimal, + lakeformationDatabaseDefaultTagKey, + lakeformationDatabaseDefaultTagValues, + lakeformationDatabaseName, + lakeformationGovernedTables, + partitioning, + region); + } + + @Override + public String toString() { + return Utils.toString(DestinationAwsDatalake.class, + "awsAccountId", awsAccountId, + "bucketName", bucketName, + "bucketPrefix", bucketPrefix, + "credentials", credentials, + "destinationType", destinationType, + "format", format, + "glueCatalogFloatAsDecimal", glueCatalogFloatAsDecimal, + "lakeformationDatabaseDefaultTagKey", lakeformationDatabaseDefaultTagKey, + "lakeformationDatabaseDefaultTagValues", lakeformationDatabaseDefaultTagValues, + "lakeformationDatabaseName", lakeformationDatabaseName, + "lakeformationGovernedTables", lakeformationGovernedTables, + "partitioning", partitioning, + "region", region); + } + + public final static class Builder { + + private Optional awsAccountId = Optional.empty(); + + private String bucketName; + + private Optional bucketPrefix = Optional.empty(); + + private AuthenticationMode credentials; + + private Optional format = Optional.empty(); + + private Optional glueCatalogFloatAsDecimal; + + private Optional lakeformationDatabaseDefaultTagKey = Optional.empty(); + + private Optional lakeformationDatabaseDefaultTagValues = Optional.empty(); + + private String lakeformationDatabaseName; + + private Optional lakeformationGovernedTables; + + private Optional partitioning; + + private Optional region; + + private Builder() { + // force use of static builder() method + } + + /** + * target aws account id + */ + public Builder awsAccountId(String awsAccountId) { + Utils.checkNotNull(awsAccountId, "awsAccountId"); + this.awsAccountId = Optional.ofNullable(awsAccountId); + return this; + } + + /** + * target aws account id + */ + public Builder awsAccountId(Optional awsAccountId) { + Utils.checkNotNull(awsAccountId, "awsAccountId"); + this.awsAccountId = awsAccountId; + return this; + } + + /** + * The name of the S3 bucket. Read more <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html">here</a>. + */ + public Builder bucketName(String bucketName) { + Utils.checkNotNull(bucketName, "bucketName"); + this.bucketName = bucketName; + return this; + } + + /** + * S3 prefix + */ + public Builder bucketPrefix(String bucketPrefix) { + Utils.checkNotNull(bucketPrefix, "bucketPrefix"); + this.bucketPrefix = Optional.ofNullable(bucketPrefix); + return this; + } + + /** + * S3 prefix + */ + public Builder bucketPrefix(Optional bucketPrefix) { + Utils.checkNotNull(bucketPrefix, "bucketPrefix"); + this.bucketPrefix = bucketPrefix; + return this; + } + + /** + * Choose How to Authenticate to AWS. + */ + public Builder credentials(AuthenticationMode credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Format of the data output. + */ + public Builder format(OutputFormatWildcard format) { + Utils.checkNotNull(format, "format"); + this.format = Optional.ofNullable(format); + return this; + } + + /** + * Format of the data output. + */ + public Builder format(Optional format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * Cast float/double as decimal(38,18). This can help achieve higher accuracy and represent numbers correctly as received from the source. + */ + public Builder glueCatalogFloatAsDecimal(boolean glueCatalogFloatAsDecimal) { + Utils.checkNotNull(glueCatalogFloatAsDecimal, "glueCatalogFloatAsDecimal"); + this.glueCatalogFloatAsDecimal = Optional.ofNullable(glueCatalogFloatAsDecimal); + return this; + } + + /** + * Cast float/double as decimal(38,18). This can help achieve higher accuracy and represent numbers correctly as received from the source. + */ + public Builder glueCatalogFloatAsDecimal(Optional glueCatalogFloatAsDecimal) { + Utils.checkNotNull(glueCatalogFloatAsDecimal, "glueCatalogFloatAsDecimal"); + this.glueCatalogFloatAsDecimal = glueCatalogFloatAsDecimal; + return this; + } + + /** + * Add a default tag key to databases created by this destination + */ + public Builder lakeformationDatabaseDefaultTagKey(String lakeformationDatabaseDefaultTagKey) { + Utils.checkNotNull(lakeformationDatabaseDefaultTagKey, "lakeformationDatabaseDefaultTagKey"); + this.lakeformationDatabaseDefaultTagKey = Optional.ofNullable(lakeformationDatabaseDefaultTagKey); + return this; + } + + /** + * Add a default tag key to databases created by this destination + */ + public Builder lakeformationDatabaseDefaultTagKey(Optional lakeformationDatabaseDefaultTagKey) { + Utils.checkNotNull(lakeformationDatabaseDefaultTagKey, "lakeformationDatabaseDefaultTagKey"); + this.lakeformationDatabaseDefaultTagKey = lakeformationDatabaseDefaultTagKey; + return this; + } + + /** + * Add default values for the `Tag Key` to databases created by this destination. Comma separate for multiple values. + */ + public Builder lakeformationDatabaseDefaultTagValues(String lakeformationDatabaseDefaultTagValues) { + Utils.checkNotNull(lakeformationDatabaseDefaultTagValues, "lakeformationDatabaseDefaultTagValues"); + this.lakeformationDatabaseDefaultTagValues = Optional.ofNullable(lakeformationDatabaseDefaultTagValues); + return this; + } + + /** + * Add default values for the `Tag Key` to databases created by this destination. Comma separate for multiple values. + */ + public Builder lakeformationDatabaseDefaultTagValues(Optional lakeformationDatabaseDefaultTagValues) { + Utils.checkNotNull(lakeformationDatabaseDefaultTagValues, "lakeformationDatabaseDefaultTagValues"); + this.lakeformationDatabaseDefaultTagValues = lakeformationDatabaseDefaultTagValues; + return this; + } + + /** + * The default database this destination will use to create tables in per stream. Can be changed per connection by customizing the namespace. + */ + public Builder lakeformationDatabaseName(String lakeformationDatabaseName) { + Utils.checkNotNull(lakeformationDatabaseName, "lakeformationDatabaseName"); + this.lakeformationDatabaseName = lakeformationDatabaseName; + return this; + } + + /** + * Whether to create tables as LF governed tables. + */ + public Builder lakeformationGovernedTables(boolean lakeformationGovernedTables) { + Utils.checkNotNull(lakeformationGovernedTables, "lakeformationGovernedTables"); + this.lakeformationGovernedTables = Optional.ofNullable(lakeformationGovernedTables); + return this; + } + + /** + * Whether to create tables as LF governed tables. + */ + public Builder lakeformationGovernedTables(Optional lakeformationGovernedTables) { + Utils.checkNotNull(lakeformationGovernedTables, "lakeformationGovernedTables"); + this.lakeformationGovernedTables = lakeformationGovernedTables; + return this; + } + + /** + * Partition data by cursor fields when a cursor field is a date + */ + public Builder partitioning(ChooseHowToPartitionData partitioning) { + Utils.checkNotNull(partitioning, "partitioning"); + this.partitioning = Optional.ofNullable(partitioning); + return this; + } + + /** + * Partition data by cursor fields when a cursor field is a date + */ + public Builder partitioning(Optional partitioning) { + Utils.checkNotNull(partitioning, "partitioning"); + this.partitioning = partitioning; + return this; + } + + /** + * The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ + public Builder region(S3BucketRegion region) { + Utils.checkNotNull(region, "region"); + this.region = Optional.ofNullable(region); + return this; + } + + /** + * The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ + public Builder region(Optional region) { + Utils.checkNotNull(region, "region"); + this.region = region; + return this; + } + + public DestinationAwsDatalake build() { + if (glueCatalogFloatAsDecimal == null) { + glueCatalogFloatAsDecimal = _SINGLETON_VALUE_GlueCatalogFloatAsDecimal.value(); + } + if (lakeformationGovernedTables == null) { + lakeformationGovernedTables = _SINGLETON_VALUE_LakeformationGovernedTables.value(); + } + if (partitioning == null) { + partitioning = _SINGLETON_VALUE_Partitioning.value(); + } + if (region == null) { + region = _SINGLETON_VALUE_Region.value(); + } + return new DestinationAwsDatalake( + awsAccountId, + bucketName, + bucketPrefix, + credentials, + format, + glueCatalogFloatAsDecimal, + lakeformationDatabaseDefaultTagKey, + lakeformationDatabaseDefaultTagValues, + lakeformationDatabaseName, + lakeformationGovernedTables, + partitioning, + region); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"aws-datalake\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_GlueCatalogFloatAsDecimal = + new LazySingletonValue<>( + "glue_catalog_float_as_decimal", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_LakeformationGovernedTables = + new LazySingletonValue<>( + "lakeformation_governed_tables", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Partitioning = + new LazySingletonValue<>( + "partitioning", + "\"NO PARTITIONING\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Region = + new LazySingletonValue<>( + "region", + "\"\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationAwsDatalakeCompressionCodecOptional.java b/src/main/java/com/airbyte/api/models/shared/DestinationAwsDatalakeCompressionCodecOptional.java new file mode 100644 index 000000000..5acec9a63 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationAwsDatalakeCompressionCodecOptional.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationAwsDatalakeCompressionCodecOptional - The compression algorithm used to compress data. + */ +public enum DestinationAwsDatalakeCompressionCodecOptional { + UNCOMPRESSED("UNCOMPRESSED"), + SNAPPY("SNAPPY"), + GZIP("GZIP"), + ZSTD("ZSTD"); + + @JsonValue + private final String value; + + private DestinationAwsDatalakeCompressionCodecOptional(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationAwsDatalakeCredentialsTitle.java b/src/main/java/com/airbyte/api/models/shared/DestinationAwsDatalakeCredentialsTitle.java new file mode 100644 index 000000000..484be6087 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationAwsDatalakeCredentialsTitle.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationAwsDatalakeCredentialsTitle - Name of the credentials + */ +public enum DestinationAwsDatalakeCredentialsTitle { + IAM_USER("IAM User"); + + @JsonValue + private final String value; + + private DestinationAwsDatalakeCredentialsTitle(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationAwsDatalakeFormatTypeWildcard.java b/src/main/java/com/airbyte/api/models/shared/DestinationAwsDatalakeFormatTypeWildcard.java new file mode 100644 index 000000000..8fc5b99cc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationAwsDatalakeFormatTypeWildcard.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationAwsDatalakeFormatTypeWildcard { + PARQUET("Parquet"); + + @JsonValue + private final String value; + + private DestinationAwsDatalakeFormatTypeWildcard(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationAzureBlobStorage.java b/src/main/java/com/airbyte/api/models/shared/DestinationAzureBlobStorage.java new file mode 100644 index 000000000..32e12c631 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationAzureBlobStorage.java @@ -0,0 +1,463 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationAzureBlobStorage { + + /** + * The Azure blob storage account key. + */ + @JsonProperty("azure_blob_storage_account_key") + private String azureBlobStorageAccountKey; + + /** + * The account's name of the Azure Blob Storage. + */ + @JsonProperty("azure_blob_storage_account_name") + private String azureBlobStorageAccountName; + + /** + * The name of the Azure blob storage container. If not exists - will be created automatically. May be empty, then will be created automatically airbytecontainer+timestamp + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("azure_blob_storage_container_name") + private Optional azureBlobStorageContainerName; + + /** + * This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("azure_blob_storage_endpoint_domain_name") + private Optional azureBlobStorageEndpointDomainName; + + /** + * The amount of megabytes to buffer for the output stream to Azure. This will impact memory footprint on workers, but may need adjustment for performance and appropriate block size in Azure. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("azure_blob_storage_output_buffer_size") + private Optional azureBlobStorageOutputBufferSize; + + /** + * The amount of megabytes after which the connector should spill the records in a new blob object. Make sure to configure size greater than individual records. Enter 0 if not applicable + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("azure_blob_storage_spill_size") + private Optional azureBlobStorageSpillSize; + + @JsonProperty("destinationType") + private AzureBlobStorage destinationType; + + /** + * Output data format + */ + @JsonProperty("format") + private OutputFormat format; + + public DestinationAzureBlobStorage( + @JsonProperty("azure_blob_storage_account_key") String azureBlobStorageAccountKey, + @JsonProperty("azure_blob_storage_account_name") String azureBlobStorageAccountName, + @JsonProperty("azure_blob_storage_container_name") Optional azureBlobStorageContainerName, + @JsonProperty("azure_blob_storage_endpoint_domain_name") Optional azureBlobStorageEndpointDomainName, + @JsonProperty("azure_blob_storage_output_buffer_size") Optional azureBlobStorageOutputBufferSize, + @JsonProperty("azure_blob_storage_spill_size") Optional azureBlobStorageSpillSize, + @JsonProperty("format") OutputFormat format) { + Utils.checkNotNull(azureBlobStorageAccountKey, "azureBlobStorageAccountKey"); + Utils.checkNotNull(azureBlobStorageAccountName, "azureBlobStorageAccountName"); + Utils.checkNotNull(azureBlobStorageContainerName, "azureBlobStorageContainerName"); + Utils.checkNotNull(azureBlobStorageEndpointDomainName, "azureBlobStorageEndpointDomainName"); + Utils.checkNotNull(azureBlobStorageOutputBufferSize, "azureBlobStorageOutputBufferSize"); + Utils.checkNotNull(azureBlobStorageSpillSize, "azureBlobStorageSpillSize"); + Utils.checkNotNull(format, "format"); + this.azureBlobStorageAccountKey = azureBlobStorageAccountKey; + this.azureBlobStorageAccountName = azureBlobStorageAccountName; + this.azureBlobStorageContainerName = azureBlobStorageContainerName; + this.azureBlobStorageEndpointDomainName = azureBlobStorageEndpointDomainName; + this.azureBlobStorageOutputBufferSize = azureBlobStorageOutputBufferSize; + this.azureBlobStorageSpillSize = azureBlobStorageSpillSize; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.format = format; + } + + /** + * The Azure blob storage account key. + */ + public String azureBlobStorageAccountKey() { + return azureBlobStorageAccountKey; + } + + /** + * The account's name of the Azure Blob Storage. + */ + public String azureBlobStorageAccountName() { + return azureBlobStorageAccountName; + } + + /** + * The name of the Azure blob storage container. If not exists - will be created automatically. May be empty, then will be created automatically airbytecontainer+timestamp + */ + public Optional azureBlobStorageContainerName() { + return azureBlobStorageContainerName; + } + + /** + * This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. + */ + public Optional azureBlobStorageEndpointDomainName() { + return azureBlobStorageEndpointDomainName; + } + + /** + * The amount of megabytes to buffer for the output stream to Azure. This will impact memory footprint on workers, but may need adjustment for performance and appropriate block size in Azure. + */ + public Optional azureBlobStorageOutputBufferSize() { + return azureBlobStorageOutputBufferSize; + } + + /** + * The amount of megabytes after which the connector should spill the records in a new blob object. Make sure to configure size greater than individual records. Enter 0 if not applicable + */ + public Optional azureBlobStorageSpillSize() { + return azureBlobStorageSpillSize; + } + + public AzureBlobStorage destinationType() { + return destinationType; + } + + /** + * Output data format + */ + public OutputFormat format() { + return format; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Azure blob storage account key. + */ + public DestinationAzureBlobStorage withAzureBlobStorageAccountKey(String azureBlobStorageAccountKey) { + Utils.checkNotNull(azureBlobStorageAccountKey, "azureBlobStorageAccountKey"); + this.azureBlobStorageAccountKey = azureBlobStorageAccountKey; + return this; + } + + /** + * The account's name of the Azure Blob Storage. + */ + public DestinationAzureBlobStorage withAzureBlobStorageAccountName(String azureBlobStorageAccountName) { + Utils.checkNotNull(azureBlobStorageAccountName, "azureBlobStorageAccountName"); + this.azureBlobStorageAccountName = azureBlobStorageAccountName; + return this; + } + + /** + * The name of the Azure blob storage container. If not exists - will be created automatically. May be empty, then will be created automatically airbytecontainer+timestamp + */ + public DestinationAzureBlobStorage withAzureBlobStorageContainerName(String azureBlobStorageContainerName) { + Utils.checkNotNull(azureBlobStorageContainerName, "azureBlobStorageContainerName"); + this.azureBlobStorageContainerName = Optional.ofNullable(azureBlobStorageContainerName); + return this; + } + + /** + * The name of the Azure blob storage container. If not exists - will be created automatically. May be empty, then will be created automatically airbytecontainer+timestamp + */ + public DestinationAzureBlobStorage withAzureBlobStorageContainerName(Optional azureBlobStorageContainerName) { + Utils.checkNotNull(azureBlobStorageContainerName, "azureBlobStorageContainerName"); + this.azureBlobStorageContainerName = azureBlobStorageContainerName; + return this; + } + + /** + * This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. + */ + public DestinationAzureBlobStorage withAzureBlobStorageEndpointDomainName(String azureBlobStorageEndpointDomainName) { + Utils.checkNotNull(azureBlobStorageEndpointDomainName, "azureBlobStorageEndpointDomainName"); + this.azureBlobStorageEndpointDomainName = Optional.ofNullable(azureBlobStorageEndpointDomainName); + return this; + } + + /** + * This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. + */ + public DestinationAzureBlobStorage withAzureBlobStorageEndpointDomainName(Optional azureBlobStorageEndpointDomainName) { + Utils.checkNotNull(azureBlobStorageEndpointDomainName, "azureBlobStorageEndpointDomainName"); + this.azureBlobStorageEndpointDomainName = azureBlobStorageEndpointDomainName; + return this; + } + + /** + * The amount of megabytes to buffer for the output stream to Azure. This will impact memory footprint on workers, but may need adjustment for performance and appropriate block size in Azure. + */ + public DestinationAzureBlobStorage withAzureBlobStorageOutputBufferSize(long azureBlobStorageOutputBufferSize) { + Utils.checkNotNull(azureBlobStorageOutputBufferSize, "azureBlobStorageOutputBufferSize"); + this.azureBlobStorageOutputBufferSize = Optional.ofNullable(azureBlobStorageOutputBufferSize); + return this; + } + + /** + * The amount of megabytes to buffer for the output stream to Azure. This will impact memory footprint on workers, but may need adjustment for performance and appropriate block size in Azure. + */ + public DestinationAzureBlobStorage withAzureBlobStorageOutputBufferSize(Optional azureBlobStorageOutputBufferSize) { + Utils.checkNotNull(azureBlobStorageOutputBufferSize, "azureBlobStorageOutputBufferSize"); + this.azureBlobStorageOutputBufferSize = azureBlobStorageOutputBufferSize; + return this; + } + + /** + * The amount of megabytes after which the connector should spill the records in a new blob object. Make sure to configure size greater than individual records. Enter 0 if not applicable + */ + public DestinationAzureBlobStorage withAzureBlobStorageSpillSize(long azureBlobStorageSpillSize) { + Utils.checkNotNull(azureBlobStorageSpillSize, "azureBlobStorageSpillSize"); + this.azureBlobStorageSpillSize = Optional.ofNullable(azureBlobStorageSpillSize); + return this; + } + + /** + * The amount of megabytes after which the connector should spill the records in a new blob object. Make sure to configure size greater than individual records. Enter 0 if not applicable + */ + public DestinationAzureBlobStorage withAzureBlobStorageSpillSize(Optional azureBlobStorageSpillSize) { + Utils.checkNotNull(azureBlobStorageSpillSize, "azureBlobStorageSpillSize"); + this.azureBlobStorageSpillSize = azureBlobStorageSpillSize; + return this; + } + + /** + * Output data format + */ + public DestinationAzureBlobStorage withFormat(OutputFormat format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationAzureBlobStorage other = (DestinationAzureBlobStorage) o; + return + java.util.Objects.deepEquals(this.azureBlobStorageAccountKey, other.azureBlobStorageAccountKey) && + java.util.Objects.deepEquals(this.azureBlobStorageAccountName, other.azureBlobStorageAccountName) && + java.util.Objects.deepEquals(this.azureBlobStorageContainerName, other.azureBlobStorageContainerName) && + java.util.Objects.deepEquals(this.azureBlobStorageEndpointDomainName, other.azureBlobStorageEndpointDomainName) && + java.util.Objects.deepEquals(this.azureBlobStorageOutputBufferSize, other.azureBlobStorageOutputBufferSize) && + java.util.Objects.deepEquals(this.azureBlobStorageSpillSize, other.azureBlobStorageSpillSize) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.format, other.format); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + azureBlobStorageAccountKey, + azureBlobStorageAccountName, + azureBlobStorageContainerName, + azureBlobStorageEndpointDomainName, + azureBlobStorageOutputBufferSize, + azureBlobStorageSpillSize, + destinationType, + format); + } + + @Override + public String toString() { + return Utils.toString(DestinationAzureBlobStorage.class, + "azureBlobStorageAccountKey", azureBlobStorageAccountKey, + "azureBlobStorageAccountName", azureBlobStorageAccountName, + "azureBlobStorageContainerName", azureBlobStorageContainerName, + "azureBlobStorageEndpointDomainName", azureBlobStorageEndpointDomainName, + "azureBlobStorageOutputBufferSize", azureBlobStorageOutputBufferSize, + "azureBlobStorageSpillSize", azureBlobStorageSpillSize, + "destinationType", destinationType, + "format", format); + } + + public final static class Builder { + + private String azureBlobStorageAccountKey; + + private String azureBlobStorageAccountName; + + private Optional azureBlobStorageContainerName = Optional.empty(); + + private Optional azureBlobStorageEndpointDomainName; + + private Optional azureBlobStorageOutputBufferSize; + + private Optional azureBlobStorageSpillSize; + + private OutputFormat format; + + private Builder() { + // force use of static builder() method + } + + /** + * The Azure blob storage account key. + */ + public Builder azureBlobStorageAccountKey(String azureBlobStorageAccountKey) { + Utils.checkNotNull(azureBlobStorageAccountKey, "azureBlobStorageAccountKey"); + this.azureBlobStorageAccountKey = azureBlobStorageAccountKey; + return this; + } + + /** + * The account's name of the Azure Blob Storage. + */ + public Builder azureBlobStorageAccountName(String azureBlobStorageAccountName) { + Utils.checkNotNull(azureBlobStorageAccountName, "azureBlobStorageAccountName"); + this.azureBlobStorageAccountName = azureBlobStorageAccountName; + return this; + } + + /** + * The name of the Azure blob storage container. If not exists - will be created automatically. May be empty, then will be created automatically airbytecontainer+timestamp + */ + public Builder azureBlobStorageContainerName(String azureBlobStorageContainerName) { + Utils.checkNotNull(azureBlobStorageContainerName, "azureBlobStorageContainerName"); + this.azureBlobStorageContainerName = Optional.ofNullable(azureBlobStorageContainerName); + return this; + } + + /** + * The name of the Azure blob storage container. If not exists - will be created automatically. May be empty, then will be created automatically airbytecontainer+timestamp + */ + public Builder azureBlobStorageContainerName(Optional azureBlobStorageContainerName) { + Utils.checkNotNull(azureBlobStorageContainerName, "azureBlobStorageContainerName"); + this.azureBlobStorageContainerName = azureBlobStorageContainerName; + return this; + } + + /** + * This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. + */ + public Builder azureBlobStorageEndpointDomainName(String azureBlobStorageEndpointDomainName) { + Utils.checkNotNull(azureBlobStorageEndpointDomainName, "azureBlobStorageEndpointDomainName"); + this.azureBlobStorageEndpointDomainName = Optional.ofNullable(azureBlobStorageEndpointDomainName); + return this; + } + + /** + * This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. + */ + public Builder azureBlobStorageEndpointDomainName(Optional azureBlobStorageEndpointDomainName) { + Utils.checkNotNull(azureBlobStorageEndpointDomainName, "azureBlobStorageEndpointDomainName"); + this.azureBlobStorageEndpointDomainName = azureBlobStorageEndpointDomainName; + return this; + } + + /** + * The amount of megabytes to buffer for the output stream to Azure. This will impact memory footprint on workers, but may need adjustment for performance and appropriate block size in Azure. + */ + public Builder azureBlobStorageOutputBufferSize(long azureBlobStorageOutputBufferSize) { + Utils.checkNotNull(azureBlobStorageOutputBufferSize, "azureBlobStorageOutputBufferSize"); + this.azureBlobStorageOutputBufferSize = Optional.ofNullable(azureBlobStorageOutputBufferSize); + return this; + } + + /** + * The amount of megabytes to buffer for the output stream to Azure. This will impact memory footprint on workers, but may need adjustment for performance and appropriate block size in Azure. + */ + public Builder azureBlobStorageOutputBufferSize(Optional azureBlobStorageOutputBufferSize) { + Utils.checkNotNull(azureBlobStorageOutputBufferSize, "azureBlobStorageOutputBufferSize"); + this.azureBlobStorageOutputBufferSize = azureBlobStorageOutputBufferSize; + return this; + } + + /** + * The amount of megabytes after which the connector should spill the records in a new blob object. Make sure to configure size greater than individual records. Enter 0 if not applicable + */ + public Builder azureBlobStorageSpillSize(long azureBlobStorageSpillSize) { + Utils.checkNotNull(azureBlobStorageSpillSize, "azureBlobStorageSpillSize"); + this.azureBlobStorageSpillSize = Optional.ofNullable(azureBlobStorageSpillSize); + return this; + } + + /** + * The amount of megabytes after which the connector should spill the records in a new blob object. Make sure to configure size greater than individual records. Enter 0 if not applicable + */ + public Builder azureBlobStorageSpillSize(Optional azureBlobStorageSpillSize) { + Utils.checkNotNull(azureBlobStorageSpillSize, "azureBlobStorageSpillSize"); + this.azureBlobStorageSpillSize = azureBlobStorageSpillSize; + return this; + } + + /** + * Output data format + */ + public Builder format(OutputFormat format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + public DestinationAzureBlobStorage build() { + if (azureBlobStorageEndpointDomainName == null) { + azureBlobStorageEndpointDomainName = _SINGLETON_VALUE_AzureBlobStorageEndpointDomainName.value(); + } + if (azureBlobStorageOutputBufferSize == null) { + azureBlobStorageOutputBufferSize = _SINGLETON_VALUE_AzureBlobStorageOutputBufferSize.value(); + } + if (azureBlobStorageSpillSize == null) { + azureBlobStorageSpillSize = _SINGLETON_VALUE_AzureBlobStorageSpillSize.value(); + } + return new DestinationAzureBlobStorage( + azureBlobStorageAccountKey, + azureBlobStorageAccountName, + azureBlobStorageContainerName, + azureBlobStorageEndpointDomainName, + azureBlobStorageOutputBufferSize, + azureBlobStorageSpillSize, + format); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AzureBlobStorageEndpointDomainName = + new LazySingletonValue<>( + "azure_blob_storage_endpoint_domain_name", + "\"blob.core.windows.net\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_AzureBlobStorageOutputBufferSize = + new LazySingletonValue<>( + "azure_blob_storage_output_buffer_size", + "5", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_AzureBlobStorageSpillSize = + new LazySingletonValue<>( + "azure_blob_storage_spill_size", + "500", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"azure-blob-storage\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationAzureBlobStorageFormatType.java b/src/main/java/com/airbyte/api/models/shared/DestinationAzureBlobStorageFormatType.java new file mode 100644 index 000000000..ae5d3aa8b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationAzureBlobStorageFormatType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationAzureBlobStorageFormatType { + JSONL("JSONL"); + + @JsonValue + private final String value; + + private DestinationAzureBlobStorageFormatType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON.java b/src/main/java/com/airbyte/api/models/shared/DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON.java new file mode 100644 index 000000000..658a20f21 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON.java @@ -0,0 +1,79 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON { + + @JsonProperty("format_type") + private DestinationAzureBlobStorageFormatType formatType; + + public DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON() { + + this.formatType = Builder._SINGLETON_VALUE_FormatType.value(); + } + + public DestinationAzureBlobStorageFormatType formatType() { + return formatType; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON other = (DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON) o; + return + java.util.Objects.deepEquals(this.formatType, other.formatType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + formatType); + } + + @Override + public String toString() { + return Utils.toString(DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON.class, + "formatType", formatType); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON build() { + return new DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FormatType = + new LazySingletonValue<>( + "format_type", + "\"JSONL\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationBigquery.java b/src/main/java/com/airbyte/api/models/shared/DestinationBigquery.java new file mode 100644 index 000000000..5340d3e1b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationBigquery.java @@ -0,0 +1,581 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationBigquery { + + /** + * Google BigQuery client's chunk (buffer) size (MIN=1, MAX = 15) for each table. The size that will be written by a single RPC. Written data will be buffered and only flushed upon reaching this size or closing the channel. The default 15MB value is used if not set explicitly. Read more <a href="https://googleapis.dev/python/bigquery/latest/generated/google.cloud.bigquery.client.Client.html">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("big_query_client_buffer_size_mb") + private Optional bigQueryClientBufferSizeMb; + + /** + * The contents of the JSON service account key. Check out the <a href="https://docs.airbyte.com/integrations/destinations/bigquery#service-account-key">docs</a> if you need help generating this key. Default credentials will be used if this field is left empty. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials_json") + private Optional credentialsJson; + + /** + * The default BigQuery Dataset ID that tables are replicated to if the source does not specify a namespace. Read more <a href="https://cloud.google.com/bigquery/docs/datasets#create-dataset">here</a>. + */ + @JsonProperty("dataset_id") + private String datasetId; + + /** + * The location of the dataset. Warning: Changes made after creation will not be applied. Read more <a href="https://cloud.google.com/bigquery/docs/locations">here</a>. + */ + @JsonProperty("dataset_location") + private DatasetLocation datasetLocation; + + @JsonProperty("destinationType") + private Bigquery destinationType; + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("disable_type_dedupe") + private Optional disableTypeDedupe; + + /** + * The way data will be uploaded to BigQuery. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("loading_method") + private Optional loadingMethod; + + /** + * The GCP project ID for the project containing the target BigQuery dataset. Read more <a href="https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects">here</a>. + */ + @JsonProperty("project_id") + private String projectId; + + /** + * The dataset to write raw tables into (default: airbyte_internal) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("raw_data_dataset") + private Optional rawDataDataset; + + /** + * Interactive run type means that the query is executed as soon as possible, and these queries count towards concurrent rate limit and daily limit. Read more about interactive run type <a href="https://cloud.google.com/bigquery/docs/running-queries#queries">here</a>. Batch queries are queued and started as soon as idle resources are available in the BigQuery shared resource pool, which usually occurs within a few minutes. Batch queries don’t count towards your concurrent rate limit. Read more about batch queries <a href="https://cloud.google.com/bigquery/docs/running-queries#batch">here</a>. The default "interactive" value is used if not set explicitly. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("transformation_priority") + private Optional transformationPriority; + + public DestinationBigquery( + @JsonProperty("big_query_client_buffer_size_mb") Optional bigQueryClientBufferSizeMb, + @JsonProperty("credentials_json") Optional credentialsJson, + @JsonProperty("dataset_id") String datasetId, + @JsonProperty("dataset_location") DatasetLocation datasetLocation, + @JsonProperty("disable_type_dedupe") Optional disableTypeDedupe, + @JsonProperty("loading_method") Optional loadingMethod, + @JsonProperty("project_id") String projectId, + @JsonProperty("raw_data_dataset") Optional rawDataDataset, + @JsonProperty("transformation_priority") Optional transformationPriority) { + Utils.checkNotNull(bigQueryClientBufferSizeMb, "bigQueryClientBufferSizeMb"); + Utils.checkNotNull(credentialsJson, "credentialsJson"); + Utils.checkNotNull(datasetId, "datasetId"); + Utils.checkNotNull(datasetLocation, "datasetLocation"); + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + Utils.checkNotNull(loadingMethod, "loadingMethod"); + Utils.checkNotNull(projectId, "projectId"); + Utils.checkNotNull(rawDataDataset, "rawDataDataset"); + Utils.checkNotNull(transformationPriority, "transformationPriority"); + this.bigQueryClientBufferSizeMb = bigQueryClientBufferSizeMb; + this.credentialsJson = credentialsJson; + this.datasetId = datasetId; + this.datasetLocation = datasetLocation; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.disableTypeDedupe = disableTypeDedupe; + this.loadingMethod = loadingMethod; + this.projectId = projectId; + this.rawDataDataset = rawDataDataset; + this.transformationPriority = transformationPriority; + } + + /** + * Google BigQuery client's chunk (buffer) size (MIN=1, MAX = 15) for each table. The size that will be written by a single RPC. Written data will be buffered and only flushed upon reaching this size or closing the channel. The default 15MB value is used if not set explicitly. Read more <a href="https://googleapis.dev/python/bigquery/latest/generated/google.cloud.bigquery.client.Client.html">here</a>. + */ + public Optional bigQueryClientBufferSizeMb() { + return bigQueryClientBufferSizeMb; + } + + /** + * The contents of the JSON service account key. Check out the <a href="https://docs.airbyte.com/integrations/destinations/bigquery#service-account-key">docs</a> if you need help generating this key. Default credentials will be used if this field is left empty. + */ + public Optional credentialsJson() { + return credentialsJson; + } + + /** + * The default BigQuery Dataset ID that tables are replicated to if the source does not specify a namespace. Read more <a href="https://cloud.google.com/bigquery/docs/datasets#create-dataset">here</a>. + */ + public String datasetId() { + return datasetId; + } + + /** + * The location of the dataset. Warning: Changes made after creation will not be applied. Read more <a href="https://cloud.google.com/bigquery/docs/locations">here</a>. + */ + public DatasetLocation datasetLocation() { + return datasetLocation; + } + + public Bigquery destinationType() { + return destinationType; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public Optional disableTypeDedupe() { + return disableTypeDedupe; + } + + /** + * The way data will be uploaded to BigQuery. + */ + public Optional loadingMethod() { + return loadingMethod; + } + + /** + * The GCP project ID for the project containing the target BigQuery dataset. Read more <a href="https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects">here</a>. + */ + public String projectId() { + return projectId; + } + + /** + * The dataset to write raw tables into (default: airbyte_internal) + */ + public Optional rawDataDataset() { + return rawDataDataset; + } + + /** + * Interactive run type means that the query is executed as soon as possible, and these queries count towards concurrent rate limit and daily limit. Read more about interactive run type <a href="https://cloud.google.com/bigquery/docs/running-queries#queries">here</a>. Batch queries are queued and started as soon as idle resources are available in the BigQuery shared resource pool, which usually occurs within a few minutes. Batch queries don’t count towards your concurrent rate limit. Read more about batch queries <a href="https://cloud.google.com/bigquery/docs/running-queries#batch">here</a>. The default "interactive" value is used if not set explicitly. + */ + public Optional transformationPriority() { + return transformationPriority; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Google BigQuery client's chunk (buffer) size (MIN=1, MAX = 15) for each table. The size that will be written by a single RPC. Written data will be buffered and only flushed upon reaching this size or closing the channel. The default 15MB value is used if not set explicitly. Read more <a href="https://googleapis.dev/python/bigquery/latest/generated/google.cloud.bigquery.client.Client.html">here</a>. + */ + public DestinationBigquery withBigQueryClientBufferSizeMb(long bigQueryClientBufferSizeMb) { + Utils.checkNotNull(bigQueryClientBufferSizeMb, "bigQueryClientBufferSizeMb"); + this.bigQueryClientBufferSizeMb = Optional.ofNullable(bigQueryClientBufferSizeMb); + return this; + } + + /** + * Google BigQuery client's chunk (buffer) size (MIN=1, MAX = 15) for each table. The size that will be written by a single RPC. Written data will be buffered and only flushed upon reaching this size or closing the channel. The default 15MB value is used if not set explicitly. Read more <a href="https://googleapis.dev/python/bigquery/latest/generated/google.cloud.bigquery.client.Client.html">here</a>. + */ + public DestinationBigquery withBigQueryClientBufferSizeMb(Optional bigQueryClientBufferSizeMb) { + Utils.checkNotNull(bigQueryClientBufferSizeMb, "bigQueryClientBufferSizeMb"); + this.bigQueryClientBufferSizeMb = bigQueryClientBufferSizeMb; + return this; + } + + /** + * The contents of the JSON service account key. Check out the <a href="https://docs.airbyte.com/integrations/destinations/bigquery#service-account-key">docs</a> if you need help generating this key. Default credentials will be used if this field is left empty. + */ + public DestinationBigquery withCredentialsJson(String credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.credentialsJson = Optional.ofNullable(credentialsJson); + return this; + } + + /** + * The contents of the JSON service account key. Check out the <a href="https://docs.airbyte.com/integrations/destinations/bigquery#service-account-key">docs</a> if you need help generating this key. Default credentials will be used if this field is left empty. + */ + public DestinationBigquery withCredentialsJson(Optional credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.credentialsJson = credentialsJson; + return this; + } + + /** + * The default BigQuery Dataset ID that tables are replicated to if the source does not specify a namespace. Read more <a href="https://cloud.google.com/bigquery/docs/datasets#create-dataset">here</a>. + */ + public DestinationBigquery withDatasetId(String datasetId) { + Utils.checkNotNull(datasetId, "datasetId"); + this.datasetId = datasetId; + return this; + } + + /** + * The location of the dataset. Warning: Changes made after creation will not be applied. Read more <a href="https://cloud.google.com/bigquery/docs/locations">here</a>. + */ + public DestinationBigquery withDatasetLocation(DatasetLocation datasetLocation) { + Utils.checkNotNull(datasetLocation, "datasetLocation"); + this.datasetLocation = datasetLocation; + return this; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public DestinationBigquery withDisableTypeDedupe(boolean disableTypeDedupe) { + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + this.disableTypeDedupe = Optional.ofNullable(disableTypeDedupe); + return this; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public DestinationBigquery withDisableTypeDedupe(Optional disableTypeDedupe) { + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + this.disableTypeDedupe = disableTypeDedupe; + return this; + } + + /** + * The way data will be uploaded to BigQuery. + */ + public DestinationBigquery withLoadingMethod(LoadingMethod loadingMethod) { + Utils.checkNotNull(loadingMethod, "loadingMethod"); + this.loadingMethod = Optional.ofNullable(loadingMethod); + return this; + } + + /** + * The way data will be uploaded to BigQuery. + */ + public DestinationBigquery withLoadingMethod(Optional loadingMethod) { + Utils.checkNotNull(loadingMethod, "loadingMethod"); + this.loadingMethod = loadingMethod; + return this; + } + + /** + * The GCP project ID for the project containing the target BigQuery dataset. Read more <a href="https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects">here</a>. + */ + public DestinationBigquery withProjectId(String projectId) { + Utils.checkNotNull(projectId, "projectId"); + this.projectId = projectId; + return this; + } + + /** + * The dataset to write raw tables into (default: airbyte_internal) + */ + public DestinationBigquery withRawDataDataset(String rawDataDataset) { + Utils.checkNotNull(rawDataDataset, "rawDataDataset"); + this.rawDataDataset = Optional.ofNullable(rawDataDataset); + return this; + } + + /** + * The dataset to write raw tables into (default: airbyte_internal) + */ + public DestinationBigquery withRawDataDataset(Optional rawDataDataset) { + Utils.checkNotNull(rawDataDataset, "rawDataDataset"); + this.rawDataDataset = rawDataDataset; + return this; + } + + /** + * Interactive run type means that the query is executed as soon as possible, and these queries count towards concurrent rate limit and daily limit. Read more about interactive run type <a href="https://cloud.google.com/bigquery/docs/running-queries#queries">here</a>. Batch queries are queued and started as soon as idle resources are available in the BigQuery shared resource pool, which usually occurs within a few minutes. Batch queries don’t count towards your concurrent rate limit. Read more about batch queries <a href="https://cloud.google.com/bigquery/docs/running-queries#batch">here</a>. The default "interactive" value is used if not set explicitly. + */ + public DestinationBigquery withTransformationPriority(TransformationQueryRunType transformationPriority) { + Utils.checkNotNull(transformationPriority, "transformationPriority"); + this.transformationPriority = Optional.ofNullable(transformationPriority); + return this; + } + + /** + * Interactive run type means that the query is executed as soon as possible, and these queries count towards concurrent rate limit and daily limit. Read more about interactive run type <a href="https://cloud.google.com/bigquery/docs/running-queries#queries">here</a>. Batch queries are queued and started as soon as idle resources are available in the BigQuery shared resource pool, which usually occurs within a few minutes. Batch queries don’t count towards your concurrent rate limit. Read more about batch queries <a href="https://cloud.google.com/bigquery/docs/running-queries#batch">here</a>. The default "interactive" value is used if not set explicitly. + */ + public DestinationBigquery withTransformationPriority(Optional transformationPriority) { + Utils.checkNotNull(transformationPriority, "transformationPriority"); + this.transformationPriority = transformationPriority; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationBigquery other = (DestinationBigquery) o; + return + java.util.Objects.deepEquals(this.bigQueryClientBufferSizeMb, other.bigQueryClientBufferSizeMb) && + java.util.Objects.deepEquals(this.credentialsJson, other.credentialsJson) && + java.util.Objects.deepEquals(this.datasetId, other.datasetId) && + java.util.Objects.deepEquals(this.datasetLocation, other.datasetLocation) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.disableTypeDedupe, other.disableTypeDedupe) && + java.util.Objects.deepEquals(this.loadingMethod, other.loadingMethod) && + java.util.Objects.deepEquals(this.projectId, other.projectId) && + java.util.Objects.deepEquals(this.rawDataDataset, other.rawDataDataset) && + java.util.Objects.deepEquals(this.transformationPriority, other.transformationPriority); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + bigQueryClientBufferSizeMb, + credentialsJson, + datasetId, + datasetLocation, + destinationType, + disableTypeDedupe, + loadingMethod, + projectId, + rawDataDataset, + transformationPriority); + } + + @Override + public String toString() { + return Utils.toString(DestinationBigquery.class, + "bigQueryClientBufferSizeMb", bigQueryClientBufferSizeMb, + "credentialsJson", credentialsJson, + "datasetId", datasetId, + "datasetLocation", datasetLocation, + "destinationType", destinationType, + "disableTypeDedupe", disableTypeDedupe, + "loadingMethod", loadingMethod, + "projectId", projectId, + "rawDataDataset", rawDataDataset, + "transformationPriority", transformationPriority); + } + + public final static class Builder { + + private Optional bigQueryClientBufferSizeMb; + + private Optional credentialsJson = Optional.empty(); + + private String datasetId; + + private DatasetLocation datasetLocation; + + private Optional disableTypeDedupe; + + private Optional loadingMethod = Optional.empty(); + + private String projectId; + + private Optional rawDataDataset = Optional.empty(); + + private Optional transformationPriority; + + private Builder() { + // force use of static builder() method + } + + /** + * Google BigQuery client's chunk (buffer) size (MIN=1, MAX = 15) for each table. The size that will be written by a single RPC. Written data will be buffered and only flushed upon reaching this size or closing the channel. The default 15MB value is used if not set explicitly. Read more <a href="https://googleapis.dev/python/bigquery/latest/generated/google.cloud.bigquery.client.Client.html">here</a>. + */ + public Builder bigQueryClientBufferSizeMb(long bigQueryClientBufferSizeMb) { + Utils.checkNotNull(bigQueryClientBufferSizeMb, "bigQueryClientBufferSizeMb"); + this.bigQueryClientBufferSizeMb = Optional.ofNullable(bigQueryClientBufferSizeMb); + return this; + } + + /** + * Google BigQuery client's chunk (buffer) size (MIN=1, MAX = 15) for each table. The size that will be written by a single RPC. Written data will be buffered and only flushed upon reaching this size or closing the channel. The default 15MB value is used if not set explicitly. Read more <a href="https://googleapis.dev/python/bigquery/latest/generated/google.cloud.bigquery.client.Client.html">here</a>. + */ + public Builder bigQueryClientBufferSizeMb(Optional bigQueryClientBufferSizeMb) { + Utils.checkNotNull(bigQueryClientBufferSizeMb, "bigQueryClientBufferSizeMb"); + this.bigQueryClientBufferSizeMb = bigQueryClientBufferSizeMb; + return this; + } + + /** + * The contents of the JSON service account key. Check out the <a href="https://docs.airbyte.com/integrations/destinations/bigquery#service-account-key">docs</a> if you need help generating this key. Default credentials will be used if this field is left empty. + */ + public Builder credentialsJson(String credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.credentialsJson = Optional.ofNullable(credentialsJson); + return this; + } + + /** + * The contents of the JSON service account key. Check out the <a href="https://docs.airbyte.com/integrations/destinations/bigquery#service-account-key">docs</a> if you need help generating this key. Default credentials will be used if this field is left empty. + */ + public Builder credentialsJson(Optional credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.credentialsJson = credentialsJson; + return this; + } + + /** + * The default BigQuery Dataset ID that tables are replicated to if the source does not specify a namespace. Read more <a href="https://cloud.google.com/bigquery/docs/datasets#create-dataset">here</a>. + */ + public Builder datasetId(String datasetId) { + Utils.checkNotNull(datasetId, "datasetId"); + this.datasetId = datasetId; + return this; + } + + /** + * The location of the dataset. Warning: Changes made after creation will not be applied. Read more <a href="https://cloud.google.com/bigquery/docs/locations">here</a>. + */ + public Builder datasetLocation(DatasetLocation datasetLocation) { + Utils.checkNotNull(datasetLocation, "datasetLocation"); + this.datasetLocation = datasetLocation; + return this; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public Builder disableTypeDedupe(boolean disableTypeDedupe) { + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + this.disableTypeDedupe = Optional.ofNullable(disableTypeDedupe); + return this; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public Builder disableTypeDedupe(Optional disableTypeDedupe) { + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + this.disableTypeDedupe = disableTypeDedupe; + return this; + } + + /** + * The way data will be uploaded to BigQuery. + */ + public Builder loadingMethod(LoadingMethod loadingMethod) { + Utils.checkNotNull(loadingMethod, "loadingMethod"); + this.loadingMethod = Optional.ofNullable(loadingMethod); + return this; + } + + /** + * The way data will be uploaded to BigQuery. + */ + public Builder loadingMethod(Optional loadingMethod) { + Utils.checkNotNull(loadingMethod, "loadingMethod"); + this.loadingMethod = loadingMethod; + return this; + } + + /** + * The GCP project ID for the project containing the target BigQuery dataset. Read more <a href="https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects">here</a>. + */ + public Builder projectId(String projectId) { + Utils.checkNotNull(projectId, "projectId"); + this.projectId = projectId; + return this; + } + + /** + * The dataset to write raw tables into (default: airbyte_internal) + */ + public Builder rawDataDataset(String rawDataDataset) { + Utils.checkNotNull(rawDataDataset, "rawDataDataset"); + this.rawDataDataset = Optional.ofNullable(rawDataDataset); + return this; + } + + /** + * The dataset to write raw tables into (default: airbyte_internal) + */ + public Builder rawDataDataset(Optional rawDataDataset) { + Utils.checkNotNull(rawDataDataset, "rawDataDataset"); + this.rawDataDataset = rawDataDataset; + return this; + } + + /** + * Interactive run type means that the query is executed as soon as possible, and these queries count towards concurrent rate limit and daily limit. Read more about interactive run type <a href="https://cloud.google.com/bigquery/docs/running-queries#queries">here</a>. Batch queries are queued and started as soon as idle resources are available in the BigQuery shared resource pool, which usually occurs within a few minutes. Batch queries don’t count towards your concurrent rate limit. Read more about batch queries <a href="https://cloud.google.com/bigquery/docs/running-queries#batch">here</a>. The default "interactive" value is used if not set explicitly. + */ + public Builder transformationPriority(TransformationQueryRunType transformationPriority) { + Utils.checkNotNull(transformationPriority, "transformationPriority"); + this.transformationPriority = Optional.ofNullable(transformationPriority); + return this; + } + + /** + * Interactive run type means that the query is executed as soon as possible, and these queries count towards concurrent rate limit and daily limit. Read more about interactive run type <a href="https://cloud.google.com/bigquery/docs/running-queries#queries">here</a>. Batch queries are queued and started as soon as idle resources are available in the BigQuery shared resource pool, which usually occurs within a few minutes. Batch queries don’t count towards your concurrent rate limit. Read more about batch queries <a href="https://cloud.google.com/bigquery/docs/running-queries#batch">here</a>. The default "interactive" value is used if not set explicitly. + */ + public Builder transformationPriority(Optional transformationPriority) { + Utils.checkNotNull(transformationPriority, "transformationPriority"); + this.transformationPriority = transformationPriority; + return this; + } + + public DestinationBigquery build() { + if (bigQueryClientBufferSizeMb == null) { + bigQueryClientBufferSizeMb = _SINGLETON_VALUE_BigQueryClientBufferSizeMb.value(); + } + if (disableTypeDedupe == null) { + disableTypeDedupe = _SINGLETON_VALUE_DisableTypeDedupe.value(); + } + if (transformationPriority == null) { + transformationPriority = _SINGLETON_VALUE_TransformationPriority.value(); + } + return new DestinationBigquery( + bigQueryClientBufferSizeMb, + credentialsJson, + datasetId, + datasetLocation, + disableTypeDedupe, + loadingMethod, + projectId, + rawDataDataset, + transformationPriority); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_BigQueryClientBufferSizeMb = + new LazySingletonValue<>( + "big_query_client_buffer_size_mb", + "15", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"bigquery\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DisableTypeDedupe = + new LazySingletonValue<>( + "disable_type_dedupe", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TransformationPriority = + new LazySingletonValue<>( + "transformation_priority", + "\"interactive\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationBigqueryCredentialType.java b/src/main/java/com/airbyte/api/models/shared/DestinationBigqueryCredentialType.java new file mode 100644 index 000000000..bbcf9b462 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationBigqueryCredentialType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationBigqueryCredentialType { + HMAC_KEY("HMAC_KEY"); + + @JsonValue + private final String value; + + private DestinationBigqueryCredentialType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationBigqueryHMACKey.java b/src/main/java/com/airbyte/api/models/shared/DestinationBigqueryHMACKey.java new file mode 100644 index 000000000..3aeb6af9f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationBigqueryHMACKey.java @@ -0,0 +1,157 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DestinationBigqueryHMACKey { + + @JsonProperty("credential_type") + private DestinationBigqueryCredentialType credentialType; + + /** + * HMAC key access ID. When linked to a service account, this ID is 61 characters long; when linked to a user account, it is 24 characters long. + */ + @JsonProperty("hmac_key_access_id") + private String hmacKeyAccessId; + + /** + * The corresponding secret for the access ID. It is a 40-character base-64 encoded string. + */ + @JsonProperty("hmac_key_secret") + private String hmacKeySecret; + + public DestinationBigqueryHMACKey( + @JsonProperty("hmac_key_access_id") String hmacKeyAccessId, + @JsonProperty("hmac_key_secret") String hmacKeySecret) { + Utils.checkNotNull(hmacKeyAccessId, "hmacKeyAccessId"); + Utils.checkNotNull(hmacKeySecret, "hmacKeySecret"); + this.credentialType = Builder._SINGLETON_VALUE_CredentialType.value(); + this.hmacKeyAccessId = hmacKeyAccessId; + this.hmacKeySecret = hmacKeySecret; + } + + public DestinationBigqueryCredentialType credentialType() { + return credentialType; + } + + /** + * HMAC key access ID. When linked to a service account, this ID is 61 characters long; when linked to a user account, it is 24 characters long. + */ + public String hmacKeyAccessId() { + return hmacKeyAccessId; + } + + /** + * The corresponding secret for the access ID. It is a 40-character base-64 encoded string. + */ + public String hmacKeySecret() { + return hmacKeySecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HMAC key access ID. When linked to a service account, this ID is 61 characters long; when linked to a user account, it is 24 characters long. + */ + public DestinationBigqueryHMACKey withHmacKeyAccessId(String hmacKeyAccessId) { + Utils.checkNotNull(hmacKeyAccessId, "hmacKeyAccessId"); + this.hmacKeyAccessId = hmacKeyAccessId; + return this; + } + + /** + * The corresponding secret for the access ID. It is a 40-character base-64 encoded string. + */ + public DestinationBigqueryHMACKey withHmacKeySecret(String hmacKeySecret) { + Utils.checkNotNull(hmacKeySecret, "hmacKeySecret"); + this.hmacKeySecret = hmacKeySecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationBigqueryHMACKey other = (DestinationBigqueryHMACKey) o; + return + java.util.Objects.deepEquals(this.credentialType, other.credentialType) && + java.util.Objects.deepEquals(this.hmacKeyAccessId, other.hmacKeyAccessId) && + java.util.Objects.deepEquals(this.hmacKeySecret, other.hmacKeySecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentialType, + hmacKeyAccessId, + hmacKeySecret); + } + + @Override + public String toString() { + return Utils.toString(DestinationBigqueryHMACKey.class, + "credentialType", credentialType, + "hmacKeyAccessId", hmacKeyAccessId, + "hmacKeySecret", hmacKeySecret); + } + + public final static class Builder { + + private String hmacKeyAccessId; + + private String hmacKeySecret; + + private Builder() { + // force use of static builder() method + } + + /** + * HMAC key access ID. When linked to a service account, this ID is 61 characters long; when linked to a user account, it is 24 characters long. + */ + public Builder hmacKeyAccessId(String hmacKeyAccessId) { + Utils.checkNotNull(hmacKeyAccessId, "hmacKeyAccessId"); + this.hmacKeyAccessId = hmacKeyAccessId; + return this; + } + + /** + * The corresponding secret for the access ID. It is a 40-character base-64 encoded string. + */ + public Builder hmacKeySecret(String hmacKeySecret) { + Utils.checkNotNull(hmacKeySecret, "hmacKeySecret"); + this.hmacKeySecret = hmacKeySecret; + return this; + } + + public DestinationBigqueryHMACKey build() { + return new DestinationBigqueryHMACKey( + hmacKeyAccessId, + hmacKeySecret); + } + + private static final LazySingletonValue _SINGLETON_VALUE_CredentialType = + new LazySingletonValue<>( + "credential_type", + "\"HMAC_KEY\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationBigqueryMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationBigqueryMethod.java new file mode 100644 index 000000000..975b985b7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationBigqueryMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationBigqueryMethod { + STANDARD("Standard"); + + @JsonValue + private final String value; + + private DestinationBigqueryMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationClickhouse.java b/src/main/java/com/airbyte/api/models/shared/DestinationClickhouse.java new file mode 100644 index 000000000..9d9764c4e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationClickhouse.java @@ -0,0 +1,504 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationClickhouse { + + /** + * Name of the database. + */ + @JsonProperty("database") + private String database; + + @JsonProperty("destinationType") + private Clickhouse destinationType; + + /** + * Hostname of the database. + */ + @JsonProperty("host") + private String host; + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("jdbc_url_params") + private Optional jdbcUrlParams; + + /** + * Password associated with the username. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("password") + private Optional password; + + /** + * HTTP port of the database. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + /** + * The schema to write raw tables into (default: airbyte_internal) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("raw_data_schema") + private Optional rawDataSchema; + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_method") + private Optional tunnelMethod; + + /** + * Username to use to access the database. + */ + @JsonProperty("username") + private String username; + + public DestinationClickhouse( + @JsonProperty("database") String database, + @JsonProperty("host") String host, + @JsonProperty("jdbc_url_params") Optional jdbcUrlParams, + @JsonProperty("password") Optional password, + @JsonProperty("port") Optional port, + @JsonProperty("raw_data_schema") Optional rawDataSchema, + @JsonProperty("tunnel_method") Optional tunnelMethod, + @JsonProperty("username") String username) { + Utils.checkNotNull(database, "database"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + Utils.checkNotNull(username, "username"); + this.database = database; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.host = host; + this.jdbcUrlParams = jdbcUrlParams; + this.password = password; + this.port = port; + this.rawDataSchema = rawDataSchema; + this.tunnelMethod = tunnelMethod; + this.username = username; + } + + /** + * Name of the database. + */ + public String database() { + return database; + } + + public Clickhouse destinationType() { + return destinationType; + } + + /** + * Hostname of the database. + */ + public String host() { + return host; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Optional jdbcUrlParams() { + return jdbcUrlParams; + } + + /** + * Password associated with the username. + */ + public Optional password() { + return password; + } + + /** + * HTTP port of the database. + */ + public Optional port() { + return port; + } + + /** + * The schema to write raw tables into (default: airbyte_internal) + */ + public Optional rawDataSchema() { + return rawDataSchema; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Optional tunnelMethod() { + return tunnelMethod; + } + + /** + * Username to use to access the database. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Name of the database. + */ + public DestinationClickhouse withDatabase(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * Hostname of the database. + */ + public DestinationClickhouse withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public DestinationClickhouse withJdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public DestinationClickhouse withJdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * Password associated with the username. + */ + public DestinationClickhouse withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * Password associated with the username. + */ + public DestinationClickhouse withPassword(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * HTTP port of the database. + */ + public DestinationClickhouse withPort(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * HTTP port of the database. + */ + public DestinationClickhouse withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * The schema to write raw tables into (default: airbyte_internal) + */ + public DestinationClickhouse withRawDataSchema(String rawDataSchema) { + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + this.rawDataSchema = Optional.ofNullable(rawDataSchema); + return this; + } + + /** + * The schema to write raw tables into (default: airbyte_internal) + */ + public DestinationClickhouse withRawDataSchema(Optional rawDataSchema) { + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + this.rawDataSchema = rawDataSchema; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public DestinationClickhouse withTunnelMethod(SSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public DestinationClickhouse withTunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * Username to use to access the database. + */ + public DestinationClickhouse withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationClickhouse other = (DestinationClickhouse) o; + return + java.util.Objects.deepEquals(this.database, other.database) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.jdbcUrlParams, other.jdbcUrlParams) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.rawDataSchema, other.rawDataSchema) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + database, + destinationType, + host, + jdbcUrlParams, + password, + port, + rawDataSchema, + tunnelMethod, + username); + } + + @Override + public String toString() { + return Utils.toString(DestinationClickhouse.class, + "database", database, + "destinationType", destinationType, + "host", host, + "jdbcUrlParams", jdbcUrlParams, + "password", password, + "port", port, + "rawDataSchema", rawDataSchema, + "tunnelMethod", tunnelMethod, + "username", username); + } + + public final static class Builder { + + private String database; + + private String host; + + private Optional jdbcUrlParams = Optional.empty(); + + private Optional password = Optional.empty(); + + private Optional port; + + private Optional rawDataSchema = Optional.empty(); + + private Optional tunnelMethod = Optional.empty(); + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Name of the database. + */ + public Builder database(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * Hostname of the database. + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * Password associated with the username. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * Password associated with the username. + */ + public Builder password(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * HTTP port of the database. + */ + public Builder port(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * HTTP port of the database. + */ + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * The schema to write raw tables into (default: airbyte_internal) + */ + public Builder rawDataSchema(String rawDataSchema) { + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + this.rawDataSchema = Optional.ofNullable(rawDataSchema); + return this; + } + + /** + * The schema to write raw tables into (default: airbyte_internal) + */ + public Builder rawDataSchema(Optional rawDataSchema) { + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + this.rawDataSchema = rawDataSchema; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(SSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * Username to use to access the database. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public DestinationClickhouse build() { + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + return new DestinationClickhouse( + database, + host, + jdbcUrlParams, + password, + port, + rawDataSchema, + tunnelMethod, + username); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"clickhouse\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "8123", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationClickhouseSchemasTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationClickhouseSchemasTunnelMethod.java new file mode 100644 index 000000000..2924764c1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationClickhouseSchemasTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationClickhouseSchemasTunnelMethod - Connect through a jump server tunnel host using username and password authentication + */ +public enum DestinationClickhouseSchemasTunnelMethod { + SSH_PASSWORD_AUTH("SSH_PASSWORD_AUTH"); + + @JsonValue + private final String value; + + private DestinationClickhouseSchemasTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationClickhouseTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationClickhouseTunnelMethod.java new file mode 100644 index 000000000..d4e3030da --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationClickhouseTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationClickhouseTunnelMethod - Connect through a jump server tunnel host using username and ssh key + */ +public enum DestinationClickhouseTunnelMethod { + SSH_KEY_AUTH("SSH_KEY_AUTH"); + + @JsonValue + private final String value; + + private DestinationClickhouseTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationConfiguration.java b/src/main/java/com/airbyte/api/models/shared/DestinationConfiguration.java new file mode 100644 index 000000000..e730a59b5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationConfiguration.java @@ -0,0 +1,325 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationConfiguration - The values required to configure the destination. + */ + +@JsonDeserialize(using = DestinationConfiguration._Deserializer.class) +public class DestinationConfiguration { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationConfiguration(TypedObject value) { + this.value = value; + } + + public static DestinationConfiguration of(DestinationGoogleSheets value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationAstra value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationAwsDatalake value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationAzureBlobStorage value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationBigquery value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationClickhouse value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationConvex value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationDatabricks value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationDevNull value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationDuckdb value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationDynamodb value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationElasticsearch value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationFirestore value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationGcs value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationLangchain value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationMilvus value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationMongodb value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationMssql value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationMysql value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationOracle value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationPinecone value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationPostgres value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationPubsub value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationQdrant value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationRedis value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationRedshift value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationS3 value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationS3Glue value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationSftpJson value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationSnowflake value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationTeradata value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationTypesense value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationVectara value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationConfiguration of(DestinationWeaviate value) { + Utils.checkNotNull(value, "value"); + return new DestinationConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationGoogleSheets}
    • + *
    • {@code DestinationAstra}
    • + *
    • {@code DestinationAwsDatalake}
    • + *
    • {@code DestinationAzureBlobStorage}
    • + *
    • {@code DestinationBigquery}
    • + *
    • {@code DestinationClickhouse}
    • + *
    • {@code DestinationConvex}
    • + *
    • {@code DestinationDatabricks}
    • + *
    • {@code DestinationDevNull}
    • + *
    • {@code DestinationDuckdb}
    • + *
    • {@code DestinationDynamodb}
    • + *
    • {@code DestinationElasticsearch}
    • + *
    • {@code DestinationFirestore}
    • + *
    • {@code DestinationGcs}
    • + *
    • {@code DestinationLangchain}
    • + *
    • {@code DestinationMilvus}
    • + *
    • {@code DestinationMongodb}
    • + *
    • {@code DestinationMssql}
    • + *
    • {@code DestinationMysql}
    • + *
    • {@code DestinationOracle}
    • + *
    • {@code DestinationPinecone}
    • + *
    • {@code DestinationPostgres}
    • + *
    • {@code DestinationPubsub}
    • + *
    • {@code DestinationQdrant}
    • + *
    • {@code DestinationRedis}
    • + *
    • {@code DestinationRedshift}
    • + *
    • {@code DestinationS3}
    • + *
    • {@code DestinationS3Glue}
    • + *
    • {@code DestinationSftpJson}
    • + *
    • {@code DestinationSnowflake}
    • + *
    • {@code DestinationTeradata}
    • + *
    • {@code DestinationTypesense}
    • + *
    • {@code DestinationVectara}
    • + *
    • {@code DestinationWeaviate}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationConfiguration other = (DestinationConfiguration) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationConfiguration.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationConfiguration.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationConvex.java b/src/main/java/com/airbyte/api/models/shared/DestinationConvex.java new file mode 100644 index 000000000..9a784bc22 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationConvex.java @@ -0,0 +1,157 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DestinationConvex { + + /** + * API access key used to send data to a Convex deployment. + */ + @JsonProperty("access_key") + private String accessKey; + + /** + * URL of the Convex deployment that is the destination + */ + @JsonProperty("deployment_url") + private String deploymentUrl; + + @JsonProperty("destinationType") + private Convex destinationType; + + public DestinationConvex( + @JsonProperty("access_key") String accessKey, + @JsonProperty("deployment_url") String deploymentUrl) { + Utils.checkNotNull(accessKey, "accessKey"); + Utils.checkNotNull(deploymentUrl, "deploymentUrl"); + this.accessKey = accessKey; + this.deploymentUrl = deploymentUrl; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + } + + /** + * API access key used to send data to a Convex deployment. + */ + public String accessKey() { + return accessKey; + } + + /** + * URL of the Convex deployment that is the destination + */ + public String deploymentUrl() { + return deploymentUrl; + } + + public Convex destinationType() { + return destinationType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API access key used to send data to a Convex deployment. + */ + public DestinationConvex withAccessKey(String accessKey) { + Utils.checkNotNull(accessKey, "accessKey"); + this.accessKey = accessKey; + return this; + } + + /** + * URL of the Convex deployment that is the destination + */ + public DestinationConvex withDeploymentUrl(String deploymentUrl) { + Utils.checkNotNull(deploymentUrl, "deploymentUrl"); + this.deploymentUrl = deploymentUrl; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationConvex other = (DestinationConvex) o; + return + java.util.Objects.deepEquals(this.accessKey, other.accessKey) && + java.util.Objects.deepEquals(this.deploymentUrl, other.deploymentUrl) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessKey, + deploymentUrl, + destinationType); + } + + @Override + public String toString() { + return Utils.toString(DestinationConvex.class, + "accessKey", accessKey, + "deploymentUrl", deploymentUrl, + "destinationType", destinationType); + } + + public final static class Builder { + + private String accessKey; + + private String deploymentUrl; + + private Builder() { + // force use of static builder() method + } + + /** + * API access key used to send data to a Convex deployment. + */ + public Builder accessKey(String accessKey) { + Utils.checkNotNull(accessKey, "accessKey"); + this.accessKey = accessKey; + return this; + } + + /** + * URL of the Convex deployment that is the destination + */ + public Builder deploymentUrl(String deploymentUrl) { + Utils.checkNotNull(deploymentUrl, "deploymentUrl"); + this.deploymentUrl = deploymentUrl; + return this; + } + + public DestinationConvex build() { + return new DestinationConvex( + accessKey, + deploymentUrl); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"convex\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationCreateRequest.java b/src/main/java/com/airbyte/api/models/shared/DestinationCreateRequest.java new file mode 100644 index 000000000..f015fd1d3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationCreateRequest.java @@ -0,0 +1,229 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationCreateRequest { + + /** + * The values required to configure the destination. + */ + @JsonProperty("configuration") + private DestinationConfiguration configuration; + + /** + * The UUID of the connector definition. One of configuration.destinationType or definitionId must be provided. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("definitionId") + private Optional definitionId; + + /** + * Name of the destination e.g. dev-mysql-instance. + */ + @JsonProperty("name") + private String name; + + @JsonProperty("workspaceId") + private String workspaceId; + + public DestinationCreateRequest( + @JsonProperty("configuration") DestinationConfiguration configuration, + @JsonProperty("definitionId") Optional definitionId, + @JsonProperty("name") String name, + @JsonProperty("workspaceId") String workspaceId) { + Utils.checkNotNull(configuration, "configuration"); + Utils.checkNotNull(definitionId, "definitionId"); + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(workspaceId, "workspaceId"); + this.configuration = configuration; + this.definitionId = definitionId; + this.name = name; + this.workspaceId = workspaceId; + } + + /** + * The values required to configure the destination. + */ + public DestinationConfiguration configuration() { + return configuration; + } + + /** + * The UUID of the connector definition. One of configuration.destinationType or definitionId must be provided. + */ + public Optional definitionId() { + return definitionId; + } + + /** + * Name of the destination e.g. dev-mysql-instance. + */ + public String name() { + return name; + } + + public String workspaceId() { + return workspaceId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The values required to configure the destination. + */ + public DestinationCreateRequest withConfiguration(DestinationConfiguration configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = configuration; + return this; + } + + /** + * The UUID of the connector definition. One of configuration.destinationType or definitionId must be provided. + */ + public DestinationCreateRequest withDefinitionId(String definitionId) { + Utils.checkNotNull(definitionId, "definitionId"); + this.definitionId = Optional.ofNullable(definitionId); + return this; + } + + /** + * The UUID of the connector definition. One of configuration.destinationType or definitionId must be provided. + */ + public DestinationCreateRequest withDefinitionId(Optional definitionId) { + Utils.checkNotNull(definitionId, "definitionId"); + this.definitionId = definitionId; + return this; + } + + /** + * Name of the destination e.g. dev-mysql-instance. + */ + public DestinationCreateRequest withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + public DestinationCreateRequest withWorkspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationCreateRequest other = (DestinationCreateRequest) o; + return + java.util.Objects.deepEquals(this.configuration, other.configuration) && + java.util.Objects.deepEquals(this.definitionId, other.definitionId) && + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.workspaceId, other.workspaceId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + configuration, + definitionId, + name, + workspaceId); + } + + @Override + public String toString() { + return Utils.toString(DestinationCreateRequest.class, + "configuration", configuration, + "definitionId", definitionId, + "name", name, + "workspaceId", workspaceId); + } + + public final static class Builder { + + private DestinationConfiguration configuration; + + private Optional definitionId = Optional.empty(); + + private String name; + + private String workspaceId; + + private Builder() { + // force use of static builder() method + } + + /** + * The values required to configure the destination. + */ + public Builder configuration(DestinationConfiguration configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = configuration; + return this; + } + + /** + * The UUID of the connector definition. One of configuration.destinationType or definitionId must be provided. + */ + public Builder definitionId(String definitionId) { + Utils.checkNotNull(definitionId, "definitionId"); + this.definitionId = Optional.ofNullable(definitionId); + return this; + } + + /** + * The UUID of the connector definition. One of configuration.destinationType or definitionId must be provided. + */ + public Builder definitionId(Optional definitionId) { + Utils.checkNotNull(definitionId, "definitionId"); + this.definitionId = definitionId; + return this; + } + + /** + * Name of the destination e.g. dev-mysql-instance. + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + public Builder workspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + public DestinationCreateRequest build() { + return new DestinationCreateRequest( + configuration, + definitionId, + name, + workspaceId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationDatabricks.java b/src/main/java/com/airbyte/api/models/shared/DestinationDatabricks.java new file mode 100644 index 000000000..95d6efea1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationDatabricks.java @@ -0,0 +1,639 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationDatabricks { + + /** + * You must agree to the Databricks JDBC Driver <a href="https://databricks.com/jdbc-odbc-driver-license">Terms & Conditions</a> to use this connector. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("accept_terms") + private Optional acceptTerms; + + /** + * Storage on which the delta lake is built. + */ + @JsonProperty("data_source") + private DataSource dataSource; + + /** + * The name of the catalog. If not specified otherwise, the "hive_metastore" will be used. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("database") + private Optional database; + + /** + * Databricks Cluster HTTP Path. + */ + @JsonProperty("databricks_http_path") + private String databricksHttpPath; + + /** + * Databricks Personal Access Token for making authenticated requests. + */ + @JsonProperty("databricks_personal_access_token") + private String databricksPersonalAccessToken; + + /** + * Databricks Cluster Port. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("databricks_port") + private Optional databricksPort; + + /** + * Databricks Cluster Server Hostname. + */ + @JsonProperty("databricks_server_hostname") + private String databricksServerHostname; + + @JsonProperty("destinationType") + private Databricks destinationType; + + /** + * Support schema evolution for all streams. If "false", the connector might fail when a stream's schema changes. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("enable_schema_evolution") + private Optional enableSchemaEvolution; + + /** + * Default to 'true'. Switch it to 'false' for debugging purpose. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("purge_staging_data") + private Optional purgeStagingData; + + /** + * The default schema tables are written. If not specified otherwise, the "default" will be used. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schema") + private Optional schema; + + public DestinationDatabricks( + @JsonProperty("accept_terms") Optional acceptTerms, + @JsonProperty("data_source") DataSource dataSource, + @JsonProperty("database") Optional database, + @JsonProperty("databricks_http_path") String databricksHttpPath, + @JsonProperty("databricks_personal_access_token") String databricksPersonalAccessToken, + @JsonProperty("databricks_port") Optional databricksPort, + @JsonProperty("databricks_server_hostname") String databricksServerHostname, + @JsonProperty("enable_schema_evolution") Optional enableSchemaEvolution, + @JsonProperty("purge_staging_data") Optional purgeStagingData, + @JsonProperty("schema") Optional schema) { + Utils.checkNotNull(acceptTerms, "acceptTerms"); + Utils.checkNotNull(dataSource, "dataSource"); + Utils.checkNotNull(database, "database"); + Utils.checkNotNull(databricksHttpPath, "databricksHttpPath"); + Utils.checkNotNull(databricksPersonalAccessToken, "databricksPersonalAccessToken"); + Utils.checkNotNull(databricksPort, "databricksPort"); + Utils.checkNotNull(databricksServerHostname, "databricksServerHostname"); + Utils.checkNotNull(enableSchemaEvolution, "enableSchemaEvolution"); + Utils.checkNotNull(purgeStagingData, "purgeStagingData"); + Utils.checkNotNull(schema, "schema"); + this.acceptTerms = acceptTerms; + this.dataSource = dataSource; + this.database = database; + this.databricksHttpPath = databricksHttpPath; + this.databricksPersonalAccessToken = databricksPersonalAccessToken; + this.databricksPort = databricksPort; + this.databricksServerHostname = databricksServerHostname; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.enableSchemaEvolution = enableSchemaEvolution; + this.purgeStagingData = purgeStagingData; + this.schema = schema; + } + + /** + * You must agree to the Databricks JDBC Driver <a href="https://databricks.com/jdbc-odbc-driver-license">Terms & Conditions</a> to use this connector. + */ + public Optional acceptTerms() { + return acceptTerms; + } + + /** + * Storage on which the delta lake is built. + */ + public DataSource dataSource() { + return dataSource; + } + + /** + * The name of the catalog. If not specified otherwise, the "hive_metastore" will be used. + */ + public Optional database() { + return database; + } + + /** + * Databricks Cluster HTTP Path. + */ + public String databricksHttpPath() { + return databricksHttpPath; + } + + /** + * Databricks Personal Access Token for making authenticated requests. + */ + public String databricksPersonalAccessToken() { + return databricksPersonalAccessToken; + } + + /** + * Databricks Cluster Port. + */ + public Optional databricksPort() { + return databricksPort; + } + + /** + * Databricks Cluster Server Hostname. + */ + public String databricksServerHostname() { + return databricksServerHostname; + } + + public Databricks destinationType() { + return destinationType; + } + + /** + * Support schema evolution for all streams. If "false", the connector might fail when a stream's schema changes. + */ + public Optional enableSchemaEvolution() { + return enableSchemaEvolution; + } + + /** + * Default to 'true'. Switch it to 'false' for debugging purpose. + */ + public Optional purgeStagingData() { + return purgeStagingData; + } + + /** + * The default schema tables are written. If not specified otherwise, the "default" will be used. + */ + public Optional schema() { + return schema; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * You must agree to the Databricks JDBC Driver <a href="https://databricks.com/jdbc-odbc-driver-license">Terms & Conditions</a> to use this connector. + */ + public DestinationDatabricks withAcceptTerms(boolean acceptTerms) { + Utils.checkNotNull(acceptTerms, "acceptTerms"); + this.acceptTerms = Optional.ofNullable(acceptTerms); + return this; + } + + /** + * You must agree to the Databricks JDBC Driver <a href="https://databricks.com/jdbc-odbc-driver-license">Terms & Conditions</a> to use this connector. + */ + public DestinationDatabricks withAcceptTerms(Optional acceptTerms) { + Utils.checkNotNull(acceptTerms, "acceptTerms"); + this.acceptTerms = acceptTerms; + return this; + } + + /** + * Storage on which the delta lake is built. + */ + public DestinationDatabricks withDataSource(DataSource dataSource) { + Utils.checkNotNull(dataSource, "dataSource"); + this.dataSource = dataSource; + return this; + } + + /** + * The name of the catalog. If not specified otherwise, the "hive_metastore" will be used. + */ + public DestinationDatabricks withDatabase(String database) { + Utils.checkNotNull(database, "database"); + this.database = Optional.ofNullable(database); + return this; + } + + /** + * The name of the catalog. If not specified otherwise, the "hive_metastore" will be used. + */ + public DestinationDatabricks withDatabase(Optional database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * Databricks Cluster HTTP Path. + */ + public DestinationDatabricks withDatabricksHttpPath(String databricksHttpPath) { + Utils.checkNotNull(databricksHttpPath, "databricksHttpPath"); + this.databricksHttpPath = databricksHttpPath; + return this; + } + + /** + * Databricks Personal Access Token for making authenticated requests. + */ + public DestinationDatabricks withDatabricksPersonalAccessToken(String databricksPersonalAccessToken) { + Utils.checkNotNull(databricksPersonalAccessToken, "databricksPersonalAccessToken"); + this.databricksPersonalAccessToken = databricksPersonalAccessToken; + return this; + } + + /** + * Databricks Cluster Port. + */ + public DestinationDatabricks withDatabricksPort(String databricksPort) { + Utils.checkNotNull(databricksPort, "databricksPort"); + this.databricksPort = Optional.ofNullable(databricksPort); + return this; + } + + /** + * Databricks Cluster Port. + */ + public DestinationDatabricks withDatabricksPort(Optional databricksPort) { + Utils.checkNotNull(databricksPort, "databricksPort"); + this.databricksPort = databricksPort; + return this; + } + + /** + * Databricks Cluster Server Hostname. + */ + public DestinationDatabricks withDatabricksServerHostname(String databricksServerHostname) { + Utils.checkNotNull(databricksServerHostname, "databricksServerHostname"); + this.databricksServerHostname = databricksServerHostname; + return this; + } + + /** + * Support schema evolution for all streams. If "false", the connector might fail when a stream's schema changes. + */ + public DestinationDatabricks withEnableSchemaEvolution(boolean enableSchemaEvolution) { + Utils.checkNotNull(enableSchemaEvolution, "enableSchemaEvolution"); + this.enableSchemaEvolution = Optional.ofNullable(enableSchemaEvolution); + return this; + } + + /** + * Support schema evolution for all streams. If "false", the connector might fail when a stream's schema changes. + */ + public DestinationDatabricks withEnableSchemaEvolution(Optional enableSchemaEvolution) { + Utils.checkNotNull(enableSchemaEvolution, "enableSchemaEvolution"); + this.enableSchemaEvolution = enableSchemaEvolution; + return this; + } + + /** + * Default to 'true'. Switch it to 'false' for debugging purpose. + */ + public DestinationDatabricks withPurgeStagingData(boolean purgeStagingData) { + Utils.checkNotNull(purgeStagingData, "purgeStagingData"); + this.purgeStagingData = Optional.ofNullable(purgeStagingData); + return this; + } + + /** + * Default to 'true'. Switch it to 'false' for debugging purpose. + */ + public DestinationDatabricks withPurgeStagingData(Optional purgeStagingData) { + Utils.checkNotNull(purgeStagingData, "purgeStagingData"); + this.purgeStagingData = purgeStagingData; + return this; + } + + /** + * The default schema tables are written. If not specified otherwise, the "default" will be used. + */ + public DestinationDatabricks withSchema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = Optional.ofNullable(schema); + return this; + } + + /** + * The default schema tables are written. If not specified otherwise, the "default" will be used. + */ + public DestinationDatabricks withSchema(Optional schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationDatabricks other = (DestinationDatabricks) o; + return + java.util.Objects.deepEquals(this.acceptTerms, other.acceptTerms) && + java.util.Objects.deepEquals(this.dataSource, other.dataSource) && + java.util.Objects.deepEquals(this.database, other.database) && + java.util.Objects.deepEquals(this.databricksHttpPath, other.databricksHttpPath) && + java.util.Objects.deepEquals(this.databricksPersonalAccessToken, other.databricksPersonalAccessToken) && + java.util.Objects.deepEquals(this.databricksPort, other.databricksPort) && + java.util.Objects.deepEquals(this.databricksServerHostname, other.databricksServerHostname) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.enableSchemaEvolution, other.enableSchemaEvolution) && + java.util.Objects.deepEquals(this.purgeStagingData, other.purgeStagingData) && + java.util.Objects.deepEquals(this.schema, other.schema); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + acceptTerms, + dataSource, + database, + databricksHttpPath, + databricksPersonalAccessToken, + databricksPort, + databricksServerHostname, + destinationType, + enableSchemaEvolution, + purgeStagingData, + schema); + } + + @Override + public String toString() { + return Utils.toString(DestinationDatabricks.class, + "acceptTerms", acceptTerms, + "dataSource", dataSource, + "database", database, + "databricksHttpPath", databricksHttpPath, + "databricksPersonalAccessToken", databricksPersonalAccessToken, + "databricksPort", databricksPort, + "databricksServerHostname", databricksServerHostname, + "destinationType", destinationType, + "enableSchemaEvolution", enableSchemaEvolution, + "purgeStagingData", purgeStagingData, + "schema", schema); + } + + public final static class Builder { + + private Optional acceptTerms; + + private DataSource dataSource; + + private Optional database = Optional.empty(); + + private String databricksHttpPath; + + private String databricksPersonalAccessToken; + + private Optional databricksPort; + + private String databricksServerHostname; + + private Optional enableSchemaEvolution; + + private Optional purgeStagingData; + + private Optional schema; + + private Builder() { + // force use of static builder() method + } + + /** + * You must agree to the Databricks JDBC Driver <a href="https://databricks.com/jdbc-odbc-driver-license">Terms & Conditions</a> to use this connector. + */ + public Builder acceptTerms(boolean acceptTerms) { + Utils.checkNotNull(acceptTerms, "acceptTerms"); + this.acceptTerms = Optional.ofNullable(acceptTerms); + return this; + } + + /** + * You must agree to the Databricks JDBC Driver <a href="https://databricks.com/jdbc-odbc-driver-license">Terms & Conditions</a> to use this connector. + */ + public Builder acceptTerms(Optional acceptTerms) { + Utils.checkNotNull(acceptTerms, "acceptTerms"); + this.acceptTerms = acceptTerms; + return this; + } + + /** + * Storage on which the delta lake is built. + */ + public Builder dataSource(DataSource dataSource) { + Utils.checkNotNull(dataSource, "dataSource"); + this.dataSource = dataSource; + return this; + } + + /** + * The name of the catalog. If not specified otherwise, the "hive_metastore" will be used. + */ + public Builder database(String database) { + Utils.checkNotNull(database, "database"); + this.database = Optional.ofNullable(database); + return this; + } + + /** + * The name of the catalog. If not specified otherwise, the "hive_metastore" will be used. + */ + public Builder database(Optional database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * Databricks Cluster HTTP Path. + */ + public Builder databricksHttpPath(String databricksHttpPath) { + Utils.checkNotNull(databricksHttpPath, "databricksHttpPath"); + this.databricksHttpPath = databricksHttpPath; + return this; + } + + /** + * Databricks Personal Access Token for making authenticated requests. + */ + public Builder databricksPersonalAccessToken(String databricksPersonalAccessToken) { + Utils.checkNotNull(databricksPersonalAccessToken, "databricksPersonalAccessToken"); + this.databricksPersonalAccessToken = databricksPersonalAccessToken; + return this; + } + + /** + * Databricks Cluster Port. + */ + public Builder databricksPort(String databricksPort) { + Utils.checkNotNull(databricksPort, "databricksPort"); + this.databricksPort = Optional.ofNullable(databricksPort); + return this; + } + + /** + * Databricks Cluster Port. + */ + public Builder databricksPort(Optional databricksPort) { + Utils.checkNotNull(databricksPort, "databricksPort"); + this.databricksPort = databricksPort; + return this; + } + + /** + * Databricks Cluster Server Hostname. + */ + public Builder databricksServerHostname(String databricksServerHostname) { + Utils.checkNotNull(databricksServerHostname, "databricksServerHostname"); + this.databricksServerHostname = databricksServerHostname; + return this; + } + + /** + * Support schema evolution for all streams. If "false", the connector might fail when a stream's schema changes. + */ + public Builder enableSchemaEvolution(boolean enableSchemaEvolution) { + Utils.checkNotNull(enableSchemaEvolution, "enableSchemaEvolution"); + this.enableSchemaEvolution = Optional.ofNullable(enableSchemaEvolution); + return this; + } + + /** + * Support schema evolution for all streams. If "false", the connector might fail when a stream's schema changes. + */ + public Builder enableSchemaEvolution(Optional enableSchemaEvolution) { + Utils.checkNotNull(enableSchemaEvolution, "enableSchemaEvolution"); + this.enableSchemaEvolution = enableSchemaEvolution; + return this; + } + + /** + * Default to 'true'. Switch it to 'false' for debugging purpose. + */ + public Builder purgeStagingData(boolean purgeStagingData) { + Utils.checkNotNull(purgeStagingData, "purgeStagingData"); + this.purgeStagingData = Optional.ofNullable(purgeStagingData); + return this; + } + + /** + * Default to 'true'. Switch it to 'false' for debugging purpose. + */ + public Builder purgeStagingData(Optional purgeStagingData) { + Utils.checkNotNull(purgeStagingData, "purgeStagingData"); + this.purgeStagingData = purgeStagingData; + return this; + } + + /** + * The default schema tables are written. If not specified otherwise, the "default" will be used. + */ + public Builder schema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = Optional.ofNullable(schema); + return this; + } + + /** + * The default schema tables are written. If not specified otherwise, the "default" will be used. + */ + public Builder schema(Optional schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + public DestinationDatabricks build() { + if (acceptTerms == null) { + acceptTerms = _SINGLETON_VALUE_AcceptTerms.value(); + } + if (databricksPort == null) { + databricksPort = _SINGLETON_VALUE_DatabricksPort.value(); + } + if (enableSchemaEvolution == null) { + enableSchemaEvolution = _SINGLETON_VALUE_EnableSchemaEvolution.value(); + } + if (purgeStagingData == null) { + purgeStagingData = _SINGLETON_VALUE_PurgeStagingData.value(); + } + if (schema == null) { + schema = _SINGLETON_VALUE_Schema.value(); + } + return new DestinationDatabricks( + acceptTerms, + dataSource, + database, + databricksHttpPath, + databricksPersonalAccessToken, + databricksPort, + databricksServerHostname, + enableSchemaEvolution, + purgeStagingData, + schema); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AcceptTerms = + new LazySingletonValue<>( + "accept_terms", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DatabricksPort = + new LazySingletonValue<>( + "databricks_port", + "\"443\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"databricks\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_EnableSchemaEvolution = + new LazySingletonValue<>( + "enable_schema_evolution", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_PurgeStagingData = + new LazySingletonValue<>( + "purge_staging_data", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Schema = + new LazySingletonValue<>( + "schema", + "\"default\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationDatabricksAzureBlobStorage.java b/src/main/java/com/airbyte/api/models/shared/DestinationDatabricksAzureBlobStorage.java new file mode 100644 index 000000000..7de973714 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationDatabricksAzureBlobStorage.java @@ -0,0 +1,268 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationDatabricksAzureBlobStorage { + + /** + * The account's name of the Azure Blob Storage. + */ + @JsonProperty("azure_blob_storage_account_name") + private String azureBlobStorageAccountName; + + /** + * The name of the Azure blob storage container. + */ + @JsonProperty("azure_blob_storage_container_name") + private String azureBlobStorageContainerName; + + /** + * This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("azure_blob_storage_endpoint_domain_name") + private Optional azureBlobStorageEndpointDomainName; + + /** + * Shared access signature (SAS) token to grant limited access to objects in your storage account. + */ + @JsonProperty("azure_blob_storage_sas_token") + private String azureBlobStorageSasToken; + + @JsonProperty("data_source_type") + private DestinationDatabricksSchemasDataSourceType dataSourceType; + + public DestinationDatabricksAzureBlobStorage( + @JsonProperty("azure_blob_storage_account_name") String azureBlobStorageAccountName, + @JsonProperty("azure_blob_storage_container_name") String azureBlobStorageContainerName, + @JsonProperty("azure_blob_storage_endpoint_domain_name") Optional azureBlobStorageEndpointDomainName, + @JsonProperty("azure_blob_storage_sas_token") String azureBlobStorageSasToken) { + Utils.checkNotNull(azureBlobStorageAccountName, "azureBlobStorageAccountName"); + Utils.checkNotNull(azureBlobStorageContainerName, "azureBlobStorageContainerName"); + Utils.checkNotNull(azureBlobStorageEndpointDomainName, "azureBlobStorageEndpointDomainName"); + Utils.checkNotNull(azureBlobStorageSasToken, "azureBlobStorageSasToken"); + this.azureBlobStorageAccountName = azureBlobStorageAccountName; + this.azureBlobStorageContainerName = azureBlobStorageContainerName; + this.azureBlobStorageEndpointDomainName = azureBlobStorageEndpointDomainName; + this.azureBlobStorageSasToken = azureBlobStorageSasToken; + this.dataSourceType = Builder._SINGLETON_VALUE_DataSourceType.value(); + } + + /** + * The account's name of the Azure Blob Storage. + */ + public String azureBlobStorageAccountName() { + return azureBlobStorageAccountName; + } + + /** + * The name of the Azure blob storage container. + */ + public String azureBlobStorageContainerName() { + return azureBlobStorageContainerName; + } + + /** + * This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. + */ + public Optional azureBlobStorageEndpointDomainName() { + return azureBlobStorageEndpointDomainName; + } + + /** + * Shared access signature (SAS) token to grant limited access to objects in your storage account. + */ + public String azureBlobStorageSasToken() { + return azureBlobStorageSasToken; + } + + public DestinationDatabricksSchemasDataSourceType dataSourceType() { + return dataSourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The account's name of the Azure Blob Storage. + */ + public DestinationDatabricksAzureBlobStorage withAzureBlobStorageAccountName(String azureBlobStorageAccountName) { + Utils.checkNotNull(azureBlobStorageAccountName, "azureBlobStorageAccountName"); + this.azureBlobStorageAccountName = azureBlobStorageAccountName; + return this; + } + + /** + * The name of the Azure blob storage container. + */ + public DestinationDatabricksAzureBlobStorage withAzureBlobStorageContainerName(String azureBlobStorageContainerName) { + Utils.checkNotNull(azureBlobStorageContainerName, "azureBlobStorageContainerName"); + this.azureBlobStorageContainerName = azureBlobStorageContainerName; + return this; + } + + /** + * This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. + */ + public DestinationDatabricksAzureBlobStorage withAzureBlobStorageEndpointDomainName(String azureBlobStorageEndpointDomainName) { + Utils.checkNotNull(azureBlobStorageEndpointDomainName, "azureBlobStorageEndpointDomainName"); + this.azureBlobStorageEndpointDomainName = Optional.ofNullable(azureBlobStorageEndpointDomainName); + return this; + } + + /** + * This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. + */ + public DestinationDatabricksAzureBlobStorage withAzureBlobStorageEndpointDomainName(Optional azureBlobStorageEndpointDomainName) { + Utils.checkNotNull(azureBlobStorageEndpointDomainName, "azureBlobStorageEndpointDomainName"); + this.azureBlobStorageEndpointDomainName = azureBlobStorageEndpointDomainName; + return this; + } + + /** + * Shared access signature (SAS) token to grant limited access to objects in your storage account. + */ + public DestinationDatabricksAzureBlobStorage withAzureBlobStorageSasToken(String azureBlobStorageSasToken) { + Utils.checkNotNull(azureBlobStorageSasToken, "azureBlobStorageSasToken"); + this.azureBlobStorageSasToken = azureBlobStorageSasToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationDatabricksAzureBlobStorage other = (DestinationDatabricksAzureBlobStorage) o; + return + java.util.Objects.deepEquals(this.azureBlobStorageAccountName, other.azureBlobStorageAccountName) && + java.util.Objects.deepEquals(this.azureBlobStorageContainerName, other.azureBlobStorageContainerName) && + java.util.Objects.deepEquals(this.azureBlobStorageEndpointDomainName, other.azureBlobStorageEndpointDomainName) && + java.util.Objects.deepEquals(this.azureBlobStorageSasToken, other.azureBlobStorageSasToken) && + java.util.Objects.deepEquals(this.dataSourceType, other.dataSourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + azureBlobStorageAccountName, + azureBlobStorageContainerName, + azureBlobStorageEndpointDomainName, + azureBlobStorageSasToken, + dataSourceType); + } + + @Override + public String toString() { + return Utils.toString(DestinationDatabricksAzureBlobStorage.class, + "azureBlobStorageAccountName", azureBlobStorageAccountName, + "azureBlobStorageContainerName", azureBlobStorageContainerName, + "azureBlobStorageEndpointDomainName", azureBlobStorageEndpointDomainName, + "azureBlobStorageSasToken", azureBlobStorageSasToken, + "dataSourceType", dataSourceType); + } + + public final static class Builder { + + private String azureBlobStorageAccountName; + + private String azureBlobStorageContainerName; + + private Optional azureBlobStorageEndpointDomainName; + + private String azureBlobStorageSasToken; + + private Builder() { + // force use of static builder() method + } + + /** + * The account's name of the Azure Blob Storage. + */ + public Builder azureBlobStorageAccountName(String azureBlobStorageAccountName) { + Utils.checkNotNull(azureBlobStorageAccountName, "azureBlobStorageAccountName"); + this.azureBlobStorageAccountName = azureBlobStorageAccountName; + return this; + } + + /** + * The name of the Azure blob storage container. + */ + public Builder azureBlobStorageContainerName(String azureBlobStorageContainerName) { + Utils.checkNotNull(azureBlobStorageContainerName, "azureBlobStorageContainerName"); + this.azureBlobStorageContainerName = azureBlobStorageContainerName; + return this; + } + + /** + * This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. + */ + public Builder azureBlobStorageEndpointDomainName(String azureBlobStorageEndpointDomainName) { + Utils.checkNotNull(azureBlobStorageEndpointDomainName, "azureBlobStorageEndpointDomainName"); + this.azureBlobStorageEndpointDomainName = Optional.ofNullable(azureBlobStorageEndpointDomainName); + return this; + } + + /** + * This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. + */ + public Builder azureBlobStorageEndpointDomainName(Optional azureBlobStorageEndpointDomainName) { + Utils.checkNotNull(azureBlobStorageEndpointDomainName, "azureBlobStorageEndpointDomainName"); + this.azureBlobStorageEndpointDomainName = azureBlobStorageEndpointDomainName; + return this; + } + + /** + * Shared access signature (SAS) token to grant limited access to objects in your storage account. + */ + public Builder azureBlobStorageSasToken(String azureBlobStorageSasToken) { + Utils.checkNotNull(azureBlobStorageSasToken, "azureBlobStorageSasToken"); + this.azureBlobStorageSasToken = azureBlobStorageSasToken; + return this; + } + + public DestinationDatabricksAzureBlobStorage build() { + if (azureBlobStorageEndpointDomainName == null) { + azureBlobStorageEndpointDomainName = _SINGLETON_VALUE_AzureBlobStorageEndpointDomainName.value(); + } + return new DestinationDatabricksAzureBlobStorage( + azureBlobStorageAccountName, + azureBlobStorageContainerName, + azureBlobStorageEndpointDomainName, + azureBlobStorageSasToken); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AzureBlobStorageEndpointDomainName = + new LazySingletonValue<>( + "azure_blob_storage_endpoint_domain_name", + "\"blob.core.windows.net\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_DataSourceType = + new LazySingletonValue<>( + "data_source_type", + "\"AZURE_BLOB_STORAGE\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationDatabricksDataSourceType.java b/src/main/java/com/airbyte/api/models/shared/DestinationDatabricksDataSourceType.java new file mode 100644 index 000000000..ea1ad6734 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationDatabricksDataSourceType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationDatabricksDataSourceType { + S3_STORAGE("S3_STORAGE"); + + @JsonValue + private final String value; + + private DestinationDatabricksDataSourceType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationDatabricksS3BucketRegion.java b/src/main/java/com/airbyte/api/models/shared/DestinationDatabricksS3BucketRegion.java new file mode 100644 index 000000000..56a6b3e37 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationDatabricksS3BucketRegion.java @@ -0,0 +1,57 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationDatabricksS3BucketRegion - The region of the S3 staging bucket to use if utilising a copy strategy. + */ +public enum DestinationDatabricksS3BucketRegion { + UNKNOWN(""), + US_EAST1("us-east-1"), + US_EAST2("us-east-2"), + US_WEST1("us-west-1"), + US_WEST2("us-west-2"), + AF_SOUTH1("af-south-1"), + AP_EAST1("ap-east-1"), + AP_SOUTH1("ap-south-1"), + AP_NORTHEAST1("ap-northeast-1"), + AP_NORTHEAST2("ap-northeast-2"), + AP_NORTHEAST3("ap-northeast-3"), + AP_SOUTHEAST1("ap-southeast-1"), + AP_SOUTHEAST2("ap-southeast-2"), + CA_CENTRAL1("ca-central-1"), + CN_NORTH1("cn-north-1"), + CN_NORTHWEST1("cn-northwest-1"), + EU_CENTRAL1("eu-central-1"), + EU_NORTH1("eu-north-1"), + EU_SOUTH1("eu-south-1"), + EU_WEST1("eu-west-1"), + EU_WEST2("eu-west-2"), + EU_WEST3("eu-west-3"), + SA_EAST1("sa-east-1"), + ME_SOUTH1("me-south-1"), + US_GOV_EAST1("us-gov-east-1"), + US_GOV_WEST1("us-gov-west-1"); + + @JsonValue + private final String value; + + private DestinationDatabricksS3BucketRegion(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationDatabricksSchemasDataSourceType.java b/src/main/java/com/airbyte/api/models/shared/DestinationDatabricksSchemasDataSourceType.java new file mode 100644 index 000000000..1ff8e11a3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationDatabricksSchemasDataSourceType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationDatabricksSchemasDataSourceType { + AZURE_BLOB_STORAGE("AZURE_BLOB_STORAGE"); + + @JsonValue + private final String value; + + private DestinationDatabricksSchemasDataSourceType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationDevNull.java b/src/main/java/com/airbyte/api/models/shared/DestinationDevNull.java new file mode 100644 index 000000000..c6cc54cc3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationDevNull.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DestinationDevNull { + + @JsonProperty("destinationType") + private DevNull destinationType; + + /** + * The type of destination to be used + */ + @JsonProperty("test_destination") + private TestDestination testDestination; + + public DestinationDevNull( + @JsonProperty("test_destination") TestDestination testDestination) { + Utils.checkNotNull(testDestination, "testDestination"); + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.testDestination = testDestination; + } + + public DevNull destinationType() { + return destinationType; + } + + /** + * The type of destination to be used + */ + public TestDestination testDestination() { + return testDestination; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The type of destination to be used + */ + public DestinationDevNull withTestDestination(TestDestination testDestination) { + Utils.checkNotNull(testDestination, "testDestination"); + this.testDestination = testDestination; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationDevNull other = (DestinationDevNull) o; + return + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.testDestination, other.testDestination); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + destinationType, + testDestination); + } + + @Override + public String toString() { + return Utils.toString(DestinationDevNull.class, + "destinationType", destinationType, + "testDestination", testDestination); + } + + public final static class Builder { + + private TestDestination testDestination; + + private Builder() { + // force use of static builder() method + } + + /** + * The type of destination to be used + */ + public Builder testDestination(TestDestination testDestination) { + Utils.checkNotNull(testDestination, "testDestination"); + this.testDestination = testDestination; + return this; + } + + public DestinationDevNull build() { + return new DestinationDevNull( + testDestination); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"dev-null\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationDuckdb.java b/src/main/java/com/airbyte/api/models/shared/DestinationDuckdb.java new file mode 100644 index 000000000..4a62c3d2f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationDuckdb.java @@ -0,0 +1,238 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationDuckdb { + + @JsonProperty("destinationType") + private Duckdb destinationType; + + /** + * Path to the .duckdb file, or the text 'md:' to connect to MotherDuck. The file will be placed inside that local mount. For more information check out our <a href="https://docs.airbyte.io/integrations/destinations/duckdb">docs</a> + */ + @JsonProperty("destination_path") + private String destinationPath; + + /** + * API key to use for authentication to a MotherDuck database. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("motherduck_api_key") + private Optional motherduckApiKey; + + /** + * Database schema name, default for duckdb is 'main'. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schema") + private Optional schema; + + public DestinationDuckdb( + @JsonProperty("destination_path") String destinationPath, + @JsonProperty("motherduck_api_key") Optional motherduckApiKey, + @JsonProperty("schema") Optional schema) { + Utils.checkNotNull(destinationPath, "destinationPath"); + Utils.checkNotNull(motherduckApiKey, "motherduckApiKey"); + Utils.checkNotNull(schema, "schema"); + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.destinationPath = destinationPath; + this.motherduckApiKey = motherduckApiKey; + this.schema = schema; + } + + public Duckdb destinationType() { + return destinationType; + } + + /** + * Path to the .duckdb file, or the text 'md:' to connect to MotherDuck. The file will be placed inside that local mount. For more information check out our <a href="https://docs.airbyte.io/integrations/destinations/duckdb">docs</a> + */ + public String destinationPath() { + return destinationPath; + } + + /** + * API key to use for authentication to a MotherDuck database. + */ + public Optional motherduckApiKey() { + return motherduckApiKey; + } + + /** + * Database schema name, default for duckdb is 'main'. + */ + public Optional schema() { + return schema; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Path to the .duckdb file, or the text 'md:' to connect to MotherDuck. The file will be placed inside that local mount. For more information check out our <a href="https://docs.airbyte.io/integrations/destinations/duckdb">docs</a> + */ + public DestinationDuckdb withDestinationPath(String destinationPath) { + Utils.checkNotNull(destinationPath, "destinationPath"); + this.destinationPath = destinationPath; + return this; + } + + /** + * API key to use for authentication to a MotherDuck database. + */ + public DestinationDuckdb withMotherduckApiKey(String motherduckApiKey) { + Utils.checkNotNull(motherduckApiKey, "motherduckApiKey"); + this.motherduckApiKey = Optional.ofNullable(motherduckApiKey); + return this; + } + + /** + * API key to use for authentication to a MotherDuck database. + */ + public DestinationDuckdb withMotherduckApiKey(Optional motherduckApiKey) { + Utils.checkNotNull(motherduckApiKey, "motherduckApiKey"); + this.motherduckApiKey = motherduckApiKey; + return this; + } + + /** + * Database schema name, default for duckdb is 'main'. + */ + public DestinationDuckdb withSchema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = Optional.ofNullable(schema); + return this; + } + + /** + * Database schema name, default for duckdb is 'main'. + */ + public DestinationDuckdb withSchema(Optional schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationDuckdb other = (DestinationDuckdb) o; + return + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.destinationPath, other.destinationPath) && + java.util.Objects.deepEquals(this.motherduckApiKey, other.motherduckApiKey) && + java.util.Objects.deepEquals(this.schema, other.schema); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + destinationType, + destinationPath, + motherduckApiKey, + schema); + } + + @Override + public String toString() { + return Utils.toString(DestinationDuckdb.class, + "destinationType", destinationType, + "destinationPath", destinationPath, + "motherduckApiKey", motherduckApiKey, + "schema", schema); + } + + public final static class Builder { + + private String destinationPath; + + private Optional motherduckApiKey = Optional.empty(); + + private Optional schema = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Path to the .duckdb file, or the text 'md:' to connect to MotherDuck. The file will be placed inside that local mount. For more information check out our <a href="https://docs.airbyte.io/integrations/destinations/duckdb">docs</a> + */ + public Builder destinationPath(String destinationPath) { + Utils.checkNotNull(destinationPath, "destinationPath"); + this.destinationPath = destinationPath; + return this; + } + + /** + * API key to use for authentication to a MotherDuck database. + */ + public Builder motherduckApiKey(String motherduckApiKey) { + Utils.checkNotNull(motherduckApiKey, "motherduckApiKey"); + this.motherduckApiKey = Optional.ofNullable(motherduckApiKey); + return this; + } + + /** + * API key to use for authentication to a MotherDuck database. + */ + public Builder motherduckApiKey(Optional motherduckApiKey) { + Utils.checkNotNull(motherduckApiKey, "motherduckApiKey"); + this.motherduckApiKey = motherduckApiKey; + return this; + } + + /** + * Database schema name, default for duckdb is 'main'. + */ + public Builder schema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = Optional.ofNullable(schema); + return this; + } + + /** + * Database schema name, default for duckdb is 'main'. + */ + public Builder schema(Optional schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + public DestinationDuckdb build() { + return new DestinationDuckdb( + destinationPath, + motherduckApiKey, + schema); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"duckdb\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationDynamodb.java b/src/main/java/com/airbyte/api/models/shared/DestinationDynamodb.java new file mode 100644 index 000000000..dca768efe --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationDynamodb.java @@ -0,0 +1,336 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationDynamodb { + + /** + * The access key id to access the DynamoDB. Airbyte requires Read and Write permissions to the DynamoDB. + */ + @JsonProperty("access_key_id") + private String accessKeyId; + + @JsonProperty("destinationType") + private Dynamodb destinationType; + + /** + * This is your DynamoDB endpoint url.(if you are working with AWS DynamoDB, just leave empty). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("dynamodb_endpoint") + private Optional dynamodbEndpoint; + + /** + * The region of the DynamoDB. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("dynamodb_region") + private Optional dynamodbRegion; + + /** + * The prefix to use when naming DynamoDB tables. + */ + @JsonProperty("dynamodb_table_name_prefix") + private String dynamodbTableNamePrefix; + + /** + * The corresponding secret to the access key id. + */ + @JsonProperty("secret_access_key") + private String secretAccessKey; + + public DestinationDynamodb( + @JsonProperty("access_key_id") String accessKeyId, + @JsonProperty("dynamodb_endpoint") Optional dynamodbEndpoint, + @JsonProperty("dynamodb_region") Optional dynamodbRegion, + @JsonProperty("dynamodb_table_name_prefix") String dynamodbTableNamePrefix, + @JsonProperty("secret_access_key") String secretAccessKey) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + Utils.checkNotNull(dynamodbEndpoint, "dynamodbEndpoint"); + Utils.checkNotNull(dynamodbRegion, "dynamodbRegion"); + Utils.checkNotNull(dynamodbTableNamePrefix, "dynamodbTableNamePrefix"); + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.accessKeyId = accessKeyId; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.dynamodbEndpoint = dynamodbEndpoint; + this.dynamodbRegion = dynamodbRegion; + this.dynamodbTableNamePrefix = dynamodbTableNamePrefix; + this.secretAccessKey = secretAccessKey; + } + + /** + * The access key id to access the DynamoDB. Airbyte requires Read and Write permissions to the DynamoDB. + */ + public String accessKeyId() { + return accessKeyId; + } + + public Dynamodb destinationType() { + return destinationType; + } + + /** + * This is your DynamoDB endpoint url.(if you are working with AWS DynamoDB, just leave empty). + */ + public Optional dynamodbEndpoint() { + return dynamodbEndpoint; + } + + /** + * The region of the DynamoDB. + */ + public Optional dynamodbRegion() { + return dynamodbRegion; + } + + /** + * The prefix to use when naming DynamoDB tables. + */ + public String dynamodbTableNamePrefix() { + return dynamodbTableNamePrefix; + } + + /** + * The corresponding secret to the access key id. + */ + public String secretAccessKey() { + return secretAccessKey; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The access key id to access the DynamoDB. Airbyte requires Read and Write permissions to the DynamoDB. + */ + public DestinationDynamodb withAccessKeyId(String accessKeyId) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + this.accessKeyId = accessKeyId; + return this; + } + + /** + * This is your DynamoDB endpoint url.(if you are working with AWS DynamoDB, just leave empty). + */ + public DestinationDynamodb withDynamodbEndpoint(String dynamodbEndpoint) { + Utils.checkNotNull(dynamodbEndpoint, "dynamodbEndpoint"); + this.dynamodbEndpoint = Optional.ofNullable(dynamodbEndpoint); + return this; + } + + /** + * This is your DynamoDB endpoint url.(if you are working with AWS DynamoDB, just leave empty). + */ + public DestinationDynamodb withDynamodbEndpoint(Optional dynamodbEndpoint) { + Utils.checkNotNull(dynamodbEndpoint, "dynamodbEndpoint"); + this.dynamodbEndpoint = dynamodbEndpoint; + return this; + } + + /** + * The region of the DynamoDB. + */ + public DestinationDynamodb withDynamodbRegion(DynamoDBRegion dynamodbRegion) { + Utils.checkNotNull(dynamodbRegion, "dynamodbRegion"); + this.dynamodbRegion = Optional.ofNullable(dynamodbRegion); + return this; + } + + /** + * The region of the DynamoDB. + */ + public DestinationDynamodb withDynamodbRegion(Optional dynamodbRegion) { + Utils.checkNotNull(dynamodbRegion, "dynamodbRegion"); + this.dynamodbRegion = dynamodbRegion; + return this; + } + + /** + * The prefix to use when naming DynamoDB tables. + */ + public DestinationDynamodb withDynamodbTableNamePrefix(String dynamodbTableNamePrefix) { + Utils.checkNotNull(dynamodbTableNamePrefix, "dynamodbTableNamePrefix"); + this.dynamodbTableNamePrefix = dynamodbTableNamePrefix; + return this; + } + + /** + * The corresponding secret to the access key id. + */ + public DestinationDynamodb withSecretAccessKey(String secretAccessKey) { + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.secretAccessKey = secretAccessKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationDynamodb other = (DestinationDynamodb) o; + return + java.util.Objects.deepEquals(this.accessKeyId, other.accessKeyId) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.dynamodbEndpoint, other.dynamodbEndpoint) && + java.util.Objects.deepEquals(this.dynamodbRegion, other.dynamodbRegion) && + java.util.Objects.deepEquals(this.dynamodbTableNamePrefix, other.dynamodbTableNamePrefix) && + java.util.Objects.deepEquals(this.secretAccessKey, other.secretAccessKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessKeyId, + destinationType, + dynamodbEndpoint, + dynamodbRegion, + dynamodbTableNamePrefix, + secretAccessKey); + } + + @Override + public String toString() { + return Utils.toString(DestinationDynamodb.class, + "accessKeyId", accessKeyId, + "destinationType", destinationType, + "dynamodbEndpoint", dynamodbEndpoint, + "dynamodbRegion", dynamodbRegion, + "dynamodbTableNamePrefix", dynamodbTableNamePrefix, + "secretAccessKey", secretAccessKey); + } + + public final static class Builder { + + private String accessKeyId; + + private Optional dynamodbEndpoint; + + private Optional dynamodbRegion; + + private String dynamodbTableNamePrefix; + + private String secretAccessKey; + + private Builder() { + // force use of static builder() method + } + + /** + * The access key id to access the DynamoDB. Airbyte requires Read and Write permissions to the DynamoDB. + */ + public Builder accessKeyId(String accessKeyId) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + this.accessKeyId = accessKeyId; + return this; + } + + /** + * This is your DynamoDB endpoint url.(if you are working with AWS DynamoDB, just leave empty). + */ + public Builder dynamodbEndpoint(String dynamodbEndpoint) { + Utils.checkNotNull(dynamodbEndpoint, "dynamodbEndpoint"); + this.dynamodbEndpoint = Optional.ofNullable(dynamodbEndpoint); + return this; + } + + /** + * This is your DynamoDB endpoint url.(if you are working with AWS DynamoDB, just leave empty). + */ + public Builder dynamodbEndpoint(Optional dynamodbEndpoint) { + Utils.checkNotNull(dynamodbEndpoint, "dynamodbEndpoint"); + this.dynamodbEndpoint = dynamodbEndpoint; + return this; + } + + /** + * The region of the DynamoDB. + */ + public Builder dynamodbRegion(DynamoDBRegion dynamodbRegion) { + Utils.checkNotNull(dynamodbRegion, "dynamodbRegion"); + this.dynamodbRegion = Optional.ofNullable(dynamodbRegion); + return this; + } + + /** + * The region of the DynamoDB. + */ + public Builder dynamodbRegion(Optional dynamodbRegion) { + Utils.checkNotNull(dynamodbRegion, "dynamodbRegion"); + this.dynamodbRegion = dynamodbRegion; + return this; + } + + /** + * The prefix to use when naming DynamoDB tables. + */ + public Builder dynamodbTableNamePrefix(String dynamodbTableNamePrefix) { + Utils.checkNotNull(dynamodbTableNamePrefix, "dynamodbTableNamePrefix"); + this.dynamodbTableNamePrefix = dynamodbTableNamePrefix; + return this; + } + + /** + * The corresponding secret to the access key id. + */ + public Builder secretAccessKey(String secretAccessKey) { + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.secretAccessKey = secretAccessKey; + return this; + } + + public DestinationDynamodb build() { + if (dynamodbEndpoint == null) { + dynamodbEndpoint = _SINGLETON_VALUE_DynamodbEndpoint.value(); + } + if (dynamodbRegion == null) { + dynamodbRegion = _SINGLETON_VALUE_DynamodbRegion.value(); + } + return new DestinationDynamodb( + accessKeyId, + dynamodbEndpoint, + dynamodbRegion, + dynamodbTableNamePrefix, + secretAccessKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"dynamodb\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DynamodbEndpoint = + new LazySingletonValue<>( + "dynamodb_endpoint", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DynamodbRegion = + new LazySingletonValue<>( + "dynamodb_region", + "\"\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationElasticsearch.java b/src/main/java/com/airbyte/api/models/shared/DestinationElasticsearch.java new file mode 100644 index 000000000..1c0b75cc8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationElasticsearch.java @@ -0,0 +1,306 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationElasticsearch { + + /** + * The type of authentication to be used + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("authenticationMethod") + private Optional authenticationMethod; + + /** + * CA certificate + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ca_certificate") + private Optional caCertificate; + + @JsonProperty("destinationType") + private Elasticsearch destinationType; + + /** + * The full url of the Elasticsearch server + */ + @JsonProperty("endpoint") + private String endpoint; + + /** + * If a primary key identifier is defined in the source, an upsert will be performed using the primary key value as the elasticsearch doc id. Does not support composite primary keys. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("upsert") + private Optional upsert; + + public DestinationElasticsearch( + @JsonProperty("authenticationMethod") Optional authenticationMethod, + @JsonProperty("ca_certificate") Optional caCertificate, + @JsonProperty("endpoint") String endpoint, + @JsonProperty("upsert") Optional upsert) { + Utils.checkNotNull(authenticationMethod, "authenticationMethod"); + Utils.checkNotNull(caCertificate, "caCertificate"); + Utils.checkNotNull(endpoint, "endpoint"); + Utils.checkNotNull(upsert, "upsert"); + this.authenticationMethod = authenticationMethod; + this.caCertificate = caCertificate; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.endpoint = endpoint; + this.upsert = upsert; + } + + /** + * The type of authentication to be used + */ + public Optional authenticationMethod() { + return authenticationMethod; + } + + /** + * CA certificate + */ + public Optional caCertificate() { + return caCertificate; + } + + public Elasticsearch destinationType() { + return destinationType; + } + + /** + * The full url of the Elasticsearch server + */ + public String endpoint() { + return endpoint; + } + + /** + * If a primary key identifier is defined in the source, an upsert will be performed using the primary key value as the elasticsearch doc id. Does not support composite primary keys. + */ + public Optional upsert() { + return upsert; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The type of authentication to be used + */ + public DestinationElasticsearch withAuthenticationMethod(AuthenticationMethod authenticationMethod) { + Utils.checkNotNull(authenticationMethod, "authenticationMethod"); + this.authenticationMethod = Optional.ofNullable(authenticationMethod); + return this; + } + + /** + * The type of authentication to be used + */ + public DestinationElasticsearch withAuthenticationMethod(Optional authenticationMethod) { + Utils.checkNotNull(authenticationMethod, "authenticationMethod"); + this.authenticationMethod = authenticationMethod; + return this; + } + + /** + * CA certificate + */ + public DestinationElasticsearch withCaCertificate(String caCertificate) { + Utils.checkNotNull(caCertificate, "caCertificate"); + this.caCertificate = Optional.ofNullable(caCertificate); + return this; + } + + /** + * CA certificate + */ + public DestinationElasticsearch withCaCertificate(Optional caCertificate) { + Utils.checkNotNull(caCertificate, "caCertificate"); + this.caCertificate = caCertificate; + return this; + } + + /** + * The full url of the Elasticsearch server + */ + public DestinationElasticsearch withEndpoint(String endpoint) { + Utils.checkNotNull(endpoint, "endpoint"); + this.endpoint = endpoint; + return this; + } + + /** + * If a primary key identifier is defined in the source, an upsert will be performed using the primary key value as the elasticsearch doc id. Does not support composite primary keys. + */ + public DestinationElasticsearch withUpsert(boolean upsert) { + Utils.checkNotNull(upsert, "upsert"); + this.upsert = Optional.ofNullable(upsert); + return this; + } + + /** + * If a primary key identifier is defined in the source, an upsert will be performed using the primary key value as the elasticsearch doc id. Does not support composite primary keys. + */ + public DestinationElasticsearch withUpsert(Optional upsert) { + Utils.checkNotNull(upsert, "upsert"); + this.upsert = upsert; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationElasticsearch other = (DestinationElasticsearch) o; + return + java.util.Objects.deepEquals(this.authenticationMethod, other.authenticationMethod) && + java.util.Objects.deepEquals(this.caCertificate, other.caCertificate) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.endpoint, other.endpoint) && + java.util.Objects.deepEquals(this.upsert, other.upsert); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authenticationMethod, + caCertificate, + destinationType, + endpoint, + upsert); + } + + @Override + public String toString() { + return Utils.toString(DestinationElasticsearch.class, + "authenticationMethod", authenticationMethod, + "caCertificate", caCertificate, + "destinationType", destinationType, + "endpoint", endpoint, + "upsert", upsert); + } + + public final static class Builder { + + private Optional authenticationMethod = Optional.empty(); + + private Optional caCertificate = Optional.empty(); + + private String endpoint; + + private Optional upsert; + + private Builder() { + // force use of static builder() method + } + + /** + * The type of authentication to be used + */ + public Builder authenticationMethod(AuthenticationMethod authenticationMethod) { + Utils.checkNotNull(authenticationMethod, "authenticationMethod"); + this.authenticationMethod = Optional.ofNullable(authenticationMethod); + return this; + } + + /** + * The type of authentication to be used + */ + public Builder authenticationMethod(Optional authenticationMethod) { + Utils.checkNotNull(authenticationMethod, "authenticationMethod"); + this.authenticationMethod = authenticationMethod; + return this; + } + + /** + * CA certificate + */ + public Builder caCertificate(String caCertificate) { + Utils.checkNotNull(caCertificate, "caCertificate"); + this.caCertificate = Optional.ofNullable(caCertificate); + return this; + } + + /** + * CA certificate + */ + public Builder caCertificate(Optional caCertificate) { + Utils.checkNotNull(caCertificate, "caCertificate"); + this.caCertificate = caCertificate; + return this; + } + + /** + * The full url of the Elasticsearch server + */ + public Builder endpoint(String endpoint) { + Utils.checkNotNull(endpoint, "endpoint"); + this.endpoint = endpoint; + return this; + } + + /** + * If a primary key identifier is defined in the source, an upsert will be performed using the primary key value as the elasticsearch doc id. Does not support composite primary keys. + */ + public Builder upsert(boolean upsert) { + Utils.checkNotNull(upsert, "upsert"); + this.upsert = Optional.ofNullable(upsert); + return this; + } + + /** + * If a primary key identifier is defined in the source, an upsert will be performed using the primary key value as the elasticsearch doc id. Does not support composite primary keys. + */ + public Builder upsert(Optional upsert) { + Utils.checkNotNull(upsert, "upsert"); + this.upsert = upsert; + return this; + } + + public DestinationElasticsearch build() { + if (upsert == null) { + upsert = _SINGLETON_VALUE_Upsert.value(); + } + return new DestinationElasticsearch( + authenticationMethod, + caCertificate, + endpoint, + upsert); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"elasticsearch\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Upsert = + new LazySingletonValue<>( + "upsert", + "true", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationElasticsearchMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationElasticsearchMethod.java new file mode 100644 index 000000000..c0f27bb5c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationElasticsearchMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationElasticsearchMethod { + SECRET("secret"); + + @JsonValue + private final String value; + + private DestinationElasticsearchMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationElasticsearchSchemasMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationElasticsearchSchemasMethod.java new file mode 100644 index 000000000..84525ee1b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationElasticsearchSchemasMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationElasticsearchSchemasMethod { + BASIC("basic"); + + @JsonValue + private final String value; + + private DestinationElasticsearchSchemasMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationFirestore.java b/src/main/java/com/airbyte/api/models/shared/DestinationFirestore.java new file mode 100644 index 000000000..6089eb500 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationFirestore.java @@ -0,0 +1,179 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationFirestore { + + /** + * The contents of the JSON service account key. Check out the <a href="https://docs.airbyte.io/integrations/destinations/firestore">docs</a> if you need help generating this key. Default credentials will be used if this field is left empty. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials_json") + private Optional credentialsJson; + + @JsonProperty("destinationType") + private Firestore destinationType; + + /** + * The GCP project ID for the project containing the target BigQuery dataset. + */ + @JsonProperty("project_id") + private String projectId; + + public DestinationFirestore( + @JsonProperty("credentials_json") Optional credentialsJson, + @JsonProperty("project_id") String projectId) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + Utils.checkNotNull(projectId, "projectId"); + this.credentialsJson = credentialsJson; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.projectId = projectId; + } + + /** + * The contents of the JSON service account key. Check out the <a href="https://docs.airbyte.io/integrations/destinations/firestore">docs</a> if you need help generating this key. Default credentials will be used if this field is left empty. + */ + public Optional credentialsJson() { + return credentialsJson; + } + + public Firestore destinationType() { + return destinationType; + } + + /** + * The GCP project ID for the project containing the target BigQuery dataset. + */ + public String projectId() { + return projectId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The contents of the JSON service account key. Check out the <a href="https://docs.airbyte.io/integrations/destinations/firestore">docs</a> if you need help generating this key. Default credentials will be used if this field is left empty. + */ + public DestinationFirestore withCredentialsJson(String credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.credentialsJson = Optional.ofNullable(credentialsJson); + return this; + } + + /** + * The contents of the JSON service account key. Check out the <a href="https://docs.airbyte.io/integrations/destinations/firestore">docs</a> if you need help generating this key. Default credentials will be used if this field is left empty. + */ + public DestinationFirestore withCredentialsJson(Optional credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.credentialsJson = credentialsJson; + return this; + } + + /** + * The GCP project ID for the project containing the target BigQuery dataset. + */ + public DestinationFirestore withProjectId(String projectId) { + Utils.checkNotNull(projectId, "projectId"); + this.projectId = projectId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationFirestore other = (DestinationFirestore) o; + return + java.util.Objects.deepEquals(this.credentialsJson, other.credentialsJson) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.projectId, other.projectId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentialsJson, + destinationType, + projectId); + } + + @Override + public String toString() { + return Utils.toString(DestinationFirestore.class, + "credentialsJson", credentialsJson, + "destinationType", destinationType, + "projectId", projectId); + } + + public final static class Builder { + + private Optional credentialsJson = Optional.empty(); + + private String projectId; + + private Builder() { + // force use of static builder() method + } + + /** + * The contents of the JSON service account key. Check out the <a href="https://docs.airbyte.io/integrations/destinations/firestore">docs</a> if you need help generating this key. Default credentials will be used if this field is left empty. + */ + public Builder credentialsJson(String credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.credentialsJson = Optional.ofNullable(credentialsJson); + return this; + } + + /** + * The contents of the JSON service account key. Check out the <a href="https://docs.airbyte.io/integrations/destinations/firestore">docs</a> if you need help generating this key. Default credentials will be used if this field is left empty. + */ + public Builder credentialsJson(Optional credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.credentialsJson = credentialsJson; + return this; + } + + /** + * The GCP project ID for the project containing the target BigQuery dataset. + */ + public Builder projectId(String projectId) { + Utils.checkNotNull(projectId, "projectId"); + this.projectId = projectId; + return this; + } + + public DestinationFirestore build() { + return new DestinationFirestore( + credentialsJson, + projectId); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"firestore\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcs.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcs.java new file mode 100644 index 000000000..c46051c41 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcs.java @@ -0,0 +1,308 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationGcs { + + /** + * An HMAC key is a type of credential and can be associated with a service account or a user account in Cloud Storage. Read more <a href="https://cloud.google.com/storage/docs/authentication/hmackeys">here</a>. + */ + @JsonProperty("credential") + private Authentication credential; + + @JsonProperty("destinationType") + private Gcs destinationType; + + /** + * Output data format. One of the following formats must be selected - <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-avro#advantages_of_avro">AVRO</a> format, <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-parquet#parquet_schemas">PARQUET</a> format, <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-csv#loading_csv_data_into_a_table">CSV</a> format, or <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-json#loading_json_data_into_a_new_table">JSONL</a> format. + */ + @JsonProperty("format") + private DestinationGcsOutputFormat format; + + /** + * You can find the bucket name in the App Engine Admin console Application Settings page, under the label Google Cloud Storage Bucket. Read more <a href="https://cloud.google.com/storage/docs/naming-buckets">here</a>. + */ + @JsonProperty("gcs_bucket_name") + private String gcsBucketName; + + /** + * GCS Bucket Path string Subdirectory under the above bucket to sync the data into. + */ + @JsonProperty("gcs_bucket_path") + private String gcsBucketPath; + + /** + * Select a Region of the GCS Bucket. Read more <a href="https://cloud.google.com/storage/docs/locations">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("gcs_bucket_region") + private Optional gcsBucketRegion; + + public DestinationGcs( + @JsonProperty("credential") Authentication credential, + @JsonProperty("format") DestinationGcsOutputFormat format, + @JsonProperty("gcs_bucket_name") String gcsBucketName, + @JsonProperty("gcs_bucket_path") String gcsBucketPath, + @JsonProperty("gcs_bucket_region") Optional gcsBucketRegion) { + Utils.checkNotNull(credential, "credential"); + Utils.checkNotNull(format, "format"); + Utils.checkNotNull(gcsBucketName, "gcsBucketName"); + Utils.checkNotNull(gcsBucketPath, "gcsBucketPath"); + Utils.checkNotNull(gcsBucketRegion, "gcsBucketRegion"); + this.credential = credential; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.format = format; + this.gcsBucketName = gcsBucketName; + this.gcsBucketPath = gcsBucketPath; + this.gcsBucketRegion = gcsBucketRegion; + } + + /** + * An HMAC key is a type of credential and can be associated with a service account or a user account in Cloud Storage. Read more <a href="https://cloud.google.com/storage/docs/authentication/hmackeys">here</a>. + */ + public Authentication credential() { + return credential; + } + + public Gcs destinationType() { + return destinationType; + } + + /** + * Output data format. One of the following formats must be selected - <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-avro#advantages_of_avro">AVRO</a> format, <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-parquet#parquet_schemas">PARQUET</a> format, <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-csv#loading_csv_data_into_a_table">CSV</a> format, or <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-json#loading_json_data_into_a_new_table">JSONL</a> format. + */ + public DestinationGcsOutputFormat format() { + return format; + } + + /** + * You can find the bucket name in the App Engine Admin console Application Settings page, under the label Google Cloud Storage Bucket. Read more <a href="https://cloud.google.com/storage/docs/naming-buckets">here</a>. + */ + public String gcsBucketName() { + return gcsBucketName; + } + + /** + * GCS Bucket Path string Subdirectory under the above bucket to sync the data into. + */ + public String gcsBucketPath() { + return gcsBucketPath; + } + + /** + * Select a Region of the GCS Bucket. Read more <a href="https://cloud.google.com/storage/docs/locations">here</a>. + */ + public Optional gcsBucketRegion() { + return gcsBucketRegion; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * An HMAC key is a type of credential and can be associated with a service account or a user account in Cloud Storage. Read more <a href="https://cloud.google.com/storage/docs/authentication/hmackeys">here</a>. + */ + public DestinationGcs withCredential(Authentication credential) { + Utils.checkNotNull(credential, "credential"); + this.credential = credential; + return this; + } + + /** + * Output data format. One of the following formats must be selected - <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-avro#advantages_of_avro">AVRO</a> format, <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-parquet#parquet_schemas">PARQUET</a> format, <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-csv#loading_csv_data_into_a_table">CSV</a> format, or <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-json#loading_json_data_into_a_new_table">JSONL</a> format. + */ + public DestinationGcs withFormat(DestinationGcsOutputFormat format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * You can find the bucket name in the App Engine Admin console Application Settings page, under the label Google Cloud Storage Bucket. Read more <a href="https://cloud.google.com/storage/docs/naming-buckets">here</a>. + */ + public DestinationGcs withGcsBucketName(String gcsBucketName) { + Utils.checkNotNull(gcsBucketName, "gcsBucketName"); + this.gcsBucketName = gcsBucketName; + return this; + } + + /** + * GCS Bucket Path string Subdirectory under the above bucket to sync the data into. + */ + public DestinationGcs withGcsBucketPath(String gcsBucketPath) { + Utils.checkNotNull(gcsBucketPath, "gcsBucketPath"); + this.gcsBucketPath = gcsBucketPath; + return this; + } + + /** + * Select a Region of the GCS Bucket. Read more <a href="https://cloud.google.com/storage/docs/locations">here</a>. + */ + public DestinationGcs withGcsBucketRegion(GCSBucketRegion gcsBucketRegion) { + Utils.checkNotNull(gcsBucketRegion, "gcsBucketRegion"); + this.gcsBucketRegion = Optional.ofNullable(gcsBucketRegion); + return this; + } + + /** + * Select a Region of the GCS Bucket. Read more <a href="https://cloud.google.com/storage/docs/locations">here</a>. + */ + public DestinationGcs withGcsBucketRegion(Optional gcsBucketRegion) { + Utils.checkNotNull(gcsBucketRegion, "gcsBucketRegion"); + this.gcsBucketRegion = gcsBucketRegion; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationGcs other = (DestinationGcs) o; + return + java.util.Objects.deepEquals(this.credential, other.credential) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.format, other.format) && + java.util.Objects.deepEquals(this.gcsBucketName, other.gcsBucketName) && + java.util.Objects.deepEquals(this.gcsBucketPath, other.gcsBucketPath) && + java.util.Objects.deepEquals(this.gcsBucketRegion, other.gcsBucketRegion); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credential, + destinationType, + format, + gcsBucketName, + gcsBucketPath, + gcsBucketRegion); + } + + @Override + public String toString() { + return Utils.toString(DestinationGcs.class, + "credential", credential, + "destinationType", destinationType, + "format", format, + "gcsBucketName", gcsBucketName, + "gcsBucketPath", gcsBucketPath, + "gcsBucketRegion", gcsBucketRegion); + } + + public final static class Builder { + + private Authentication credential; + + private DestinationGcsOutputFormat format; + + private String gcsBucketName; + + private String gcsBucketPath; + + private Optional gcsBucketRegion; + + private Builder() { + // force use of static builder() method + } + + /** + * An HMAC key is a type of credential and can be associated with a service account or a user account in Cloud Storage. Read more <a href="https://cloud.google.com/storage/docs/authentication/hmackeys">here</a>. + */ + public Builder credential(Authentication credential) { + Utils.checkNotNull(credential, "credential"); + this.credential = credential; + return this; + } + + /** + * Output data format. One of the following formats must be selected - <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-avro#advantages_of_avro">AVRO</a> format, <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-parquet#parquet_schemas">PARQUET</a> format, <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-csv#loading_csv_data_into_a_table">CSV</a> format, or <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-json#loading_json_data_into_a_new_table">JSONL</a> format. + */ + public Builder format(DestinationGcsOutputFormat format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * You can find the bucket name in the App Engine Admin console Application Settings page, under the label Google Cloud Storage Bucket. Read more <a href="https://cloud.google.com/storage/docs/naming-buckets">here</a>. + */ + public Builder gcsBucketName(String gcsBucketName) { + Utils.checkNotNull(gcsBucketName, "gcsBucketName"); + this.gcsBucketName = gcsBucketName; + return this; + } + + /** + * GCS Bucket Path string Subdirectory under the above bucket to sync the data into. + */ + public Builder gcsBucketPath(String gcsBucketPath) { + Utils.checkNotNull(gcsBucketPath, "gcsBucketPath"); + this.gcsBucketPath = gcsBucketPath; + return this; + } + + /** + * Select a Region of the GCS Bucket. Read more <a href="https://cloud.google.com/storage/docs/locations">here</a>. + */ + public Builder gcsBucketRegion(GCSBucketRegion gcsBucketRegion) { + Utils.checkNotNull(gcsBucketRegion, "gcsBucketRegion"); + this.gcsBucketRegion = Optional.ofNullable(gcsBucketRegion); + return this; + } + + /** + * Select a Region of the GCS Bucket. Read more <a href="https://cloud.google.com/storage/docs/locations">here</a>. + */ + public Builder gcsBucketRegion(Optional gcsBucketRegion) { + Utils.checkNotNull(gcsBucketRegion, "gcsBucketRegion"); + this.gcsBucketRegion = gcsBucketRegion; + return this; + } + + public DestinationGcs build() { + if (gcsBucketRegion == null) { + gcsBucketRegion = _SINGLETON_VALUE_GcsBucketRegion.value(); + } + return new DestinationGcs( + credential, + format, + gcsBucketName, + gcsBucketPath, + gcsBucketRegion); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"gcs\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_GcsBucketRegion = + new LazySingletonValue<>( + "gcs_bucket_region", + "\"us\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsCSVCommaSeparatedValues.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsCSVCommaSeparatedValues.java new file mode 100644 index 000000000..120aaf511 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsCSVCommaSeparatedValues.java @@ -0,0 +1,240 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationGcsCSVCommaSeparatedValues { + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".csv.gz"). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression") + private Optional compression; + + /** + * Whether the input JSON data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("flattening") + private Optional flattening; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("format_type") + private Optional formatType; + + public DestinationGcsCSVCommaSeparatedValues( + @JsonProperty("compression") Optional compression, + @JsonProperty("flattening") Optional flattening, + @JsonProperty("format_type") Optional formatType) { + Utils.checkNotNull(compression, "compression"); + Utils.checkNotNull(flattening, "flattening"); + Utils.checkNotNull(formatType, "formatType"); + this.compression = compression; + this.flattening = flattening; + this.formatType = formatType; + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".csv.gz"). + */ + public Optional compression() { + return compression; + } + + /** + * Whether the input JSON data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ + public Optional flattening() { + return flattening; + } + + public Optional formatType() { + return formatType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".csv.gz"). + */ + public DestinationGcsCSVCommaSeparatedValues withCompression(Compression compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = Optional.ofNullable(compression); + return this; + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".csv.gz"). + */ + public DestinationGcsCSVCommaSeparatedValues withCompression(Optional compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = compression; + return this; + } + + /** + * Whether the input JSON data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ + public DestinationGcsCSVCommaSeparatedValues withFlattening(Normalization flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = Optional.ofNullable(flattening); + return this; + } + + /** + * Whether the input JSON data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ + public DestinationGcsCSVCommaSeparatedValues withFlattening(Optional flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = flattening; + return this; + } + + public DestinationGcsCSVCommaSeparatedValues withFormatType(DestinationGcsSchemasFormatType formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public DestinationGcsCSVCommaSeparatedValues withFormatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationGcsCSVCommaSeparatedValues other = (DestinationGcsCSVCommaSeparatedValues) o; + return + java.util.Objects.deepEquals(this.compression, other.compression) && + java.util.Objects.deepEquals(this.flattening, other.flattening) && + java.util.Objects.deepEquals(this.formatType, other.formatType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compression, + flattening, + formatType); + } + + @Override + public String toString() { + return Utils.toString(DestinationGcsCSVCommaSeparatedValues.class, + "compression", compression, + "flattening", flattening, + "formatType", formatType); + } + + public final static class Builder { + + private Optional compression = Optional.empty(); + + private Optional flattening; + + private Optional formatType; + + private Builder() { + // force use of static builder() method + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".csv.gz"). + */ + public Builder compression(Compression compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = Optional.ofNullable(compression); + return this; + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".csv.gz"). + */ + public Builder compression(Optional compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = compression; + return this; + } + + /** + * Whether the input JSON data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ + public Builder flattening(Normalization flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = Optional.ofNullable(flattening); + return this; + } + + /** + * Whether the input JSON data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ + public Builder flattening(Optional flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = flattening; + return this; + } + + public Builder formatType(DestinationGcsSchemasFormatType formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public Builder formatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + public DestinationGcsCSVCommaSeparatedValues build() { + if (flattening == null) { + flattening = _SINGLETON_VALUE_Flattening.value(); + } + if (formatType == null) { + formatType = _SINGLETON_VALUE_FormatType.value(); + } + return new DestinationGcsCSVCommaSeparatedValues( + compression, + flattening, + formatType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Flattening = + new LazySingletonValue<>( + "flattening", + "\"No flattening\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_FormatType = + new LazySingletonValue<>( + "format_type", + "\"CSV\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsCodec.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsCodec.java new file mode 100644 index 000000000..d1620eb32 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsCodec.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationGcsCodec { + DEFLATE("Deflate"); + + @JsonValue + private final String value; + + private DestinationGcsCodec(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsCompression.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsCompression.java new file mode 100644 index 000000000..663fa101d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsCompression.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationGcsCompression - Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + +@JsonDeserialize(using = DestinationGcsCompression._Deserializer.class) +public class DestinationGcsCompression { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationGcsCompression(TypedObject value) { + this.value = value; + } + + public static DestinationGcsCompression of(DestinationGcsSchemasNoCompression value) { + Utils.checkNotNull(value, "value"); + return new DestinationGcsCompression(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationGcsCompression of(DestinationGcsGZIP value) { + Utils.checkNotNull(value, "value"); + return new DestinationGcsCompression(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationGcsSchemasNoCompression}
    • + *
    • {@code DestinationGcsGZIP}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationGcsCompression other = (DestinationGcsCompression) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationGcsCompression.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationGcsCompression.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsCompressionCodec.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsCompressionCodec.java new file mode 100644 index 000000000..61132a69c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsCompressionCodec.java @@ -0,0 +1,38 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationGcsCompressionCodec - The compression algorithm used to compress data pages. + */ +public enum DestinationGcsCompressionCodec { + UNCOMPRESSED("UNCOMPRESSED"), + SNAPPY("SNAPPY"), + GZIP("GZIP"), + LZO("LZO"), + BROTLI("BROTLI"), + LZ4("LZ4"), + ZSTD("ZSTD"); + + @JsonValue + private final String value; + + private DestinationGcsCompressionCodec(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsCompressionType.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsCompressionType.java new file mode 100644 index 000000000..d37f83cd0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsCompressionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationGcsCompressionType { + GZIP("GZIP"); + + @JsonValue + private final String value; + + private DestinationGcsCompressionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsFormatType.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsFormatType.java new file mode 100644 index 000000000..78ee75f21 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsFormatType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationGcsFormatType { + AVRO("Avro"); + + @JsonValue + private final String value; + + private DestinationGcsFormatType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsGZIP.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsGZIP.java new file mode 100644 index 000000000..0c06508d8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsGZIP.java @@ -0,0 +1,113 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationGcsGZIP { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_type") + private Optional compressionType; + + public DestinationGcsGZIP( + @JsonProperty("compression_type") Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + } + + public Optional compressionType() { + return compressionType; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationGcsGZIP withCompressionType(DestinationGcsSchemasFormatCompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public DestinationGcsGZIP withCompressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationGcsGZIP other = (DestinationGcsGZIP) o; + return + java.util.Objects.deepEquals(this.compressionType, other.compressionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compressionType); + } + + @Override + public String toString() { + return Utils.toString(DestinationGcsGZIP.class, + "compressionType", compressionType); + } + + public final static class Builder { + + private Optional compressionType; + + private Builder() { + // force use of static builder() method + } + + public Builder compressionType(DestinationGcsSchemasFormatCompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public Builder compressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + public DestinationGcsGZIP build() { + if (compressionType == null) { + compressionType = _SINGLETON_VALUE_CompressionType.value(); + } + return new DestinationGcsGZIP( + compressionType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionType = + new LazySingletonValue<>( + "compression_type", + "\"GZIP\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsJSONLinesNewlineDelimitedJSON.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsJSONLinesNewlineDelimitedJSON.java new file mode 100644 index 000000000..2933d50ef --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsJSONLinesNewlineDelimitedJSON.java @@ -0,0 +1,172 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationGcsJSONLinesNewlineDelimitedJSON { + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression") + private Optional compression; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("format_type") + private Optional formatType; + + public DestinationGcsJSONLinesNewlineDelimitedJSON( + @JsonProperty("compression") Optional compression, + @JsonProperty("format_type") Optional formatType) { + Utils.checkNotNull(compression, "compression"); + Utils.checkNotNull(formatType, "formatType"); + this.compression = compression; + this.formatType = formatType; + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + public Optional compression() { + return compression; + } + + public Optional formatType() { + return formatType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + public DestinationGcsJSONLinesNewlineDelimitedJSON withCompression(DestinationGcsCompression compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = Optional.ofNullable(compression); + return this; + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + public DestinationGcsJSONLinesNewlineDelimitedJSON withCompression(Optional compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = compression; + return this; + } + + public DestinationGcsJSONLinesNewlineDelimitedJSON withFormatType(DestinationGcsSchemasFormatFormatType formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public DestinationGcsJSONLinesNewlineDelimitedJSON withFormatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationGcsJSONLinesNewlineDelimitedJSON other = (DestinationGcsJSONLinesNewlineDelimitedJSON) o; + return + java.util.Objects.deepEquals(this.compression, other.compression) && + java.util.Objects.deepEquals(this.formatType, other.formatType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compression, + formatType); + } + + @Override + public String toString() { + return Utils.toString(DestinationGcsJSONLinesNewlineDelimitedJSON.class, + "compression", compression, + "formatType", formatType); + } + + public final static class Builder { + + private Optional compression = Optional.empty(); + + private Optional formatType; + + private Builder() { + // force use of static builder() method + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + public Builder compression(DestinationGcsCompression compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = Optional.ofNullable(compression); + return this; + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + public Builder compression(Optional compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = compression; + return this; + } + + public Builder formatType(DestinationGcsSchemasFormatFormatType formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public Builder formatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + public DestinationGcsJSONLinesNewlineDelimitedJSON build() { + if (formatType == null) { + formatType = _SINGLETON_VALUE_FormatType.value(); + } + return new DestinationGcsJSONLinesNewlineDelimitedJSON( + compression, + formatType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_FormatType = + new LazySingletonValue<>( + "format_type", + "\"JSONL\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsNoCompression.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsNoCompression.java new file mode 100644 index 000000000..e01d04d7d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsNoCompression.java @@ -0,0 +1,113 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationGcsNoCompression { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_type") + private Optional compressionType; + + public DestinationGcsNoCompression( + @JsonProperty("compression_type") Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + } + + public Optional compressionType() { + return compressionType; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationGcsNoCompression withCompressionType(CompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public DestinationGcsNoCompression withCompressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationGcsNoCompression other = (DestinationGcsNoCompression) o; + return + java.util.Objects.deepEquals(this.compressionType, other.compressionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compressionType); + } + + @Override + public String toString() { + return Utils.toString(DestinationGcsNoCompression.class, + "compressionType", compressionType); + } + + public final static class Builder { + + private Optional compressionType; + + private Builder() { + // force use of static builder() method + } + + public Builder compressionType(CompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public Builder compressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + public DestinationGcsNoCompression build() { + if (compressionType == null) { + compressionType = _SINGLETON_VALUE_CompressionType.value(); + } + return new DestinationGcsNoCompression( + compressionType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionType = + new LazySingletonValue<>( + "compression_type", + "\"No Compression\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsOutputFormat.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsOutputFormat.java new file mode 100644 index 000000000..5dac5bd39 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsOutputFormat.java @@ -0,0 +1,115 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationGcsOutputFormat - Output data format. One of the following formats must be selected - <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-avro#advantages_of_avro">AVRO</a> format, <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-parquet#parquet_schemas">PARQUET</a> format, <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-csv#loading_csv_data_into_a_table">CSV</a> format, or <a href="https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-json#loading_json_data_into_a_new_table">JSONL</a> format. + */ + +@JsonDeserialize(using = DestinationGcsOutputFormat._Deserializer.class) +public class DestinationGcsOutputFormat { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationGcsOutputFormat(TypedObject value) { + this.value = value; + } + + public static DestinationGcsOutputFormat of(AvroApacheAvro value) { + Utils.checkNotNull(value, "value"); + return new DestinationGcsOutputFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationGcsOutputFormat of(DestinationGcsCSVCommaSeparatedValues value) { + Utils.checkNotNull(value, "value"); + return new DestinationGcsOutputFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationGcsOutputFormat of(DestinationGcsJSONLinesNewlineDelimitedJSON value) { + Utils.checkNotNull(value, "value"); + return new DestinationGcsOutputFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationGcsOutputFormat of(DestinationGcsParquetColumnarStorage value) { + Utils.checkNotNull(value, "value"); + return new DestinationGcsOutputFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code AvroApacheAvro}
    • + *
    • {@code DestinationGcsCSVCommaSeparatedValues}
    • + *
    • {@code DestinationGcsJSONLinesNewlineDelimitedJSON}
    • + *
    • {@code DestinationGcsParquetColumnarStorage}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationGcsOutputFormat other = (DestinationGcsOutputFormat) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationGcsOutputFormat.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationGcsOutputFormat.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsParquetColumnarStorage.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsParquetColumnarStorage.java new file mode 100644 index 000000000..9e6cce20c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsParquetColumnarStorage.java @@ -0,0 +1,521 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationGcsParquetColumnarStorage { + + /** + * This is the size of a row group being buffered in memory. It limits the memory usage when writing. Larger values will improve the IO when reading, but consume more memory when writing. Default: 128 MB. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("block_size_mb") + private Optional blockSizeMb; + + /** + * The compression algorithm used to compress data pages. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_codec") + private Optional compressionCodec; + + /** + * Default: true. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("dictionary_encoding") + private Optional dictionaryEncoding; + + /** + * There is one dictionary page per column per row group when dictionary encoding is used. The dictionary page size works like the page size but for dictionary. Default: 1024 KB. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("dictionary_page_size_kb") + private Optional dictionaryPageSizeKb; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("format_type") + private Optional formatType; + + /** + * Maximum size allowed as padding to align row groups. This is also the minimum size of a row group. Default: 8 MB. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("max_padding_size_mb") + private Optional maxPaddingSizeMb; + + /** + * The page size is for compression. A block is composed of pages. A page is the smallest unit that must be read fully to access a single record. If this value is too small, the compression will deteriorate. Default: 1024 KB. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("page_size_kb") + private Optional pageSizeKb; + + public DestinationGcsParquetColumnarStorage( + @JsonProperty("block_size_mb") Optional blockSizeMb, + @JsonProperty("compression_codec") Optional compressionCodec, + @JsonProperty("dictionary_encoding") Optional dictionaryEncoding, + @JsonProperty("dictionary_page_size_kb") Optional dictionaryPageSizeKb, + @JsonProperty("format_type") Optional formatType, + @JsonProperty("max_padding_size_mb") Optional maxPaddingSizeMb, + @JsonProperty("page_size_kb") Optional pageSizeKb) { + Utils.checkNotNull(blockSizeMb, "blockSizeMb"); + Utils.checkNotNull(compressionCodec, "compressionCodec"); + Utils.checkNotNull(dictionaryEncoding, "dictionaryEncoding"); + Utils.checkNotNull(dictionaryPageSizeKb, "dictionaryPageSizeKb"); + Utils.checkNotNull(formatType, "formatType"); + Utils.checkNotNull(maxPaddingSizeMb, "maxPaddingSizeMb"); + Utils.checkNotNull(pageSizeKb, "pageSizeKb"); + this.blockSizeMb = blockSizeMb; + this.compressionCodec = compressionCodec; + this.dictionaryEncoding = dictionaryEncoding; + this.dictionaryPageSizeKb = dictionaryPageSizeKb; + this.formatType = formatType; + this.maxPaddingSizeMb = maxPaddingSizeMb; + this.pageSizeKb = pageSizeKb; + } + + /** + * This is the size of a row group being buffered in memory. It limits the memory usage when writing. Larger values will improve the IO when reading, but consume more memory when writing. Default: 128 MB. + */ + public Optional blockSizeMb() { + return blockSizeMb; + } + + /** + * The compression algorithm used to compress data pages. + */ + public Optional compressionCodec() { + return compressionCodec; + } + + /** + * Default: true. + */ + public Optional dictionaryEncoding() { + return dictionaryEncoding; + } + + /** + * There is one dictionary page per column per row group when dictionary encoding is used. The dictionary page size works like the page size but for dictionary. Default: 1024 KB. + */ + public Optional dictionaryPageSizeKb() { + return dictionaryPageSizeKb; + } + + public Optional formatType() { + return formatType; + } + + /** + * Maximum size allowed as padding to align row groups. This is also the minimum size of a row group. Default: 8 MB. + */ + public Optional maxPaddingSizeMb() { + return maxPaddingSizeMb; + } + + /** + * The page size is for compression. A block is composed of pages. A page is the smallest unit that must be read fully to access a single record. If this value is too small, the compression will deteriorate. Default: 1024 KB. + */ + public Optional pageSizeKb() { + return pageSizeKb; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * This is the size of a row group being buffered in memory. It limits the memory usage when writing. Larger values will improve the IO when reading, but consume more memory when writing. Default: 128 MB. + */ + public DestinationGcsParquetColumnarStorage withBlockSizeMb(long blockSizeMb) { + Utils.checkNotNull(blockSizeMb, "blockSizeMb"); + this.blockSizeMb = Optional.ofNullable(blockSizeMb); + return this; + } + + /** + * This is the size of a row group being buffered in memory. It limits the memory usage when writing. Larger values will improve the IO when reading, but consume more memory when writing. Default: 128 MB. + */ + public DestinationGcsParquetColumnarStorage withBlockSizeMb(Optional blockSizeMb) { + Utils.checkNotNull(blockSizeMb, "blockSizeMb"); + this.blockSizeMb = blockSizeMb; + return this; + } + + /** + * The compression algorithm used to compress data pages. + */ + public DestinationGcsParquetColumnarStorage withCompressionCodec(DestinationGcsCompressionCodec compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = Optional.ofNullable(compressionCodec); + return this; + } + + /** + * The compression algorithm used to compress data pages. + */ + public DestinationGcsParquetColumnarStorage withCompressionCodec(Optional compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = compressionCodec; + return this; + } + + /** + * Default: true. + */ + public DestinationGcsParquetColumnarStorage withDictionaryEncoding(boolean dictionaryEncoding) { + Utils.checkNotNull(dictionaryEncoding, "dictionaryEncoding"); + this.dictionaryEncoding = Optional.ofNullable(dictionaryEncoding); + return this; + } + + /** + * Default: true. + */ + public DestinationGcsParquetColumnarStorage withDictionaryEncoding(Optional dictionaryEncoding) { + Utils.checkNotNull(dictionaryEncoding, "dictionaryEncoding"); + this.dictionaryEncoding = dictionaryEncoding; + return this; + } + + /** + * There is one dictionary page per column per row group when dictionary encoding is used. The dictionary page size works like the page size but for dictionary. Default: 1024 KB. + */ + public DestinationGcsParquetColumnarStorage withDictionaryPageSizeKb(long dictionaryPageSizeKb) { + Utils.checkNotNull(dictionaryPageSizeKb, "dictionaryPageSizeKb"); + this.dictionaryPageSizeKb = Optional.ofNullable(dictionaryPageSizeKb); + return this; + } + + /** + * There is one dictionary page per column per row group when dictionary encoding is used. The dictionary page size works like the page size but for dictionary. Default: 1024 KB. + */ + public DestinationGcsParquetColumnarStorage withDictionaryPageSizeKb(Optional dictionaryPageSizeKb) { + Utils.checkNotNull(dictionaryPageSizeKb, "dictionaryPageSizeKb"); + this.dictionaryPageSizeKb = dictionaryPageSizeKb; + return this; + } + + public DestinationGcsParquetColumnarStorage withFormatType(DestinationGcsSchemasFormatOutputFormatFormatType formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public DestinationGcsParquetColumnarStorage withFormatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + /** + * Maximum size allowed as padding to align row groups. This is also the minimum size of a row group. Default: 8 MB. + */ + public DestinationGcsParquetColumnarStorage withMaxPaddingSizeMb(long maxPaddingSizeMb) { + Utils.checkNotNull(maxPaddingSizeMb, "maxPaddingSizeMb"); + this.maxPaddingSizeMb = Optional.ofNullable(maxPaddingSizeMb); + return this; + } + + /** + * Maximum size allowed as padding to align row groups. This is also the minimum size of a row group. Default: 8 MB. + */ + public DestinationGcsParquetColumnarStorage withMaxPaddingSizeMb(Optional maxPaddingSizeMb) { + Utils.checkNotNull(maxPaddingSizeMb, "maxPaddingSizeMb"); + this.maxPaddingSizeMb = maxPaddingSizeMb; + return this; + } + + /** + * The page size is for compression. A block is composed of pages. A page is the smallest unit that must be read fully to access a single record. If this value is too small, the compression will deteriorate. Default: 1024 KB. + */ + public DestinationGcsParquetColumnarStorage withPageSizeKb(long pageSizeKb) { + Utils.checkNotNull(pageSizeKb, "pageSizeKb"); + this.pageSizeKb = Optional.ofNullable(pageSizeKb); + return this; + } + + /** + * The page size is for compression. A block is composed of pages. A page is the smallest unit that must be read fully to access a single record. If this value is too small, the compression will deteriorate. Default: 1024 KB. + */ + public DestinationGcsParquetColumnarStorage withPageSizeKb(Optional pageSizeKb) { + Utils.checkNotNull(pageSizeKb, "pageSizeKb"); + this.pageSizeKb = pageSizeKb; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationGcsParquetColumnarStorage other = (DestinationGcsParquetColumnarStorage) o; + return + java.util.Objects.deepEquals(this.blockSizeMb, other.blockSizeMb) && + java.util.Objects.deepEquals(this.compressionCodec, other.compressionCodec) && + java.util.Objects.deepEquals(this.dictionaryEncoding, other.dictionaryEncoding) && + java.util.Objects.deepEquals(this.dictionaryPageSizeKb, other.dictionaryPageSizeKb) && + java.util.Objects.deepEquals(this.formatType, other.formatType) && + java.util.Objects.deepEquals(this.maxPaddingSizeMb, other.maxPaddingSizeMb) && + java.util.Objects.deepEquals(this.pageSizeKb, other.pageSizeKb); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + blockSizeMb, + compressionCodec, + dictionaryEncoding, + dictionaryPageSizeKb, + formatType, + maxPaddingSizeMb, + pageSizeKb); + } + + @Override + public String toString() { + return Utils.toString(DestinationGcsParquetColumnarStorage.class, + "blockSizeMb", blockSizeMb, + "compressionCodec", compressionCodec, + "dictionaryEncoding", dictionaryEncoding, + "dictionaryPageSizeKb", dictionaryPageSizeKb, + "formatType", formatType, + "maxPaddingSizeMb", maxPaddingSizeMb, + "pageSizeKb", pageSizeKb); + } + + public final static class Builder { + + private Optional blockSizeMb; + + private Optional compressionCodec; + + private Optional dictionaryEncoding; + + private Optional dictionaryPageSizeKb; + + private Optional formatType; + + private Optional maxPaddingSizeMb; + + private Optional pageSizeKb; + + private Builder() { + // force use of static builder() method + } + + /** + * This is the size of a row group being buffered in memory. It limits the memory usage when writing. Larger values will improve the IO when reading, but consume more memory when writing. Default: 128 MB. + */ + public Builder blockSizeMb(long blockSizeMb) { + Utils.checkNotNull(blockSizeMb, "blockSizeMb"); + this.blockSizeMb = Optional.ofNullable(blockSizeMb); + return this; + } + + /** + * This is the size of a row group being buffered in memory. It limits the memory usage when writing. Larger values will improve the IO when reading, but consume more memory when writing. Default: 128 MB. + */ + public Builder blockSizeMb(Optional blockSizeMb) { + Utils.checkNotNull(blockSizeMb, "blockSizeMb"); + this.blockSizeMb = blockSizeMb; + return this; + } + + /** + * The compression algorithm used to compress data pages. + */ + public Builder compressionCodec(DestinationGcsCompressionCodec compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = Optional.ofNullable(compressionCodec); + return this; + } + + /** + * The compression algorithm used to compress data pages. + */ + public Builder compressionCodec(Optional compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = compressionCodec; + return this; + } + + /** + * Default: true. + */ + public Builder dictionaryEncoding(boolean dictionaryEncoding) { + Utils.checkNotNull(dictionaryEncoding, "dictionaryEncoding"); + this.dictionaryEncoding = Optional.ofNullable(dictionaryEncoding); + return this; + } + + /** + * Default: true. + */ + public Builder dictionaryEncoding(Optional dictionaryEncoding) { + Utils.checkNotNull(dictionaryEncoding, "dictionaryEncoding"); + this.dictionaryEncoding = dictionaryEncoding; + return this; + } + + /** + * There is one dictionary page per column per row group when dictionary encoding is used. The dictionary page size works like the page size but for dictionary. Default: 1024 KB. + */ + public Builder dictionaryPageSizeKb(long dictionaryPageSizeKb) { + Utils.checkNotNull(dictionaryPageSizeKb, "dictionaryPageSizeKb"); + this.dictionaryPageSizeKb = Optional.ofNullable(dictionaryPageSizeKb); + return this; + } + + /** + * There is one dictionary page per column per row group when dictionary encoding is used. The dictionary page size works like the page size but for dictionary. Default: 1024 KB. + */ + public Builder dictionaryPageSizeKb(Optional dictionaryPageSizeKb) { + Utils.checkNotNull(dictionaryPageSizeKb, "dictionaryPageSizeKb"); + this.dictionaryPageSizeKb = dictionaryPageSizeKb; + return this; + } + + public Builder formatType(DestinationGcsSchemasFormatOutputFormatFormatType formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public Builder formatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + /** + * Maximum size allowed as padding to align row groups. This is also the minimum size of a row group. Default: 8 MB. + */ + public Builder maxPaddingSizeMb(long maxPaddingSizeMb) { + Utils.checkNotNull(maxPaddingSizeMb, "maxPaddingSizeMb"); + this.maxPaddingSizeMb = Optional.ofNullable(maxPaddingSizeMb); + return this; + } + + /** + * Maximum size allowed as padding to align row groups. This is also the minimum size of a row group. Default: 8 MB. + */ + public Builder maxPaddingSizeMb(Optional maxPaddingSizeMb) { + Utils.checkNotNull(maxPaddingSizeMb, "maxPaddingSizeMb"); + this.maxPaddingSizeMb = maxPaddingSizeMb; + return this; + } + + /** + * The page size is for compression. A block is composed of pages. A page is the smallest unit that must be read fully to access a single record. If this value is too small, the compression will deteriorate. Default: 1024 KB. + */ + public Builder pageSizeKb(long pageSizeKb) { + Utils.checkNotNull(pageSizeKb, "pageSizeKb"); + this.pageSizeKb = Optional.ofNullable(pageSizeKb); + return this; + } + + /** + * The page size is for compression. A block is composed of pages. A page is the smallest unit that must be read fully to access a single record. If this value is too small, the compression will deteriorate. Default: 1024 KB. + */ + public Builder pageSizeKb(Optional pageSizeKb) { + Utils.checkNotNull(pageSizeKb, "pageSizeKb"); + this.pageSizeKb = pageSizeKb; + return this; + } + + public DestinationGcsParquetColumnarStorage build() { + if (blockSizeMb == null) { + blockSizeMb = _SINGLETON_VALUE_BlockSizeMb.value(); + } + if (compressionCodec == null) { + compressionCodec = _SINGLETON_VALUE_CompressionCodec.value(); + } + if (dictionaryEncoding == null) { + dictionaryEncoding = _SINGLETON_VALUE_DictionaryEncoding.value(); + } + if (dictionaryPageSizeKb == null) { + dictionaryPageSizeKb = _SINGLETON_VALUE_DictionaryPageSizeKb.value(); + } + if (formatType == null) { + formatType = _SINGLETON_VALUE_FormatType.value(); + } + if (maxPaddingSizeMb == null) { + maxPaddingSizeMb = _SINGLETON_VALUE_MaxPaddingSizeMb.value(); + } + if (pageSizeKb == null) { + pageSizeKb = _SINGLETON_VALUE_PageSizeKb.value(); + } + return new DestinationGcsParquetColumnarStorage( + blockSizeMb, + compressionCodec, + dictionaryEncoding, + dictionaryPageSizeKb, + formatType, + maxPaddingSizeMb, + pageSizeKb); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_BlockSizeMb = + new LazySingletonValue<>( + "block_size_mb", + "128", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionCodec = + new LazySingletonValue<>( + "compression_codec", + "\"UNCOMPRESSED\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DictionaryEncoding = + new LazySingletonValue<>( + "dictionary_encoding", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DictionaryPageSizeKb = + new LazySingletonValue<>( + "dictionary_page_size_kb", + "1024", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_FormatType = + new LazySingletonValue<>( + "format_type", + "\"Parquet\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_MaxPaddingSizeMb = + new LazySingletonValue<>( + "max_padding_size_mb", + "8", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_PageSizeKb = + new LazySingletonValue<>( + "page_size_kb", + "1024", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasCodec.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasCodec.java new file mode 100644 index 000000000..bbe771126 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasCodec.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationGcsSchemasCodec { + BZIP2("bzip2"); + + @JsonValue + private final String value; + + private DestinationGcsSchemasCodec(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasCompressionType.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasCompressionType.java new file mode 100644 index 000000000..7c6bc945d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasCompressionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationGcsSchemasCompressionType { + NO_COMPRESSION("No Compression"); + + @JsonValue + private final String value; + + private DestinationGcsSchemasCompressionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatCodec.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatCodec.java new file mode 100644 index 000000000..fd314e483 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatCodec.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationGcsSchemasFormatCodec { + XZ("xz"); + + @JsonValue + private final String value; + + private DestinationGcsSchemasFormatCodec(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatCompressionType.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatCompressionType.java new file mode 100644 index 000000000..debc084eb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatCompressionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationGcsSchemasFormatCompressionType { + GZIP("GZIP"); + + @JsonValue + private final String value; + + private DestinationGcsSchemasFormatCompressionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatFormatType.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatFormatType.java new file mode 100644 index 000000000..bfa2194f2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatFormatType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationGcsSchemasFormatFormatType { + JSONL("JSONL"); + + @JsonValue + private final String value; + + private DestinationGcsSchemasFormatFormatType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatOutputFormat1Codec.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatOutputFormat1Codec.java new file mode 100644 index 000000000..95219c9b2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatOutputFormat1Codec.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationGcsSchemasFormatOutputFormat1Codec { + SNAPPY("snappy"); + + @JsonValue + private final String value; + + private DestinationGcsSchemasFormatOutputFormat1Codec(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatOutputFormatCodec.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatOutputFormatCodec.java new file mode 100644 index 000000000..2c15f3482 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatOutputFormatCodec.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationGcsSchemasFormatOutputFormatCodec { + ZSTANDARD("zstandard"); + + @JsonValue + private final String value; + + private DestinationGcsSchemasFormatOutputFormatCodec(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatOutputFormatFormatType.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatOutputFormatFormatType.java new file mode 100644 index 000000000..9c4ab95f4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatOutputFormatFormatType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationGcsSchemasFormatOutputFormatFormatType { + PARQUET("Parquet"); + + @JsonValue + private final String value; + + private DestinationGcsSchemasFormatOutputFormatFormatType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatType.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatType.java new file mode 100644 index 000000000..fcbc74a5e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasFormatType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationGcsSchemasFormatType { + CSV("CSV"); + + @JsonValue + private final String value; + + private DestinationGcsSchemasFormatType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasNoCompression.java b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasNoCompression.java new file mode 100644 index 000000000..f279b6c68 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGcsSchemasNoCompression.java @@ -0,0 +1,113 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationGcsSchemasNoCompression { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_type") + private Optional compressionType; + + public DestinationGcsSchemasNoCompression( + @JsonProperty("compression_type") Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + } + + public Optional compressionType() { + return compressionType; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationGcsSchemasNoCompression withCompressionType(DestinationGcsSchemasCompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public DestinationGcsSchemasNoCompression withCompressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationGcsSchemasNoCompression other = (DestinationGcsSchemasNoCompression) o; + return + java.util.Objects.deepEquals(this.compressionType, other.compressionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compressionType); + } + + @Override + public String toString() { + return Utils.toString(DestinationGcsSchemasNoCompression.class, + "compressionType", compressionType); + } + + public final static class Builder { + + private Optional compressionType; + + private Builder() { + // force use of static builder() method + } + + public Builder compressionType(DestinationGcsSchemasCompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public Builder compressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + public DestinationGcsSchemasNoCompression build() { + if (compressionType == null) { + compressionType = _SINGLETON_VALUE_CompressionType.value(); + } + return new DestinationGcsSchemasNoCompression( + compressionType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionType = + new LazySingletonValue<>( + "compression_type", + "\"No Compression\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGoogleSheets.java b/src/main/java/com/airbyte/api/models/shared/DestinationGoogleSheets.java new file mode 100644 index 000000000..14eecd32b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGoogleSheets.java @@ -0,0 +1,157 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DestinationGoogleSheets { + + /** + * Google API Credentials for connecting to Google Sheets and Google Drive APIs + */ + @JsonProperty("credentials") + private AuthenticationViaGoogleOAuth credentials; + + @JsonProperty("destinationType") + private DestinationGoogleSheetsGoogleSheets destinationType; + + /** + * The link to your spreadsheet. See <a href='https://docs.airbyte.com/integrations/destinations/google-sheets#sheetlink'>this guide</a> for more details. + */ + @JsonProperty("spreadsheet_id") + private String spreadsheetId; + + public DestinationGoogleSheets( + @JsonProperty("credentials") AuthenticationViaGoogleOAuth credentials, + @JsonProperty("spreadsheet_id") String spreadsheetId) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(spreadsheetId, "spreadsheetId"); + this.credentials = credentials; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.spreadsheetId = spreadsheetId; + } + + /** + * Google API Credentials for connecting to Google Sheets and Google Drive APIs + */ + public AuthenticationViaGoogleOAuth credentials() { + return credentials; + } + + public DestinationGoogleSheetsGoogleSheets destinationType() { + return destinationType; + } + + /** + * The link to your spreadsheet. See <a href='https://docs.airbyte.com/integrations/destinations/google-sheets#sheetlink'>this guide</a> for more details. + */ + public String spreadsheetId() { + return spreadsheetId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Google API Credentials for connecting to Google Sheets and Google Drive APIs + */ + public DestinationGoogleSheets withCredentials(AuthenticationViaGoogleOAuth credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The link to your spreadsheet. See <a href='https://docs.airbyte.com/integrations/destinations/google-sheets#sheetlink'>this guide</a> for more details. + */ + public DestinationGoogleSheets withSpreadsheetId(String spreadsheetId) { + Utils.checkNotNull(spreadsheetId, "spreadsheetId"); + this.spreadsheetId = spreadsheetId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationGoogleSheets other = (DestinationGoogleSheets) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.spreadsheetId, other.spreadsheetId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + destinationType, + spreadsheetId); + } + + @Override + public String toString() { + return Utils.toString(DestinationGoogleSheets.class, + "credentials", credentials, + "destinationType", destinationType, + "spreadsheetId", spreadsheetId); + } + + public final static class Builder { + + private AuthenticationViaGoogleOAuth credentials; + + private String spreadsheetId; + + private Builder() { + // force use of static builder() method + } + + /** + * Google API Credentials for connecting to Google Sheets and Google Drive APIs + */ + public Builder credentials(AuthenticationViaGoogleOAuth credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The link to your spreadsheet. See <a href='https://docs.airbyte.com/integrations/destinations/google-sheets#sheetlink'>this guide</a> for more details. + */ + public Builder spreadsheetId(String spreadsheetId) { + Utils.checkNotNull(spreadsheetId, "spreadsheetId"); + this.spreadsheetId = spreadsheetId; + return this; + } + + public DestinationGoogleSheets build() { + return new DestinationGoogleSheets( + credentials, + spreadsheetId); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"google-sheets\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationGoogleSheetsGoogleSheets.java b/src/main/java/com/airbyte/api/models/shared/DestinationGoogleSheetsGoogleSheets.java new file mode 100644 index 000000000..03f3bb990 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationGoogleSheetsGoogleSheets.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationGoogleSheetsGoogleSheets { + GOOGLE_SHEETS("google-sheets"); + + @JsonValue + private final String value; + + private DestinationGoogleSheetsGoogleSheets(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationLangchain.java b/src/main/java/com/airbyte/api/models/shared/DestinationLangchain.java new file mode 100644 index 000000000..1ae3fd47f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationLangchain.java @@ -0,0 +1,185 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DestinationLangchain { + + @JsonProperty("destinationType") + private Langchain destinationType; + + /** + * Embedding configuration + */ + @JsonProperty("embedding") + private DestinationLangchainEmbedding embedding; + + /** + * Indexing configuration + */ + @JsonProperty("indexing") + private DestinationLangchainIndexing indexing; + + @JsonProperty("processing") + private DestinationLangchainProcessingConfigModel processing; + + public DestinationLangchain( + @JsonProperty("embedding") DestinationLangchainEmbedding embedding, + @JsonProperty("indexing") DestinationLangchainIndexing indexing, + @JsonProperty("processing") DestinationLangchainProcessingConfigModel processing) { + Utils.checkNotNull(embedding, "embedding"); + Utils.checkNotNull(indexing, "indexing"); + Utils.checkNotNull(processing, "processing"); + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.embedding = embedding; + this.indexing = indexing; + this.processing = processing; + } + + public Langchain destinationType() { + return destinationType; + } + + /** + * Embedding configuration + */ + public DestinationLangchainEmbedding embedding() { + return embedding; + } + + /** + * Indexing configuration + */ + public DestinationLangchainIndexing indexing() { + return indexing; + } + + public DestinationLangchainProcessingConfigModel processing() { + return processing; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Embedding configuration + */ + public DestinationLangchain withEmbedding(DestinationLangchainEmbedding embedding) { + Utils.checkNotNull(embedding, "embedding"); + this.embedding = embedding; + return this; + } + + /** + * Indexing configuration + */ + public DestinationLangchain withIndexing(DestinationLangchainIndexing indexing) { + Utils.checkNotNull(indexing, "indexing"); + this.indexing = indexing; + return this; + } + + public DestinationLangchain withProcessing(DestinationLangchainProcessingConfigModel processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationLangchain other = (DestinationLangchain) o; + return + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.embedding, other.embedding) && + java.util.Objects.deepEquals(this.indexing, other.indexing) && + java.util.Objects.deepEquals(this.processing, other.processing); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + destinationType, + embedding, + indexing, + processing); + } + + @Override + public String toString() { + return Utils.toString(DestinationLangchain.class, + "destinationType", destinationType, + "embedding", embedding, + "indexing", indexing, + "processing", processing); + } + + public final static class Builder { + + private DestinationLangchainEmbedding embedding; + + private DestinationLangchainIndexing indexing; + + private DestinationLangchainProcessingConfigModel processing; + + private Builder() { + // force use of static builder() method + } + + /** + * Embedding configuration + */ + public Builder embedding(DestinationLangchainEmbedding embedding) { + Utils.checkNotNull(embedding, "embedding"); + this.embedding = embedding; + return this; + } + + /** + * Indexing configuration + */ + public Builder indexing(DestinationLangchainIndexing indexing) { + Utils.checkNotNull(indexing, "indexing"); + this.indexing = indexing; + return this; + } + + public Builder processing(DestinationLangchainProcessingConfigModel processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + public DestinationLangchain build() { + return new DestinationLangchain( + embedding, + indexing, + processing); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"langchain\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationLangchainEmbedding.java b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainEmbedding.java new file mode 100644 index 000000000..d53b56664 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainEmbedding.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationLangchainEmbedding - Embedding configuration + */ + +@JsonDeserialize(using = DestinationLangchainEmbedding._Deserializer.class) +public class DestinationLangchainEmbedding { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationLangchainEmbedding(TypedObject value) { + this.value = value; + } + + public static DestinationLangchainEmbedding of(DestinationLangchainOpenAI value) { + Utils.checkNotNull(value, "value"); + return new DestinationLangchainEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationLangchainEmbedding of(DestinationLangchainFake value) { + Utils.checkNotNull(value, "value"); + return new DestinationLangchainEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationLangchainOpenAI}
    • + *
    • {@code DestinationLangchainFake}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationLangchainEmbedding other = (DestinationLangchainEmbedding) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationLangchainEmbedding.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationLangchainEmbedding.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationLangchainFake.java b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainFake.java new file mode 100644 index 000000000..ea5963652 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainFake.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationLangchainFake - Use a fake embedding made out of random vectors with 1536 embedding dimensions. This is useful for testing the data pipeline without incurring any costs. + */ + +public class DestinationLangchainFake { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationLangchainFake() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationLangchainFake other = (DestinationLangchainFake) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationLangchainFake.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationLangchainFake build() { + return new DestinationLangchainFake( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"fake\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationLangchainIndexing.java b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainIndexing.java new file mode 100644 index 000000000..abdc63c7e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainIndexing.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationLangchainIndexing - Indexing configuration + */ + +@JsonDeserialize(using = DestinationLangchainIndexing._Deserializer.class) +public class DestinationLangchainIndexing { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationLangchainIndexing(TypedObject value) { + this.value = value; + } + + public static DestinationLangchainIndexing of(DestinationLangchainPinecone value) { + Utils.checkNotNull(value, "value"); + return new DestinationLangchainIndexing(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationLangchainIndexing of(DocArrayHnswSearch value) { + Utils.checkNotNull(value, "value"); + return new DestinationLangchainIndexing(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationLangchainIndexing of(ChromaLocalPersistance value) { + Utils.checkNotNull(value, "value"); + return new DestinationLangchainIndexing(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationLangchainPinecone}
    • + *
    • {@code DocArrayHnswSearch}
    • + *
    • {@code ChromaLocalPersistance}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationLangchainIndexing other = (DestinationLangchainIndexing) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationLangchainIndexing.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationLangchainIndexing.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationLangchainMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainMode.java new file mode 100644 index 000000000..458261fab --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationLangchainMode { + OPENAI("openai"); + + @JsonValue + private final String value; + + private DestinationLangchainMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationLangchainOpenAI.java b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainOpenAI.java new file mode 100644 index 000000000..35a79102d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainOpenAI.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationLangchainOpenAI - Use the OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + */ + +public class DestinationLangchainOpenAI { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + @JsonProperty("openai_key") + private String openaiKey; + + public DestinationLangchainOpenAI( + @JsonProperty("openai_key") String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.openaiKey = openaiKey; + } + + public Optional mode() { + return mode; + } + + public String openaiKey() { + return openaiKey; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationLangchainOpenAI withOpenaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationLangchainOpenAI other = (DestinationLangchainOpenAI) o; + return + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.openaiKey, other.openaiKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode, + openaiKey); + } + + @Override + public String toString() { + return Utils.toString(DestinationLangchainOpenAI.class, + "mode", mode, + "openaiKey", openaiKey); + } + + public final static class Builder { + + private String openaiKey; + + private Builder() { + // force use of static builder() method + } + + public Builder openaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + public DestinationLangchainOpenAI build() { + return new DestinationLangchainOpenAI( + openaiKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"openai\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationLangchainPinecone.java b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainPinecone.java new file mode 100644 index 000000000..94f2b3e9c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainPinecone.java @@ -0,0 +1,192 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationLangchainPinecone - Pinecone is a popular vector store that can be used to store and retrieve embeddings. It is a managed service and can also be queried from outside of langchain. + */ + +public class DestinationLangchainPinecone { + + /** + * Pinecone index to use + */ + @JsonProperty("index") + private String index; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * Pinecone environment to use + */ + @JsonProperty("pinecone_environment") + private String pineconeEnvironment; + + @JsonProperty("pinecone_key") + private String pineconeKey; + + public DestinationLangchainPinecone( + @JsonProperty("index") String index, + @JsonProperty("pinecone_environment") String pineconeEnvironment, + @JsonProperty("pinecone_key") String pineconeKey) { + Utils.checkNotNull(index, "index"); + Utils.checkNotNull(pineconeEnvironment, "pineconeEnvironment"); + Utils.checkNotNull(pineconeKey, "pineconeKey"); + this.index = index; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.pineconeEnvironment = pineconeEnvironment; + this.pineconeKey = pineconeKey; + } + + /** + * Pinecone index to use + */ + public String index() { + return index; + } + + public Optional mode() { + return mode; + } + + /** + * Pinecone environment to use + */ + public String pineconeEnvironment() { + return pineconeEnvironment; + } + + public String pineconeKey() { + return pineconeKey; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Pinecone index to use + */ + public DestinationLangchainPinecone withIndex(String index) { + Utils.checkNotNull(index, "index"); + this.index = index; + return this; + } + + /** + * Pinecone environment to use + */ + public DestinationLangchainPinecone withPineconeEnvironment(String pineconeEnvironment) { + Utils.checkNotNull(pineconeEnvironment, "pineconeEnvironment"); + this.pineconeEnvironment = pineconeEnvironment; + return this; + } + + public DestinationLangchainPinecone withPineconeKey(String pineconeKey) { + Utils.checkNotNull(pineconeKey, "pineconeKey"); + this.pineconeKey = pineconeKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationLangchainPinecone other = (DestinationLangchainPinecone) o; + return + java.util.Objects.deepEquals(this.index, other.index) && + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.pineconeEnvironment, other.pineconeEnvironment) && + java.util.Objects.deepEquals(this.pineconeKey, other.pineconeKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + index, + mode, + pineconeEnvironment, + pineconeKey); + } + + @Override + public String toString() { + return Utils.toString(DestinationLangchainPinecone.class, + "index", index, + "mode", mode, + "pineconeEnvironment", pineconeEnvironment, + "pineconeKey", pineconeKey); + } + + public final static class Builder { + + private String index; + + private String pineconeEnvironment; + + private String pineconeKey; + + private Builder() { + // force use of static builder() method + } + + /** + * Pinecone index to use + */ + public Builder index(String index) { + Utils.checkNotNull(index, "index"); + this.index = index; + return this; + } + + /** + * Pinecone environment to use + */ + public Builder pineconeEnvironment(String pineconeEnvironment) { + Utils.checkNotNull(pineconeEnvironment, "pineconeEnvironment"); + this.pineconeEnvironment = pineconeEnvironment; + return this; + } + + public Builder pineconeKey(String pineconeKey) { + Utils.checkNotNull(pineconeKey, "pineconeKey"); + this.pineconeKey = pineconeKey; + return this; + } + + public DestinationLangchainPinecone build() { + return new DestinationLangchainPinecone( + index, + pineconeEnvironment, + pineconeKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"pinecone\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationLangchainProcessingConfigModel.java b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainProcessingConfigModel.java new file mode 100644 index 000000000..5d4a526fd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainProcessingConfigModel.java @@ -0,0 +1,211 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationLangchainProcessingConfigModel { + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("chunk_overlap") + private Optional chunkOverlap; + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + @JsonProperty("chunk_size") + private long chunkSize; + + /** + * List of fields in the record that should be used to calculate the embedding. All other fields are passed along as meta fields. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + @JsonProperty("text_fields") + private java.util.List textFields; + + public DestinationLangchainProcessingConfigModel( + @JsonProperty("chunk_overlap") Optional chunkOverlap, + @JsonProperty("chunk_size") long chunkSize, + @JsonProperty("text_fields") java.util.List textFields) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + Utils.checkNotNull(chunkSize, "chunkSize"); + Utils.checkNotNull(textFields, "textFields"); + this.chunkOverlap = chunkOverlap; + this.chunkSize = chunkSize; + this.textFields = textFields; + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public Optional chunkOverlap() { + return chunkOverlap; + } + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + public long chunkSize() { + return chunkSize; + } + + /** + * List of fields in the record that should be used to calculate the embedding. All other fields are passed along as meta fields. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public java.util.List textFields() { + return textFields; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public DestinationLangchainProcessingConfigModel withChunkOverlap(long chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = Optional.ofNullable(chunkOverlap); + return this; + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public DestinationLangchainProcessingConfigModel withChunkOverlap(Optional chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = chunkOverlap; + return this; + } + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + public DestinationLangchainProcessingConfigModel withChunkSize(long chunkSize) { + Utils.checkNotNull(chunkSize, "chunkSize"); + this.chunkSize = chunkSize; + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. All other fields are passed along as meta fields. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public DestinationLangchainProcessingConfigModel withTextFields(java.util.List textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = textFields; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationLangchainProcessingConfigModel other = (DestinationLangchainProcessingConfigModel) o; + return + java.util.Objects.deepEquals(this.chunkOverlap, other.chunkOverlap) && + java.util.Objects.deepEquals(this.chunkSize, other.chunkSize) && + java.util.Objects.deepEquals(this.textFields, other.textFields); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + chunkOverlap, + chunkSize, + textFields); + } + + @Override + public String toString() { + return Utils.toString(DestinationLangchainProcessingConfigModel.class, + "chunkOverlap", chunkOverlap, + "chunkSize", chunkSize, + "textFields", textFields); + } + + public final static class Builder { + + private Optional chunkOverlap; + + private Long chunkSize; + + private java.util.List textFields; + + private Builder() { + // force use of static builder() method + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public Builder chunkOverlap(long chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = Optional.ofNullable(chunkOverlap); + return this; + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public Builder chunkOverlap(Optional chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = chunkOverlap; + return this; + } + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + public Builder chunkSize(long chunkSize) { + Utils.checkNotNull(chunkSize, "chunkSize"); + this.chunkSize = chunkSize; + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. All other fields are passed along as meta fields. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Builder textFields(java.util.List textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = textFields; + return this; + } + + public DestinationLangchainProcessingConfigModel build() { + if (chunkOverlap == null) { + chunkOverlap = _SINGLETON_VALUE_ChunkOverlap.value(); + } + return new DestinationLangchainProcessingConfigModel( + chunkOverlap, + chunkSize, + textFields); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ChunkOverlap = + new LazySingletonValue<>( + "chunk_overlap", + "0", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationLangchainSchemasIndexingIndexing3Mode.java b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainSchemasIndexingIndexing3Mode.java new file mode 100644 index 000000000..9754ca4fd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainSchemasIndexingIndexing3Mode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationLangchainSchemasIndexingIndexing3Mode { + CHROMA_LOCAL("chroma_local"); + + @JsonValue + private final String value; + + private DestinationLangchainSchemasIndexingIndexing3Mode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationLangchainSchemasIndexingIndexingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainSchemasIndexingIndexingMode.java new file mode 100644 index 000000000..9a279454d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainSchemasIndexingIndexingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationLangchainSchemasIndexingIndexingMode { + DOC_ARRAY_HNSW_SEARCH("DocArrayHnswSearch"); + + @JsonValue + private final String value; + + private DestinationLangchainSchemasIndexingIndexingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationLangchainSchemasIndexingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainSchemasIndexingMode.java new file mode 100644 index 000000000..b6d4d7b14 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainSchemasIndexingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationLangchainSchemasIndexingMode { + PINECONE("pinecone"); + + @JsonValue + private final String value; + + private DestinationLangchainSchemasIndexingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationLangchainSchemasMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainSchemasMode.java new file mode 100644 index 000000000..f7fd2de7b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationLangchainSchemasMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationLangchainSchemasMode { + FAKE("fake"); + + @JsonValue + private final String value; + + private DestinationLangchainSchemasMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvus.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvus.java new file mode 100644 index 000000000..6efac3c6a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvus.java @@ -0,0 +1,268 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationMilvus - The configuration model for the Vector DB based destinations. This model is used to generate the UI for the destination configuration, + * as well as to provide type safety for the configuration passed to the destination. + * + * The configuration model is composed of four parts: + * * Processing configuration + * * Embedding configuration + * * Indexing configuration + * * Advanced configuration + * + * Processing, embedding and advanced configuration are provided by this base class, while the indexing configuration is provided by the destination connector in the sub class. + */ + +public class DestinationMilvus { + + @JsonProperty("destinationType") + private Milvus destinationType; + + /** + * Embedding configuration + */ + @JsonProperty("embedding") + private DestinationMilvusEmbedding embedding; + + /** + * Indexing configuration + */ + @JsonProperty("indexing") + private DestinationMilvusIndexing indexing; + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("omit_raw_text") + private Optional omitRawText; + + @JsonProperty("processing") + private DestinationMilvusProcessingConfigModel processing; + + public DestinationMilvus( + @JsonProperty("embedding") DestinationMilvusEmbedding embedding, + @JsonProperty("indexing") DestinationMilvusIndexing indexing, + @JsonProperty("omit_raw_text") Optional omitRawText, + @JsonProperty("processing") DestinationMilvusProcessingConfigModel processing) { + Utils.checkNotNull(embedding, "embedding"); + Utils.checkNotNull(indexing, "indexing"); + Utils.checkNotNull(omitRawText, "omitRawText"); + Utils.checkNotNull(processing, "processing"); + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.embedding = embedding; + this.indexing = indexing; + this.omitRawText = omitRawText; + this.processing = processing; + } + + public Milvus destinationType() { + return destinationType; + } + + /** + * Embedding configuration + */ + public DestinationMilvusEmbedding embedding() { + return embedding; + } + + /** + * Indexing configuration + */ + public DestinationMilvusIndexing indexing() { + return indexing; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public Optional omitRawText() { + return omitRawText; + } + + public DestinationMilvusProcessingConfigModel processing() { + return processing; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Embedding configuration + */ + public DestinationMilvus withEmbedding(DestinationMilvusEmbedding embedding) { + Utils.checkNotNull(embedding, "embedding"); + this.embedding = embedding; + return this; + } + + /** + * Indexing configuration + */ + public DestinationMilvus withIndexing(DestinationMilvusIndexing indexing) { + Utils.checkNotNull(indexing, "indexing"); + this.indexing = indexing; + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public DestinationMilvus withOmitRawText(boolean omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = Optional.ofNullable(omitRawText); + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public DestinationMilvus withOmitRawText(Optional omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = omitRawText; + return this; + } + + public DestinationMilvus withProcessing(DestinationMilvusProcessingConfigModel processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMilvus other = (DestinationMilvus) o; + return + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.embedding, other.embedding) && + java.util.Objects.deepEquals(this.indexing, other.indexing) && + java.util.Objects.deepEquals(this.omitRawText, other.omitRawText) && + java.util.Objects.deepEquals(this.processing, other.processing); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + destinationType, + embedding, + indexing, + omitRawText, + processing); + } + + @Override + public String toString() { + return Utils.toString(DestinationMilvus.class, + "destinationType", destinationType, + "embedding", embedding, + "indexing", indexing, + "omitRawText", omitRawText, + "processing", processing); + } + + public final static class Builder { + + private DestinationMilvusEmbedding embedding; + + private DestinationMilvusIndexing indexing; + + private Optional omitRawText; + + private DestinationMilvusProcessingConfigModel processing; + + private Builder() { + // force use of static builder() method + } + + /** + * Embedding configuration + */ + public Builder embedding(DestinationMilvusEmbedding embedding) { + Utils.checkNotNull(embedding, "embedding"); + this.embedding = embedding; + return this; + } + + /** + * Indexing configuration + */ + public Builder indexing(DestinationMilvusIndexing indexing) { + Utils.checkNotNull(indexing, "indexing"); + this.indexing = indexing; + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public Builder omitRawText(boolean omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = Optional.ofNullable(omitRawText); + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public Builder omitRawText(Optional omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = omitRawText; + return this; + } + + public Builder processing(DestinationMilvusProcessingConfigModel processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + public DestinationMilvus build() { + if (omitRawText == null) { + omitRawText = _SINGLETON_VALUE_OmitRawText.value(); + } + return new DestinationMilvus( + embedding, + indexing, + omitRawText, + processing); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"milvus\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_OmitRawText = + new LazySingletonValue<>( + "omit_raw_text", + "false", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusAPIToken.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusAPIToken.java new file mode 100644 index 000000000..79fceffd6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusAPIToken.java @@ -0,0 +1,124 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationMilvusAPIToken - Authenticate using an API token (suitable for Zilliz Cloud) + */ + +public class DestinationMilvusAPIToken { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * API Token for the Milvus instance + */ + @JsonProperty("token") + private String token; + + public DestinationMilvusAPIToken( + @JsonProperty("token") String token) { + Utils.checkNotNull(token, "token"); + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.token = token; + } + + public Optional mode() { + return mode; + } + + /** + * API Token for the Milvus instance + */ + public String token() { + return token; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Token for the Milvus instance + */ + public DestinationMilvusAPIToken withToken(String token) { + Utils.checkNotNull(token, "token"); + this.token = token; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMilvusAPIToken other = (DestinationMilvusAPIToken) o; + return + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.token, other.token); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode, + token); + } + + @Override + public String toString() { + return Utils.toString(DestinationMilvusAPIToken.class, + "mode", mode, + "token", token); + } + + public final static class Builder { + + private String token; + + private Builder() { + // force use of static builder() method + } + + /** + * API Token for the Milvus instance + */ + public Builder token(String token) { + Utils.checkNotNull(token, "token"); + this.token = token; + return this; + } + + public DestinationMilvusAPIToken build() { + return new DestinationMilvusAPIToken( + token); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"token\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusAuthentication.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusAuthentication.java new file mode 100644 index 000000000..5a3541481 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusAuthentication.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationMilvusAuthentication - Authentication method + */ + +@JsonDeserialize(using = DestinationMilvusAuthentication._Deserializer.class) +public class DestinationMilvusAuthentication { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationMilvusAuthentication(TypedObject value) { + this.value = value; + } + + public static DestinationMilvusAuthentication of(DestinationMilvusAPIToken value) { + Utils.checkNotNull(value, "value"); + return new DestinationMilvusAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationMilvusAuthentication of(DestinationMilvusUsernamePassword value) { + Utils.checkNotNull(value, "value"); + return new DestinationMilvusAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationMilvusAuthentication of(NoAuth value) { + Utils.checkNotNull(value, "value"); + return new DestinationMilvusAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationMilvusAPIToken}
    • + *
    • {@code DestinationMilvusUsernamePassword}
    • + *
    • {@code NoAuth}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMilvusAuthentication other = (DestinationMilvusAuthentication) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationMilvusAuthentication.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationMilvusAuthentication.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusAzureOpenAI.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusAzureOpenAI.java new file mode 100644 index 000000000..9700dd494 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusAzureOpenAI.java @@ -0,0 +1,204 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationMilvusAzureOpenAI - Use the Azure-hosted OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + */ + +public class DestinationMilvusAzureOpenAI { + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + @JsonProperty("api_base") + private String apiBase; + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + @JsonProperty("deployment") + private String deployment; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + @JsonProperty("openai_key") + private String openaiKey; + + public DestinationMilvusAzureOpenAI( + @JsonProperty("api_base") String apiBase, + @JsonProperty("deployment") String deployment, + @JsonProperty("openai_key") String openaiKey) { + Utils.checkNotNull(apiBase, "apiBase"); + Utils.checkNotNull(deployment, "deployment"); + Utils.checkNotNull(openaiKey, "openaiKey"); + this.apiBase = apiBase; + this.deployment = deployment; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.openaiKey = openaiKey; + } + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public String apiBase() { + return apiBase; + } + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public String deployment() { + return deployment; + } + + public Optional mode() { + return mode; + } + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public String openaiKey() { + return openaiKey; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public DestinationMilvusAzureOpenAI withApiBase(String apiBase) { + Utils.checkNotNull(apiBase, "apiBase"); + this.apiBase = apiBase; + return this; + } + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public DestinationMilvusAzureOpenAI withDeployment(String deployment) { + Utils.checkNotNull(deployment, "deployment"); + this.deployment = deployment; + return this; + } + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public DestinationMilvusAzureOpenAI withOpenaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMilvusAzureOpenAI other = (DestinationMilvusAzureOpenAI) o; + return + java.util.Objects.deepEquals(this.apiBase, other.apiBase) && + java.util.Objects.deepEquals(this.deployment, other.deployment) && + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.openaiKey, other.openaiKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiBase, + deployment, + mode, + openaiKey); + } + + @Override + public String toString() { + return Utils.toString(DestinationMilvusAzureOpenAI.class, + "apiBase", apiBase, + "deployment", deployment, + "mode", mode, + "openaiKey", openaiKey); + } + + public final static class Builder { + + private String apiBase; + + private String deployment; + + private String openaiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public Builder apiBase(String apiBase) { + Utils.checkNotNull(apiBase, "apiBase"); + this.apiBase = apiBase; + return this; + } + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public Builder deployment(String deployment) { + Utils.checkNotNull(deployment, "deployment"); + this.deployment = deployment; + return this; + } + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public Builder openaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + public DestinationMilvusAzureOpenAI build() { + return new DestinationMilvusAzureOpenAI( + apiBase, + deployment, + openaiKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"azure_openai\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusByMarkdownHeader.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusByMarkdownHeader.java new file mode 100644 index 000000000..2163f8926 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusByMarkdownHeader.java @@ -0,0 +1,152 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationMilvusByMarkdownHeader - Split the text by Markdown headers down to the specified header level. If the chunk size fits multiple sections, they will be combined into a single chunk. + */ + +public class DestinationMilvusByMarkdownHeader { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("split_level") + private Optional splitLevel; + + public DestinationMilvusByMarkdownHeader( + @JsonProperty("split_level") Optional splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.splitLevel = splitLevel; + } + + public Optional mode() { + return mode; + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public Optional splitLevel() { + return splitLevel; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public DestinationMilvusByMarkdownHeader withSplitLevel(long splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = Optional.ofNullable(splitLevel); + return this; + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public DestinationMilvusByMarkdownHeader withSplitLevel(Optional splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = splitLevel; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMilvusByMarkdownHeader other = (DestinationMilvusByMarkdownHeader) o; + return + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.splitLevel, other.splitLevel); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode, + splitLevel); + } + + @Override + public String toString() { + return Utils.toString(DestinationMilvusByMarkdownHeader.class, + "mode", mode, + "splitLevel", splitLevel); + } + + public final static class Builder { + + private Optional splitLevel; + + private Builder() { + // force use of static builder() method + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public Builder splitLevel(long splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = Optional.ofNullable(splitLevel); + return this; + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public Builder splitLevel(Optional splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = splitLevel; + return this; + } + + public DestinationMilvusByMarkdownHeader build() { + if (splitLevel == null) { + splitLevel = _SINGLETON_VALUE_SplitLevel.value(); + } + return new DestinationMilvusByMarkdownHeader( + splitLevel); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"markdown\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SplitLevel = + new LazySingletonValue<>( + "split_level", + "1", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusByProgrammingLanguage.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusByProgrammingLanguage.java new file mode 100644 index 000000000..e325f47ae --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusByProgrammingLanguage.java @@ -0,0 +1,124 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationMilvusByProgrammingLanguage - Split the text by suitable delimiters based on the programming language. This is useful for splitting code into chunks. + */ + +public class DestinationMilvusByProgrammingLanguage { + + /** + * Split code in suitable places based on the programming language + */ + @JsonProperty("language") + private DestinationMilvusLanguage language; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationMilvusByProgrammingLanguage( + @JsonProperty("language") DestinationMilvusLanguage language) { + Utils.checkNotNull(language, "language"); + this.language = language; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + /** + * Split code in suitable places based on the programming language + */ + public DestinationMilvusLanguage language() { + return language; + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Split code in suitable places based on the programming language + */ + public DestinationMilvusByProgrammingLanguage withLanguage(DestinationMilvusLanguage language) { + Utils.checkNotNull(language, "language"); + this.language = language; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMilvusByProgrammingLanguage other = (DestinationMilvusByProgrammingLanguage) o; + return + java.util.Objects.deepEquals(this.language, other.language) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + language, + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationMilvusByProgrammingLanguage.class, + "language", language, + "mode", mode); + } + + public final static class Builder { + + private DestinationMilvusLanguage language; + + private Builder() { + // force use of static builder() method + } + + /** + * Split code in suitable places based on the programming language + */ + public Builder language(DestinationMilvusLanguage language) { + Utils.checkNotNull(language, "language"); + this.language = language; + return this; + } + + public DestinationMilvusByProgrammingLanguage build() { + return new DestinationMilvusByProgrammingLanguage( + language); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"code\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusBySeparator.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusBySeparator.java new file mode 100644 index 000000000..74a505b77 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusBySeparator.java @@ -0,0 +1,211 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationMilvusBySeparator - Split the text by the list of separators until the chunk size is reached, using the earlier mentioned separators where possible. This is useful for splitting text fields by paragraphs, sentences, words, etc. + */ + +public class DestinationMilvusBySeparator { + + /** + * Whether to keep the separator in the resulting chunks + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("keep_separator") + private Optional keepSeparator; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("separators") + private Optional> separators; + + public DestinationMilvusBySeparator( + @JsonProperty("keep_separator") Optional keepSeparator, + @JsonProperty("separators") Optional> separators) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + Utils.checkNotNull(separators, "separators"); + this.keepSeparator = keepSeparator; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.separators = separators; + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public Optional keepSeparator() { + return keepSeparator; + } + + public Optional mode() { + return mode; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public Optional> separators() { + return separators; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public DestinationMilvusBySeparator withKeepSeparator(boolean keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = Optional.ofNullable(keepSeparator); + return this; + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public DestinationMilvusBySeparator withKeepSeparator(Optional keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = keepSeparator; + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public DestinationMilvusBySeparator withSeparators(java.util.List separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = Optional.ofNullable(separators); + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public DestinationMilvusBySeparator withSeparators(Optional> separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = separators; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMilvusBySeparator other = (DestinationMilvusBySeparator) o; + return + java.util.Objects.deepEquals(this.keepSeparator, other.keepSeparator) && + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.separators, other.separators); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + keepSeparator, + mode, + separators); + } + + @Override + public String toString() { + return Utils.toString(DestinationMilvusBySeparator.class, + "keepSeparator", keepSeparator, + "mode", mode, + "separators", separators); + } + + public final static class Builder { + + private Optional keepSeparator; + + private Optional> separators = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public Builder keepSeparator(boolean keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = Optional.ofNullable(keepSeparator); + return this; + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public Builder keepSeparator(Optional keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = keepSeparator; + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public Builder separators(java.util.List separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = Optional.ofNullable(separators); + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public Builder separators(Optional> separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = separators; + return this; + } + + public DestinationMilvusBySeparator build() { + if (keepSeparator == null) { + keepSeparator = _SINGLETON_VALUE_KeepSeparator.value(); + } + return new DestinationMilvusBySeparator( + keepSeparator, + separators); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_KeepSeparator = + new LazySingletonValue<>( + "keep_separator", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"separator\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusCohere.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusCohere.java new file mode 100644 index 000000000..219dfab00 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusCohere.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationMilvusCohere - Use the Cohere API to embed text. + */ + +public class DestinationMilvusCohere { + + @JsonProperty("cohere_key") + private String cohereKey; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationMilvusCohere( + @JsonProperty("cohere_key") String cohereKey) { + Utils.checkNotNull(cohereKey, "cohereKey"); + this.cohereKey = cohereKey; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public String cohereKey() { + return cohereKey; + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationMilvusCohere withCohereKey(String cohereKey) { + Utils.checkNotNull(cohereKey, "cohereKey"); + this.cohereKey = cohereKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMilvusCohere other = (DestinationMilvusCohere) o; + return + java.util.Objects.deepEquals(this.cohereKey, other.cohereKey) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + cohereKey, + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationMilvusCohere.class, + "cohereKey", cohereKey, + "mode", mode); + } + + public final static class Builder { + + private String cohereKey; + + private Builder() { + // force use of static builder() method + } + + public Builder cohereKey(String cohereKey) { + Utils.checkNotNull(cohereKey, "cohereKey"); + this.cohereKey = cohereKey; + return this; + } + + public DestinationMilvusCohere build() { + return new DestinationMilvusCohere( + cohereKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"cohere\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusEmbedding.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusEmbedding.java new file mode 100644 index 000000000..bd778da6f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusEmbedding.java @@ -0,0 +1,122 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationMilvusEmbedding - Embedding configuration + */ + +@JsonDeserialize(using = DestinationMilvusEmbedding._Deserializer.class) +public class DestinationMilvusEmbedding { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationMilvusEmbedding(TypedObject value) { + this.value = value; + } + + public static DestinationMilvusEmbedding of(DestinationMilvusOpenAI value) { + Utils.checkNotNull(value, "value"); + return new DestinationMilvusEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationMilvusEmbedding of(DestinationMilvusCohere value) { + Utils.checkNotNull(value, "value"); + return new DestinationMilvusEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationMilvusEmbedding of(DestinationMilvusFake value) { + Utils.checkNotNull(value, "value"); + return new DestinationMilvusEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationMilvusEmbedding of(DestinationMilvusAzureOpenAI value) { + Utils.checkNotNull(value, "value"); + return new DestinationMilvusEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationMilvusEmbedding of(DestinationMilvusOpenAICompatible value) { + Utils.checkNotNull(value, "value"); + return new DestinationMilvusEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationMilvusOpenAI}
    • + *
    • {@code DestinationMilvusCohere}
    • + *
    • {@code DestinationMilvusFake}
    • + *
    • {@code DestinationMilvusAzureOpenAI}
    • + *
    • {@code DestinationMilvusOpenAICompatible}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMilvusEmbedding other = (DestinationMilvusEmbedding) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationMilvusEmbedding.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationMilvusEmbedding.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusFake.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusFake.java new file mode 100644 index 000000000..9c1c4bce0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusFake.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationMilvusFake - Use a fake embedding made out of random vectors with 1536 embedding dimensions. This is useful for testing the data pipeline without incurring any costs. + */ + +public class DestinationMilvusFake { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationMilvusFake() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMilvusFake other = (DestinationMilvusFake) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationMilvusFake.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationMilvusFake build() { + return new DestinationMilvusFake( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"fake\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusFieldNameMappingConfigModel.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusFieldNameMappingConfigModel.java new file mode 100644 index 000000000..cdf8cfbf4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusFieldNameMappingConfigModel.java @@ -0,0 +1,139 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DestinationMilvusFieldNameMappingConfigModel { + + /** + * The field name in the source + */ + @JsonProperty("from_field") + private String fromField; + + /** + * The field name to use in the destination + */ + @JsonProperty("to_field") + private String toField; + + public DestinationMilvusFieldNameMappingConfigModel( + @JsonProperty("from_field") String fromField, + @JsonProperty("to_field") String toField) { + Utils.checkNotNull(fromField, "fromField"); + Utils.checkNotNull(toField, "toField"); + this.fromField = fromField; + this.toField = toField; + } + + /** + * The field name in the source + */ + public String fromField() { + return fromField; + } + + /** + * The field name to use in the destination + */ + public String toField() { + return toField; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The field name in the source + */ + public DestinationMilvusFieldNameMappingConfigModel withFromField(String fromField) { + Utils.checkNotNull(fromField, "fromField"); + this.fromField = fromField; + return this; + } + + /** + * The field name to use in the destination + */ + public DestinationMilvusFieldNameMappingConfigModel withToField(String toField) { + Utils.checkNotNull(toField, "toField"); + this.toField = toField; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMilvusFieldNameMappingConfigModel other = (DestinationMilvusFieldNameMappingConfigModel) o; + return + java.util.Objects.deepEquals(this.fromField, other.fromField) && + java.util.Objects.deepEquals(this.toField, other.toField); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + fromField, + toField); + } + + @Override + public String toString() { + return Utils.toString(DestinationMilvusFieldNameMappingConfigModel.class, + "fromField", fromField, + "toField", toField); + } + + public final static class Builder { + + private String fromField; + + private String toField; + + private Builder() { + // force use of static builder() method + } + + /** + * The field name in the source + */ + public Builder fromField(String fromField) { + Utils.checkNotNull(fromField, "fromField"); + this.fromField = fromField; + return this; + } + + /** + * The field name to use in the destination + */ + public Builder toField(String toField) { + Utils.checkNotNull(toField, "toField"); + this.toField = toField; + return this; + } + + public DestinationMilvusFieldNameMappingConfigModel build() { + return new DestinationMilvusFieldNameMappingConfigModel( + fromField, + toField); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusIndexing.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusIndexing.java new file mode 100644 index 000000000..10a053512 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusIndexing.java @@ -0,0 +1,390 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationMilvusIndexing - Indexing configuration + */ + +public class DestinationMilvusIndexing { + + /** + * Authentication method + */ + @JsonProperty("auth") + private DestinationMilvusAuthentication auth; + + /** + * The collection to load data into + */ + @JsonProperty("collection") + private String collection; + + /** + * The database to connect to + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("db") + private Optional db; + + /** + * The public endpoint of the Milvus instance. + */ + @JsonProperty("host") + private String host; + + /** + * The field in the entity that contains the embedded text + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("text_field") + private Optional textField; + + /** + * The field in the entity that contains the vector + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("vector_field") + private Optional vectorField; + + public DestinationMilvusIndexing( + @JsonProperty("auth") DestinationMilvusAuthentication auth, + @JsonProperty("collection") String collection, + @JsonProperty("db") Optional db, + @JsonProperty("host") String host, + @JsonProperty("text_field") Optional textField, + @JsonProperty("vector_field") Optional vectorField) { + Utils.checkNotNull(auth, "auth"); + Utils.checkNotNull(collection, "collection"); + Utils.checkNotNull(db, "db"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(textField, "textField"); + Utils.checkNotNull(vectorField, "vectorField"); + this.auth = auth; + this.collection = collection; + this.db = db; + this.host = host; + this.textField = textField; + this.vectorField = vectorField; + } + + /** + * Authentication method + */ + public DestinationMilvusAuthentication auth() { + return auth; + } + + /** + * The collection to load data into + */ + public String collection() { + return collection; + } + + /** + * The database to connect to + */ + public Optional db() { + return db; + } + + /** + * The public endpoint of the Milvus instance. + */ + public String host() { + return host; + } + + /** + * The field in the entity that contains the embedded text + */ + public Optional textField() { + return textField; + } + + /** + * The field in the entity that contains the vector + */ + public Optional vectorField() { + return vectorField; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Authentication method + */ + public DestinationMilvusIndexing withAuth(DestinationMilvusAuthentication auth) { + Utils.checkNotNull(auth, "auth"); + this.auth = auth; + return this; + } + + /** + * The collection to load data into + */ + public DestinationMilvusIndexing withCollection(String collection) { + Utils.checkNotNull(collection, "collection"); + this.collection = collection; + return this; + } + + /** + * The database to connect to + */ + public DestinationMilvusIndexing withDb(String db) { + Utils.checkNotNull(db, "db"); + this.db = Optional.ofNullable(db); + return this; + } + + /** + * The database to connect to + */ + public DestinationMilvusIndexing withDb(Optional db) { + Utils.checkNotNull(db, "db"); + this.db = db; + return this; + } + + /** + * The public endpoint of the Milvus instance. + */ + public DestinationMilvusIndexing withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * The field in the entity that contains the embedded text + */ + public DestinationMilvusIndexing withTextField(String textField) { + Utils.checkNotNull(textField, "textField"); + this.textField = Optional.ofNullable(textField); + return this; + } + + /** + * The field in the entity that contains the embedded text + */ + public DestinationMilvusIndexing withTextField(Optional textField) { + Utils.checkNotNull(textField, "textField"); + this.textField = textField; + return this; + } + + /** + * The field in the entity that contains the vector + */ + public DestinationMilvusIndexing withVectorField(String vectorField) { + Utils.checkNotNull(vectorField, "vectorField"); + this.vectorField = Optional.ofNullable(vectorField); + return this; + } + + /** + * The field in the entity that contains the vector + */ + public DestinationMilvusIndexing withVectorField(Optional vectorField) { + Utils.checkNotNull(vectorField, "vectorField"); + this.vectorField = vectorField; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMilvusIndexing other = (DestinationMilvusIndexing) o; + return + java.util.Objects.deepEquals(this.auth, other.auth) && + java.util.Objects.deepEquals(this.collection, other.collection) && + java.util.Objects.deepEquals(this.db, other.db) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.textField, other.textField) && + java.util.Objects.deepEquals(this.vectorField, other.vectorField); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + auth, + collection, + db, + host, + textField, + vectorField); + } + + @Override + public String toString() { + return Utils.toString(DestinationMilvusIndexing.class, + "auth", auth, + "collection", collection, + "db", db, + "host", host, + "textField", textField, + "vectorField", vectorField); + } + + public final static class Builder { + + private DestinationMilvusAuthentication auth; + + private String collection; + + private Optional db; + + private String host; + + private Optional textField; + + private Optional vectorField; + + private Builder() { + // force use of static builder() method + } + + /** + * Authentication method + */ + public Builder auth(DestinationMilvusAuthentication auth) { + Utils.checkNotNull(auth, "auth"); + this.auth = auth; + return this; + } + + /** + * The collection to load data into + */ + public Builder collection(String collection) { + Utils.checkNotNull(collection, "collection"); + this.collection = collection; + return this; + } + + /** + * The database to connect to + */ + public Builder db(String db) { + Utils.checkNotNull(db, "db"); + this.db = Optional.ofNullable(db); + return this; + } + + /** + * The database to connect to + */ + public Builder db(Optional db) { + Utils.checkNotNull(db, "db"); + this.db = db; + return this; + } + + /** + * The public endpoint of the Milvus instance. + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * The field in the entity that contains the embedded text + */ + public Builder textField(String textField) { + Utils.checkNotNull(textField, "textField"); + this.textField = Optional.ofNullable(textField); + return this; + } + + /** + * The field in the entity that contains the embedded text + */ + public Builder textField(Optional textField) { + Utils.checkNotNull(textField, "textField"); + this.textField = textField; + return this; + } + + /** + * The field in the entity that contains the vector + */ + public Builder vectorField(String vectorField) { + Utils.checkNotNull(vectorField, "vectorField"); + this.vectorField = Optional.ofNullable(vectorField); + return this; + } + + /** + * The field in the entity that contains the vector + */ + public Builder vectorField(Optional vectorField) { + Utils.checkNotNull(vectorField, "vectorField"); + this.vectorField = vectorField; + return this; + } + + public DestinationMilvusIndexing build() { + if (db == null) { + db = _SINGLETON_VALUE_Db.value(); + } + if (textField == null) { + textField = _SINGLETON_VALUE_TextField.value(); + } + if (vectorField == null) { + vectorField = _SINGLETON_VALUE_VectorField.value(); + } + return new DestinationMilvusIndexing( + auth, + collection, + db, + host, + textField, + vectorField); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Db = + new LazySingletonValue<>( + "db", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TextField = + new LazySingletonValue<>( + "text_field", + "\"text\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_VectorField = + new LazySingletonValue<>( + "vector_field", + "\"vector\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusLanguage.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusLanguage.java new file mode 100644 index 000000000..477d45940 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusLanguage.java @@ -0,0 +1,47 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationMilvusLanguage - Split code in suitable places based on the programming language + */ +public enum DestinationMilvusLanguage { + CPP("cpp"), + GO("go"), + JAVA("java"), + JS("js"), + PHP("php"), + PROTO("proto"), + PYTHON("python"), + RST("rst"), + RUBY("ruby"), + RUST("rust"), + SCALA("scala"), + SWIFT("swift"), + MARKDOWN("markdown"), + LATEX("latex"), + HTML("html"), + SOL("sol"); + + @JsonValue + private final String value; + + private DestinationMilvusLanguage(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusMode.java new file mode 100644 index 000000000..3ca7d54f1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationMilvusMode { + OPENAI("openai"); + + @JsonValue + private final String value; + + private DestinationMilvusMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusOpenAI.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusOpenAI.java new file mode 100644 index 000000000..2fb3d92e2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusOpenAI.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationMilvusOpenAI - Use the OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + */ + +public class DestinationMilvusOpenAI { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + @JsonProperty("openai_key") + private String openaiKey; + + public DestinationMilvusOpenAI( + @JsonProperty("openai_key") String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.openaiKey = openaiKey; + } + + public Optional mode() { + return mode; + } + + public String openaiKey() { + return openaiKey; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationMilvusOpenAI withOpenaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMilvusOpenAI other = (DestinationMilvusOpenAI) o; + return + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.openaiKey, other.openaiKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode, + openaiKey); + } + + @Override + public String toString() { + return Utils.toString(DestinationMilvusOpenAI.class, + "mode", mode, + "openaiKey", openaiKey); + } + + public final static class Builder { + + private String openaiKey; + + private Builder() { + // force use of static builder() method + } + + public Builder openaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + public DestinationMilvusOpenAI build() { + return new DestinationMilvusOpenAI( + openaiKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"openai\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusOpenAICompatible.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusOpenAICompatible.java new file mode 100644 index 000000000..ed8b9c8e8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusOpenAICompatible.java @@ -0,0 +1,282 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationMilvusOpenAICompatible - Use a service that's compatible with the OpenAI API to embed text. + */ + +public class DestinationMilvusOpenAICompatible { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("api_key") + private Optional apiKey; + + /** + * The base URL for your OpenAI-compatible service + */ + @JsonProperty("base_url") + private String baseUrl; + + /** + * The number of dimensions the embedding model is generating + */ + @JsonProperty("dimensions") + private long dimensions; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * The name of the model to use for embedding + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("model_name") + private Optional modelName; + + public DestinationMilvusOpenAICompatible( + @JsonProperty("api_key") Optional apiKey, + @JsonProperty("base_url") String baseUrl, + @JsonProperty("dimensions") long dimensions, + @JsonProperty("model_name") Optional modelName) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(baseUrl, "baseUrl"); + Utils.checkNotNull(dimensions, "dimensions"); + Utils.checkNotNull(modelName, "modelName"); + this.apiKey = apiKey; + this.baseUrl = baseUrl; + this.dimensions = dimensions; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.modelName = modelName; + } + + public Optional apiKey() { + return apiKey; + } + + /** + * The base URL for your OpenAI-compatible service + */ + public String baseUrl() { + return baseUrl; + } + + /** + * The number of dimensions the embedding model is generating + */ + public long dimensions() { + return dimensions; + } + + public Optional mode() { + return mode; + } + + /** + * The name of the model to use for embedding + */ + public Optional modelName() { + return modelName; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationMilvusOpenAICompatible withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = Optional.ofNullable(apiKey); + return this; + } + + public DestinationMilvusOpenAICompatible withApiKey(Optional apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The base URL for your OpenAI-compatible service + */ + public DestinationMilvusOpenAICompatible withBaseUrl(String baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = baseUrl; + return this; + } + + /** + * The number of dimensions the embedding model is generating + */ + public DestinationMilvusOpenAICompatible withDimensions(long dimensions) { + Utils.checkNotNull(dimensions, "dimensions"); + this.dimensions = dimensions; + return this; + } + + /** + * The name of the model to use for embedding + */ + public DestinationMilvusOpenAICompatible withModelName(String modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = Optional.ofNullable(modelName); + return this; + } + + /** + * The name of the model to use for embedding + */ + public DestinationMilvusOpenAICompatible withModelName(Optional modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = modelName; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMilvusOpenAICompatible other = (DestinationMilvusOpenAICompatible) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.baseUrl, other.baseUrl) && + java.util.Objects.deepEquals(this.dimensions, other.dimensions) && + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.modelName, other.modelName); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + baseUrl, + dimensions, + mode, + modelName); + } + + @Override + public String toString() { + return Utils.toString(DestinationMilvusOpenAICompatible.class, + "apiKey", apiKey, + "baseUrl", baseUrl, + "dimensions", dimensions, + "mode", mode, + "modelName", modelName); + } + + public final static class Builder { + + private Optional apiKey; + + private String baseUrl; + + private Long dimensions; + + private Optional modelName; + + private Builder() { + // force use of static builder() method + } + + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = Optional.ofNullable(apiKey); + return this; + } + + public Builder apiKey(Optional apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The base URL for your OpenAI-compatible service + */ + public Builder baseUrl(String baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = baseUrl; + return this; + } + + /** + * The number of dimensions the embedding model is generating + */ + public Builder dimensions(long dimensions) { + Utils.checkNotNull(dimensions, "dimensions"); + this.dimensions = dimensions; + return this; + } + + /** + * The name of the model to use for embedding + */ + public Builder modelName(String modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = Optional.ofNullable(modelName); + return this; + } + + /** + * The name of the model to use for embedding + */ + public Builder modelName(Optional modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = modelName; + return this; + } + + public DestinationMilvusOpenAICompatible build() { + if (apiKey == null) { + apiKey = _SINGLETON_VALUE_ApiKey.value(); + } + if (modelName == null) { + modelName = _SINGLETON_VALUE_ModelName.value(); + } + return new DestinationMilvusOpenAICompatible( + apiKey, + baseUrl, + dimensions, + modelName); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ApiKey = + new LazySingletonValue<>( + "api_key", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"openai_compatible\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ModelName = + new LazySingletonValue<>( + "model_name", + "\"text-embedding-ada-002\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusProcessingConfigModel.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusProcessingConfigModel.java new file mode 100644 index 000000000..c4ae1fb0b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusProcessingConfigModel.java @@ -0,0 +1,407 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationMilvusProcessingConfigModel { + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("chunk_overlap") + private Optional chunkOverlap; + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + @JsonProperty("chunk_size") + private long chunkSize; + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("field_name_mappings") + private Optional> fieldNameMappings; + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("metadata_fields") + private Optional> metadataFields; + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("text_fields") + private Optional> textFields; + + /** + * Split text fields into chunks based on the specified method. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("text_splitter") + private Optional textSplitter; + + public DestinationMilvusProcessingConfigModel( + @JsonProperty("chunk_overlap") Optional chunkOverlap, + @JsonProperty("chunk_size") long chunkSize, + @JsonProperty("field_name_mappings") Optional> fieldNameMappings, + @JsonProperty("metadata_fields") Optional> metadataFields, + @JsonProperty("text_fields") Optional> textFields, + @JsonProperty("text_splitter") Optional textSplitter) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + Utils.checkNotNull(chunkSize, "chunkSize"); + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + Utils.checkNotNull(metadataFields, "metadataFields"); + Utils.checkNotNull(textFields, "textFields"); + Utils.checkNotNull(textSplitter, "textSplitter"); + this.chunkOverlap = chunkOverlap; + this.chunkSize = chunkSize; + this.fieldNameMappings = fieldNameMappings; + this.metadataFields = metadataFields; + this.textFields = textFields; + this.textSplitter = textSplitter; + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public Optional chunkOverlap() { + return chunkOverlap; + } + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + public long chunkSize() { + return chunkSize; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public Optional> fieldNameMappings() { + return fieldNameMappings; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public Optional> metadataFields() { + return metadataFields; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Optional> textFields() { + return textFields; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public Optional textSplitter() { + return textSplitter; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public DestinationMilvusProcessingConfigModel withChunkOverlap(long chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = Optional.ofNullable(chunkOverlap); + return this; + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public DestinationMilvusProcessingConfigModel withChunkOverlap(Optional chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = chunkOverlap; + return this; + } + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + public DestinationMilvusProcessingConfigModel withChunkSize(long chunkSize) { + Utils.checkNotNull(chunkSize, "chunkSize"); + this.chunkSize = chunkSize; + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public DestinationMilvusProcessingConfigModel withFieldNameMappings(java.util.List fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = Optional.ofNullable(fieldNameMappings); + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public DestinationMilvusProcessingConfigModel withFieldNameMappings(Optional> fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = fieldNameMappings; + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public DestinationMilvusProcessingConfigModel withMetadataFields(java.util.List metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = Optional.ofNullable(metadataFields); + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public DestinationMilvusProcessingConfigModel withMetadataFields(Optional> metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = metadataFields; + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public DestinationMilvusProcessingConfigModel withTextFields(java.util.List textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = Optional.ofNullable(textFields); + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public DestinationMilvusProcessingConfigModel withTextFields(Optional> textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = textFields; + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public DestinationMilvusProcessingConfigModel withTextSplitter(DestinationMilvusTextSplitter textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = Optional.ofNullable(textSplitter); + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public DestinationMilvusProcessingConfigModel withTextSplitter(Optional textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = textSplitter; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMilvusProcessingConfigModel other = (DestinationMilvusProcessingConfigModel) o; + return + java.util.Objects.deepEquals(this.chunkOverlap, other.chunkOverlap) && + java.util.Objects.deepEquals(this.chunkSize, other.chunkSize) && + java.util.Objects.deepEquals(this.fieldNameMappings, other.fieldNameMappings) && + java.util.Objects.deepEquals(this.metadataFields, other.metadataFields) && + java.util.Objects.deepEquals(this.textFields, other.textFields) && + java.util.Objects.deepEquals(this.textSplitter, other.textSplitter); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + chunkOverlap, + chunkSize, + fieldNameMappings, + metadataFields, + textFields, + textSplitter); + } + + @Override + public String toString() { + return Utils.toString(DestinationMilvusProcessingConfigModel.class, + "chunkOverlap", chunkOverlap, + "chunkSize", chunkSize, + "fieldNameMappings", fieldNameMappings, + "metadataFields", metadataFields, + "textFields", textFields, + "textSplitter", textSplitter); + } + + public final static class Builder { + + private Optional chunkOverlap; + + private Long chunkSize; + + private Optional> fieldNameMappings = Optional.empty(); + + private Optional> metadataFields = Optional.empty(); + + private Optional> textFields = Optional.empty(); + + private Optional textSplitter = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public Builder chunkOverlap(long chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = Optional.ofNullable(chunkOverlap); + return this; + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public Builder chunkOverlap(Optional chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = chunkOverlap; + return this; + } + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + public Builder chunkSize(long chunkSize) { + Utils.checkNotNull(chunkSize, "chunkSize"); + this.chunkSize = chunkSize; + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public Builder fieldNameMappings(java.util.List fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = Optional.ofNullable(fieldNameMappings); + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public Builder fieldNameMappings(Optional> fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = fieldNameMappings; + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public Builder metadataFields(java.util.List metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = Optional.ofNullable(metadataFields); + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public Builder metadataFields(Optional> metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = metadataFields; + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Builder textFields(java.util.List textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = Optional.ofNullable(textFields); + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Builder textFields(Optional> textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = textFields; + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public Builder textSplitter(DestinationMilvusTextSplitter textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = Optional.ofNullable(textSplitter); + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public Builder textSplitter(Optional textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = textSplitter; + return this; + } + + public DestinationMilvusProcessingConfigModel build() { + if (chunkOverlap == null) { + chunkOverlap = _SINGLETON_VALUE_ChunkOverlap.value(); + } + return new DestinationMilvusProcessingConfigModel( + chunkOverlap, + chunkSize, + fieldNameMappings, + metadataFields, + textFields, + textSplitter); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ChunkOverlap = + new LazySingletonValue<>( + "chunk_overlap", + "0", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasEmbeddingEmbedding5Mode.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasEmbeddingEmbedding5Mode.java new file mode 100644 index 000000000..b5ebac4e7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasEmbeddingEmbedding5Mode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationMilvusSchemasEmbeddingEmbedding5Mode { + OPENAI_COMPATIBLE("openai_compatible"); + + @JsonValue + private final String value; + + private DestinationMilvusSchemasEmbeddingEmbedding5Mode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasEmbeddingEmbeddingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasEmbeddingEmbeddingMode.java new file mode 100644 index 000000000..fea306463 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasEmbeddingEmbeddingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationMilvusSchemasEmbeddingEmbeddingMode { + AZURE_OPENAI("azure_openai"); + + @JsonValue + private final String value; + + private DestinationMilvusSchemasEmbeddingEmbeddingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasEmbeddingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasEmbeddingMode.java new file mode 100644 index 000000000..e32c71202 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasEmbeddingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationMilvusSchemasEmbeddingMode { + FAKE("fake"); + + @JsonValue + private final String value; + + private DestinationMilvusSchemasEmbeddingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasIndexingAuthAuthenticationMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasIndexingAuthAuthenticationMode.java new file mode 100644 index 000000000..6c92da274 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasIndexingAuthAuthenticationMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationMilvusSchemasIndexingAuthAuthenticationMode { + NO_AUTH("no_auth"); + + @JsonValue + private final String value; + + private DestinationMilvusSchemasIndexingAuthAuthenticationMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasIndexingAuthMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasIndexingAuthMode.java new file mode 100644 index 000000000..daf1a76fc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasIndexingAuthMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationMilvusSchemasIndexingAuthMode { + USERNAME_PASSWORD("username_password"); + + @JsonValue + private final String value; + + private DestinationMilvusSchemasIndexingAuthMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasIndexingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasIndexingMode.java new file mode 100644 index 000000000..6e0f0f732 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasIndexingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationMilvusSchemasIndexingMode { + TOKEN("token"); + + @JsonValue + private final String value; + + private DestinationMilvusSchemasIndexingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasMode.java new file mode 100644 index 000000000..69fcbbbc0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationMilvusSchemasMode { + COHERE("cohere"); + + @JsonValue + private final String value; + + private DestinationMilvusSchemasMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasProcessingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasProcessingMode.java new file mode 100644 index 000000000..89e7f4d03 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasProcessingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationMilvusSchemasProcessingMode { + SEPARATOR("separator"); + + @JsonValue + private final String value; + + private DestinationMilvusSchemasProcessingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasProcessingTextSplitterMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasProcessingTextSplitterMode.java new file mode 100644 index 000000000..ef6821614 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasProcessingTextSplitterMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationMilvusSchemasProcessingTextSplitterMode { + MARKDOWN("markdown"); + + @JsonValue + private final String value; + + private DestinationMilvusSchemasProcessingTextSplitterMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasProcessingTextSplitterTextSplitterMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasProcessingTextSplitterTextSplitterMode.java new file mode 100644 index 000000000..00e4caac3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusSchemasProcessingTextSplitterTextSplitterMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationMilvusSchemasProcessingTextSplitterTextSplitterMode { + CODE("code"); + + @JsonValue + private final String value; + + private DestinationMilvusSchemasProcessingTextSplitterTextSplitterMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusTextSplitter.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusTextSplitter.java new file mode 100644 index 000000000..36f9bc9e4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusTextSplitter.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationMilvusTextSplitter - Split text fields into chunks based on the specified method. + */ + +@JsonDeserialize(using = DestinationMilvusTextSplitter._Deserializer.class) +public class DestinationMilvusTextSplitter { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationMilvusTextSplitter(TypedObject value) { + this.value = value; + } + + public static DestinationMilvusTextSplitter of(DestinationMilvusBySeparator value) { + Utils.checkNotNull(value, "value"); + return new DestinationMilvusTextSplitter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationMilvusTextSplitter of(DestinationMilvusByMarkdownHeader value) { + Utils.checkNotNull(value, "value"); + return new DestinationMilvusTextSplitter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationMilvusTextSplitter of(DestinationMilvusByProgrammingLanguage value) { + Utils.checkNotNull(value, "value"); + return new DestinationMilvusTextSplitter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationMilvusBySeparator}
    • + *
    • {@code DestinationMilvusByMarkdownHeader}
    • + *
    • {@code DestinationMilvusByProgrammingLanguage}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMilvusTextSplitter other = (DestinationMilvusTextSplitter) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationMilvusTextSplitter.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationMilvusTextSplitter.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMilvusUsernamePassword.java b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusUsernamePassword.java new file mode 100644 index 000000000..bd6936ad7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMilvusUsernamePassword.java @@ -0,0 +1,164 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationMilvusUsernamePassword - Authenticate using username and password (suitable for self-managed Milvus clusters) + */ + +public class DestinationMilvusUsernamePassword { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * Password for the Milvus instance + */ + @JsonProperty("password") + private String password; + + /** + * Username for the Milvus instance + */ + @JsonProperty("username") + private String username; + + public DestinationMilvusUsernamePassword( + @JsonProperty("password") String password, + @JsonProperty("username") String username) { + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(username, "username"); + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.password = password; + this.username = username; + } + + public Optional mode() { + return mode; + } + + /** + * Password for the Milvus instance + */ + public String password() { + return password; + } + + /** + * Username for the Milvus instance + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Password for the Milvus instance + */ + public DestinationMilvusUsernamePassword withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Username for the Milvus instance + */ + public DestinationMilvusUsernamePassword withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMilvusUsernamePassword other = (DestinationMilvusUsernamePassword) o; + return + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode, + password, + username); + } + + @Override + public String toString() { + return Utils.toString(DestinationMilvusUsernamePassword.class, + "mode", mode, + "password", password, + "username", username); + } + + public final static class Builder { + + private String password; + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Password for the Milvus instance + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Username for the Milvus instance + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public DestinationMilvusUsernamePassword build() { + return new DestinationMilvusUsernamePassword( + password, + username); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"username_password\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMongodb.java b/src/main/java/com/airbyte/api/models/shared/DestinationMongodb.java new file mode 100644 index 000000000..21f5ca88c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMongodb.java @@ -0,0 +1,278 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationMongodb { + + /** + * Authorization type. + */ + @JsonProperty("auth_type") + private AuthorizationType authType; + + /** + * Name of the database. + */ + @JsonProperty("database") + private String database; + + @JsonProperty("destinationType") + private Mongodb destinationType; + + /** + * MongoDb instance to connect to. For MongoDB Atlas and Replica Set TLS connection is used by default. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("instance_type") + private Optional instanceType; + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_method") + private Optional tunnelMethod; + + public DestinationMongodb( + @JsonProperty("auth_type") AuthorizationType authType, + @JsonProperty("database") String database, + @JsonProperty("instance_type") Optional instanceType, + @JsonProperty("tunnel_method") Optional tunnelMethod) { + Utils.checkNotNull(authType, "authType"); + Utils.checkNotNull(database, "database"); + Utils.checkNotNull(instanceType, "instanceType"); + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.authType = authType; + this.database = database; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.instanceType = instanceType; + this.tunnelMethod = tunnelMethod; + } + + /** + * Authorization type. + */ + public AuthorizationType authType() { + return authType; + } + + /** + * Name of the database. + */ + public String database() { + return database; + } + + public Mongodb destinationType() { + return destinationType; + } + + /** + * MongoDb instance to connect to. For MongoDB Atlas and Replica Set TLS connection is used by default. + */ + public Optional instanceType() { + return instanceType; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Optional tunnelMethod() { + return tunnelMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Authorization type. + */ + public DestinationMongodb withAuthType(AuthorizationType authType) { + Utils.checkNotNull(authType, "authType"); + this.authType = authType; + return this; + } + + /** + * Name of the database. + */ + public DestinationMongodb withDatabase(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * MongoDb instance to connect to. For MongoDB Atlas and Replica Set TLS connection is used by default. + */ + public DestinationMongodb withInstanceType(MongoDbInstanceType instanceType) { + Utils.checkNotNull(instanceType, "instanceType"); + this.instanceType = Optional.ofNullable(instanceType); + return this; + } + + /** + * MongoDb instance to connect to. For MongoDB Atlas and Replica Set TLS connection is used by default. + */ + public DestinationMongodb withInstanceType(Optional instanceType) { + Utils.checkNotNull(instanceType, "instanceType"); + this.instanceType = instanceType; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public DestinationMongodb withTunnelMethod(DestinationMongodbSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public DestinationMongodb withTunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMongodb other = (DestinationMongodb) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.database, other.database) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.instanceType, other.instanceType) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + database, + destinationType, + instanceType, + tunnelMethod); + } + + @Override + public String toString() { + return Utils.toString(DestinationMongodb.class, + "authType", authType, + "database", database, + "destinationType", destinationType, + "instanceType", instanceType, + "tunnelMethod", tunnelMethod); + } + + public final static class Builder { + + private AuthorizationType authType; + + private String database; + + private Optional instanceType = Optional.empty(); + + private Optional tunnelMethod = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Authorization type. + */ + public Builder authType(AuthorizationType authType) { + Utils.checkNotNull(authType, "authType"); + this.authType = authType; + return this; + } + + /** + * Name of the database. + */ + public Builder database(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * MongoDb instance to connect to. For MongoDB Atlas and Replica Set TLS connection is used by default. + */ + public Builder instanceType(MongoDbInstanceType instanceType) { + Utils.checkNotNull(instanceType, "instanceType"); + this.instanceType = Optional.ofNullable(instanceType); + return this; + } + + /** + * MongoDb instance to connect to. For MongoDB Atlas and Replica Set TLS connection is used by default. + */ + public Builder instanceType(Optional instanceType) { + Utils.checkNotNull(instanceType, "instanceType"); + this.instanceType = instanceType; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(DestinationMongodbSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + public DestinationMongodb build() { + return new DestinationMongodb( + authType, + database, + instanceType, + tunnelMethod); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"mongodb\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMongodbAuthorization.java b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbAuthorization.java new file mode 100644 index 000000000..6bef28325 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbAuthorization.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationMongodbAuthorization { + LOGIN_PASSWORD("login/password"); + + @JsonValue + private final String value; + + private DestinationMongodbAuthorization(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMongodbInstance.java b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbInstance.java new file mode 100644 index 000000000..0a2a7a07b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbInstance.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationMongodbInstance { + REPLICA("replica"); + + @JsonValue + private final String value; + + private DestinationMongodbInstance(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMongodbNoTunnel.java b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbNoTunnel.java new file mode 100644 index 000000000..7f61fa5a0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbNoTunnel.java @@ -0,0 +1,85 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DestinationMongodbNoTunnel { + + /** + * No ssh tunnel needed to connect to database + */ + @JsonProperty("tunnel_method") + private DestinationMongodbTunnelMethod tunnelMethod; + + public DestinationMongodbNoTunnel() { + + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + } + + /** + * No ssh tunnel needed to connect to database + */ + public DestinationMongodbTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMongodbNoTunnel other = (DestinationMongodbNoTunnel) o; + return + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelMethod); + } + + @Override + public String toString() { + return Utils.toString(DestinationMongodbNoTunnel.class, + "tunnelMethod", tunnelMethod); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationMongodbNoTunnel build() { + return new DestinationMongodbNoTunnel( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"NO_TUNNEL\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMongodbPasswordAuthentication.java b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbPasswordAuthentication.java new file mode 100644 index 000000000..c2f07f071 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbPasswordAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationMongodbPasswordAuthentication { + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + @JsonProperty("tunnel_method") + private DestinationMongodbSchemasTunnelMethodTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + /** + * OS-level password for logging into the jump server host + */ + @JsonProperty("tunnel_user_password") + private String tunnelUserPassword; + + public DestinationMongodbPasswordAuthentication( + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser, + @JsonProperty("tunnel_user_password") String tunnelUserPassword) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + this.tunnelUserPassword = tunnelUserPassword; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + public DestinationMongodbSchemasTunnelMethodTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host + */ + public String tunnelUser() { + return tunnelUser; + } + + /** + * OS-level password for logging into the jump server host + */ + public String tunnelUserPassword() { + return tunnelUserPassword; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public DestinationMongodbPasswordAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationMongodbPasswordAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationMongodbPasswordAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public DestinationMongodbPasswordAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public DestinationMongodbPasswordAuthentication withTunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMongodbPasswordAuthentication other = (DestinationMongodbPasswordAuthentication) o; + return + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser) && + java.util.Objects.deepEquals(this.tunnelUserPassword, other.tunnelUserPassword); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + @Override + public String toString() { + return Utils.toString(DestinationMongodbPasswordAuthentication.class, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser, + "tunnelUserPassword", tunnelUserPassword); + } + + public final static class Builder { + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private String tunnelUserPassword; + + private Builder() { + // force use of static builder() method + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public Builder tunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + public DestinationMongodbPasswordAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new DestinationMongodbPasswordAuthentication( + tunnelHost, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_PASSWORD_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMongodbSSHKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbSSHKeyAuthentication.java new file mode 100644 index 000000000..855013896 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbSSHKeyAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationMongodbSSHKeyAuthentication { + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + @JsonProperty("ssh_key") + private String sshKey; + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + @JsonProperty("tunnel_method") + private DestinationMongodbSchemasTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host. + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + public DestinationMongodbSSHKeyAuthentication( + @JsonProperty("ssh_key") String sshKey, + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser) { + Utils.checkNotNull(sshKey, "sshKey"); + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.sshKey = sshKey; + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public String sshKey() { + return sshKey; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + public DestinationMongodbSchemasTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host. + */ + public String tunnelUser() { + return tunnelUser; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public DestinationMongodbSSHKeyAuthentication withSshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public DestinationMongodbSSHKeyAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationMongodbSSHKeyAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationMongodbSSHKeyAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public DestinationMongodbSSHKeyAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMongodbSSHKeyAuthentication other = (DestinationMongodbSSHKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.sshKey, other.sshKey) && + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sshKey, + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser); + } + + @Override + public String toString() { + return Utils.toString(DestinationMongodbSSHKeyAuthentication.class, + "sshKey", sshKey, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser); + } + + public final static class Builder { + + private String sshKey; + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private Builder() { + // force use of static builder() method + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public Builder sshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + public DestinationMongodbSSHKeyAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new DestinationMongodbSSHKeyAuthentication( + sshKey, + tunnelHost, + tunnelPort, + tunnelUser); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_KEY_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMongodbSSHTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbSSHTunnelMethod.java new file mode 100644 index 000000000..c5418ac7d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbSSHTunnelMethod.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationMongodbSSHTunnelMethod - Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + +@JsonDeserialize(using = DestinationMongodbSSHTunnelMethod._Deserializer.class) +public class DestinationMongodbSSHTunnelMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationMongodbSSHTunnelMethod(TypedObject value) { + this.value = value; + } + + public static DestinationMongodbSSHTunnelMethod of(DestinationMongodbNoTunnel value) { + Utils.checkNotNull(value, "value"); + return new DestinationMongodbSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationMongodbSSHTunnelMethod of(DestinationMongodbSSHKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new DestinationMongodbSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationMongodbSSHTunnelMethod of(DestinationMongodbPasswordAuthentication value) { + Utils.checkNotNull(value, "value"); + return new DestinationMongodbSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationMongodbNoTunnel}
    • + *
    • {@code DestinationMongodbSSHKeyAuthentication}
    • + *
    • {@code DestinationMongodbPasswordAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMongodbSSHTunnelMethod other = (DestinationMongodbSSHTunnelMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationMongodbSSHTunnelMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationMongodbSSHTunnelMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMongodbSchemasAuthorization.java b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbSchemasAuthorization.java new file mode 100644 index 000000000..0f7ae3f4c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbSchemasAuthorization.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationMongodbSchemasAuthorization { + NONE("none"); + + @JsonValue + private final String value; + + private DestinationMongodbSchemasAuthorization(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMongodbSchemasInstance.java b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbSchemasInstance.java new file mode 100644 index 000000000..9c4bcaac2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbSchemasInstance.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationMongodbSchemasInstance { + ATLAS("atlas"); + + @JsonValue + private final String value; + + private DestinationMongodbSchemasInstance(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMongodbSchemasTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbSchemasTunnelMethod.java new file mode 100644 index 000000000..633f84256 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbSchemasTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationMongodbSchemasTunnelMethod - Connect through a jump server tunnel host using username and ssh key + */ +public enum DestinationMongodbSchemasTunnelMethod { + SSH_KEY_AUTH("SSH_KEY_AUTH"); + + @JsonValue + private final String value; + + private DestinationMongodbSchemasTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMongodbSchemasTunnelMethodTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbSchemasTunnelMethodTunnelMethod.java new file mode 100644 index 000000000..c788c3dee --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbSchemasTunnelMethodTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationMongodbSchemasTunnelMethodTunnelMethod - Connect through a jump server tunnel host using username and password authentication + */ +public enum DestinationMongodbSchemasTunnelMethodTunnelMethod { + SSH_PASSWORD_AUTH("SSH_PASSWORD_AUTH"); + + @JsonValue + private final String value; + + private DestinationMongodbSchemasTunnelMethodTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMongodbTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbTunnelMethod.java new file mode 100644 index 000000000..662e007c4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMongodbTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationMongodbTunnelMethod - No ssh tunnel needed to connect to database + */ +public enum DestinationMongodbTunnelMethod { + NO_TUNNEL("NO_TUNNEL"); + + @JsonValue + private final String value; + + private DestinationMongodbTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMssql.java b/src/main/java/com/airbyte/api/models/shared/DestinationMssql.java new file mode 100644 index 000000000..c166a1cce --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMssql.java @@ -0,0 +1,572 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationMssql { + + /** + * The name of the MSSQL database. + */ + @JsonProperty("database") + private String database; + + @JsonProperty("destinationType") + private Mssql destinationType; + + /** + * The host name of the MSSQL database. + */ + @JsonProperty("host") + private String host; + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("jdbc_url_params") + private Optional jdbcUrlParams; + + /** + * The password associated with this username. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("password") + private Optional password; + + /** + * The port of the MSSQL database. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + /** + * The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schema") + private Optional schema; + + /** + * The encryption method which is used to communicate with the database. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ssl_method") + private Optional sslMethod; + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_method") + private Optional tunnelMethod; + + /** + * The username which is used to access the database. + */ + @JsonProperty("username") + private String username; + + public DestinationMssql( + @JsonProperty("database") String database, + @JsonProperty("host") String host, + @JsonProperty("jdbc_url_params") Optional jdbcUrlParams, + @JsonProperty("password") Optional password, + @JsonProperty("port") Optional port, + @JsonProperty("schema") Optional schema, + @JsonProperty("ssl_method") Optional sslMethod, + @JsonProperty("tunnel_method") Optional tunnelMethod, + @JsonProperty("username") String username) { + Utils.checkNotNull(database, "database"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(schema, "schema"); + Utils.checkNotNull(sslMethod, "sslMethod"); + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + Utils.checkNotNull(username, "username"); + this.database = database; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.host = host; + this.jdbcUrlParams = jdbcUrlParams; + this.password = password; + this.port = port; + this.schema = schema; + this.sslMethod = sslMethod; + this.tunnelMethod = tunnelMethod; + this.username = username; + } + + /** + * The name of the MSSQL database. + */ + public String database() { + return database; + } + + public Mssql destinationType() { + return destinationType; + } + + /** + * The host name of the MSSQL database. + */ + public String host() { + return host; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Optional jdbcUrlParams() { + return jdbcUrlParams; + } + + /** + * The password associated with this username. + */ + public Optional password() { + return password; + } + + /** + * The port of the MSSQL database. + */ + public Optional port() { + return port; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". + */ + public Optional schema() { + return schema; + } + + /** + * The encryption method which is used to communicate with the database. + */ + public Optional sslMethod() { + return sslMethod; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Optional tunnelMethod() { + return tunnelMethod; + } + + /** + * The username which is used to access the database. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The name of the MSSQL database. + */ + public DestinationMssql withDatabase(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * The host name of the MSSQL database. + */ + public DestinationMssql withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public DestinationMssql withJdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public DestinationMssql withJdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * The password associated with this username. + */ + public DestinationMssql withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * The password associated with this username. + */ + public DestinationMssql withPassword(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * The port of the MSSQL database. + */ + public DestinationMssql withPort(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * The port of the MSSQL database. + */ + public DestinationMssql withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". + */ + public DestinationMssql withSchema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = Optional.ofNullable(schema); + return this; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". + */ + public DestinationMssql withSchema(Optional schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + /** + * The encryption method which is used to communicate with the database. + */ + public DestinationMssql withSslMethod(SSLMethod sslMethod) { + Utils.checkNotNull(sslMethod, "sslMethod"); + this.sslMethod = Optional.ofNullable(sslMethod); + return this; + } + + /** + * The encryption method which is used to communicate with the database. + */ + public DestinationMssql withSslMethod(Optional sslMethod) { + Utils.checkNotNull(sslMethod, "sslMethod"); + this.sslMethod = sslMethod; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public DestinationMssql withTunnelMethod(DestinationMssqlSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public DestinationMssql withTunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * The username which is used to access the database. + */ + public DestinationMssql withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMssql other = (DestinationMssql) o; + return + java.util.Objects.deepEquals(this.database, other.database) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.jdbcUrlParams, other.jdbcUrlParams) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.schema, other.schema) && + java.util.Objects.deepEquals(this.sslMethod, other.sslMethod) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + database, + destinationType, + host, + jdbcUrlParams, + password, + port, + schema, + sslMethod, + tunnelMethod, + username); + } + + @Override + public String toString() { + return Utils.toString(DestinationMssql.class, + "database", database, + "destinationType", destinationType, + "host", host, + "jdbcUrlParams", jdbcUrlParams, + "password", password, + "port", port, + "schema", schema, + "sslMethod", sslMethod, + "tunnelMethod", tunnelMethod, + "username", username); + } + + public final static class Builder { + + private String database; + + private String host; + + private Optional jdbcUrlParams = Optional.empty(); + + private Optional password = Optional.empty(); + + private Optional port; + + private Optional schema; + + private Optional sslMethod = Optional.empty(); + + private Optional tunnelMethod = Optional.empty(); + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * The name of the MSSQL database. + */ + public Builder database(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * The host name of the MSSQL database. + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * The password associated with this username. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * The password associated with this username. + */ + public Builder password(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * The port of the MSSQL database. + */ + public Builder port(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * The port of the MSSQL database. + */ + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". + */ + public Builder schema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = Optional.ofNullable(schema); + return this; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". + */ + public Builder schema(Optional schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + /** + * The encryption method which is used to communicate with the database. + */ + public Builder sslMethod(SSLMethod sslMethod) { + Utils.checkNotNull(sslMethod, "sslMethod"); + this.sslMethod = Optional.ofNullable(sslMethod); + return this; + } + + /** + * The encryption method which is used to communicate with the database. + */ + public Builder sslMethod(Optional sslMethod) { + Utils.checkNotNull(sslMethod, "sslMethod"); + this.sslMethod = sslMethod; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(DestinationMssqlSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * The username which is used to access the database. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public DestinationMssql build() { + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + if (schema == null) { + schema = _SINGLETON_VALUE_Schema.value(); + } + return new DestinationMssql( + database, + host, + jdbcUrlParams, + password, + port, + schema, + sslMethod, + tunnelMethod, + username); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"mssql\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "1433", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Schema = + new LazySingletonValue<>( + "schema", + "\"public\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMssqlNoTunnel.java b/src/main/java/com/airbyte/api/models/shared/DestinationMssqlNoTunnel.java new file mode 100644 index 000000000..08db3b632 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMssqlNoTunnel.java @@ -0,0 +1,85 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DestinationMssqlNoTunnel { + + /** + * No ssh tunnel needed to connect to database + */ + @JsonProperty("tunnel_method") + private DestinationMssqlTunnelMethod tunnelMethod; + + public DestinationMssqlNoTunnel() { + + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + } + + /** + * No ssh tunnel needed to connect to database + */ + public DestinationMssqlTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMssqlNoTunnel other = (DestinationMssqlNoTunnel) o; + return + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelMethod); + } + + @Override + public String toString() { + return Utils.toString(DestinationMssqlNoTunnel.class, + "tunnelMethod", tunnelMethod); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationMssqlNoTunnel build() { + return new DestinationMssqlNoTunnel( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"NO_TUNNEL\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMssqlPasswordAuthentication.java b/src/main/java/com/airbyte/api/models/shared/DestinationMssqlPasswordAuthentication.java new file mode 100644 index 000000000..368a60b19 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMssqlPasswordAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationMssqlPasswordAuthentication { + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + @JsonProperty("tunnel_method") + private DestinationMssqlSchemasTunnelMethodTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + /** + * OS-level password for logging into the jump server host + */ + @JsonProperty("tunnel_user_password") + private String tunnelUserPassword; + + public DestinationMssqlPasswordAuthentication( + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser, + @JsonProperty("tunnel_user_password") String tunnelUserPassword) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + this.tunnelUserPassword = tunnelUserPassword; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + public DestinationMssqlSchemasTunnelMethodTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host + */ + public String tunnelUser() { + return tunnelUser; + } + + /** + * OS-level password for logging into the jump server host + */ + public String tunnelUserPassword() { + return tunnelUserPassword; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public DestinationMssqlPasswordAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationMssqlPasswordAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationMssqlPasswordAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public DestinationMssqlPasswordAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public DestinationMssqlPasswordAuthentication withTunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMssqlPasswordAuthentication other = (DestinationMssqlPasswordAuthentication) o; + return + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser) && + java.util.Objects.deepEquals(this.tunnelUserPassword, other.tunnelUserPassword); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + @Override + public String toString() { + return Utils.toString(DestinationMssqlPasswordAuthentication.class, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser, + "tunnelUserPassword", tunnelUserPassword); + } + + public final static class Builder { + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private String tunnelUserPassword; + + private Builder() { + // force use of static builder() method + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public Builder tunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + public DestinationMssqlPasswordAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new DestinationMssqlPasswordAuthentication( + tunnelHost, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_PASSWORD_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMssqlSSHKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/DestinationMssqlSSHKeyAuthentication.java new file mode 100644 index 000000000..c13fd23a6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMssqlSSHKeyAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationMssqlSSHKeyAuthentication { + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + @JsonProperty("ssh_key") + private String sshKey; + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + @JsonProperty("tunnel_method") + private DestinationMssqlSchemasTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host. + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + public DestinationMssqlSSHKeyAuthentication( + @JsonProperty("ssh_key") String sshKey, + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser) { + Utils.checkNotNull(sshKey, "sshKey"); + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.sshKey = sshKey; + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public String sshKey() { + return sshKey; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + public DestinationMssqlSchemasTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host. + */ + public String tunnelUser() { + return tunnelUser; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public DestinationMssqlSSHKeyAuthentication withSshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public DestinationMssqlSSHKeyAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationMssqlSSHKeyAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationMssqlSSHKeyAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public DestinationMssqlSSHKeyAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMssqlSSHKeyAuthentication other = (DestinationMssqlSSHKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.sshKey, other.sshKey) && + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sshKey, + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser); + } + + @Override + public String toString() { + return Utils.toString(DestinationMssqlSSHKeyAuthentication.class, + "sshKey", sshKey, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser); + } + + public final static class Builder { + + private String sshKey; + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private Builder() { + // force use of static builder() method + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public Builder sshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + public DestinationMssqlSSHKeyAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new DestinationMssqlSSHKeyAuthentication( + sshKey, + tunnelHost, + tunnelPort, + tunnelUser); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_KEY_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMssqlSSHTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationMssqlSSHTunnelMethod.java new file mode 100644 index 000000000..ec09bc51b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMssqlSSHTunnelMethod.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationMssqlSSHTunnelMethod - Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + +@JsonDeserialize(using = DestinationMssqlSSHTunnelMethod._Deserializer.class) +public class DestinationMssqlSSHTunnelMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationMssqlSSHTunnelMethod(TypedObject value) { + this.value = value; + } + + public static DestinationMssqlSSHTunnelMethod of(DestinationMssqlNoTunnel value) { + Utils.checkNotNull(value, "value"); + return new DestinationMssqlSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationMssqlSSHTunnelMethod of(DestinationMssqlSSHKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new DestinationMssqlSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationMssqlSSHTunnelMethod of(DestinationMssqlPasswordAuthentication value) { + Utils.checkNotNull(value, "value"); + return new DestinationMssqlSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationMssqlNoTunnel}
    • + *
    • {@code DestinationMssqlSSHKeyAuthentication}
    • + *
    • {@code DestinationMssqlPasswordAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMssqlSSHTunnelMethod other = (DestinationMssqlSSHTunnelMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationMssqlSSHTunnelMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationMssqlSSHTunnelMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMssqlSchemasSslMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationMssqlSchemasSslMethod.java new file mode 100644 index 000000000..79bbcc3a5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMssqlSchemasSslMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationMssqlSchemasSslMethod { + ENCRYPTED_VERIFY_CERTIFICATE("encrypted_verify_certificate"); + + @JsonValue + private final String value; + + private DestinationMssqlSchemasSslMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMssqlSchemasTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationMssqlSchemasTunnelMethod.java new file mode 100644 index 000000000..b3199a390 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMssqlSchemasTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationMssqlSchemasTunnelMethod - Connect through a jump server tunnel host using username and ssh key + */ +public enum DestinationMssqlSchemasTunnelMethod { + SSH_KEY_AUTH("SSH_KEY_AUTH"); + + @JsonValue + private final String value; + + private DestinationMssqlSchemasTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMssqlSchemasTunnelMethodTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationMssqlSchemasTunnelMethodTunnelMethod.java new file mode 100644 index 000000000..699d4a6da --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMssqlSchemasTunnelMethodTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationMssqlSchemasTunnelMethodTunnelMethod - Connect through a jump server tunnel host using username and password authentication + */ +public enum DestinationMssqlSchemasTunnelMethodTunnelMethod { + SSH_PASSWORD_AUTH("SSH_PASSWORD_AUTH"); + + @JsonValue + private final String value; + + private DestinationMssqlSchemasTunnelMethodTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMssqlSslMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationMssqlSslMethod.java new file mode 100644 index 000000000..d8d42c629 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMssqlSslMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationMssqlSslMethod { + ENCRYPTED_TRUST_SERVER_CERTIFICATE("encrypted_trust_server_certificate"); + + @JsonValue + private final String value; + + private DestinationMssqlSslMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMssqlTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationMssqlTunnelMethod.java new file mode 100644 index 000000000..e65535358 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMssqlTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationMssqlTunnelMethod - No ssh tunnel needed to connect to database + */ +public enum DestinationMssqlTunnelMethod { + NO_TUNNEL("NO_TUNNEL"); + + @JsonValue + private final String value; + + private DestinationMssqlTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMysql.java b/src/main/java/com/airbyte/api/models/shared/DestinationMysql.java new file mode 100644 index 000000000..cee616081 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMysql.java @@ -0,0 +1,445 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationMysql { + + /** + * Name of the database. + */ + @JsonProperty("database") + private String database; + + @JsonProperty("destinationType") + private Mysql destinationType; + + /** + * Hostname of the database. + */ + @JsonProperty("host") + private String host; + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("jdbc_url_params") + private Optional jdbcUrlParams; + + /** + * Password associated with the username. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("password") + private Optional password; + + /** + * Port of the database. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_method") + private Optional tunnelMethod; + + /** + * Username to use to access the database. + */ + @JsonProperty("username") + private String username; + + public DestinationMysql( + @JsonProperty("database") String database, + @JsonProperty("host") String host, + @JsonProperty("jdbc_url_params") Optional jdbcUrlParams, + @JsonProperty("password") Optional password, + @JsonProperty("port") Optional port, + @JsonProperty("tunnel_method") Optional tunnelMethod, + @JsonProperty("username") String username) { + Utils.checkNotNull(database, "database"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + Utils.checkNotNull(username, "username"); + this.database = database; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.host = host; + this.jdbcUrlParams = jdbcUrlParams; + this.password = password; + this.port = port; + this.tunnelMethod = tunnelMethod; + this.username = username; + } + + /** + * Name of the database. + */ + public String database() { + return database; + } + + public Mysql destinationType() { + return destinationType; + } + + /** + * Hostname of the database. + */ + public String host() { + return host; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Optional jdbcUrlParams() { + return jdbcUrlParams; + } + + /** + * Password associated with the username. + */ + public Optional password() { + return password; + } + + /** + * Port of the database. + */ + public Optional port() { + return port; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Optional tunnelMethod() { + return tunnelMethod; + } + + /** + * Username to use to access the database. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Name of the database. + */ + public DestinationMysql withDatabase(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * Hostname of the database. + */ + public DestinationMysql withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public DestinationMysql withJdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public DestinationMysql withJdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * Password associated with the username. + */ + public DestinationMysql withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * Password associated with the username. + */ + public DestinationMysql withPassword(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Port of the database. + */ + public DestinationMysql withPort(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Port of the database. + */ + public DestinationMysql withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public DestinationMysql withTunnelMethod(DestinationMysqlSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public DestinationMysql withTunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * Username to use to access the database. + */ + public DestinationMysql withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMysql other = (DestinationMysql) o; + return + java.util.Objects.deepEquals(this.database, other.database) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.jdbcUrlParams, other.jdbcUrlParams) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + database, + destinationType, + host, + jdbcUrlParams, + password, + port, + tunnelMethod, + username); + } + + @Override + public String toString() { + return Utils.toString(DestinationMysql.class, + "database", database, + "destinationType", destinationType, + "host", host, + "jdbcUrlParams", jdbcUrlParams, + "password", password, + "port", port, + "tunnelMethod", tunnelMethod, + "username", username); + } + + public final static class Builder { + + private String database; + + private String host; + + private Optional jdbcUrlParams = Optional.empty(); + + private Optional password = Optional.empty(); + + private Optional port; + + private Optional tunnelMethod = Optional.empty(); + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Name of the database. + */ + public Builder database(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * Hostname of the database. + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * Password associated with the username. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * Password associated with the username. + */ + public Builder password(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Port of the database. + */ + public Builder port(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Port of the database. + */ + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(DestinationMysqlSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * Username to use to access the database. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public DestinationMysql build() { + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + return new DestinationMysql( + database, + host, + jdbcUrlParams, + password, + port, + tunnelMethod, + username); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"mysql\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "3306", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMysqlNoTunnel.java b/src/main/java/com/airbyte/api/models/shared/DestinationMysqlNoTunnel.java new file mode 100644 index 000000000..413f63ff6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMysqlNoTunnel.java @@ -0,0 +1,85 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DestinationMysqlNoTunnel { + + /** + * No ssh tunnel needed to connect to database + */ + @JsonProperty("tunnel_method") + private DestinationMysqlTunnelMethod tunnelMethod; + + public DestinationMysqlNoTunnel() { + + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + } + + /** + * No ssh tunnel needed to connect to database + */ + public DestinationMysqlTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMysqlNoTunnel other = (DestinationMysqlNoTunnel) o; + return + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelMethod); + } + + @Override + public String toString() { + return Utils.toString(DestinationMysqlNoTunnel.class, + "tunnelMethod", tunnelMethod); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationMysqlNoTunnel build() { + return new DestinationMysqlNoTunnel( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"NO_TUNNEL\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMysqlPasswordAuthentication.java b/src/main/java/com/airbyte/api/models/shared/DestinationMysqlPasswordAuthentication.java new file mode 100644 index 000000000..01603ea34 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMysqlPasswordAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationMysqlPasswordAuthentication { + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + @JsonProperty("tunnel_method") + private DestinationMysqlSchemasTunnelMethodTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + /** + * OS-level password for logging into the jump server host + */ + @JsonProperty("tunnel_user_password") + private String tunnelUserPassword; + + public DestinationMysqlPasswordAuthentication( + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser, + @JsonProperty("tunnel_user_password") String tunnelUserPassword) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + this.tunnelUserPassword = tunnelUserPassword; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + public DestinationMysqlSchemasTunnelMethodTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host + */ + public String tunnelUser() { + return tunnelUser; + } + + /** + * OS-level password for logging into the jump server host + */ + public String tunnelUserPassword() { + return tunnelUserPassword; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public DestinationMysqlPasswordAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationMysqlPasswordAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationMysqlPasswordAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public DestinationMysqlPasswordAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public DestinationMysqlPasswordAuthentication withTunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMysqlPasswordAuthentication other = (DestinationMysqlPasswordAuthentication) o; + return + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser) && + java.util.Objects.deepEquals(this.tunnelUserPassword, other.tunnelUserPassword); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + @Override + public String toString() { + return Utils.toString(DestinationMysqlPasswordAuthentication.class, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser, + "tunnelUserPassword", tunnelUserPassword); + } + + public final static class Builder { + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private String tunnelUserPassword; + + private Builder() { + // force use of static builder() method + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public Builder tunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + public DestinationMysqlPasswordAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new DestinationMysqlPasswordAuthentication( + tunnelHost, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_PASSWORD_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMysqlSSHKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/DestinationMysqlSSHKeyAuthentication.java new file mode 100644 index 000000000..6c71d8ccf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMysqlSSHKeyAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationMysqlSSHKeyAuthentication { + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + @JsonProperty("ssh_key") + private String sshKey; + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + @JsonProperty("tunnel_method") + private DestinationMysqlSchemasTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host. + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + public DestinationMysqlSSHKeyAuthentication( + @JsonProperty("ssh_key") String sshKey, + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser) { + Utils.checkNotNull(sshKey, "sshKey"); + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.sshKey = sshKey; + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public String sshKey() { + return sshKey; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + public DestinationMysqlSchemasTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host. + */ + public String tunnelUser() { + return tunnelUser; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public DestinationMysqlSSHKeyAuthentication withSshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public DestinationMysqlSSHKeyAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationMysqlSSHKeyAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationMysqlSSHKeyAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public DestinationMysqlSSHKeyAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMysqlSSHKeyAuthentication other = (DestinationMysqlSSHKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.sshKey, other.sshKey) && + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sshKey, + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser); + } + + @Override + public String toString() { + return Utils.toString(DestinationMysqlSSHKeyAuthentication.class, + "sshKey", sshKey, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser); + } + + public final static class Builder { + + private String sshKey; + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private Builder() { + // force use of static builder() method + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public Builder sshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + public DestinationMysqlSSHKeyAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new DestinationMysqlSSHKeyAuthentication( + sshKey, + tunnelHost, + tunnelPort, + tunnelUser); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_KEY_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMysqlSSHTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationMysqlSSHTunnelMethod.java new file mode 100644 index 000000000..4f8ceb94a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMysqlSSHTunnelMethod.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationMysqlSSHTunnelMethod - Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + +@JsonDeserialize(using = DestinationMysqlSSHTunnelMethod._Deserializer.class) +public class DestinationMysqlSSHTunnelMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationMysqlSSHTunnelMethod(TypedObject value) { + this.value = value; + } + + public static DestinationMysqlSSHTunnelMethod of(DestinationMysqlNoTunnel value) { + Utils.checkNotNull(value, "value"); + return new DestinationMysqlSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationMysqlSSHTunnelMethod of(DestinationMysqlSSHKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new DestinationMysqlSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationMysqlSSHTunnelMethod of(DestinationMysqlPasswordAuthentication value) { + Utils.checkNotNull(value, "value"); + return new DestinationMysqlSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationMysqlNoTunnel}
    • + *
    • {@code DestinationMysqlSSHKeyAuthentication}
    • + *
    • {@code DestinationMysqlPasswordAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationMysqlSSHTunnelMethod other = (DestinationMysqlSSHTunnelMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationMysqlSSHTunnelMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationMysqlSSHTunnelMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMysqlSchemasTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationMysqlSchemasTunnelMethod.java new file mode 100644 index 000000000..4785cc352 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMysqlSchemasTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationMysqlSchemasTunnelMethod - Connect through a jump server tunnel host using username and ssh key + */ +public enum DestinationMysqlSchemasTunnelMethod { + SSH_KEY_AUTH("SSH_KEY_AUTH"); + + @JsonValue + private final String value; + + private DestinationMysqlSchemasTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMysqlSchemasTunnelMethodTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationMysqlSchemasTunnelMethodTunnelMethod.java new file mode 100644 index 000000000..9e99c9ff9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMysqlSchemasTunnelMethodTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationMysqlSchemasTunnelMethodTunnelMethod - Connect through a jump server tunnel host using username and password authentication + */ +public enum DestinationMysqlSchemasTunnelMethodTunnelMethod { + SSH_PASSWORD_AUTH("SSH_PASSWORD_AUTH"); + + @JsonValue + private final String value; + + private DestinationMysqlSchemasTunnelMethodTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationMysqlTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationMysqlTunnelMethod.java new file mode 100644 index 000000000..2e9767327 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationMysqlTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationMysqlTunnelMethod - No ssh tunnel needed to connect to database + */ +public enum DestinationMysqlTunnelMethod { + NO_TUNNEL("NO_TUNNEL"); + + @JsonValue + private final String value; + + private DestinationMysqlTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationOracle.java b/src/main/java/com/airbyte/api/models/shared/DestinationOracle.java new file mode 100644 index 000000000..b5ee615ba --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationOracle.java @@ -0,0 +1,513 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationOracle { + + @JsonProperty("destinationType") + private Oracle destinationType; + + /** + * The hostname of the database. + */ + @JsonProperty("host") + private String host; + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("jdbc_url_params") + private Optional jdbcUrlParams; + + /** + * The password associated with the username. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("password") + private Optional password; + + /** + * The port of the database. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + /** + * The default schema is used as the target schema for all statements issued from the connection that do not explicitly specify a schema name. The usual value for this field is "airbyte". In Oracle, schemas and users are the same thing, so the "user" parameter is used as the login credentials and this is used for the default Airbyte message schema. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schema") + private Optional schema; + + /** + * The System Identifier uniquely distinguishes the instance from any other instance on the same computer. + */ + @JsonProperty("sid") + private String sid; + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_method") + private Optional tunnelMethod; + + /** + * The username to access the database. This user must have CREATE USER privileges in the database. + */ + @JsonProperty("username") + private String username; + + public DestinationOracle( + @JsonProperty("host") String host, + @JsonProperty("jdbc_url_params") Optional jdbcUrlParams, + @JsonProperty("password") Optional password, + @JsonProperty("port") Optional port, + @JsonProperty("schema") Optional schema, + @JsonProperty("sid") String sid, + @JsonProperty("tunnel_method") Optional tunnelMethod, + @JsonProperty("username") String username) { + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(schema, "schema"); + Utils.checkNotNull(sid, "sid"); + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + Utils.checkNotNull(username, "username"); + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.host = host; + this.jdbcUrlParams = jdbcUrlParams; + this.password = password; + this.port = port; + this.schema = schema; + this.sid = sid; + this.tunnelMethod = tunnelMethod; + this.username = username; + } + + public Oracle destinationType() { + return destinationType; + } + + /** + * The hostname of the database. + */ + public String host() { + return host; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Optional jdbcUrlParams() { + return jdbcUrlParams; + } + + /** + * The password associated with the username. + */ + public Optional password() { + return password; + } + + /** + * The port of the database. + */ + public Optional port() { + return port; + } + + /** + * The default schema is used as the target schema for all statements issued from the connection that do not explicitly specify a schema name. The usual value for this field is "airbyte". In Oracle, schemas and users are the same thing, so the "user" parameter is used as the login credentials and this is used for the default Airbyte message schema. + */ + public Optional schema() { + return schema; + } + + /** + * The System Identifier uniquely distinguishes the instance from any other instance on the same computer. + */ + public String sid() { + return sid; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Optional tunnelMethod() { + return tunnelMethod; + } + + /** + * The username to access the database. This user must have CREATE USER privileges in the database. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The hostname of the database. + */ + public DestinationOracle withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public DestinationOracle withJdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public DestinationOracle withJdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * The password associated with the username. + */ + public DestinationOracle withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * The password associated with the username. + */ + public DestinationOracle withPassword(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * The port of the database. + */ + public DestinationOracle withPort(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * The port of the database. + */ + public DestinationOracle withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * The default schema is used as the target schema for all statements issued from the connection that do not explicitly specify a schema name. The usual value for this field is "airbyte". In Oracle, schemas and users are the same thing, so the "user" parameter is used as the login credentials and this is used for the default Airbyte message schema. + */ + public DestinationOracle withSchema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = Optional.ofNullable(schema); + return this; + } + + /** + * The default schema is used as the target schema for all statements issued from the connection that do not explicitly specify a schema name. The usual value for this field is "airbyte". In Oracle, schemas and users are the same thing, so the "user" parameter is used as the login credentials and this is used for the default Airbyte message schema. + */ + public DestinationOracle withSchema(Optional schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + /** + * The System Identifier uniquely distinguishes the instance from any other instance on the same computer. + */ + public DestinationOracle withSid(String sid) { + Utils.checkNotNull(sid, "sid"); + this.sid = sid; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public DestinationOracle withTunnelMethod(DestinationOracleSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public DestinationOracle withTunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * The username to access the database. This user must have CREATE USER privileges in the database. + */ + public DestinationOracle withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationOracle other = (DestinationOracle) o; + return + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.jdbcUrlParams, other.jdbcUrlParams) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.schema, other.schema) && + java.util.Objects.deepEquals(this.sid, other.sid) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + destinationType, + host, + jdbcUrlParams, + password, + port, + schema, + sid, + tunnelMethod, + username); + } + + @Override + public String toString() { + return Utils.toString(DestinationOracle.class, + "destinationType", destinationType, + "host", host, + "jdbcUrlParams", jdbcUrlParams, + "password", password, + "port", port, + "schema", schema, + "sid", sid, + "tunnelMethod", tunnelMethod, + "username", username); + } + + public final static class Builder { + + private String host; + + private Optional jdbcUrlParams = Optional.empty(); + + private Optional password = Optional.empty(); + + private Optional port; + + private Optional schema; + + private String sid; + + private Optional tunnelMethod = Optional.empty(); + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * The hostname of the database. + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * The password associated with the username. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * The password associated with the username. + */ + public Builder password(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * The port of the database. + */ + public Builder port(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * The port of the database. + */ + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * The default schema is used as the target schema for all statements issued from the connection that do not explicitly specify a schema name. The usual value for this field is "airbyte". In Oracle, schemas and users are the same thing, so the "user" parameter is used as the login credentials and this is used for the default Airbyte message schema. + */ + public Builder schema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = Optional.ofNullable(schema); + return this; + } + + /** + * The default schema is used as the target schema for all statements issued from the connection that do not explicitly specify a schema name. The usual value for this field is "airbyte". In Oracle, schemas and users are the same thing, so the "user" parameter is used as the login credentials and this is used for the default Airbyte message schema. + */ + public Builder schema(Optional schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + /** + * The System Identifier uniquely distinguishes the instance from any other instance on the same computer. + */ + public Builder sid(String sid) { + Utils.checkNotNull(sid, "sid"); + this.sid = sid; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(DestinationOracleSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * The username to access the database. This user must have CREATE USER privileges in the database. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public DestinationOracle build() { + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + if (schema == null) { + schema = _SINGLETON_VALUE_Schema.value(); + } + return new DestinationOracle( + host, + jdbcUrlParams, + password, + port, + schema, + sid, + tunnelMethod, + username); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"oracle\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "1521", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Schema = + new LazySingletonValue<>( + "schema", + "\"airbyte\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationOracleNoTunnel.java b/src/main/java/com/airbyte/api/models/shared/DestinationOracleNoTunnel.java new file mode 100644 index 000000000..ddfa885e2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationOracleNoTunnel.java @@ -0,0 +1,85 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DestinationOracleNoTunnel { + + /** + * No ssh tunnel needed to connect to database + */ + @JsonProperty("tunnel_method") + private DestinationOracleTunnelMethod tunnelMethod; + + public DestinationOracleNoTunnel() { + + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + } + + /** + * No ssh tunnel needed to connect to database + */ + public DestinationOracleTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationOracleNoTunnel other = (DestinationOracleNoTunnel) o; + return + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelMethod); + } + + @Override + public String toString() { + return Utils.toString(DestinationOracleNoTunnel.class, + "tunnelMethod", tunnelMethod); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationOracleNoTunnel build() { + return new DestinationOracleNoTunnel( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"NO_TUNNEL\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationOraclePasswordAuthentication.java b/src/main/java/com/airbyte/api/models/shared/DestinationOraclePasswordAuthentication.java new file mode 100644 index 000000000..4a1e7ec4c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationOraclePasswordAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationOraclePasswordAuthentication { + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + @JsonProperty("tunnel_method") + private DestinationOracleSchemasTunnelMethodTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + /** + * OS-level password for logging into the jump server host + */ + @JsonProperty("tunnel_user_password") + private String tunnelUserPassword; + + public DestinationOraclePasswordAuthentication( + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser, + @JsonProperty("tunnel_user_password") String tunnelUserPassword) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + this.tunnelUserPassword = tunnelUserPassword; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + public DestinationOracleSchemasTunnelMethodTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host + */ + public String tunnelUser() { + return tunnelUser; + } + + /** + * OS-level password for logging into the jump server host + */ + public String tunnelUserPassword() { + return tunnelUserPassword; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public DestinationOraclePasswordAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationOraclePasswordAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationOraclePasswordAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public DestinationOraclePasswordAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public DestinationOraclePasswordAuthentication withTunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationOraclePasswordAuthentication other = (DestinationOraclePasswordAuthentication) o; + return + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser) && + java.util.Objects.deepEquals(this.tunnelUserPassword, other.tunnelUserPassword); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + @Override + public String toString() { + return Utils.toString(DestinationOraclePasswordAuthentication.class, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser, + "tunnelUserPassword", tunnelUserPassword); + } + + public final static class Builder { + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private String tunnelUserPassword; + + private Builder() { + // force use of static builder() method + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public Builder tunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + public DestinationOraclePasswordAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new DestinationOraclePasswordAuthentication( + tunnelHost, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_PASSWORD_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationOracleSSHKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/DestinationOracleSSHKeyAuthentication.java new file mode 100644 index 000000000..484562828 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationOracleSSHKeyAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationOracleSSHKeyAuthentication { + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + @JsonProperty("ssh_key") + private String sshKey; + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + @JsonProperty("tunnel_method") + private DestinationOracleSchemasTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host. + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + public DestinationOracleSSHKeyAuthentication( + @JsonProperty("ssh_key") String sshKey, + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser) { + Utils.checkNotNull(sshKey, "sshKey"); + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.sshKey = sshKey; + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public String sshKey() { + return sshKey; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + public DestinationOracleSchemasTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host. + */ + public String tunnelUser() { + return tunnelUser; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public DestinationOracleSSHKeyAuthentication withSshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public DestinationOracleSSHKeyAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationOracleSSHKeyAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationOracleSSHKeyAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public DestinationOracleSSHKeyAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationOracleSSHKeyAuthentication other = (DestinationOracleSSHKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.sshKey, other.sshKey) && + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sshKey, + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser); + } + + @Override + public String toString() { + return Utils.toString(DestinationOracleSSHKeyAuthentication.class, + "sshKey", sshKey, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser); + } + + public final static class Builder { + + private String sshKey; + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private Builder() { + // force use of static builder() method + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public Builder sshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + public DestinationOracleSSHKeyAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new DestinationOracleSSHKeyAuthentication( + sshKey, + tunnelHost, + tunnelPort, + tunnelUser); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_KEY_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationOracleSSHTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationOracleSSHTunnelMethod.java new file mode 100644 index 000000000..a148265cd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationOracleSSHTunnelMethod.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationOracleSSHTunnelMethod - Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + +@JsonDeserialize(using = DestinationOracleSSHTunnelMethod._Deserializer.class) +public class DestinationOracleSSHTunnelMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationOracleSSHTunnelMethod(TypedObject value) { + this.value = value; + } + + public static DestinationOracleSSHTunnelMethod of(DestinationOracleNoTunnel value) { + Utils.checkNotNull(value, "value"); + return new DestinationOracleSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationOracleSSHTunnelMethod of(DestinationOracleSSHKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new DestinationOracleSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationOracleSSHTunnelMethod of(DestinationOraclePasswordAuthentication value) { + Utils.checkNotNull(value, "value"); + return new DestinationOracleSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationOracleNoTunnel}
    • + *
    • {@code DestinationOracleSSHKeyAuthentication}
    • + *
    • {@code DestinationOraclePasswordAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationOracleSSHTunnelMethod other = (DestinationOracleSSHTunnelMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationOracleSSHTunnelMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationOracleSSHTunnelMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationOracleSchemasTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationOracleSchemasTunnelMethod.java new file mode 100644 index 000000000..78b422f60 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationOracleSchemasTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationOracleSchemasTunnelMethod - Connect through a jump server tunnel host using username and ssh key + */ +public enum DestinationOracleSchemasTunnelMethod { + SSH_KEY_AUTH("SSH_KEY_AUTH"); + + @JsonValue + private final String value; + + private DestinationOracleSchemasTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationOracleSchemasTunnelMethodTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationOracleSchemasTunnelMethodTunnelMethod.java new file mode 100644 index 000000000..4127519cc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationOracleSchemasTunnelMethodTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationOracleSchemasTunnelMethodTunnelMethod - Connect through a jump server tunnel host using username and password authentication + */ +public enum DestinationOracleSchemasTunnelMethodTunnelMethod { + SSH_PASSWORD_AUTH("SSH_PASSWORD_AUTH"); + + @JsonValue + private final String value; + + private DestinationOracleSchemasTunnelMethodTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationOracleTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationOracleTunnelMethod.java new file mode 100644 index 000000000..511cecfb1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationOracleTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationOracleTunnelMethod - No ssh tunnel needed to connect to database + */ +public enum DestinationOracleTunnelMethod { + NO_TUNNEL("NO_TUNNEL"); + + @JsonValue + private final String value; + + private DestinationOracleTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPatchRequest.java b/src/main/java/com/airbyte/api/models/shared/DestinationPatchRequest.java new file mode 100644 index 000000000..52da4c66d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPatchRequest.java @@ -0,0 +1,162 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationPatchRequest { + + /** + * The values required to configure the destination. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("configuration") + private Optional configuration; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("name") + private Optional name; + + public DestinationPatchRequest( + @JsonProperty("configuration") Optional configuration, + @JsonProperty("name") Optional name) { + Utils.checkNotNull(configuration, "configuration"); + Utils.checkNotNull(name, "name"); + this.configuration = configuration; + this.name = name; + } + + /** + * The values required to configure the destination. + */ + public Optional configuration() { + return configuration; + } + + public Optional name() { + return name; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The values required to configure the destination. + */ + public DestinationPatchRequest withConfiguration(DestinationConfiguration configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = Optional.ofNullable(configuration); + return this; + } + + /** + * The values required to configure the destination. + */ + public DestinationPatchRequest withConfiguration(Optional configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = configuration; + return this; + } + + public DestinationPatchRequest withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = Optional.ofNullable(name); + return this; + } + + public DestinationPatchRequest withName(Optional name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPatchRequest other = (DestinationPatchRequest) o; + return + java.util.Objects.deepEquals(this.configuration, other.configuration) && + java.util.Objects.deepEquals(this.name, other.name); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + configuration, + name); + } + + @Override + public String toString() { + return Utils.toString(DestinationPatchRequest.class, + "configuration", configuration, + "name", name); + } + + public final static class Builder { + + private Optional configuration = Optional.empty(); + + private Optional name = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The values required to configure the destination. + */ + public Builder configuration(DestinationConfiguration configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = Optional.ofNullable(configuration); + return this; + } + + /** + * The values required to configure the destination. + */ + public Builder configuration(Optional configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = configuration; + return this; + } + + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = Optional.ofNullable(name); + return this; + } + + public Builder name(Optional name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + public DestinationPatchRequest build() { + return new DestinationPatchRequest( + configuration, + name); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPinecone.java b/src/main/java/com/airbyte/api/models/shared/DestinationPinecone.java new file mode 100644 index 000000000..ffb6d16e1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPinecone.java @@ -0,0 +1,268 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationPinecone - The configuration model for the Vector DB based destinations. This model is used to generate the UI for the destination configuration, + * as well as to provide type safety for the configuration passed to the destination. + * + * The configuration model is composed of four parts: + * * Processing configuration + * * Embedding configuration + * * Indexing configuration + * * Advanced configuration + * + * Processing, embedding and advanced configuration are provided by this base class, while the indexing configuration is provided by the destination connector in the sub class. + */ + +public class DestinationPinecone { + + @JsonProperty("destinationType") + private Pinecone destinationType; + + /** + * Embedding configuration + */ + @JsonProperty("embedding") + private DestinationPineconeEmbedding embedding; + + /** + * Pinecone is a popular vector store that can be used to store and retrieve embeddings. + */ + @JsonProperty("indexing") + private DestinationPineconeIndexing indexing; + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("omit_raw_text") + private Optional omitRawText; + + @JsonProperty("processing") + private DestinationPineconeProcessingConfigModel processing; + + public DestinationPinecone( + @JsonProperty("embedding") DestinationPineconeEmbedding embedding, + @JsonProperty("indexing") DestinationPineconeIndexing indexing, + @JsonProperty("omit_raw_text") Optional omitRawText, + @JsonProperty("processing") DestinationPineconeProcessingConfigModel processing) { + Utils.checkNotNull(embedding, "embedding"); + Utils.checkNotNull(indexing, "indexing"); + Utils.checkNotNull(omitRawText, "omitRawText"); + Utils.checkNotNull(processing, "processing"); + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.embedding = embedding; + this.indexing = indexing; + this.omitRawText = omitRawText; + this.processing = processing; + } + + public Pinecone destinationType() { + return destinationType; + } + + /** + * Embedding configuration + */ + public DestinationPineconeEmbedding embedding() { + return embedding; + } + + /** + * Pinecone is a popular vector store that can be used to store and retrieve embeddings. + */ + public DestinationPineconeIndexing indexing() { + return indexing; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public Optional omitRawText() { + return omitRawText; + } + + public DestinationPineconeProcessingConfigModel processing() { + return processing; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Embedding configuration + */ + public DestinationPinecone withEmbedding(DestinationPineconeEmbedding embedding) { + Utils.checkNotNull(embedding, "embedding"); + this.embedding = embedding; + return this; + } + + /** + * Pinecone is a popular vector store that can be used to store and retrieve embeddings. + */ + public DestinationPinecone withIndexing(DestinationPineconeIndexing indexing) { + Utils.checkNotNull(indexing, "indexing"); + this.indexing = indexing; + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public DestinationPinecone withOmitRawText(boolean omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = Optional.ofNullable(omitRawText); + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public DestinationPinecone withOmitRawText(Optional omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = omitRawText; + return this; + } + + public DestinationPinecone withProcessing(DestinationPineconeProcessingConfigModel processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPinecone other = (DestinationPinecone) o; + return + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.embedding, other.embedding) && + java.util.Objects.deepEquals(this.indexing, other.indexing) && + java.util.Objects.deepEquals(this.omitRawText, other.omitRawText) && + java.util.Objects.deepEquals(this.processing, other.processing); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + destinationType, + embedding, + indexing, + omitRawText, + processing); + } + + @Override + public String toString() { + return Utils.toString(DestinationPinecone.class, + "destinationType", destinationType, + "embedding", embedding, + "indexing", indexing, + "omitRawText", omitRawText, + "processing", processing); + } + + public final static class Builder { + + private DestinationPineconeEmbedding embedding; + + private DestinationPineconeIndexing indexing; + + private Optional omitRawText; + + private DestinationPineconeProcessingConfigModel processing; + + private Builder() { + // force use of static builder() method + } + + /** + * Embedding configuration + */ + public Builder embedding(DestinationPineconeEmbedding embedding) { + Utils.checkNotNull(embedding, "embedding"); + this.embedding = embedding; + return this; + } + + /** + * Pinecone is a popular vector store that can be used to store and retrieve embeddings. + */ + public Builder indexing(DestinationPineconeIndexing indexing) { + Utils.checkNotNull(indexing, "indexing"); + this.indexing = indexing; + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public Builder omitRawText(boolean omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = Optional.ofNullable(omitRawText); + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public Builder omitRawText(Optional omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = omitRawText; + return this; + } + + public Builder processing(DestinationPineconeProcessingConfigModel processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + public DestinationPinecone build() { + if (omitRawText == null) { + omitRawText = _SINGLETON_VALUE_OmitRawText.value(); + } + return new DestinationPinecone( + embedding, + indexing, + omitRawText, + processing); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"pinecone\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_OmitRawText = + new LazySingletonValue<>( + "omit_raw_text", + "false", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeAzureOpenAI.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeAzureOpenAI.java new file mode 100644 index 000000000..a5ded1b9d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeAzureOpenAI.java @@ -0,0 +1,204 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationPineconeAzureOpenAI - Use the Azure-hosted OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + */ + +public class DestinationPineconeAzureOpenAI { + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + @JsonProperty("api_base") + private String apiBase; + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + @JsonProperty("deployment") + private String deployment; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + @JsonProperty("openai_key") + private String openaiKey; + + public DestinationPineconeAzureOpenAI( + @JsonProperty("api_base") String apiBase, + @JsonProperty("deployment") String deployment, + @JsonProperty("openai_key") String openaiKey) { + Utils.checkNotNull(apiBase, "apiBase"); + Utils.checkNotNull(deployment, "deployment"); + Utils.checkNotNull(openaiKey, "openaiKey"); + this.apiBase = apiBase; + this.deployment = deployment; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.openaiKey = openaiKey; + } + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public String apiBase() { + return apiBase; + } + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public String deployment() { + return deployment; + } + + public Optional mode() { + return mode; + } + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public String openaiKey() { + return openaiKey; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public DestinationPineconeAzureOpenAI withApiBase(String apiBase) { + Utils.checkNotNull(apiBase, "apiBase"); + this.apiBase = apiBase; + return this; + } + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public DestinationPineconeAzureOpenAI withDeployment(String deployment) { + Utils.checkNotNull(deployment, "deployment"); + this.deployment = deployment; + return this; + } + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public DestinationPineconeAzureOpenAI withOpenaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPineconeAzureOpenAI other = (DestinationPineconeAzureOpenAI) o; + return + java.util.Objects.deepEquals(this.apiBase, other.apiBase) && + java.util.Objects.deepEquals(this.deployment, other.deployment) && + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.openaiKey, other.openaiKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiBase, + deployment, + mode, + openaiKey); + } + + @Override + public String toString() { + return Utils.toString(DestinationPineconeAzureOpenAI.class, + "apiBase", apiBase, + "deployment", deployment, + "mode", mode, + "openaiKey", openaiKey); + } + + public final static class Builder { + + private String apiBase; + + private String deployment; + + private String openaiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public Builder apiBase(String apiBase) { + Utils.checkNotNull(apiBase, "apiBase"); + this.apiBase = apiBase; + return this; + } + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public Builder deployment(String deployment) { + Utils.checkNotNull(deployment, "deployment"); + this.deployment = deployment; + return this; + } + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public Builder openaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + public DestinationPineconeAzureOpenAI build() { + return new DestinationPineconeAzureOpenAI( + apiBase, + deployment, + openaiKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"azure_openai\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeByMarkdownHeader.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeByMarkdownHeader.java new file mode 100644 index 000000000..60dff327a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeByMarkdownHeader.java @@ -0,0 +1,152 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationPineconeByMarkdownHeader - Split the text by Markdown headers down to the specified header level. If the chunk size fits multiple sections, they will be combined into a single chunk. + */ + +public class DestinationPineconeByMarkdownHeader { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("split_level") + private Optional splitLevel; + + public DestinationPineconeByMarkdownHeader( + @JsonProperty("split_level") Optional splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.splitLevel = splitLevel; + } + + public Optional mode() { + return mode; + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public Optional splitLevel() { + return splitLevel; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public DestinationPineconeByMarkdownHeader withSplitLevel(long splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = Optional.ofNullable(splitLevel); + return this; + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public DestinationPineconeByMarkdownHeader withSplitLevel(Optional splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = splitLevel; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPineconeByMarkdownHeader other = (DestinationPineconeByMarkdownHeader) o; + return + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.splitLevel, other.splitLevel); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode, + splitLevel); + } + + @Override + public String toString() { + return Utils.toString(DestinationPineconeByMarkdownHeader.class, + "mode", mode, + "splitLevel", splitLevel); + } + + public final static class Builder { + + private Optional splitLevel; + + private Builder() { + // force use of static builder() method + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public Builder splitLevel(long splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = Optional.ofNullable(splitLevel); + return this; + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public Builder splitLevel(Optional splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = splitLevel; + return this; + } + + public DestinationPineconeByMarkdownHeader build() { + if (splitLevel == null) { + splitLevel = _SINGLETON_VALUE_SplitLevel.value(); + } + return new DestinationPineconeByMarkdownHeader( + splitLevel); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"markdown\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SplitLevel = + new LazySingletonValue<>( + "split_level", + "1", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeByProgrammingLanguage.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeByProgrammingLanguage.java new file mode 100644 index 000000000..4b094e6e0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeByProgrammingLanguage.java @@ -0,0 +1,124 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationPineconeByProgrammingLanguage - Split the text by suitable delimiters based on the programming language. This is useful for splitting code into chunks. + */ + +public class DestinationPineconeByProgrammingLanguage { + + /** + * Split code in suitable places based on the programming language + */ + @JsonProperty("language") + private DestinationPineconeLanguage language; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationPineconeByProgrammingLanguage( + @JsonProperty("language") DestinationPineconeLanguage language) { + Utils.checkNotNull(language, "language"); + this.language = language; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + /** + * Split code in suitable places based on the programming language + */ + public DestinationPineconeLanguage language() { + return language; + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Split code in suitable places based on the programming language + */ + public DestinationPineconeByProgrammingLanguage withLanguage(DestinationPineconeLanguage language) { + Utils.checkNotNull(language, "language"); + this.language = language; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPineconeByProgrammingLanguage other = (DestinationPineconeByProgrammingLanguage) o; + return + java.util.Objects.deepEquals(this.language, other.language) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + language, + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationPineconeByProgrammingLanguage.class, + "language", language, + "mode", mode); + } + + public final static class Builder { + + private DestinationPineconeLanguage language; + + private Builder() { + // force use of static builder() method + } + + /** + * Split code in suitable places based on the programming language + */ + public Builder language(DestinationPineconeLanguage language) { + Utils.checkNotNull(language, "language"); + this.language = language; + return this; + } + + public DestinationPineconeByProgrammingLanguage build() { + return new DestinationPineconeByProgrammingLanguage( + language); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"code\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeBySeparator.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeBySeparator.java new file mode 100644 index 000000000..3705d49ea --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeBySeparator.java @@ -0,0 +1,211 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationPineconeBySeparator - Split the text by the list of separators until the chunk size is reached, using the earlier mentioned separators where possible. This is useful for splitting text fields by paragraphs, sentences, words, etc. + */ + +public class DestinationPineconeBySeparator { + + /** + * Whether to keep the separator in the resulting chunks + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("keep_separator") + private Optional keepSeparator; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("separators") + private Optional> separators; + + public DestinationPineconeBySeparator( + @JsonProperty("keep_separator") Optional keepSeparator, + @JsonProperty("separators") Optional> separators) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + Utils.checkNotNull(separators, "separators"); + this.keepSeparator = keepSeparator; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.separators = separators; + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public Optional keepSeparator() { + return keepSeparator; + } + + public Optional mode() { + return mode; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public Optional> separators() { + return separators; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public DestinationPineconeBySeparator withKeepSeparator(boolean keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = Optional.ofNullable(keepSeparator); + return this; + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public DestinationPineconeBySeparator withKeepSeparator(Optional keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = keepSeparator; + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public DestinationPineconeBySeparator withSeparators(java.util.List separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = Optional.ofNullable(separators); + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public DestinationPineconeBySeparator withSeparators(Optional> separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = separators; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPineconeBySeparator other = (DestinationPineconeBySeparator) o; + return + java.util.Objects.deepEquals(this.keepSeparator, other.keepSeparator) && + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.separators, other.separators); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + keepSeparator, + mode, + separators); + } + + @Override + public String toString() { + return Utils.toString(DestinationPineconeBySeparator.class, + "keepSeparator", keepSeparator, + "mode", mode, + "separators", separators); + } + + public final static class Builder { + + private Optional keepSeparator; + + private Optional> separators = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public Builder keepSeparator(boolean keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = Optional.ofNullable(keepSeparator); + return this; + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public Builder keepSeparator(Optional keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = keepSeparator; + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public Builder separators(java.util.List separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = Optional.ofNullable(separators); + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public Builder separators(Optional> separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = separators; + return this; + } + + public DestinationPineconeBySeparator build() { + if (keepSeparator == null) { + keepSeparator = _SINGLETON_VALUE_KeepSeparator.value(); + } + return new DestinationPineconeBySeparator( + keepSeparator, + separators); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_KeepSeparator = + new LazySingletonValue<>( + "keep_separator", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"separator\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeCohere.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeCohere.java new file mode 100644 index 000000000..1800ab522 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeCohere.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationPineconeCohere - Use the Cohere API to embed text. + */ + +public class DestinationPineconeCohere { + + @JsonProperty("cohere_key") + private String cohereKey; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationPineconeCohere( + @JsonProperty("cohere_key") String cohereKey) { + Utils.checkNotNull(cohereKey, "cohereKey"); + this.cohereKey = cohereKey; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public String cohereKey() { + return cohereKey; + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationPineconeCohere withCohereKey(String cohereKey) { + Utils.checkNotNull(cohereKey, "cohereKey"); + this.cohereKey = cohereKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPineconeCohere other = (DestinationPineconeCohere) o; + return + java.util.Objects.deepEquals(this.cohereKey, other.cohereKey) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + cohereKey, + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationPineconeCohere.class, + "cohereKey", cohereKey, + "mode", mode); + } + + public final static class Builder { + + private String cohereKey; + + private Builder() { + // force use of static builder() method + } + + public Builder cohereKey(String cohereKey) { + Utils.checkNotNull(cohereKey, "cohereKey"); + this.cohereKey = cohereKey; + return this; + } + + public DestinationPineconeCohere build() { + return new DestinationPineconeCohere( + cohereKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"cohere\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeEmbedding.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeEmbedding.java new file mode 100644 index 000000000..a824aafde --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeEmbedding.java @@ -0,0 +1,122 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationPineconeEmbedding - Embedding configuration + */ + +@JsonDeserialize(using = DestinationPineconeEmbedding._Deserializer.class) +public class DestinationPineconeEmbedding { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationPineconeEmbedding(TypedObject value) { + this.value = value; + } + + public static DestinationPineconeEmbedding of(DestinationPineconeOpenAI value) { + Utils.checkNotNull(value, "value"); + return new DestinationPineconeEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationPineconeEmbedding of(DestinationPineconeCohere value) { + Utils.checkNotNull(value, "value"); + return new DestinationPineconeEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationPineconeEmbedding of(DestinationPineconeFake value) { + Utils.checkNotNull(value, "value"); + return new DestinationPineconeEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationPineconeEmbedding of(DestinationPineconeAzureOpenAI value) { + Utils.checkNotNull(value, "value"); + return new DestinationPineconeEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationPineconeEmbedding of(DestinationPineconeOpenAICompatible value) { + Utils.checkNotNull(value, "value"); + return new DestinationPineconeEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationPineconeOpenAI}
    • + *
    • {@code DestinationPineconeCohere}
    • + *
    • {@code DestinationPineconeFake}
    • + *
    • {@code DestinationPineconeAzureOpenAI}
    • + *
    • {@code DestinationPineconeOpenAICompatible}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPineconeEmbedding other = (DestinationPineconeEmbedding) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationPineconeEmbedding.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationPineconeEmbedding.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeFake.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeFake.java new file mode 100644 index 000000000..ec4dfe6e9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeFake.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationPineconeFake - Use a fake embedding made out of random vectors with 1536 embedding dimensions. This is useful for testing the data pipeline without incurring any costs. + */ + +public class DestinationPineconeFake { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationPineconeFake() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPineconeFake other = (DestinationPineconeFake) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationPineconeFake.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationPineconeFake build() { + return new DestinationPineconeFake( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"fake\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeFieldNameMappingConfigModel.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeFieldNameMappingConfigModel.java new file mode 100644 index 000000000..37750ff14 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeFieldNameMappingConfigModel.java @@ -0,0 +1,139 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DestinationPineconeFieldNameMappingConfigModel { + + /** + * The field name in the source + */ + @JsonProperty("from_field") + private String fromField; + + /** + * The field name to use in the destination + */ + @JsonProperty("to_field") + private String toField; + + public DestinationPineconeFieldNameMappingConfigModel( + @JsonProperty("from_field") String fromField, + @JsonProperty("to_field") String toField) { + Utils.checkNotNull(fromField, "fromField"); + Utils.checkNotNull(toField, "toField"); + this.fromField = fromField; + this.toField = toField; + } + + /** + * The field name in the source + */ + public String fromField() { + return fromField; + } + + /** + * The field name to use in the destination + */ + public String toField() { + return toField; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The field name in the source + */ + public DestinationPineconeFieldNameMappingConfigModel withFromField(String fromField) { + Utils.checkNotNull(fromField, "fromField"); + this.fromField = fromField; + return this; + } + + /** + * The field name to use in the destination + */ + public DestinationPineconeFieldNameMappingConfigModel withToField(String toField) { + Utils.checkNotNull(toField, "toField"); + this.toField = toField; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPineconeFieldNameMappingConfigModel other = (DestinationPineconeFieldNameMappingConfigModel) o; + return + java.util.Objects.deepEquals(this.fromField, other.fromField) && + java.util.Objects.deepEquals(this.toField, other.toField); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + fromField, + toField); + } + + @Override + public String toString() { + return Utils.toString(DestinationPineconeFieldNameMappingConfigModel.class, + "fromField", fromField, + "toField", toField); + } + + public final static class Builder { + + private String fromField; + + private String toField; + + private Builder() { + // force use of static builder() method + } + + /** + * The field name in the source + */ + public Builder fromField(String fromField) { + Utils.checkNotNull(fromField, "fromField"); + this.fromField = fromField; + return this; + } + + /** + * The field name to use in the destination + */ + public Builder toField(String toField) { + Utils.checkNotNull(toField, "toField"); + this.toField = toField; + return this; + } + + public DestinationPineconeFieldNameMappingConfigModel build() { + return new DestinationPineconeFieldNameMappingConfigModel( + fromField, + toField); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeIndexing.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeIndexing.java new file mode 100644 index 000000000..c0a736221 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeIndexing.java @@ -0,0 +1,182 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationPineconeIndexing - Pinecone is a popular vector store that can be used to store and retrieve embeddings. + */ + +public class DestinationPineconeIndexing { + + /** + * Pinecone index in your project to load data into + */ + @JsonProperty("index") + private String index; + + /** + * Pinecone Cloud environment to use + */ + @JsonProperty("pinecone_environment") + private String pineconeEnvironment; + + /** + * The Pinecone API key to use matching the environment (copy from Pinecone console) + */ + @JsonProperty("pinecone_key") + private String pineconeKey; + + public DestinationPineconeIndexing( + @JsonProperty("index") String index, + @JsonProperty("pinecone_environment") String pineconeEnvironment, + @JsonProperty("pinecone_key") String pineconeKey) { + Utils.checkNotNull(index, "index"); + Utils.checkNotNull(pineconeEnvironment, "pineconeEnvironment"); + Utils.checkNotNull(pineconeKey, "pineconeKey"); + this.index = index; + this.pineconeEnvironment = pineconeEnvironment; + this.pineconeKey = pineconeKey; + } + + /** + * Pinecone index in your project to load data into + */ + public String index() { + return index; + } + + /** + * Pinecone Cloud environment to use + */ + public String pineconeEnvironment() { + return pineconeEnvironment; + } + + /** + * The Pinecone API key to use matching the environment (copy from Pinecone console) + */ + public String pineconeKey() { + return pineconeKey; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Pinecone index in your project to load data into + */ + public DestinationPineconeIndexing withIndex(String index) { + Utils.checkNotNull(index, "index"); + this.index = index; + return this; + } + + /** + * Pinecone Cloud environment to use + */ + public DestinationPineconeIndexing withPineconeEnvironment(String pineconeEnvironment) { + Utils.checkNotNull(pineconeEnvironment, "pineconeEnvironment"); + this.pineconeEnvironment = pineconeEnvironment; + return this; + } + + /** + * The Pinecone API key to use matching the environment (copy from Pinecone console) + */ + public DestinationPineconeIndexing withPineconeKey(String pineconeKey) { + Utils.checkNotNull(pineconeKey, "pineconeKey"); + this.pineconeKey = pineconeKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPineconeIndexing other = (DestinationPineconeIndexing) o; + return + java.util.Objects.deepEquals(this.index, other.index) && + java.util.Objects.deepEquals(this.pineconeEnvironment, other.pineconeEnvironment) && + java.util.Objects.deepEquals(this.pineconeKey, other.pineconeKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + index, + pineconeEnvironment, + pineconeKey); + } + + @Override + public String toString() { + return Utils.toString(DestinationPineconeIndexing.class, + "index", index, + "pineconeEnvironment", pineconeEnvironment, + "pineconeKey", pineconeKey); + } + + public final static class Builder { + + private String index; + + private String pineconeEnvironment; + + private String pineconeKey; + + private Builder() { + // force use of static builder() method + } + + /** + * Pinecone index in your project to load data into + */ + public Builder index(String index) { + Utils.checkNotNull(index, "index"); + this.index = index; + return this; + } + + /** + * Pinecone Cloud environment to use + */ + public Builder pineconeEnvironment(String pineconeEnvironment) { + Utils.checkNotNull(pineconeEnvironment, "pineconeEnvironment"); + this.pineconeEnvironment = pineconeEnvironment; + return this; + } + + /** + * The Pinecone API key to use matching the environment (copy from Pinecone console) + */ + public Builder pineconeKey(String pineconeKey) { + Utils.checkNotNull(pineconeKey, "pineconeKey"); + this.pineconeKey = pineconeKey; + return this; + } + + public DestinationPineconeIndexing build() { + return new DestinationPineconeIndexing( + index, + pineconeEnvironment, + pineconeKey); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeLanguage.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeLanguage.java new file mode 100644 index 000000000..5278a7423 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeLanguage.java @@ -0,0 +1,47 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationPineconeLanguage - Split code in suitable places based on the programming language + */ +public enum DestinationPineconeLanguage { + CPP("cpp"), + GO("go"), + JAVA("java"), + JS("js"), + PHP("php"), + PROTO("proto"), + PYTHON("python"), + RST("rst"), + RUBY("ruby"), + RUST("rust"), + SCALA("scala"), + SWIFT("swift"), + MARKDOWN("markdown"), + LATEX("latex"), + HTML("html"), + SOL("sol"); + + @JsonValue + private final String value; + + private DestinationPineconeLanguage(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeMode.java new file mode 100644 index 000000000..451469479 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationPineconeMode { + OPENAI("openai"); + + @JsonValue + private final String value; + + private DestinationPineconeMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeOpenAI.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeOpenAI.java new file mode 100644 index 000000000..3c2a35d33 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeOpenAI.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationPineconeOpenAI - Use the OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + */ + +public class DestinationPineconeOpenAI { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + @JsonProperty("openai_key") + private String openaiKey; + + public DestinationPineconeOpenAI( + @JsonProperty("openai_key") String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.openaiKey = openaiKey; + } + + public Optional mode() { + return mode; + } + + public String openaiKey() { + return openaiKey; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationPineconeOpenAI withOpenaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPineconeOpenAI other = (DestinationPineconeOpenAI) o; + return + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.openaiKey, other.openaiKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode, + openaiKey); + } + + @Override + public String toString() { + return Utils.toString(DestinationPineconeOpenAI.class, + "mode", mode, + "openaiKey", openaiKey); + } + + public final static class Builder { + + private String openaiKey; + + private Builder() { + // force use of static builder() method + } + + public Builder openaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + public DestinationPineconeOpenAI build() { + return new DestinationPineconeOpenAI( + openaiKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"openai\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeOpenAICompatible.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeOpenAICompatible.java new file mode 100644 index 000000000..b96174d1e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeOpenAICompatible.java @@ -0,0 +1,282 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationPineconeOpenAICompatible - Use a service that's compatible with the OpenAI API to embed text. + */ + +public class DestinationPineconeOpenAICompatible { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("api_key") + private Optional apiKey; + + /** + * The base URL for your OpenAI-compatible service + */ + @JsonProperty("base_url") + private String baseUrl; + + /** + * The number of dimensions the embedding model is generating + */ + @JsonProperty("dimensions") + private long dimensions; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * The name of the model to use for embedding + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("model_name") + private Optional modelName; + + public DestinationPineconeOpenAICompatible( + @JsonProperty("api_key") Optional apiKey, + @JsonProperty("base_url") String baseUrl, + @JsonProperty("dimensions") long dimensions, + @JsonProperty("model_name") Optional modelName) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(baseUrl, "baseUrl"); + Utils.checkNotNull(dimensions, "dimensions"); + Utils.checkNotNull(modelName, "modelName"); + this.apiKey = apiKey; + this.baseUrl = baseUrl; + this.dimensions = dimensions; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.modelName = modelName; + } + + public Optional apiKey() { + return apiKey; + } + + /** + * The base URL for your OpenAI-compatible service + */ + public String baseUrl() { + return baseUrl; + } + + /** + * The number of dimensions the embedding model is generating + */ + public long dimensions() { + return dimensions; + } + + public Optional mode() { + return mode; + } + + /** + * The name of the model to use for embedding + */ + public Optional modelName() { + return modelName; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationPineconeOpenAICompatible withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = Optional.ofNullable(apiKey); + return this; + } + + public DestinationPineconeOpenAICompatible withApiKey(Optional apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The base URL for your OpenAI-compatible service + */ + public DestinationPineconeOpenAICompatible withBaseUrl(String baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = baseUrl; + return this; + } + + /** + * The number of dimensions the embedding model is generating + */ + public DestinationPineconeOpenAICompatible withDimensions(long dimensions) { + Utils.checkNotNull(dimensions, "dimensions"); + this.dimensions = dimensions; + return this; + } + + /** + * The name of the model to use for embedding + */ + public DestinationPineconeOpenAICompatible withModelName(String modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = Optional.ofNullable(modelName); + return this; + } + + /** + * The name of the model to use for embedding + */ + public DestinationPineconeOpenAICompatible withModelName(Optional modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = modelName; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPineconeOpenAICompatible other = (DestinationPineconeOpenAICompatible) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.baseUrl, other.baseUrl) && + java.util.Objects.deepEquals(this.dimensions, other.dimensions) && + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.modelName, other.modelName); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + baseUrl, + dimensions, + mode, + modelName); + } + + @Override + public String toString() { + return Utils.toString(DestinationPineconeOpenAICompatible.class, + "apiKey", apiKey, + "baseUrl", baseUrl, + "dimensions", dimensions, + "mode", mode, + "modelName", modelName); + } + + public final static class Builder { + + private Optional apiKey; + + private String baseUrl; + + private Long dimensions; + + private Optional modelName; + + private Builder() { + // force use of static builder() method + } + + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = Optional.ofNullable(apiKey); + return this; + } + + public Builder apiKey(Optional apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The base URL for your OpenAI-compatible service + */ + public Builder baseUrl(String baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = baseUrl; + return this; + } + + /** + * The number of dimensions the embedding model is generating + */ + public Builder dimensions(long dimensions) { + Utils.checkNotNull(dimensions, "dimensions"); + this.dimensions = dimensions; + return this; + } + + /** + * The name of the model to use for embedding + */ + public Builder modelName(String modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = Optional.ofNullable(modelName); + return this; + } + + /** + * The name of the model to use for embedding + */ + public Builder modelName(Optional modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = modelName; + return this; + } + + public DestinationPineconeOpenAICompatible build() { + if (apiKey == null) { + apiKey = _SINGLETON_VALUE_ApiKey.value(); + } + if (modelName == null) { + modelName = _SINGLETON_VALUE_ModelName.value(); + } + return new DestinationPineconeOpenAICompatible( + apiKey, + baseUrl, + dimensions, + modelName); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ApiKey = + new LazySingletonValue<>( + "api_key", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"openai_compatible\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ModelName = + new LazySingletonValue<>( + "model_name", + "\"text-embedding-ada-002\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeProcessingConfigModel.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeProcessingConfigModel.java new file mode 100644 index 000000000..27725a848 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeProcessingConfigModel.java @@ -0,0 +1,407 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationPineconeProcessingConfigModel { + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("chunk_overlap") + private Optional chunkOverlap; + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + @JsonProperty("chunk_size") + private long chunkSize; + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("field_name_mappings") + private Optional> fieldNameMappings; + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("metadata_fields") + private Optional> metadataFields; + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("text_fields") + private Optional> textFields; + + /** + * Split text fields into chunks based on the specified method. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("text_splitter") + private Optional textSplitter; + + public DestinationPineconeProcessingConfigModel( + @JsonProperty("chunk_overlap") Optional chunkOverlap, + @JsonProperty("chunk_size") long chunkSize, + @JsonProperty("field_name_mappings") Optional> fieldNameMappings, + @JsonProperty("metadata_fields") Optional> metadataFields, + @JsonProperty("text_fields") Optional> textFields, + @JsonProperty("text_splitter") Optional textSplitter) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + Utils.checkNotNull(chunkSize, "chunkSize"); + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + Utils.checkNotNull(metadataFields, "metadataFields"); + Utils.checkNotNull(textFields, "textFields"); + Utils.checkNotNull(textSplitter, "textSplitter"); + this.chunkOverlap = chunkOverlap; + this.chunkSize = chunkSize; + this.fieldNameMappings = fieldNameMappings; + this.metadataFields = metadataFields; + this.textFields = textFields; + this.textSplitter = textSplitter; + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public Optional chunkOverlap() { + return chunkOverlap; + } + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + public long chunkSize() { + return chunkSize; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public Optional> fieldNameMappings() { + return fieldNameMappings; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public Optional> metadataFields() { + return metadataFields; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Optional> textFields() { + return textFields; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public Optional textSplitter() { + return textSplitter; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public DestinationPineconeProcessingConfigModel withChunkOverlap(long chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = Optional.ofNullable(chunkOverlap); + return this; + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public DestinationPineconeProcessingConfigModel withChunkOverlap(Optional chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = chunkOverlap; + return this; + } + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + public DestinationPineconeProcessingConfigModel withChunkSize(long chunkSize) { + Utils.checkNotNull(chunkSize, "chunkSize"); + this.chunkSize = chunkSize; + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public DestinationPineconeProcessingConfigModel withFieldNameMappings(java.util.List fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = Optional.ofNullable(fieldNameMappings); + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public DestinationPineconeProcessingConfigModel withFieldNameMappings(Optional> fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = fieldNameMappings; + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public DestinationPineconeProcessingConfigModel withMetadataFields(java.util.List metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = Optional.ofNullable(metadataFields); + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public DestinationPineconeProcessingConfigModel withMetadataFields(Optional> metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = metadataFields; + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public DestinationPineconeProcessingConfigModel withTextFields(java.util.List textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = Optional.ofNullable(textFields); + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public DestinationPineconeProcessingConfigModel withTextFields(Optional> textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = textFields; + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public DestinationPineconeProcessingConfigModel withTextSplitter(DestinationPineconeTextSplitter textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = Optional.ofNullable(textSplitter); + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public DestinationPineconeProcessingConfigModel withTextSplitter(Optional textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = textSplitter; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPineconeProcessingConfigModel other = (DestinationPineconeProcessingConfigModel) o; + return + java.util.Objects.deepEquals(this.chunkOverlap, other.chunkOverlap) && + java.util.Objects.deepEquals(this.chunkSize, other.chunkSize) && + java.util.Objects.deepEquals(this.fieldNameMappings, other.fieldNameMappings) && + java.util.Objects.deepEquals(this.metadataFields, other.metadataFields) && + java.util.Objects.deepEquals(this.textFields, other.textFields) && + java.util.Objects.deepEquals(this.textSplitter, other.textSplitter); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + chunkOverlap, + chunkSize, + fieldNameMappings, + metadataFields, + textFields, + textSplitter); + } + + @Override + public String toString() { + return Utils.toString(DestinationPineconeProcessingConfigModel.class, + "chunkOverlap", chunkOverlap, + "chunkSize", chunkSize, + "fieldNameMappings", fieldNameMappings, + "metadataFields", metadataFields, + "textFields", textFields, + "textSplitter", textSplitter); + } + + public final static class Builder { + + private Optional chunkOverlap; + + private Long chunkSize; + + private Optional> fieldNameMappings = Optional.empty(); + + private Optional> metadataFields = Optional.empty(); + + private Optional> textFields = Optional.empty(); + + private Optional textSplitter = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public Builder chunkOverlap(long chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = Optional.ofNullable(chunkOverlap); + return this; + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public Builder chunkOverlap(Optional chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = chunkOverlap; + return this; + } + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + public Builder chunkSize(long chunkSize) { + Utils.checkNotNull(chunkSize, "chunkSize"); + this.chunkSize = chunkSize; + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public Builder fieldNameMappings(java.util.List fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = Optional.ofNullable(fieldNameMappings); + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public Builder fieldNameMappings(Optional> fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = fieldNameMappings; + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public Builder metadataFields(java.util.List metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = Optional.ofNullable(metadataFields); + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public Builder metadataFields(Optional> metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = metadataFields; + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Builder textFields(java.util.List textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = Optional.ofNullable(textFields); + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Builder textFields(Optional> textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = textFields; + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public Builder textSplitter(DestinationPineconeTextSplitter textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = Optional.ofNullable(textSplitter); + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public Builder textSplitter(Optional textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = textSplitter; + return this; + } + + public DestinationPineconeProcessingConfigModel build() { + if (chunkOverlap == null) { + chunkOverlap = _SINGLETON_VALUE_ChunkOverlap.value(); + } + return new DestinationPineconeProcessingConfigModel( + chunkOverlap, + chunkSize, + fieldNameMappings, + metadataFields, + textFields, + textSplitter); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ChunkOverlap = + new LazySingletonValue<>( + "chunk_overlap", + "0", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasEmbeddingEmbedding5Mode.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasEmbeddingEmbedding5Mode.java new file mode 100644 index 000000000..4a1ad0686 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasEmbeddingEmbedding5Mode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationPineconeSchemasEmbeddingEmbedding5Mode { + OPENAI_COMPATIBLE("openai_compatible"); + + @JsonValue + private final String value; + + private DestinationPineconeSchemasEmbeddingEmbedding5Mode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasEmbeddingEmbeddingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasEmbeddingEmbeddingMode.java new file mode 100644 index 000000000..c7899e093 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasEmbeddingEmbeddingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationPineconeSchemasEmbeddingEmbeddingMode { + AZURE_OPENAI("azure_openai"); + + @JsonValue + private final String value; + + private DestinationPineconeSchemasEmbeddingEmbeddingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasEmbeddingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasEmbeddingMode.java new file mode 100644 index 000000000..33953c797 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasEmbeddingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationPineconeSchemasEmbeddingMode { + FAKE("fake"); + + @JsonValue + private final String value; + + private DestinationPineconeSchemasEmbeddingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasMode.java new file mode 100644 index 000000000..383e9d371 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationPineconeSchemasMode { + COHERE("cohere"); + + @JsonValue + private final String value; + + private DestinationPineconeSchemasMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasProcessingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasProcessingMode.java new file mode 100644 index 000000000..a44321eb5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasProcessingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationPineconeSchemasProcessingMode { + SEPARATOR("separator"); + + @JsonValue + private final String value; + + private DestinationPineconeSchemasProcessingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasProcessingTextSplitterMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasProcessingTextSplitterMode.java new file mode 100644 index 000000000..cc3327b74 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasProcessingTextSplitterMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationPineconeSchemasProcessingTextSplitterMode { + MARKDOWN("markdown"); + + @JsonValue + private final String value; + + private DestinationPineconeSchemasProcessingTextSplitterMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasProcessingTextSplitterTextSplitterMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasProcessingTextSplitterTextSplitterMode.java new file mode 100644 index 000000000..a6464c2ac --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeSchemasProcessingTextSplitterTextSplitterMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationPineconeSchemasProcessingTextSplitterTextSplitterMode { + CODE("code"); + + @JsonValue + private final String value; + + private DestinationPineconeSchemasProcessingTextSplitterTextSplitterMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPineconeTextSplitter.java b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeTextSplitter.java new file mode 100644 index 000000000..58b36ea0a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPineconeTextSplitter.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationPineconeTextSplitter - Split text fields into chunks based on the specified method. + */ + +@JsonDeserialize(using = DestinationPineconeTextSplitter._Deserializer.class) +public class DestinationPineconeTextSplitter { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationPineconeTextSplitter(TypedObject value) { + this.value = value; + } + + public static DestinationPineconeTextSplitter of(DestinationPineconeBySeparator value) { + Utils.checkNotNull(value, "value"); + return new DestinationPineconeTextSplitter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationPineconeTextSplitter of(DestinationPineconeByMarkdownHeader value) { + Utils.checkNotNull(value, "value"); + return new DestinationPineconeTextSplitter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationPineconeTextSplitter of(DestinationPineconeByProgrammingLanguage value) { + Utils.checkNotNull(value, "value"); + return new DestinationPineconeTextSplitter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationPineconeBySeparator}
    • + *
    • {@code DestinationPineconeByMarkdownHeader}
    • + *
    • {@code DestinationPineconeByProgrammingLanguage}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPineconeTextSplitter other = (DestinationPineconeTextSplitter) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationPineconeTextSplitter.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationPineconeTextSplitter.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPostgres.java b/src/main/java/com/airbyte/api/models/shared/DestinationPostgres.java new file mode 100644 index 000000000..04d69888d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPostgres.java @@ -0,0 +1,741 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationPostgres { + + /** + * Name of the database. + */ + @JsonProperty("database") + private String database; + + @JsonProperty("destinationType") + private Postgres destinationType; + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("disable_type_dedupe") + private Optional disableTypeDedupe; + + /** + * Hostname of the database. + */ + @JsonProperty("host") + private String host; + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("jdbc_url_params") + private Optional jdbcUrlParams; + + /** + * Password associated with the username. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("password") + private Optional password; + + /** + * Port of the database. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + /** + * The schema to write raw tables into + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("raw_data_schema") + private Optional rawDataSchema; + + /** + * The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schema") + private Optional schema; + + /** + * SSL connection modes. + * <b>disable</b> - Chose this mode to disable encryption of communication between Airbyte and destination database + * <b>allow</b> - Chose this mode to enable encryption only when required by the source database + * <b>prefer</b> - Chose this mode to allow unencrypted connection only if the source database does not support encryption + * <b>require</b> - Chose this mode to always require encryption. If the source database server does not support encryption, connection will fail + * <b>verify-ca</b> - Chose this mode to always require encryption and to verify that the source database server has a valid SSL certificate + * <b>verify-full</b> - This is the most secure mode. Chose this mode to always require encryption and to verify the identity of the source database server + * See more information - <a href="https://jdbc.postgresql.org/documentation/head/ssl-client.html"> in the docs</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ssl_mode") + private Optional sslMode; + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_method") + private Optional tunnelMethod; + + /** + * Username to use to access the database. + */ + @JsonProperty("username") + private String username; + + public DestinationPostgres( + @JsonProperty("database") String database, + @JsonProperty("disable_type_dedupe") Optional disableTypeDedupe, + @JsonProperty("host") String host, + @JsonProperty("jdbc_url_params") Optional jdbcUrlParams, + @JsonProperty("password") Optional password, + @JsonProperty("port") Optional port, + @JsonProperty("raw_data_schema") Optional rawDataSchema, + @JsonProperty("schema") Optional schema, + @JsonProperty("ssl_mode") Optional sslMode, + @JsonProperty("tunnel_method") Optional tunnelMethod, + @JsonProperty("username") String username) { + Utils.checkNotNull(database, "database"); + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + Utils.checkNotNull(schema, "schema"); + Utils.checkNotNull(sslMode, "sslMode"); + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + Utils.checkNotNull(username, "username"); + this.database = database; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.disableTypeDedupe = disableTypeDedupe; + this.host = host; + this.jdbcUrlParams = jdbcUrlParams; + this.password = password; + this.port = port; + this.rawDataSchema = rawDataSchema; + this.schema = schema; + this.sslMode = sslMode; + this.tunnelMethod = tunnelMethod; + this.username = username; + } + + /** + * Name of the database. + */ + public String database() { + return database; + } + + public Postgres destinationType() { + return destinationType; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public Optional disableTypeDedupe() { + return disableTypeDedupe; + } + + /** + * Hostname of the database. + */ + public String host() { + return host; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Optional jdbcUrlParams() { + return jdbcUrlParams; + } + + /** + * Password associated with the username. + */ + public Optional password() { + return password; + } + + /** + * Port of the database. + */ + public Optional port() { + return port; + } + + /** + * The schema to write raw tables into + */ + public Optional rawDataSchema() { + return rawDataSchema; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". + */ + public Optional schema() { + return schema; + } + + /** + * SSL connection modes. + * <b>disable</b> - Chose this mode to disable encryption of communication between Airbyte and destination database + * <b>allow</b> - Chose this mode to enable encryption only when required by the source database + * <b>prefer</b> - Chose this mode to allow unencrypted connection only if the source database does not support encryption + * <b>require</b> - Chose this mode to always require encryption. If the source database server does not support encryption, connection will fail + * <b>verify-ca</b> - Chose this mode to always require encryption and to verify that the source database server has a valid SSL certificate + * <b>verify-full</b> - This is the most secure mode. Chose this mode to always require encryption and to verify the identity of the source database server + * See more information - <a href="https://jdbc.postgresql.org/documentation/head/ssl-client.html"> in the docs</a>. + */ + public Optional sslMode() { + return sslMode; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Optional tunnelMethod() { + return tunnelMethod; + } + + /** + * Username to use to access the database. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Name of the database. + */ + public DestinationPostgres withDatabase(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public DestinationPostgres withDisableTypeDedupe(boolean disableTypeDedupe) { + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + this.disableTypeDedupe = Optional.ofNullable(disableTypeDedupe); + return this; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public DestinationPostgres withDisableTypeDedupe(Optional disableTypeDedupe) { + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + this.disableTypeDedupe = disableTypeDedupe; + return this; + } + + /** + * Hostname of the database. + */ + public DestinationPostgres withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public DestinationPostgres withJdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public DestinationPostgres withJdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * Password associated with the username. + */ + public DestinationPostgres withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * Password associated with the username. + */ + public DestinationPostgres withPassword(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Port of the database. + */ + public DestinationPostgres withPort(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Port of the database. + */ + public DestinationPostgres withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * The schema to write raw tables into + */ + public DestinationPostgres withRawDataSchema(String rawDataSchema) { + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + this.rawDataSchema = Optional.ofNullable(rawDataSchema); + return this; + } + + /** + * The schema to write raw tables into + */ + public DestinationPostgres withRawDataSchema(Optional rawDataSchema) { + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + this.rawDataSchema = rawDataSchema; + return this; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". + */ + public DestinationPostgres withSchema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = Optional.ofNullable(schema); + return this; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". + */ + public DestinationPostgres withSchema(Optional schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + /** + * SSL connection modes. + * <b>disable</b> - Chose this mode to disable encryption of communication between Airbyte and destination database + * <b>allow</b> - Chose this mode to enable encryption only when required by the source database + * <b>prefer</b> - Chose this mode to allow unencrypted connection only if the source database does not support encryption + * <b>require</b> - Chose this mode to always require encryption. If the source database server does not support encryption, connection will fail + * <b>verify-ca</b> - Chose this mode to always require encryption and to verify that the source database server has a valid SSL certificate + * <b>verify-full</b> - This is the most secure mode. Chose this mode to always require encryption and to verify the identity of the source database server + * See more information - <a href="https://jdbc.postgresql.org/documentation/head/ssl-client.html"> in the docs</a>. + */ + public DestinationPostgres withSslMode(SSLModes sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = Optional.ofNullable(sslMode); + return this; + } + + /** + * SSL connection modes. + * <b>disable</b> - Chose this mode to disable encryption of communication between Airbyte and destination database + * <b>allow</b> - Chose this mode to enable encryption only when required by the source database + * <b>prefer</b> - Chose this mode to allow unencrypted connection only if the source database does not support encryption + * <b>require</b> - Chose this mode to always require encryption. If the source database server does not support encryption, connection will fail + * <b>verify-ca</b> - Chose this mode to always require encryption and to verify that the source database server has a valid SSL certificate + * <b>verify-full</b> - This is the most secure mode. Chose this mode to always require encryption and to verify the identity of the source database server + * See more information - <a href="https://jdbc.postgresql.org/documentation/head/ssl-client.html"> in the docs</a>. + */ + public DestinationPostgres withSslMode(Optional sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = sslMode; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public DestinationPostgres withTunnelMethod(DestinationPostgresSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public DestinationPostgres withTunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * Username to use to access the database. + */ + public DestinationPostgres withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPostgres other = (DestinationPostgres) o; + return + java.util.Objects.deepEquals(this.database, other.database) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.disableTypeDedupe, other.disableTypeDedupe) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.jdbcUrlParams, other.jdbcUrlParams) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.rawDataSchema, other.rawDataSchema) && + java.util.Objects.deepEquals(this.schema, other.schema) && + java.util.Objects.deepEquals(this.sslMode, other.sslMode) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + database, + destinationType, + disableTypeDedupe, + host, + jdbcUrlParams, + password, + port, + rawDataSchema, + schema, + sslMode, + tunnelMethod, + username); + } + + @Override + public String toString() { + return Utils.toString(DestinationPostgres.class, + "database", database, + "destinationType", destinationType, + "disableTypeDedupe", disableTypeDedupe, + "host", host, + "jdbcUrlParams", jdbcUrlParams, + "password", password, + "port", port, + "rawDataSchema", rawDataSchema, + "schema", schema, + "sslMode", sslMode, + "tunnelMethod", tunnelMethod, + "username", username); + } + + public final static class Builder { + + private String database; + + private Optional disableTypeDedupe; + + private String host; + + private Optional jdbcUrlParams = Optional.empty(); + + private Optional password = Optional.empty(); + + private Optional port; + + private Optional rawDataSchema = Optional.empty(); + + private Optional schema; + + private Optional sslMode = Optional.empty(); + + private Optional tunnelMethod = Optional.empty(); + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Name of the database. + */ + public Builder database(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public Builder disableTypeDedupe(boolean disableTypeDedupe) { + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + this.disableTypeDedupe = Optional.ofNullable(disableTypeDedupe); + return this; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public Builder disableTypeDedupe(Optional disableTypeDedupe) { + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + this.disableTypeDedupe = disableTypeDedupe; + return this; + } + + /** + * Hostname of the database. + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * Password associated with the username. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * Password associated with the username. + */ + public Builder password(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Port of the database. + */ + public Builder port(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Port of the database. + */ + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * The schema to write raw tables into + */ + public Builder rawDataSchema(String rawDataSchema) { + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + this.rawDataSchema = Optional.ofNullable(rawDataSchema); + return this; + } + + /** + * The schema to write raw tables into + */ + public Builder rawDataSchema(Optional rawDataSchema) { + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + this.rawDataSchema = rawDataSchema; + return this; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". + */ + public Builder schema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = Optional.ofNullable(schema); + return this; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". + */ + public Builder schema(Optional schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + /** + * SSL connection modes. + * <b>disable</b> - Chose this mode to disable encryption of communication between Airbyte and destination database + * <b>allow</b> - Chose this mode to enable encryption only when required by the source database + * <b>prefer</b> - Chose this mode to allow unencrypted connection only if the source database does not support encryption + * <b>require</b> - Chose this mode to always require encryption. If the source database server does not support encryption, connection will fail + * <b>verify-ca</b> - Chose this mode to always require encryption and to verify that the source database server has a valid SSL certificate + * <b>verify-full</b> - This is the most secure mode. Chose this mode to always require encryption and to verify the identity of the source database server + * See more information - <a href="https://jdbc.postgresql.org/documentation/head/ssl-client.html"> in the docs</a>. + */ + public Builder sslMode(SSLModes sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = Optional.ofNullable(sslMode); + return this; + } + + /** + * SSL connection modes. + * <b>disable</b> - Chose this mode to disable encryption of communication between Airbyte and destination database + * <b>allow</b> - Chose this mode to enable encryption only when required by the source database + * <b>prefer</b> - Chose this mode to allow unencrypted connection only if the source database does not support encryption + * <b>require</b> - Chose this mode to always require encryption. If the source database server does not support encryption, connection will fail + * <b>verify-ca</b> - Chose this mode to always require encryption and to verify that the source database server has a valid SSL certificate + * <b>verify-full</b> - This is the most secure mode. Chose this mode to always require encryption and to verify the identity of the source database server + * See more information - <a href="https://jdbc.postgresql.org/documentation/head/ssl-client.html"> in the docs</a>. + */ + public Builder sslMode(Optional sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = sslMode; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(DestinationPostgresSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * Username to use to access the database. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public DestinationPostgres build() { + if (disableTypeDedupe == null) { + disableTypeDedupe = _SINGLETON_VALUE_DisableTypeDedupe.value(); + } + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + if (schema == null) { + schema = _SINGLETON_VALUE_Schema.value(); + } + return new DestinationPostgres( + database, + disableTypeDedupe, + host, + jdbcUrlParams, + password, + port, + rawDataSchema, + schema, + sslMode, + tunnelMethod, + username); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"postgres\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DisableTypeDedupe = + new LazySingletonValue<>( + "disable_type_dedupe", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "5432", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Schema = + new LazySingletonValue<>( + "schema", + "\"public\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPostgresMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresMode.java new file mode 100644 index 000000000..f8366044b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationPostgresMode { + ALLOW("allow"); + + @JsonValue + private final String value; + + private DestinationPostgresMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPostgresNoTunnel.java b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresNoTunnel.java new file mode 100644 index 000000000..a41c1b007 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresNoTunnel.java @@ -0,0 +1,85 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DestinationPostgresNoTunnel { + + /** + * No ssh tunnel needed to connect to database + */ + @JsonProperty("tunnel_method") + private DestinationPostgresTunnelMethod tunnelMethod; + + public DestinationPostgresNoTunnel() { + + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + } + + /** + * No ssh tunnel needed to connect to database + */ + public DestinationPostgresTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPostgresNoTunnel other = (DestinationPostgresNoTunnel) o; + return + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelMethod); + } + + @Override + public String toString() { + return Utils.toString(DestinationPostgresNoTunnel.class, + "tunnelMethod", tunnelMethod); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationPostgresNoTunnel build() { + return new DestinationPostgresNoTunnel( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"NO_TUNNEL\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPostgresPasswordAuthentication.java b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresPasswordAuthentication.java new file mode 100644 index 000000000..16e2c95f2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresPasswordAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationPostgresPasswordAuthentication { + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + @JsonProperty("tunnel_method") + private DestinationPostgresSchemasTunnelMethodTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + /** + * OS-level password for logging into the jump server host + */ + @JsonProperty("tunnel_user_password") + private String tunnelUserPassword; + + public DestinationPostgresPasswordAuthentication( + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser, + @JsonProperty("tunnel_user_password") String tunnelUserPassword) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + this.tunnelUserPassword = tunnelUserPassword; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + public DestinationPostgresSchemasTunnelMethodTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host + */ + public String tunnelUser() { + return tunnelUser; + } + + /** + * OS-level password for logging into the jump server host + */ + public String tunnelUserPassword() { + return tunnelUserPassword; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public DestinationPostgresPasswordAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationPostgresPasswordAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationPostgresPasswordAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public DestinationPostgresPasswordAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public DestinationPostgresPasswordAuthentication withTunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPostgresPasswordAuthentication other = (DestinationPostgresPasswordAuthentication) o; + return + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser) && + java.util.Objects.deepEquals(this.tunnelUserPassword, other.tunnelUserPassword); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + @Override + public String toString() { + return Utils.toString(DestinationPostgresPasswordAuthentication.class, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser, + "tunnelUserPassword", tunnelUserPassword); + } + + public final static class Builder { + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private String tunnelUserPassword; + + private Builder() { + // force use of static builder() method + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public Builder tunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + public DestinationPostgresPasswordAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new DestinationPostgresPasswordAuthentication( + tunnelHost, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_PASSWORD_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSSHKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSSHKeyAuthentication.java new file mode 100644 index 000000000..f818b2470 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSSHKeyAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationPostgresSSHKeyAuthentication { + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + @JsonProperty("ssh_key") + private String sshKey; + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + @JsonProperty("tunnel_method") + private DestinationPostgresSchemasTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host. + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + public DestinationPostgresSSHKeyAuthentication( + @JsonProperty("ssh_key") String sshKey, + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser) { + Utils.checkNotNull(sshKey, "sshKey"); + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.sshKey = sshKey; + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public String sshKey() { + return sshKey; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + public DestinationPostgresSchemasTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host. + */ + public String tunnelUser() { + return tunnelUser; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public DestinationPostgresSSHKeyAuthentication withSshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public DestinationPostgresSSHKeyAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationPostgresSSHKeyAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationPostgresSSHKeyAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public DestinationPostgresSSHKeyAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPostgresSSHKeyAuthentication other = (DestinationPostgresSSHKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.sshKey, other.sshKey) && + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sshKey, + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser); + } + + @Override + public String toString() { + return Utils.toString(DestinationPostgresSSHKeyAuthentication.class, + "sshKey", sshKey, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser); + } + + public final static class Builder { + + private String sshKey; + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private Builder() { + // force use of static builder() method + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public Builder sshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + public DestinationPostgresSSHKeyAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new DestinationPostgresSSHKeyAuthentication( + sshKey, + tunnelHost, + tunnelPort, + tunnelUser); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_KEY_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSSHTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSSHTunnelMethod.java new file mode 100644 index 000000000..eae9face0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSSHTunnelMethod.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationPostgresSSHTunnelMethod - Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + +@JsonDeserialize(using = DestinationPostgresSSHTunnelMethod._Deserializer.class) +public class DestinationPostgresSSHTunnelMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationPostgresSSHTunnelMethod(TypedObject value) { + this.value = value; + } + + public static DestinationPostgresSSHTunnelMethod of(DestinationPostgresNoTunnel value) { + Utils.checkNotNull(value, "value"); + return new DestinationPostgresSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationPostgresSSHTunnelMethod of(DestinationPostgresSSHKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new DestinationPostgresSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationPostgresSSHTunnelMethod of(DestinationPostgresPasswordAuthentication value) { + Utils.checkNotNull(value, "value"); + return new DestinationPostgresSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationPostgresNoTunnel}
    • + *
    • {@code DestinationPostgresSSHKeyAuthentication}
    • + *
    • {@code DestinationPostgresPasswordAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPostgresSSHTunnelMethod other = (DestinationPostgresSSHTunnelMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationPostgresSSHTunnelMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationPostgresSSHTunnelMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasMode.java new file mode 100644 index 000000000..acfc473b3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationPostgresSchemasMode { + PREFER("prefer"); + + @JsonValue + private final String value; + + private DestinationPostgresSchemasMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasSSLModeSSLModes6Mode.java b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasSSLModeSSLModes6Mode.java new file mode 100644 index 000000000..e1e9566da --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasSSLModeSSLModes6Mode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationPostgresSchemasSSLModeSSLModes6Mode { + VERIFY_FULL("verify-full"); + + @JsonValue + private final String value; + + private DestinationPostgresSchemasSSLModeSSLModes6Mode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasSSLModeSSLModesMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasSSLModeSSLModesMode.java new file mode 100644 index 000000000..ae3c45fb3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasSSLModeSSLModesMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationPostgresSchemasSSLModeSSLModesMode { + VERIFY_CA("verify-ca"); + + @JsonValue + private final String value; + + private DestinationPostgresSchemasSSLModeSSLModesMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasSslModeMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasSslModeMode.java new file mode 100644 index 000000000..8ede18e35 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasSslModeMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationPostgresSchemasSslModeMode { + REQUIRE("require"); + + @JsonValue + private final String value; + + private DestinationPostgresSchemasSslModeMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasTunnelMethod.java new file mode 100644 index 000000000..0f65b2234 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationPostgresSchemasTunnelMethod - Connect through a jump server tunnel host using username and ssh key + */ +public enum DestinationPostgresSchemasTunnelMethod { + SSH_KEY_AUTH("SSH_KEY_AUTH"); + + @JsonValue + private final String value; + + private DestinationPostgresSchemasTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasTunnelMethodTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasTunnelMethodTunnelMethod.java new file mode 100644 index 000000000..9ef0d7851 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresSchemasTunnelMethodTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationPostgresSchemasTunnelMethodTunnelMethod - Connect through a jump server tunnel host using username and password authentication + */ +public enum DestinationPostgresSchemasTunnelMethodTunnelMethod { + SSH_PASSWORD_AUTH("SSH_PASSWORD_AUTH"); + + @JsonValue + private final String value; + + private DestinationPostgresSchemasTunnelMethodTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPostgresTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresTunnelMethod.java new file mode 100644 index 000000000..3b2d2685d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPostgresTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationPostgresTunnelMethod - No ssh tunnel needed to connect to database + */ +public enum DestinationPostgresTunnelMethod { + NO_TUNNEL("NO_TUNNEL"); + + @JsonValue + private final String value; + + private DestinationPostgresTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPubsub.java b/src/main/java/com/airbyte/api/models/shared/DestinationPubsub.java new file mode 100644 index 000000000..0c4f4d214 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPubsub.java @@ -0,0 +1,540 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationPubsub { + + /** + * Number of ms before the buffer is flushed + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("batching_delay_threshold") + private Optional batchingDelayThreshold; + + /** + * Number of messages before the buffer is flushed + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("batching_element_count_threshold") + private Optional batchingElementCountThreshold; + + /** + * If TRUE messages will be buffered instead of sending them one by one + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("batching_enabled") + private Optional batchingEnabled; + + /** + * Number of bytes before the buffer is flushed + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("batching_request_bytes_threshold") + private Optional batchingRequestBytesThreshold; + + /** + * The contents of the JSON service account key. Check out the <a href="https://docs.airbyte.com/integrations/destinations/pubsub">docs</a> if you need help generating this key. + */ + @JsonProperty("credentials_json") + private String credentialsJson; + + @JsonProperty("destinationType") + private Pubsub destinationType; + + /** + * If TRUE PubSub publisher will have <a href="https://cloud.google.com/pubsub/docs/ordering">message ordering</a> enabled. Every message will have an ordering key of stream + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ordering_enabled") + private Optional orderingEnabled; + + /** + * The GCP project ID for the project containing the target PubSub. + */ + @JsonProperty("project_id") + private String projectId; + + /** + * The PubSub topic ID in the given GCP project ID. + */ + @JsonProperty("topic_id") + private String topicId; + + public DestinationPubsub( + @JsonProperty("batching_delay_threshold") Optional batchingDelayThreshold, + @JsonProperty("batching_element_count_threshold") Optional batchingElementCountThreshold, + @JsonProperty("batching_enabled") Optional batchingEnabled, + @JsonProperty("batching_request_bytes_threshold") Optional batchingRequestBytesThreshold, + @JsonProperty("credentials_json") String credentialsJson, + @JsonProperty("ordering_enabled") Optional orderingEnabled, + @JsonProperty("project_id") String projectId, + @JsonProperty("topic_id") String topicId) { + Utils.checkNotNull(batchingDelayThreshold, "batchingDelayThreshold"); + Utils.checkNotNull(batchingElementCountThreshold, "batchingElementCountThreshold"); + Utils.checkNotNull(batchingEnabled, "batchingEnabled"); + Utils.checkNotNull(batchingRequestBytesThreshold, "batchingRequestBytesThreshold"); + Utils.checkNotNull(credentialsJson, "credentialsJson"); + Utils.checkNotNull(orderingEnabled, "orderingEnabled"); + Utils.checkNotNull(projectId, "projectId"); + Utils.checkNotNull(topicId, "topicId"); + this.batchingDelayThreshold = batchingDelayThreshold; + this.batchingElementCountThreshold = batchingElementCountThreshold; + this.batchingEnabled = batchingEnabled; + this.batchingRequestBytesThreshold = batchingRequestBytesThreshold; + this.credentialsJson = credentialsJson; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.orderingEnabled = orderingEnabled; + this.projectId = projectId; + this.topicId = topicId; + } + + /** + * Number of ms before the buffer is flushed + */ + public Optional batchingDelayThreshold() { + return batchingDelayThreshold; + } + + /** + * Number of messages before the buffer is flushed + */ + public Optional batchingElementCountThreshold() { + return batchingElementCountThreshold; + } + + /** + * If TRUE messages will be buffered instead of sending them one by one + */ + public Optional batchingEnabled() { + return batchingEnabled; + } + + /** + * Number of bytes before the buffer is flushed + */ + public Optional batchingRequestBytesThreshold() { + return batchingRequestBytesThreshold; + } + + /** + * The contents of the JSON service account key. Check out the <a href="https://docs.airbyte.com/integrations/destinations/pubsub">docs</a> if you need help generating this key. + */ + public String credentialsJson() { + return credentialsJson; + } + + public Pubsub destinationType() { + return destinationType; + } + + /** + * If TRUE PubSub publisher will have <a href="https://cloud.google.com/pubsub/docs/ordering">message ordering</a> enabled. Every message will have an ordering key of stream + */ + public Optional orderingEnabled() { + return orderingEnabled; + } + + /** + * The GCP project ID for the project containing the target PubSub. + */ + public String projectId() { + return projectId; + } + + /** + * The PubSub topic ID in the given GCP project ID. + */ + public String topicId() { + return topicId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Number of ms before the buffer is flushed + */ + public DestinationPubsub withBatchingDelayThreshold(long batchingDelayThreshold) { + Utils.checkNotNull(batchingDelayThreshold, "batchingDelayThreshold"); + this.batchingDelayThreshold = Optional.ofNullable(batchingDelayThreshold); + return this; + } + + /** + * Number of ms before the buffer is flushed + */ + public DestinationPubsub withBatchingDelayThreshold(Optional batchingDelayThreshold) { + Utils.checkNotNull(batchingDelayThreshold, "batchingDelayThreshold"); + this.batchingDelayThreshold = batchingDelayThreshold; + return this; + } + + /** + * Number of messages before the buffer is flushed + */ + public DestinationPubsub withBatchingElementCountThreshold(long batchingElementCountThreshold) { + Utils.checkNotNull(batchingElementCountThreshold, "batchingElementCountThreshold"); + this.batchingElementCountThreshold = Optional.ofNullable(batchingElementCountThreshold); + return this; + } + + /** + * Number of messages before the buffer is flushed + */ + public DestinationPubsub withBatchingElementCountThreshold(Optional batchingElementCountThreshold) { + Utils.checkNotNull(batchingElementCountThreshold, "batchingElementCountThreshold"); + this.batchingElementCountThreshold = batchingElementCountThreshold; + return this; + } + + /** + * If TRUE messages will be buffered instead of sending them one by one + */ + public DestinationPubsub withBatchingEnabled(boolean batchingEnabled) { + Utils.checkNotNull(batchingEnabled, "batchingEnabled"); + this.batchingEnabled = Optional.ofNullable(batchingEnabled); + return this; + } + + /** + * If TRUE messages will be buffered instead of sending them one by one + */ + public DestinationPubsub withBatchingEnabled(Optional batchingEnabled) { + Utils.checkNotNull(batchingEnabled, "batchingEnabled"); + this.batchingEnabled = batchingEnabled; + return this; + } + + /** + * Number of bytes before the buffer is flushed + */ + public DestinationPubsub withBatchingRequestBytesThreshold(long batchingRequestBytesThreshold) { + Utils.checkNotNull(batchingRequestBytesThreshold, "batchingRequestBytesThreshold"); + this.batchingRequestBytesThreshold = Optional.ofNullable(batchingRequestBytesThreshold); + return this; + } + + /** + * Number of bytes before the buffer is flushed + */ + public DestinationPubsub withBatchingRequestBytesThreshold(Optional batchingRequestBytesThreshold) { + Utils.checkNotNull(batchingRequestBytesThreshold, "batchingRequestBytesThreshold"); + this.batchingRequestBytesThreshold = batchingRequestBytesThreshold; + return this; + } + + /** + * The contents of the JSON service account key. Check out the <a href="https://docs.airbyte.com/integrations/destinations/pubsub">docs</a> if you need help generating this key. + */ + public DestinationPubsub withCredentialsJson(String credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.credentialsJson = credentialsJson; + return this; + } + + /** + * If TRUE PubSub publisher will have <a href="https://cloud.google.com/pubsub/docs/ordering">message ordering</a> enabled. Every message will have an ordering key of stream + */ + public DestinationPubsub withOrderingEnabled(boolean orderingEnabled) { + Utils.checkNotNull(orderingEnabled, "orderingEnabled"); + this.orderingEnabled = Optional.ofNullable(orderingEnabled); + return this; + } + + /** + * If TRUE PubSub publisher will have <a href="https://cloud.google.com/pubsub/docs/ordering">message ordering</a> enabled. Every message will have an ordering key of stream + */ + public DestinationPubsub withOrderingEnabled(Optional orderingEnabled) { + Utils.checkNotNull(orderingEnabled, "orderingEnabled"); + this.orderingEnabled = orderingEnabled; + return this; + } + + /** + * The GCP project ID for the project containing the target PubSub. + */ + public DestinationPubsub withProjectId(String projectId) { + Utils.checkNotNull(projectId, "projectId"); + this.projectId = projectId; + return this; + } + + /** + * The PubSub topic ID in the given GCP project ID. + */ + public DestinationPubsub withTopicId(String topicId) { + Utils.checkNotNull(topicId, "topicId"); + this.topicId = topicId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPubsub other = (DestinationPubsub) o; + return + java.util.Objects.deepEquals(this.batchingDelayThreshold, other.batchingDelayThreshold) && + java.util.Objects.deepEquals(this.batchingElementCountThreshold, other.batchingElementCountThreshold) && + java.util.Objects.deepEquals(this.batchingEnabled, other.batchingEnabled) && + java.util.Objects.deepEquals(this.batchingRequestBytesThreshold, other.batchingRequestBytesThreshold) && + java.util.Objects.deepEquals(this.credentialsJson, other.credentialsJson) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.orderingEnabled, other.orderingEnabled) && + java.util.Objects.deepEquals(this.projectId, other.projectId) && + java.util.Objects.deepEquals(this.topicId, other.topicId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + batchingDelayThreshold, + batchingElementCountThreshold, + batchingEnabled, + batchingRequestBytesThreshold, + credentialsJson, + destinationType, + orderingEnabled, + projectId, + topicId); + } + + @Override + public String toString() { + return Utils.toString(DestinationPubsub.class, + "batchingDelayThreshold", batchingDelayThreshold, + "batchingElementCountThreshold", batchingElementCountThreshold, + "batchingEnabled", batchingEnabled, + "batchingRequestBytesThreshold", batchingRequestBytesThreshold, + "credentialsJson", credentialsJson, + "destinationType", destinationType, + "orderingEnabled", orderingEnabled, + "projectId", projectId, + "topicId", topicId); + } + + public final static class Builder { + + private Optional batchingDelayThreshold; + + private Optional batchingElementCountThreshold; + + private Optional batchingEnabled; + + private Optional batchingRequestBytesThreshold; + + private String credentialsJson; + + private Optional orderingEnabled; + + private String projectId; + + private String topicId; + + private Builder() { + // force use of static builder() method + } + + /** + * Number of ms before the buffer is flushed + */ + public Builder batchingDelayThreshold(long batchingDelayThreshold) { + Utils.checkNotNull(batchingDelayThreshold, "batchingDelayThreshold"); + this.batchingDelayThreshold = Optional.ofNullable(batchingDelayThreshold); + return this; + } + + /** + * Number of ms before the buffer is flushed + */ + public Builder batchingDelayThreshold(Optional batchingDelayThreshold) { + Utils.checkNotNull(batchingDelayThreshold, "batchingDelayThreshold"); + this.batchingDelayThreshold = batchingDelayThreshold; + return this; + } + + /** + * Number of messages before the buffer is flushed + */ + public Builder batchingElementCountThreshold(long batchingElementCountThreshold) { + Utils.checkNotNull(batchingElementCountThreshold, "batchingElementCountThreshold"); + this.batchingElementCountThreshold = Optional.ofNullable(batchingElementCountThreshold); + return this; + } + + /** + * Number of messages before the buffer is flushed + */ + public Builder batchingElementCountThreshold(Optional batchingElementCountThreshold) { + Utils.checkNotNull(batchingElementCountThreshold, "batchingElementCountThreshold"); + this.batchingElementCountThreshold = batchingElementCountThreshold; + return this; + } + + /** + * If TRUE messages will be buffered instead of sending them one by one + */ + public Builder batchingEnabled(boolean batchingEnabled) { + Utils.checkNotNull(batchingEnabled, "batchingEnabled"); + this.batchingEnabled = Optional.ofNullable(batchingEnabled); + return this; + } + + /** + * If TRUE messages will be buffered instead of sending them one by one + */ + public Builder batchingEnabled(Optional batchingEnabled) { + Utils.checkNotNull(batchingEnabled, "batchingEnabled"); + this.batchingEnabled = batchingEnabled; + return this; + } + + /** + * Number of bytes before the buffer is flushed + */ + public Builder batchingRequestBytesThreshold(long batchingRequestBytesThreshold) { + Utils.checkNotNull(batchingRequestBytesThreshold, "batchingRequestBytesThreshold"); + this.batchingRequestBytesThreshold = Optional.ofNullable(batchingRequestBytesThreshold); + return this; + } + + /** + * Number of bytes before the buffer is flushed + */ + public Builder batchingRequestBytesThreshold(Optional batchingRequestBytesThreshold) { + Utils.checkNotNull(batchingRequestBytesThreshold, "batchingRequestBytesThreshold"); + this.batchingRequestBytesThreshold = batchingRequestBytesThreshold; + return this; + } + + /** + * The contents of the JSON service account key. Check out the <a href="https://docs.airbyte.com/integrations/destinations/pubsub">docs</a> if you need help generating this key. + */ + public Builder credentialsJson(String credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.credentialsJson = credentialsJson; + return this; + } + + /** + * If TRUE PubSub publisher will have <a href="https://cloud.google.com/pubsub/docs/ordering">message ordering</a> enabled. Every message will have an ordering key of stream + */ + public Builder orderingEnabled(boolean orderingEnabled) { + Utils.checkNotNull(orderingEnabled, "orderingEnabled"); + this.orderingEnabled = Optional.ofNullable(orderingEnabled); + return this; + } + + /** + * If TRUE PubSub publisher will have <a href="https://cloud.google.com/pubsub/docs/ordering">message ordering</a> enabled. Every message will have an ordering key of stream + */ + public Builder orderingEnabled(Optional orderingEnabled) { + Utils.checkNotNull(orderingEnabled, "orderingEnabled"); + this.orderingEnabled = orderingEnabled; + return this; + } + + /** + * The GCP project ID for the project containing the target PubSub. + */ + public Builder projectId(String projectId) { + Utils.checkNotNull(projectId, "projectId"); + this.projectId = projectId; + return this; + } + + /** + * The PubSub topic ID in the given GCP project ID. + */ + public Builder topicId(String topicId) { + Utils.checkNotNull(topicId, "topicId"); + this.topicId = topicId; + return this; + } + + public DestinationPubsub build() { + if (batchingDelayThreshold == null) { + batchingDelayThreshold = _SINGLETON_VALUE_BatchingDelayThreshold.value(); + } + if (batchingElementCountThreshold == null) { + batchingElementCountThreshold = _SINGLETON_VALUE_BatchingElementCountThreshold.value(); + } + if (batchingEnabled == null) { + batchingEnabled = _SINGLETON_VALUE_BatchingEnabled.value(); + } + if (batchingRequestBytesThreshold == null) { + batchingRequestBytesThreshold = _SINGLETON_VALUE_BatchingRequestBytesThreshold.value(); + } + if (orderingEnabled == null) { + orderingEnabled = _SINGLETON_VALUE_OrderingEnabled.value(); + } + return new DestinationPubsub( + batchingDelayThreshold, + batchingElementCountThreshold, + batchingEnabled, + batchingRequestBytesThreshold, + credentialsJson, + orderingEnabled, + projectId, + topicId); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_BatchingDelayThreshold = + new LazySingletonValue<>( + "batching_delay_threshold", + "1", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_BatchingElementCountThreshold = + new LazySingletonValue<>( + "batching_element_count_threshold", + "1", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_BatchingEnabled = + new LazySingletonValue<>( + "batching_enabled", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_BatchingRequestBytesThreshold = + new LazySingletonValue<>( + "batching_request_bytes_threshold", + "1", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"pubsub\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_OrderingEnabled = + new LazySingletonValue<>( + "ordering_enabled", + "false", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationPutRequest.java b/src/main/java/com/airbyte/api/models/shared/DestinationPutRequest.java new file mode 100644 index 000000000..e8046c9f5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationPutRequest.java @@ -0,0 +1,127 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DestinationPutRequest { + + /** + * The values required to configure the destination. + */ + @JsonProperty("configuration") + private DestinationConfiguration configuration; + + @JsonProperty("name") + private String name; + + public DestinationPutRequest( + @JsonProperty("configuration") DestinationConfiguration configuration, + @JsonProperty("name") String name) { + Utils.checkNotNull(configuration, "configuration"); + Utils.checkNotNull(name, "name"); + this.configuration = configuration; + this.name = name; + } + + /** + * The values required to configure the destination. + */ + public DestinationConfiguration configuration() { + return configuration; + } + + public String name() { + return name; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The values required to configure the destination. + */ + public DestinationPutRequest withConfiguration(DestinationConfiguration configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = configuration; + return this; + } + + public DestinationPutRequest withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationPutRequest other = (DestinationPutRequest) o; + return + java.util.Objects.deepEquals(this.configuration, other.configuration) && + java.util.Objects.deepEquals(this.name, other.name); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + configuration, + name); + } + + @Override + public String toString() { + return Utils.toString(DestinationPutRequest.class, + "configuration", configuration, + "name", name); + } + + public final static class Builder { + + private DestinationConfiguration configuration; + + private String name; + + private Builder() { + // force use of static builder() method + } + + /** + * The values required to configure the destination. + */ + public Builder configuration(DestinationConfiguration configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = configuration; + return this; + } + + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + public DestinationPutRequest build() { + return new DestinationPutRequest( + configuration, + name); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrant.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrant.java new file mode 100644 index 000000000..e95a66b10 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrant.java @@ -0,0 +1,268 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationQdrant - The configuration model for the Vector DB based destinations. This model is used to generate the UI for the destination configuration, + * as well as to provide type safety for the configuration passed to the destination. + * + * The configuration model is composed of four parts: + * * Processing configuration + * * Embedding configuration + * * Indexing configuration + * * Advanced configuration + * + * Processing, embedding and advanced configuration are provided by this base class, while the indexing configuration is provided by the destination connector in the sub class. + */ + +public class DestinationQdrant { + + @JsonProperty("destinationType") + private Qdrant destinationType; + + /** + * Embedding configuration + */ + @JsonProperty("embedding") + private DestinationQdrantEmbedding embedding; + + /** + * Indexing configuration + */ + @JsonProperty("indexing") + private DestinationQdrantIndexing indexing; + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("omit_raw_text") + private Optional omitRawText; + + @JsonProperty("processing") + private DestinationQdrantProcessingConfigModel processing; + + public DestinationQdrant( + @JsonProperty("embedding") DestinationQdrantEmbedding embedding, + @JsonProperty("indexing") DestinationQdrantIndexing indexing, + @JsonProperty("omit_raw_text") Optional omitRawText, + @JsonProperty("processing") DestinationQdrantProcessingConfigModel processing) { + Utils.checkNotNull(embedding, "embedding"); + Utils.checkNotNull(indexing, "indexing"); + Utils.checkNotNull(omitRawText, "omitRawText"); + Utils.checkNotNull(processing, "processing"); + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.embedding = embedding; + this.indexing = indexing; + this.omitRawText = omitRawText; + this.processing = processing; + } + + public Qdrant destinationType() { + return destinationType; + } + + /** + * Embedding configuration + */ + public DestinationQdrantEmbedding embedding() { + return embedding; + } + + /** + * Indexing configuration + */ + public DestinationQdrantIndexing indexing() { + return indexing; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public Optional omitRawText() { + return omitRawText; + } + + public DestinationQdrantProcessingConfigModel processing() { + return processing; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Embedding configuration + */ + public DestinationQdrant withEmbedding(DestinationQdrantEmbedding embedding) { + Utils.checkNotNull(embedding, "embedding"); + this.embedding = embedding; + return this; + } + + /** + * Indexing configuration + */ + public DestinationQdrant withIndexing(DestinationQdrantIndexing indexing) { + Utils.checkNotNull(indexing, "indexing"); + this.indexing = indexing; + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public DestinationQdrant withOmitRawText(boolean omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = Optional.ofNullable(omitRawText); + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public DestinationQdrant withOmitRawText(Optional omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = omitRawText; + return this; + } + + public DestinationQdrant withProcessing(DestinationQdrantProcessingConfigModel processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationQdrant other = (DestinationQdrant) o; + return + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.embedding, other.embedding) && + java.util.Objects.deepEquals(this.indexing, other.indexing) && + java.util.Objects.deepEquals(this.omitRawText, other.omitRawText) && + java.util.Objects.deepEquals(this.processing, other.processing); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + destinationType, + embedding, + indexing, + omitRawText, + processing); + } + + @Override + public String toString() { + return Utils.toString(DestinationQdrant.class, + "destinationType", destinationType, + "embedding", embedding, + "indexing", indexing, + "omitRawText", omitRawText, + "processing", processing); + } + + public final static class Builder { + + private DestinationQdrantEmbedding embedding; + + private DestinationQdrantIndexing indexing; + + private Optional omitRawText; + + private DestinationQdrantProcessingConfigModel processing; + + private Builder() { + // force use of static builder() method + } + + /** + * Embedding configuration + */ + public Builder embedding(DestinationQdrantEmbedding embedding) { + Utils.checkNotNull(embedding, "embedding"); + this.embedding = embedding; + return this; + } + + /** + * Indexing configuration + */ + public Builder indexing(DestinationQdrantIndexing indexing) { + Utils.checkNotNull(indexing, "indexing"); + this.indexing = indexing; + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public Builder omitRawText(boolean omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = Optional.ofNullable(omitRawText); + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public Builder omitRawText(Optional omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = omitRawText; + return this; + } + + public Builder processing(DestinationQdrantProcessingConfigModel processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + public DestinationQdrant build() { + if (omitRawText == null) { + omitRawText = _SINGLETON_VALUE_OmitRawText.value(); + } + return new DestinationQdrant( + embedding, + indexing, + omitRawText, + processing); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"qdrant\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_OmitRawText = + new LazySingletonValue<>( + "omit_raw_text", + "false", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantAuthenticationMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantAuthenticationMethod.java new file mode 100644 index 000000000..7411d279e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantAuthenticationMethod.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationQdrantAuthenticationMethod - Method to authenticate with the Qdrant Instance + */ + +@JsonDeserialize(using = DestinationQdrantAuthenticationMethod._Deserializer.class) +public class DestinationQdrantAuthenticationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationQdrantAuthenticationMethod(TypedObject value) { + this.value = value; + } + + public static DestinationQdrantAuthenticationMethod of(ApiKeyAuth value) { + Utils.checkNotNull(value, "value"); + return new DestinationQdrantAuthenticationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationQdrantAuthenticationMethod of(DestinationQdrantNoAuth value) { + Utils.checkNotNull(value, "value"); + return new DestinationQdrantAuthenticationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code ApiKeyAuth}
    • + *
    • {@code DestinationQdrantNoAuth}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationQdrantAuthenticationMethod other = (DestinationQdrantAuthenticationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationQdrantAuthenticationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationQdrantAuthenticationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantAzureOpenAI.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantAzureOpenAI.java new file mode 100644 index 000000000..cac4141d7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantAzureOpenAI.java @@ -0,0 +1,204 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationQdrantAzureOpenAI - Use the Azure-hosted OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + */ + +public class DestinationQdrantAzureOpenAI { + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + @JsonProperty("api_base") + private String apiBase; + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + @JsonProperty("deployment") + private String deployment; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + @JsonProperty("openai_key") + private String openaiKey; + + public DestinationQdrantAzureOpenAI( + @JsonProperty("api_base") String apiBase, + @JsonProperty("deployment") String deployment, + @JsonProperty("openai_key") String openaiKey) { + Utils.checkNotNull(apiBase, "apiBase"); + Utils.checkNotNull(deployment, "deployment"); + Utils.checkNotNull(openaiKey, "openaiKey"); + this.apiBase = apiBase; + this.deployment = deployment; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.openaiKey = openaiKey; + } + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public String apiBase() { + return apiBase; + } + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public String deployment() { + return deployment; + } + + public Optional mode() { + return mode; + } + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public String openaiKey() { + return openaiKey; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public DestinationQdrantAzureOpenAI withApiBase(String apiBase) { + Utils.checkNotNull(apiBase, "apiBase"); + this.apiBase = apiBase; + return this; + } + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public DestinationQdrantAzureOpenAI withDeployment(String deployment) { + Utils.checkNotNull(deployment, "deployment"); + this.deployment = deployment; + return this; + } + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public DestinationQdrantAzureOpenAI withOpenaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationQdrantAzureOpenAI other = (DestinationQdrantAzureOpenAI) o; + return + java.util.Objects.deepEquals(this.apiBase, other.apiBase) && + java.util.Objects.deepEquals(this.deployment, other.deployment) && + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.openaiKey, other.openaiKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiBase, + deployment, + mode, + openaiKey); + } + + @Override + public String toString() { + return Utils.toString(DestinationQdrantAzureOpenAI.class, + "apiBase", apiBase, + "deployment", deployment, + "mode", mode, + "openaiKey", openaiKey); + } + + public final static class Builder { + + private String apiBase; + + private String deployment; + + private String openaiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public Builder apiBase(String apiBase) { + Utils.checkNotNull(apiBase, "apiBase"); + this.apiBase = apiBase; + return this; + } + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public Builder deployment(String deployment) { + Utils.checkNotNull(deployment, "deployment"); + this.deployment = deployment; + return this; + } + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public Builder openaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + public DestinationQdrantAzureOpenAI build() { + return new DestinationQdrantAzureOpenAI( + apiBase, + deployment, + openaiKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"azure_openai\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantByMarkdownHeader.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantByMarkdownHeader.java new file mode 100644 index 000000000..b77baa9a6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantByMarkdownHeader.java @@ -0,0 +1,152 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationQdrantByMarkdownHeader - Split the text by Markdown headers down to the specified header level. If the chunk size fits multiple sections, they will be combined into a single chunk. + */ + +public class DestinationQdrantByMarkdownHeader { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("split_level") + private Optional splitLevel; + + public DestinationQdrantByMarkdownHeader( + @JsonProperty("split_level") Optional splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.splitLevel = splitLevel; + } + + public Optional mode() { + return mode; + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public Optional splitLevel() { + return splitLevel; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public DestinationQdrantByMarkdownHeader withSplitLevel(long splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = Optional.ofNullable(splitLevel); + return this; + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public DestinationQdrantByMarkdownHeader withSplitLevel(Optional splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = splitLevel; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationQdrantByMarkdownHeader other = (DestinationQdrantByMarkdownHeader) o; + return + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.splitLevel, other.splitLevel); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode, + splitLevel); + } + + @Override + public String toString() { + return Utils.toString(DestinationQdrantByMarkdownHeader.class, + "mode", mode, + "splitLevel", splitLevel); + } + + public final static class Builder { + + private Optional splitLevel; + + private Builder() { + // force use of static builder() method + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public Builder splitLevel(long splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = Optional.ofNullable(splitLevel); + return this; + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public Builder splitLevel(Optional splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = splitLevel; + return this; + } + + public DestinationQdrantByMarkdownHeader build() { + if (splitLevel == null) { + splitLevel = _SINGLETON_VALUE_SplitLevel.value(); + } + return new DestinationQdrantByMarkdownHeader( + splitLevel); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"markdown\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SplitLevel = + new LazySingletonValue<>( + "split_level", + "1", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantByProgrammingLanguage.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantByProgrammingLanguage.java new file mode 100644 index 000000000..f3f755511 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantByProgrammingLanguage.java @@ -0,0 +1,124 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationQdrantByProgrammingLanguage - Split the text by suitable delimiters based on the programming language. This is useful for splitting code into chunks. + */ + +public class DestinationQdrantByProgrammingLanguage { + + /** + * Split code in suitable places based on the programming language + */ + @JsonProperty("language") + private DestinationQdrantLanguage language; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationQdrantByProgrammingLanguage( + @JsonProperty("language") DestinationQdrantLanguage language) { + Utils.checkNotNull(language, "language"); + this.language = language; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + /** + * Split code in suitable places based on the programming language + */ + public DestinationQdrantLanguage language() { + return language; + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Split code in suitable places based on the programming language + */ + public DestinationQdrantByProgrammingLanguage withLanguage(DestinationQdrantLanguage language) { + Utils.checkNotNull(language, "language"); + this.language = language; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationQdrantByProgrammingLanguage other = (DestinationQdrantByProgrammingLanguage) o; + return + java.util.Objects.deepEquals(this.language, other.language) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + language, + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationQdrantByProgrammingLanguage.class, + "language", language, + "mode", mode); + } + + public final static class Builder { + + private DestinationQdrantLanguage language; + + private Builder() { + // force use of static builder() method + } + + /** + * Split code in suitable places based on the programming language + */ + public Builder language(DestinationQdrantLanguage language) { + Utils.checkNotNull(language, "language"); + this.language = language; + return this; + } + + public DestinationQdrantByProgrammingLanguage build() { + return new DestinationQdrantByProgrammingLanguage( + language); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"code\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantBySeparator.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantBySeparator.java new file mode 100644 index 000000000..af5eb847f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantBySeparator.java @@ -0,0 +1,211 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationQdrantBySeparator - Split the text by the list of separators until the chunk size is reached, using the earlier mentioned separators where possible. This is useful for splitting text fields by paragraphs, sentences, words, etc. + */ + +public class DestinationQdrantBySeparator { + + /** + * Whether to keep the separator in the resulting chunks + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("keep_separator") + private Optional keepSeparator; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("separators") + private Optional> separators; + + public DestinationQdrantBySeparator( + @JsonProperty("keep_separator") Optional keepSeparator, + @JsonProperty("separators") Optional> separators) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + Utils.checkNotNull(separators, "separators"); + this.keepSeparator = keepSeparator; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.separators = separators; + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public Optional keepSeparator() { + return keepSeparator; + } + + public Optional mode() { + return mode; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public Optional> separators() { + return separators; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public DestinationQdrantBySeparator withKeepSeparator(boolean keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = Optional.ofNullable(keepSeparator); + return this; + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public DestinationQdrantBySeparator withKeepSeparator(Optional keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = keepSeparator; + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public DestinationQdrantBySeparator withSeparators(java.util.List separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = Optional.ofNullable(separators); + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public DestinationQdrantBySeparator withSeparators(Optional> separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = separators; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationQdrantBySeparator other = (DestinationQdrantBySeparator) o; + return + java.util.Objects.deepEquals(this.keepSeparator, other.keepSeparator) && + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.separators, other.separators); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + keepSeparator, + mode, + separators); + } + + @Override + public String toString() { + return Utils.toString(DestinationQdrantBySeparator.class, + "keepSeparator", keepSeparator, + "mode", mode, + "separators", separators); + } + + public final static class Builder { + + private Optional keepSeparator; + + private Optional> separators = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public Builder keepSeparator(boolean keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = Optional.ofNullable(keepSeparator); + return this; + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public Builder keepSeparator(Optional keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = keepSeparator; + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public Builder separators(java.util.List separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = Optional.ofNullable(separators); + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public Builder separators(Optional> separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = separators; + return this; + } + + public DestinationQdrantBySeparator build() { + if (keepSeparator == null) { + keepSeparator = _SINGLETON_VALUE_KeepSeparator.value(); + } + return new DestinationQdrantBySeparator( + keepSeparator, + separators); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_KeepSeparator = + new LazySingletonValue<>( + "keep_separator", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"separator\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantCohere.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantCohere.java new file mode 100644 index 000000000..0673a3c38 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantCohere.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationQdrantCohere - Use the Cohere API to embed text. + */ + +public class DestinationQdrantCohere { + + @JsonProperty("cohere_key") + private String cohereKey; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationQdrantCohere( + @JsonProperty("cohere_key") String cohereKey) { + Utils.checkNotNull(cohereKey, "cohereKey"); + this.cohereKey = cohereKey; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public String cohereKey() { + return cohereKey; + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationQdrantCohere withCohereKey(String cohereKey) { + Utils.checkNotNull(cohereKey, "cohereKey"); + this.cohereKey = cohereKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationQdrantCohere other = (DestinationQdrantCohere) o; + return + java.util.Objects.deepEquals(this.cohereKey, other.cohereKey) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + cohereKey, + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationQdrantCohere.class, + "cohereKey", cohereKey, + "mode", mode); + } + + public final static class Builder { + + private String cohereKey; + + private Builder() { + // force use of static builder() method + } + + public Builder cohereKey(String cohereKey) { + Utils.checkNotNull(cohereKey, "cohereKey"); + this.cohereKey = cohereKey; + return this; + } + + public DestinationQdrantCohere build() { + return new DestinationQdrantCohere( + cohereKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"cohere\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantEmbedding.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantEmbedding.java new file mode 100644 index 000000000..6b6ab1c7c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantEmbedding.java @@ -0,0 +1,122 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationQdrantEmbedding - Embedding configuration + */ + +@JsonDeserialize(using = DestinationQdrantEmbedding._Deserializer.class) +public class DestinationQdrantEmbedding { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationQdrantEmbedding(TypedObject value) { + this.value = value; + } + + public static DestinationQdrantEmbedding of(DestinationQdrantOpenAI value) { + Utils.checkNotNull(value, "value"); + return new DestinationQdrantEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationQdrantEmbedding of(DestinationQdrantCohere value) { + Utils.checkNotNull(value, "value"); + return new DestinationQdrantEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationQdrantEmbedding of(DestinationQdrantFake value) { + Utils.checkNotNull(value, "value"); + return new DestinationQdrantEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationQdrantEmbedding of(DestinationQdrantAzureOpenAI value) { + Utils.checkNotNull(value, "value"); + return new DestinationQdrantEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationQdrantEmbedding of(DestinationQdrantOpenAICompatible value) { + Utils.checkNotNull(value, "value"); + return new DestinationQdrantEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationQdrantOpenAI}
    • + *
    • {@code DestinationQdrantCohere}
    • + *
    • {@code DestinationQdrantFake}
    • + *
    • {@code DestinationQdrantAzureOpenAI}
    • + *
    • {@code DestinationQdrantOpenAICompatible}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationQdrantEmbedding other = (DestinationQdrantEmbedding) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationQdrantEmbedding.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationQdrantEmbedding.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantFake.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantFake.java new file mode 100644 index 000000000..cbed02939 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantFake.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationQdrantFake - Use a fake embedding made out of random vectors with 1536 embedding dimensions. This is useful for testing the data pipeline without incurring any costs. + */ + +public class DestinationQdrantFake { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationQdrantFake() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationQdrantFake other = (DestinationQdrantFake) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationQdrantFake.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationQdrantFake build() { + return new DestinationQdrantFake( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"fake\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantFieldNameMappingConfigModel.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantFieldNameMappingConfigModel.java new file mode 100644 index 000000000..60be2161a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantFieldNameMappingConfigModel.java @@ -0,0 +1,139 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DestinationQdrantFieldNameMappingConfigModel { + + /** + * The field name in the source + */ + @JsonProperty("from_field") + private String fromField; + + /** + * The field name to use in the destination + */ + @JsonProperty("to_field") + private String toField; + + public DestinationQdrantFieldNameMappingConfigModel( + @JsonProperty("from_field") String fromField, + @JsonProperty("to_field") String toField) { + Utils.checkNotNull(fromField, "fromField"); + Utils.checkNotNull(toField, "toField"); + this.fromField = fromField; + this.toField = toField; + } + + /** + * The field name in the source + */ + public String fromField() { + return fromField; + } + + /** + * The field name to use in the destination + */ + public String toField() { + return toField; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The field name in the source + */ + public DestinationQdrantFieldNameMappingConfigModel withFromField(String fromField) { + Utils.checkNotNull(fromField, "fromField"); + this.fromField = fromField; + return this; + } + + /** + * The field name to use in the destination + */ + public DestinationQdrantFieldNameMappingConfigModel withToField(String toField) { + Utils.checkNotNull(toField, "toField"); + this.toField = toField; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationQdrantFieldNameMappingConfigModel other = (DestinationQdrantFieldNameMappingConfigModel) o; + return + java.util.Objects.deepEquals(this.fromField, other.fromField) && + java.util.Objects.deepEquals(this.toField, other.toField); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + fromField, + toField); + } + + @Override + public String toString() { + return Utils.toString(DestinationQdrantFieldNameMappingConfigModel.class, + "fromField", fromField, + "toField", toField); + } + + public final static class Builder { + + private String fromField; + + private String toField; + + private Builder() { + // force use of static builder() method + } + + /** + * The field name in the source + */ + public Builder fromField(String fromField) { + Utils.checkNotNull(fromField, "fromField"); + this.fromField = fromField; + return this; + } + + /** + * The field name to use in the destination + */ + public Builder toField(String toField) { + Utils.checkNotNull(toField, "toField"); + this.toField = toField; + return this; + } + + public DestinationQdrantFieldNameMappingConfigModel build() { + return new DestinationQdrantFieldNameMappingConfigModel( + fromField, + toField); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantIndexing.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantIndexing.java new file mode 100644 index 000000000..5774bfb23 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantIndexing.java @@ -0,0 +1,409 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationQdrantIndexing - Indexing configuration + */ + +public class DestinationQdrantIndexing { + + /** + * Method to authenticate with the Qdrant Instance + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_method") + private Optional authMethod; + + /** + * The collection to load data into + */ + @JsonProperty("collection") + private String collection; + + /** + * The Distance metric used to measure similarities among vectors. This field is only used if the collection defined in the does not exist yet and is created automatically by the connector. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("distance_metric") + private Optional distanceMetric; + + /** + * Whether to prefer gRPC over HTTP. Set to true for Qdrant cloud clusters + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("prefer_grpc") + private Optional preferGrpc; + + /** + * The field in the payload that contains the embedded text + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("text_field") + private Optional textField; + + /** + * Public Endpoint of the Qdrant cluser + */ + @JsonProperty("url") + private String url; + + public DestinationQdrantIndexing( + @JsonProperty("auth_method") Optional authMethod, + @JsonProperty("collection") String collection, + @JsonProperty("distance_metric") Optional distanceMetric, + @JsonProperty("prefer_grpc") Optional preferGrpc, + @JsonProperty("text_field") Optional textField, + @JsonProperty("url") String url) { + Utils.checkNotNull(authMethod, "authMethod"); + Utils.checkNotNull(collection, "collection"); + Utils.checkNotNull(distanceMetric, "distanceMetric"); + Utils.checkNotNull(preferGrpc, "preferGrpc"); + Utils.checkNotNull(textField, "textField"); + Utils.checkNotNull(url, "url"); + this.authMethod = authMethod; + this.collection = collection; + this.distanceMetric = distanceMetric; + this.preferGrpc = preferGrpc; + this.textField = textField; + this.url = url; + } + + /** + * Method to authenticate with the Qdrant Instance + */ + public Optional authMethod() { + return authMethod; + } + + /** + * The collection to load data into + */ + public String collection() { + return collection; + } + + /** + * The Distance metric used to measure similarities among vectors. This field is only used if the collection defined in the does not exist yet and is created automatically by the connector. + */ + public Optional distanceMetric() { + return distanceMetric; + } + + /** + * Whether to prefer gRPC over HTTP. Set to true for Qdrant cloud clusters + */ + public Optional preferGrpc() { + return preferGrpc; + } + + /** + * The field in the payload that contains the embedded text + */ + public Optional textField() { + return textField; + } + + /** + * Public Endpoint of the Qdrant cluser + */ + public String url() { + return url; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Method to authenticate with the Qdrant Instance + */ + public DestinationQdrantIndexing withAuthMethod(DestinationQdrantAuthenticationMethod authMethod) { + Utils.checkNotNull(authMethod, "authMethod"); + this.authMethod = Optional.ofNullable(authMethod); + return this; + } + + /** + * Method to authenticate with the Qdrant Instance + */ + public DestinationQdrantIndexing withAuthMethod(Optional authMethod) { + Utils.checkNotNull(authMethod, "authMethod"); + this.authMethod = authMethod; + return this; + } + + /** + * The collection to load data into + */ + public DestinationQdrantIndexing withCollection(String collection) { + Utils.checkNotNull(collection, "collection"); + this.collection = collection; + return this; + } + + /** + * The Distance metric used to measure similarities among vectors. This field is only used if the collection defined in the does not exist yet and is created automatically by the connector. + */ + public DestinationQdrantIndexing withDistanceMetric(DistanceMetric distanceMetric) { + Utils.checkNotNull(distanceMetric, "distanceMetric"); + this.distanceMetric = Optional.ofNullable(distanceMetric); + return this; + } + + /** + * The Distance metric used to measure similarities among vectors. This field is only used if the collection defined in the does not exist yet and is created automatically by the connector. + */ + public DestinationQdrantIndexing withDistanceMetric(Optional distanceMetric) { + Utils.checkNotNull(distanceMetric, "distanceMetric"); + this.distanceMetric = distanceMetric; + return this; + } + + /** + * Whether to prefer gRPC over HTTP. Set to true for Qdrant cloud clusters + */ + public DestinationQdrantIndexing withPreferGrpc(boolean preferGrpc) { + Utils.checkNotNull(preferGrpc, "preferGrpc"); + this.preferGrpc = Optional.ofNullable(preferGrpc); + return this; + } + + /** + * Whether to prefer gRPC over HTTP. Set to true for Qdrant cloud clusters + */ + public DestinationQdrantIndexing withPreferGrpc(Optional preferGrpc) { + Utils.checkNotNull(preferGrpc, "preferGrpc"); + this.preferGrpc = preferGrpc; + return this; + } + + /** + * The field in the payload that contains the embedded text + */ + public DestinationQdrantIndexing withTextField(String textField) { + Utils.checkNotNull(textField, "textField"); + this.textField = Optional.ofNullable(textField); + return this; + } + + /** + * The field in the payload that contains the embedded text + */ + public DestinationQdrantIndexing withTextField(Optional textField) { + Utils.checkNotNull(textField, "textField"); + this.textField = textField; + return this; + } + + /** + * Public Endpoint of the Qdrant cluser + */ + public DestinationQdrantIndexing withUrl(String url) { + Utils.checkNotNull(url, "url"); + this.url = url; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationQdrantIndexing other = (DestinationQdrantIndexing) o; + return + java.util.Objects.deepEquals(this.authMethod, other.authMethod) && + java.util.Objects.deepEquals(this.collection, other.collection) && + java.util.Objects.deepEquals(this.distanceMetric, other.distanceMetric) && + java.util.Objects.deepEquals(this.preferGrpc, other.preferGrpc) && + java.util.Objects.deepEquals(this.textField, other.textField) && + java.util.Objects.deepEquals(this.url, other.url); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authMethod, + collection, + distanceMetric, + preferGrpc, + textField, + url); + } + + @Override + public String toString() { + return Utils.toString(DestinationQdrantIndexing.class, + "authMethod", authMethod, + "collection", collection, + "distanceMetric", distanceMetric, + "preferGrpc", preferGrpc, + "textField", textField, + "url", url); + } + + public final static class Builder { + + private Optional authMethod = Optional.empty(); + + private String collection; + + private Optional distanceMetric; + + private Optional preferGrpc; + + private Optional textField; + + private String url; + + private Builder() { + // force use of static builder() method + } + + /** + * Method to authenticate with the Qdrant Instance + */ + public Builder authMethod(DestinationQdrantAuthenticationMethod authMethod) { + Utils.checkNotNull(authMethod, "authMethod"); + this.authMethod = Optional.ofNullable(authMethod); + return this; + } + + /** + * Method to authenticate with the Qdrant Instance + */ + public Builder authMethod(Optional authMethod) { + Utils.checkNotNull(authMethod, "authMethod"); + this.authMethod = authMethod; + return this; + } + + /** + * The collection to load data into + */ + public Builder collection(String collection) { + Utils.checkNotNull(collection, "collection"); + this.collection = collection; + return this; + } + + /** + * The Distance metric used to measure similarities among vectors. This field is only used if the collection defined in the does not exist yet and is created automatically by the connector. + */ + public Builder distanceMetric(DistanceMetric distanceMetric) { + Utils.checkNotNull(distanceMetric, "distanceMetric"); + this.distanceMetric = Optional.ofNullable(distanceMetric); + return this; + } + + /** + * The Distance metric used to measure similarities among vectors. This field is only used if the collection defined in the does not exist yet and is created automatically by the connector. + */ + public Builder distanceMetric(Optional distanceMetric) { + Utils.checkNotNull(distanceMetric, "distanceMetric"); + this.distanceMetric = distanceMetric; + return this; + } + + /** + * Whether to prefer gRPC over HTTP. Set to true for Qdrant cloud clusters + */ + public Builder preferGrpc(boolean preferGrpc) { + Utils.checkNotNull(preferGrpc, "preferGrpc"); + this.preferGrpc = Optional.ofNullable(preferGrpc); + return this; + } + + /** + * Whether to prefer gRPC over HTTP. Set to true for Qdrant cloud clusters + */ + public Builder preferGrpc(Optional preferGrpc) { + Utils.checkNotNull(preferGrpc, "preferGrpc"); + this.preferGrpc = preferGrpc; + return this; + } + + /** + * The field in the payload that contains the embedded text + */ + public Builder textField(String textField) { + Utils.checkNotNull(textField, "textField"); + this.textField = Optional.ofNullable(textField); + return this; + } + + /** + * The field in the payload that contains the embedded text + */ + public Builder textField(Optional textField) { + Utils.checkNotNull(textField, "textField"); + this.textField = textField; + return this; + } + + /** + * Public Endpoint of the Qdrant cluser + */ + public Builder url(String url) { + Utils.checkNotNull(url, "url"); + this.url = url; + return this; + } + + public DestinationQdrantIndexing build() { + if (distanceMetric == null) { + distanceMetric = _SINGLETON_VALUE_DistanceMetric.value(); + } + if (preferGrpc == null) { + preferGrpc = _SINGLETON_VALUE_PreferGrpc.value(); + } + if (textField == null) { + textField = _SINGLETON_VALUE_TextField.value(); + } + return new DestinationQdrantIndexing( + authMethod, + collection, + distanceMetric, + preferGrpc, + textField, + url); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DistanceMetric = + new LazySingletonValue<>( + "distance_metric", + "\"cos\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_PreferGrpc = + new LazySingletonValue<>( + "prefer_grpc", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TextField = + new LazySingletonValue<>( + "text_field", + "\"text\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantLanguage.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantLanguage.java new file mode 100644 index 000000000..0b1e099a3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantLanguage.java @@ -0,0 +1,47 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationQdrantLanguage - Split code in suitable places based on the programming language + */ +public enum DestinationQdrantLanguage { + CPP("cpp"), + GO("go"), + JAVA("java"), + JS("js"), + PHP("php"), + PROTO("proto"), + PYTHON("python"), + RST("rst"), + RUBY("ruby"), + RUST("rust"), + SCALA("scala"), + SWIFT("swift"), + MARKDOWN("markdown"), + LATEX("latex"), + HTML("html"), + SOL("sol"); + + @JsonValue + private final String value; + + private DestinationQdrantLanguage(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantMode.java new file mode 100644 index 000000000..910c5f72e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationQdrantMode { + OPENAI("openai"); + + @JsonValue + private final String value; + + private DestinationQdrantMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantNoAuth.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantNoAuth.java new file mode 100644 index 000000000..c98df716a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantNoAuth.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationQdrantNoAuth { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationQdrantNoAuth() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationQdrantNoAuth other = (DestinationQdrantNoAuth) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationQdrantNoAuth.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationQdrantNoAuth build() { + return new DestinationQdrantNoAuth( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"no_auth\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantOpenAI.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantOpenAI.java new file mode 100644 index 000000000..7bcdafc07 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantOpenAI.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationQdrantOpenAI - Use the OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + */ + +public class DestinationQdrantOpenAI { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + @JsonProperty("openai_key") + private String openaiKey; + + public DestinationQdrantOpenAI( + @JsonProperty("openai_key") String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.openaiKey = openaiKey; + } + + public Optional mode() { + return mode; + } + + public String openaiKey() { + return openaiKey; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationQdrantOpenAI withOpenaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationQdrantOpenAI other = (DestinationQdrantOpenAI) o; + return + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.openaiKey, other.openaiKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode, + openaiKey); + } + + @Override + public String toString() { + return Utils.toString(DestinationQdrantOpenAI.class, + "mode", mode, + "openaiKey", openaiKey); + } + + public final static class Builder { + + private String openaiKey; + + private Builder() { + // force use of static builder() method + } + + public Builder openaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + public DestinationQdrantOpenAI build() { + return new DestinationQdrantOpenAI( + openaiKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"openai\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantOpenAICompatible.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantOpenAICompatible.java new file mode 100644 index 000000000..047146f71 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantOpenAICompatible.java @@ -0,0 +1,282 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationQdrantOpenAICompatible - Use a service that's compatible with the OpenAI API to embed text. + */ + +public class DestinationQdrantOpenAICompatible { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("api_key") + private Optional apiKey; + + /** + * The base URL for your OpenAI-compatible service + */ + @JsonProperty("base_url") + private String baseUrl; + + /** + * The number of dimensions the embedding model is generating + */ + @JsonProperty("dimensions") + private long dimensions; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * The name of the model to use for embedding + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("model_name") + private Optional modelName; + + public DestinationQdrantOpenAICompatible( + @JsonProperty("api_key") Optional apiKey, + @JsonProperty("base_url") String baseUrl, + @JsonProperty("dimensions") long dimensions, + @JsonProperty("model_name") Optional modelName) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(baseUrl, "baseUrl"); + Utils.checkNotNull(dimensions, "dimensions"); + Utils.checkNotNull(modelName, "modelName"); + this.apiKey = apiKey; + this.baseUrl = baseUrl; + this.dimensions = dimensions; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.modelName = modelName; + } + + public Optional apiKey() { + return apiKey; + } + + /** + * The base URL for your OpenAI-compatible service + */ + public String baseUrl() { + return baseUrl; + } + + /** + * The number of dimensions the embedding model is generating + */ + public long dimensions() { + return dimensions; + } + + public Optional mode() { + return mode; + } + + /** + * The name of the model to use for embedding + */ + public Optional modelName() { + return modelName; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationQdrantOpenAICompatible withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = Optional.ofNullable(apiKey); + return this; + } + + public DestinationQdrantOpenAICompatible withApiKey(Optional apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The base URL for your OpenAI-compatible service + */ + public DestinationQdrantOpenAICompatible withBaseUrl(String baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = baseUrl; + return this; + } + + /** + * The number of dimensions the embedding model is generating + */ + public DestinationQdrantOpenAICompatible withDimensions(long dimensions) { + Utils.checkNotNull(dimensions, "dimensions"); + this.dimensions = dimensions; + return this; + } + + /** + * The name of the model to use for embedding + */ + public DestinationQdrantOpenAICompatible withModelName(String modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = Optional.ofNullable(modelName); + return this; + } + + /** + * The name of the model to use for embedding + */ + public DestinationQdrantOpenAICompatible withModelName(Optional modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = modelName; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationQdrantOpenAICompatible other = (DestinationQdrantOpenAICompatible) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.baseUrl, other.baseUrl) && + java.util.Objects.deepEquals(this.dimensions, other.dimensions) && + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.modelName, other.modelName); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + baseUrl, + dimensions, + mode, + modelName); + } + + @Override + public String toString() { + return Utils.toString(DestinationQdrantOpenAICompatible.class, + "apiKey", apiKey, + "baseUrl", baseUrl, + "dimensions", dimensions, + "mode", mode, + "modelName", modelName); + } + + public final static class Builder { + + private Optional apiKey; + + private String baseUrl; + + private Long dimensions; + + private Optional modelName; + + private Builder() { + // force use of static builder() method + } + + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = Optional.ofNullable(apiKey); + return this; + } + + public Builder apiKey(Optional apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The base URL for your OpenAI-compatible service + */ + public Builder baseUrl(String baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = baseUrl; + return this; + } + + /** + * The number of dimensions the embedding model is generating + */ + public Builder dimensions(long dimensions) { + Utils.checkNotNull(dimensions, "dimensions"); + this.dimensions = dimensions; + return this; + } + + /** + * The name of the model to use for embedding + */ + public Builder modelName(String modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = Optional.ofNullable(modelName); + return this; + } + + /** + * The name of the model to use for embedding + */ + public Builder modelName(Optional modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = modelName; + return this; + } + + public DestinationQdrantOpenAICompatible build() { + if (apiKey == null) { + apiKey = _SINGLETON_VALUE_ApiKey.value(); + } + if (modelName == null) { + modelName = _SINGLETON_VALUE_ModelName.value(); + } + return new DestinationQdrantOpenAICompatible( + apiKey, + baseUrl, + dimensions, + modelName); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ApiKey = + new LazySingletonValue<>( + "api_key", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"openai_compatible\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ModelName = + new LazySingletonValue<>( + "model_name", + "\"text-embedding-ada-002\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantProcessingConfigModel.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantProcessingConfigModel.java new file mode 100644 index 000000000..30af78a57 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantProcessingConfigModel.java @@ -0,0 +1,407 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationQdrantProcessingConfigModel { + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("chunk_overlap") + private Optional chunkOverlap; + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + @JsonProperty("chunk_size") + private long chunkSize; + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("field_name_mappings") + private Optional> fieldNameMappings; + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("metadata_fields") + private Optional> metadataFields; + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("text_fields") + private Optional> textFields; + + /** + * Split text fields into chunks based on the specified method. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("text_splitter") + private Optional textSplitter; + + public DestinationQdrantProcessingConfigModel( + @JsonProperty("chunk_overlap") Optional chunkOverlap, + @JsonProperty("chunk_size") long chunkSize, + @JsonProperty("field_name_mappings") Optional> fieldNameMappings, + @JsonProperty("metadata_fields") Optional> metadataFields, + @JsonProperty("text_fields") Optional> textFields, + @JsonProperty("text_splitter") Optional textSplitter) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + Utils.checkNotNull(chunkSize, "chunkSize"); + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + Utils.checkNotNull(metadataFields, "metadataFields"); + Utils.checkNotNull(textFields, "textFields"); + Utils.checkNotNull(textSplitter, "textSplitter"); + this.chunkOverlap = chunkOverlap; + this.chunkSize = chunkSize; + this.fieldNameMappings = fieldNameMappings; + this.metadataFields = metadataFields; + this.textFields = textFields; + this.textSplitter = textSplitter; + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public Optional chunkOverlap() { + return chunkOverlap; + } + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + public long chunkSize() { + return chunkSize; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public Optional> fieldNameMappings() { + return fieldNameMappings; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public Optional> metadataFields() { + return metadataFields; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Optional> textFields() { + return textFields; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public Optional textSplitter() { + return textSplitter; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public DestinationQdrantProcessingConfigModel withChunkOverlap(long chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = Optional.ofNullable(chunkOverlap); + return this; + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public DestinationQdrantProcessingConfigModel withChunkOverlap(Optional chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = chunkOverlap; + return this; + } + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + public DestinationQdrantProcessingConfigModel withChunkSize(long chunkSize) { + Utils.checkNotNull(chunkSize, "chunkSize"); + this.chunkSize = chunkSize; + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public DestinationQdrantProcessingConfigModel withFieldNameMappings(java.util.List fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = Optional.ofNullable(fieldNameMappings); + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public DestinationQdrantProcessingConfigModel withFieldNameMappings(Optional> fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = fieldNameMappings; + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public DestinationQdrantProcessingConfigModel withMetadataFields(java.util.List metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = Optional.ofNullable(metadataFields); + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public DestinationQdrantProcessingConfigModel withMetadataFields(Optional> metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = metadataFields; + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public DestinationQdrantProcessingConfigModel withTextFields(java.util.List textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = Optional.ofNullable(textFields); + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public DestinationQdrantProcessingConfigModel withTextFields(Optional> textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = textFields; + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public DestinationQdrantProcessingConfigModel withTextSplitter(DestinationQdrantTextSplitter textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = Optional.ofNullable(textSplitter); + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public DestinationQdrantProcessingConfigModel withTextSplitter(Optional textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = textSplitter; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationQdrantProcessingConfigModel other = (DestinationQdrantProcessingConfigModel) o; + return + java.util.Objects.deepEquals(this.chunkOverlap, other.chunkOverlap) && + java.util.Objects.deepEquals(this.chunkSize, other.chunkSize) && + java.util.Objects.deepEquals(this.fieldNameMappings, other.fieldNameMappings) && + java.util.Objects.deepEquals(this.metadataFields, other.metadataFields) && + java.util.Objects.deepEquals(this.textFields, other.textFields) && + java.util.Objects.deepEquals(this.textSplitter, other.textSplitter); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + chunkOverlap, + chunkSize, + fieldNameMappings, + metadataFields, + textFields, + textSplitter); + } + + @Override + public String toString() { + return Utils.toString(DestinationQdrantProcessingConfigModel.class, + "chunkOverlap", chunkOverlap, + "chunkSize", chunkSize, + "fieldNameMappings", fieldNameMappings, + "metadataFields", metadataFields, + "textFields", textFields, + "textSplitter", textSplitter); + } + + public final static class Builder { + + private Optional chunkOverlap; + + private Long chunkSize; + + private Optional> fieldNameMappings = Optional.empty(); + + private Optional> metadataFields = Optional.empty(); + + private Optional> textFields = Optional.empty(); + + private Optional textSplitter = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public Builder chunkOverlap(long chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = Optional.ofNullable(chunkOverlap); + return this; + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public Builder chunkOverlap(Optional chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = chunkOverlap; + return this; + } + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + public Builder chunkSize(long chunkSize) { + Utils.checkNotNull(chunkSize, "chunkSize"); + this.chunkSize = chunkSize; + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public Builder fieldNameMappings(java.util.List fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = Optional.ofNullable(fieldNameMappings); + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public Builder fieldNameMappings(Optional> fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = fieldNameMappings; + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public Builder metadataFields(java.util.List metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = Optional.ofNullable(metadataFields); + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public Builder metadataFields(Optional> metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = metadataFields; + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Builder textFields(java.util.List textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = Optional.ofNullable(textFields); + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Builder textFields(Optional> textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = textFields; + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public Builder textSplitter(DestinationQdrantTextSplitter textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = Optional.ofNullable(textSplitter); + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public Builder textSplitter(Optional textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = textSplitter; + return this; + } + + public DestinationQdrantProcessingConfigModel build() { + if (chunkOverlap == null) { + chunkOverlap = _SINGLETON_VALUE_ChunkOverlap.value(); + } + return new DestinationQdrantProcessingConfigModel( + chunkOverlap, + chunkSize, + fieldNameMappings, + metadataFields, + textFields, + textSplitter); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ChunkOverlap = + new LazySingletonValue<>( + "chunk_overlap", + "0", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasEmbeddingEmbedding5Mode.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasEmbeddingEmbedding5Mode.java new file mode 100644 index 000000000..a19419040 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasEmbeddingEmbedding5Mode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationQdrantSchemasEmbeddingEmbedding5Mode { + OPENAI_COMPATIBLE("openai_compatible"); + + @JsonValue + private final String value; + + private DestinationQdrantSchemasEmbeddingEmbedding5Mode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasEmbeddingEmbeddingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasEmbeddingEmbeddingMode.java new file mode 100644 index 000000000..738bcf9df --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasEmbeddingEmbeddingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationQdrantSchemasEmbeddingEmbeddingMode { + AZURE_OPENAI("azure_openai"); + + @JsonValue + private final String value; + + private DestinationQdrantSchemasEmbeddingEmbeddingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasEmbeddingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasEmbeddingMode.java new file mode 100644 index 000000000..49cb86cd0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasEmbeddingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationQdrantSchemasEmbeddingMode { + FAKE("fake"); + + @JsonValue + private final String value; + + private DestinationQdrantSchemasEmbeddingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasIndexingAuthMethodMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasIndexingAuthMethodMode.java new file mode 100644 index 000000000..d7704f5d1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasIndexingAuthMethodMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationQdrantSchemasIndexingAuthMethodMode { + NO_AUTH("no_auth"); + + @JsonValue + private final String value; + + private DestinationQdrantSchemasIndexingAuthMethodMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasIndexingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasIndexingMode.java new file mode 100644 index 000000000..b95ada3f2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasIndexingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationQdrantSchemasIndexingMode { + API_KEY_AUTH("api_key_auth"); + + @JsonValue + private final String value; + + private DestinationQdrantSchemasIndexingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasMode.java new file mode 100644 index 000000000..796a3c4a2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationQdrantSchemasMode { + COHERE("cohere"); + + @JsonValue + private final String value; + + private DestinationQdrantSchemasMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasProcessingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasProcessingMode.java new file mode 100644 index 000000000..47bedc673 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasProcessingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationQdrantSchemasProcessingMode { + SEPARATOR("separator"); + + @JsonValue + private final String value; + + private DestinationQdrantSchemasProcessingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasProcessingTextSplitterMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasProcessingTextSplitterMode.java new file mode 100644 index 000000000..b56740cb3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasProcessingTextSplitterMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationQdrantSchemasProcessingTextSplitterMode { + MARKDOWN("markdown"); + + @JsonValue + private final String value; + + private DestinationQdrantSchemasProcessingTextSplitterMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasProcessingTextSplitterTextSplitterMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasProcessingTextSplitterTextSplitterMode.java new file mode 100644 index 000000000..1a008b3cb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantSchemasProcessingTextSplitterTextSplitterMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationQdrantSchemasProcessingTextSplitterTextSplitterMode { + CODE("code"); + + @JsonValue + private final String value; + + private DestinationQdrantSchemasProcessingTextSplitterTextSplitterMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationQdrantTextSplitter.java b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantTextSplitter.java new file mode 100644 index 000000000..4ef3922c0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationQdrantTextSplitter.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationQdrantTextSplitter - Split text fields into chunks based on the specified method. + */ + +@JsonDeserialize(using = DestinationQdrantTextSplitter._Deserializer.class) +public class DestinationQdrantTextSplitter { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationQdrantTextSplitter(TypedObject value) { + this.value = value; + } + + public static DestinationQdrantTextSplitter of(DestinationQdrantBySeparator value) { + Utils.checkNotNull(value, "value"); + return new DestinationQdrantTextSplitter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationQdrantTextSplitter of(DestinationQdrantByMarkdownHeader value) { + Utils.checkNotNull(value, "value"); + return new DestinationQdrantTextSplitter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationQdrantTextSplitter of(DestinationQdrantByProgrammingLanguage value) { + Utils.checkNotNull(value, "value"); + return new DestinationQdrantTextSplitter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationQdrantBySeparator}
    • + *
    • {@code DestinationQdrantByMarkdownHeader}
    • + *
    • {@code DestinationQdrantByProgrammingLanguage}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationQdrantTextSplitter other = (DestinationQdrantTextSplitter) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationQdrantTextSplitter.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationQdrantTextSplitter.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedis.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedis.java new file mode 100644 index 000000000..73e8b1964 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedis.java @@ -0,0 +1,547 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationRedis { + + /** + * Redis cache type to store data in. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("cache_type") + private Optional cacheType; + + @JsonProperty("destinationType") + private Redis destinationType; + + /** + * Redis host to connect to. + */ + @JsonProperty("host") + private String host; + + /** + * Password associated with Redis. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("password") + private Optional password; + + /** + * Port of Redis. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + /** + * Indicates whether SSL encryption protocol will be used to connect to Redis. It is recommended to use SSL connection if possible. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ssl") + private Optional ssl; + + /** + * SSL connection modes. + * <li><b>verify-full</b> - This is the most secure mode. Always require encryption and verifies the identity of the source database server + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ssl_mode") + private Optional sslMode; + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_method") + private Optional tunnelMethod; + + /** + * Username associated with Redis. + */ + @JsonProperty("username") + private String username; + + public DestinationRedis( + @JsonProperty("cache_type") Optional cacheType, + @JsonProperty("host") String host, + @JsonProperty("password") Optional password, + @JsonProperty("port") Optional port, + @JsonProperty("ssl") Optional ssl, + @JsonProperty("ssl_mode") Optional sslMode, + @JsonProperty("tunnel_method") Optional tunnelMethod, + @JsonProperty("username") String username) { + Utils.checkNotNull(cacheType, "cacheType"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(ssl, "ssl"); + Utils.checkNotNull(sslMode, "sslMode"); + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + Utils.checkNotNull(username, "username"); + this.cacheType = cacheType; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.host = host; + this.password = password; + this.port = port; + this.ssl = ssl; + this.sslMode = sslMode; + this.tunnelMethod = tunnelMethod; + this.username = username; + } + + /** + * Redis cache type to store data in. + */ + public Optional cacheType() { + return cacheType; + } + + public Redis destinationType() { + return destinationType; + } + + /** + * Redis host to connect to. + */ + public String host() { + return host; + } + + /** + * Password associated with Redis. + */ + public Optional password() { + return password; + } + + /** + * Port of Redis. + */ + public Optional port() { + return port; + } + + /** + * Indicates whether SSL encryption protocol will be used to connect to Redis. It is recommended to use SSL connection if possible. + */ + public Optional ssl() { + return ssl; + } + + /** + * SSL connection modes. + * <li><b>verify-full</b> - This is the most secure mode. Always require encryption and verifies the identity of the source database server + */ + public Optional sslMode() { + return sslMode; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Optional tunnelMethod() { + return tunnelMethod; + } + + /** + * Username associated with Redis. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Redis cache type to store data in. + */ + public DestinationRedis withCacheType(CacheType cacheType) { + Utils.checkNotNull(cacheType, "cacheType"); + this.cacheType = Optional.ofNullable(cacheType); + return this; + } + + /** + * Redis cache type to store data in. + */ + public DestinationRedis withCacheType(Optional cacheType) { + Utils.checkNotNull(cacheType, "cacheType"); + this.cacheType = cacheType; + return this; + } + + /** + * Redis host to connect to. + */ + public DestinationRedis withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Password associated with Redis. + */ + public DestinationRedis withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * Password associated with Redis. + */ + public DestinationRedis withPassword(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Port of Redis. + */ + public DestinationRedis withPort(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Port of Redis. + */ + public DestinationRedis withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * Indicates whether SSL encryption protocol will be used to connect to Redis. It is recommended to use SSL connection if possible. + */ + public DestinationRedis withSsl(boolean ssl) { + Utils.checkNotNull(ssl, "ssl"); + this.ssl = Optional.ofNullable(ssl); + return this; + } + + /** + * Indicates whether SSL encryption protocol will be used to connect to Redis. It is recommended to use SSL connection if possible. + */ + public DestinationRedis withSsl(Optional ssl) { + Utils.checkNotNull(ssl, "ssl"); + this.ssl = ssl; + return this; + } + + /** + * SSL connection modes. + * <li><b>verify-full</b> - This is the most secure mode. Always require encryption and verifies the identity of the source database server + */ + public DestinationRedis withSslMode(DestinationRedisSSLModes sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = Optional.ofNullable(sslMode); + return this; + } + + /** + * SSL connection modes. + * <li><b>verify-full</b> - This is the most secure mode. Always require encryption and verifies the identity of the source database server + */ + public DestinationRedis withSslMode(Optional sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = sslMode; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public DestinationRedis withTunnelMethod(DestinationRedisSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public DestinationRedis withTunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * Username associated with Redis. + */ + public DestinationRedis withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationRedis other = (DestinationRedis) o; + return + java.util.Objects.deepEquals(this.cacheType, other.cacheType) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.ssl, other.ssl) && + java.util.Objects.deepEquals(this.sslMode, other.sslMode) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + cacheType, + destinationType, + host, + password, + port, + ssl, + sslMode, + tunnelMethod, + username); + } + + @Override + public String toString() { + return Utils.toString(DestinationRedis.class, + "cacheType", cacheType, + "destinationType", destinationType, + "host", host, + "password", password, + "port", port, + "ssl", ssl, + "sslMode", sslMode, + "tunnelMethod", tunnelMethod, + "username", username); + } + + public final static class Builder { + + private Optional cacheType; + + private String host; + + private Optional password = Optional.empty(); + + private Optional port; + + private Optional ssl; + + private Optional sslMode = Optional.empty(); + + private Optional tunnelMethod = Optional.empty(); + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Redis cache type to store data in. + */ + public Builder cacheType(CacheType cacheType) { + Utils.checkNotNull(cacheType, "cacheType"); + this.cacheType = Optional.ofNullable(cacheType); + return this; + } + + /** + * Redis cache type to store data in. + */ + public Builder cacheType(Optional cacheType) { + Utils.checkNotNull(cacheType, "cacheType"); + this.cacheType = cacheType; + return this; + } + + /** + * Redis host to connect to. + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Password associated with Redis. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * Password associated with Redis. + */ + public Builder password(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Port of Redis. + */ + public Builder port(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Port of Redis. + */ + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * Indicates whether SSL encryption protocol will be used to connect to Redis. It is recommended to use SSL connection if possible. + */ + public Builder ssl(boolean ssl) { + Utils.checkNotNull(ssl, "ssl"); + this.ssl = Optional.ofNullable(ssl); + return this; + } + + /** + * Indicates whether SSL encryption protocol will be used to connect to Redis. It is recommended to use SSL connection if possible. + */ + public Builder ssl(Optional ssl) { + Utils.checkNotNull(ssl, "ssl"); + this.ssl = ssl; + return this; + } + + /** + * SSL connection modes. + * <li><b>verify-full</b> - This is the most secure mode. Always require encryption and verifies the identity of the source database server + */ + public Builder sslMode(DestinationRedisSSLModes sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = Optional.ofNullable(sslMode); + return this; + } + + /** + * SSL connection modes. + * <li><b>verify-full</b> - This is the most secure mode. Always require encryption and verifies the identity of the source database server + */ + public Builder sslMode(Optional sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = sslMode; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(DestinationRedisSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * Username associated with Redis. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public DestinationRedis build() { + if (cacheType == null) { + cacheType = _SINGLETON_VALUE_CacheType.value(); + } + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + if (ssl == null) { + ssl = _SINGLETON_VALUE_Ssl.value(); + } + return new DestinationRedis( + cacheType, + host, + password, + port, + ssl, + sslMode, + tunnelMethod, + username); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CacheType = + new LazySingletonValue<>( + "cache_type", + "\"hash\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"redis\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "6379", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Ssl = + new LazySingletonValue<>( + "ssl", + "false", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedisDisable.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedisDisable.java new file mode 100644 index 000000000..0f5b27fe6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedisDisable.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationRedisDisable - Disable SSL. + */ + +public class DestinationRedisDisable { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationRedisDisable() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationRedisDisable other = (DestinationRedisDisable) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationRedisDisable.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationRedisDisable build() { + return new DestinationRedisDisable( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"disable\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedisMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedisMode.java new file mode 100644 index 000000000..7d117d516 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedisMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationRedisMode { + DISABLE("disable"); + + @JsonValue + private final String value; + + private DestinationRedisMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedisNoTunnel.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedisNoTunnel.java new file mode 100644 index 000000000..030b2ee1a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedisNoTunnel.java @@ -0,0 +1,85 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DestinationRedisNoTunnel { + + /** + * No ssh tunnel needed to connect to database + */ + @JsonProperty("tunnel_method") + private DestinationRedisTunnelMethod tunnelMethod; + + public DestinationRedisNoTunnel() { + + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + } + + /** + * No ssh tunnel needed to connect to database + */ + public DestinationRedisTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationRedisNoTunnel other = (DestinationRedisNoTunnel) o; + return + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelMethod); + } + + @Override + public String toString() { + return Utils.toString(DestinationRedisNoTunnel.class, + "tunnelMethod", tunnelMethod); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationRedisNoTunnel build() { + return new DestinationRedisNoTunnel( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"NO_TUNNEL\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedisPasswordAuthentication.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedisPasswordAuthentication.java new file mode 100644 index 000000000..976cc2bc8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedisPasswordAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationRedisPasswordAuthentication { + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + @JsonProperty("tunnel_method") + private DestinationRedisSchemasTunnelMethodTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + /** + * OS-level password for logging into the jump server host + */ + @JsonProperty("tunnel_user_password") + private String tunnelUserPassword; + + public DestinationRedisPasswordAuthentication( + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser, + @JsonProperty("tunnel_user_password") String tunnelUserPassword) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + this.tunnelUserPassword = tunnelUserPassword; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + public DestinationRedisSchemasTunnelMethodTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host + */ + public String tunnelUser() { + return tunnelUser; + } + + /** + * OS-level password for logging into the jump server host + */ + public String tunnelUserPassword() { + return tunnelUserPassword; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public DestinationRedisPasswordAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationRedisPasswordAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationRedisPasswordAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public DestinationRedisPasswordAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public DestinationRedisPasswordAuthentication withTunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationRedisPasswordAuthentication other = (DestinationRedisPasswordAuthentication) o; + return + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser) && + java.util.Objects.deepEquals(this.tunnelUserPassword, other.tunnelUserPassword); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + @Override + public String toString() { + return Utils.toString(DestinationRedisPasswordAuthentication.class, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser, + "tunnelUserPassword", tunnelUserPassword); + } + + public final static class Builder { + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private String tunnelUserPassword; + + private Builder() { + // force use of static builder() method + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public Builder tunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + public DestinationRedisPasswordAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new DestinationRedisPasswordAuthentication( + tunnelHost, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_PASSWORD_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedisSSHKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedisSSHKeyAuthentication.java new file mode 100644 index 000000000..d575b3c0b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedisSSHKeyAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationRedisSSHKeyAuthentication { + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + @JsonProperty("ssh_key") + private String sshKey; + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + @JsonProperty("tunnel_method") + private DestinationRedisSchemasTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host. + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + public DestinationRedisSSHKeyAuthentication( + @JsonProperty("ssh_key") String sshKey, + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser) { + Utils.checkNotNull(sshKey, "sshKey"); + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.sshKey = sshKey; + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public String sshKey() { + return sshKey; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + public DestinationRedisSchemasTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host. + */ + public String tunnelUser() { + return tunnelUser; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public DestinationRedisSSHKeyAuthentication withSshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public DestinationRedisSSHKeyAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationRedisSSHKeyAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationRedisSSHKeyAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public DestinationRedisSSHKeyAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationRedisSSHKeyAuthentication other = (DestinationRedisSSHKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.sshKey, other.sshKey) && + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sshKey, + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser); + } + + @Override + public String toString() { + return Utils.toString(DestinationRedisSSHKeyAuthentication.class, + "sshKey", sshKey, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser); + } + + public final static class Builder { + + private String sshKey; + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private Builder() { + // force use of static builder() method + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public Builder sshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + public DestinationRedisSSHKeyAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new DestinationRedisSSHKeyAuthentication( + sshKey, + tunnelHost, + tunnelPort, + tunnelUser); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_KEY_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedisSSHTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedisSSHTunnelMethod.java new file mode 100644 index 000000000..7b69bae96 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedisSSHTunnelMethod.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationRedisSSHTunnelMethod - Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + +@JsonDeserialize(using = DestinationRedisSSHTunnelMethod._Deserializer.class) +public class DestinationRedisSSHTunnelMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationRedisSSHTunnelMethod(TypedObject value) { + this.value = value; + } + + public static DestinationRedisSSHTunnelMethod of(DestinationRedisNoTunnel value) { + Utils.checkNotNull(value, "value"); + return new DestinationRedisSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationRedisSSHTunnelMethod of(DestinationRedisSSHKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new DestinationRedisSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationRedisSSHTunnelMethod of(DestinationRedisPasswordAuthentication value) { + Utils.checkNotNull(value, "value"); + return new DestinationRedisSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationRedisNoTunnel}
    • + *
    • {@code DestinationRedisSSHKeyAuthentication}
    • + *
    • {@code DestinationRedisPasswordAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationRedisSSHTunnelMethod other = (DestinationRedisSSHTunnelMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationRedisSSHTunnelMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationRedisSSHTunnelMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedisSSLModes.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedisSSLModes.java new file mode 100644 index 000000000..a2954406f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedisSSLModes.java @@ -0,0 +1,102 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationRedisSSLModes - SSL connection modes. + * <li><b>verify-full</b> - This is the most secure mode. Always require encryption and verifies the identity of the source database server + */ + +@JsonDeserialize(using = DestinationRedisSSLModes._Deserializer.class) +public class DestinationRedisSSLModes { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationRedisSSLModes(TypedObject value) { + this.value = value; + } + + public static DestinationRedisSSLModes of(DestinationRedisDisable value) { + Utils.checkNotNull(value, "value"); + return new DestinationRedisSSLModes(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationRedisSSLModes of(DestinationRedisVerifyFull value) { + Utils.checkNotNull(value, "value"); + return new DestinationRedisSSLModes(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationRedisDisable}
    • + *
    • {@code DestinationRedisVerifyFull}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationRedisSSLModes other = (DestinationRedisSSLModes) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationRedisSSLModes.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationRedisSSLModes.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedisSchemasMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedisSchemasMode.java new file mode 100644 index 000000000..782183506 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedisSchemasMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationRedisSchemasMode { + VERIFY_FULL("verify-full"); + + @JsonValue + private final String value; + + private DestinationRedisSchemasMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedisSchemasTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedisSchemasTunnelMethod.java new file mode 100644 index 000000000..6baf72875 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedisSchemasTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationRedisSchemasTunnelMethod - Connect through a jump server tunnel host using username and ssh key + */ +public enum DestinationRedisSchemasTunnelMethod { + SSH_KEY_AUTH("SSH_KEY_AUTH"); + + @JsonValue + private final String value; + + private DestinationRedisSchemasTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedisSchemasTunnelMethodTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedisSchemasTunnelMethodTunnelMethod.java new file mode 100644 index 000000000..8888f8403 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedisSchemasTunnelMethodTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationRedisSchemasTunnelMethodTunnelMethod - Connect through a jump server tunnel host using username and password authentication + */ +public enum DestinationRedisSchemasTunnelMethodTunnelMethod { + SSH_PASSWORD_AUTH("SSH_PASSWORD_AUTH"); + + @JsonValue + private final String value; + + private DestinationRedisSchemasTunnelMethodTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedisTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedisTunnelMethod.java new file mode 100644 index 000000000..3a777bbdc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedisTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationRedisTunnelMethod - No ssh tunnel needed to connect to database + */ +public enum DestinationRedisTunnelMethod { + NO_TUNNEL("NO_TUNNEL"); + + @JsonValue + private final String value; + + private DestinationRedisTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedisVerifyFull.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedisVerifyFull.java new file mode 100644 index 000000000..3dd861422 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedisVerifyFull.java @@ -0,0 +1,263 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationRedisVerifyFull - Verify-full SSL mode. + */ + +public class DestinationRedisVerifyFull { + + /** + * CA certificate + */ + @JsonProperty("ca_certificate") + private String caCertificate; + + /** + * Client certificate + */ + @JsonProperty("client_certificate") + private String clientCertificate; + + /** + * Client key + */ + @JsonProperty("client_key") + private String clientKey; + + /** + * Password for keystorage. If you do not add it - the password will be generated automatically. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_key_password") + private Optional clientKeyPassword; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationRedisVerifyFull( + @JsonProperty("ca_certificate") String caCertificate, + @JsonProperty("client_certificate") String clientCertificate, + @JsonProperty("client_key") String clientKey, + @JsonProperty("client_key_password") Optional clientKeyPassword) { + Utils.checkNotNull(caCertificate, "caCertificate"); + Utils.checkNotNull(clientCertificate, "clientCertificate"); + Utils.checkNotNull(clientKey, "clientKey"); + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.caCertificate = caCertificate; + this.clientCertificate = clientCertificate; + this.clientKey = clientKey; + this.clientKeyPassword = clientKeyPassword; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + /** + * CA certificate + */ + public String caCertificate() { + return caCertificate; + } + + /** + * Client certificate + */ + public String clientCertificate() { + return clientCertificate; + } + + /** + * Client key + */ + public String clientKey() { + return clientKey; + } + + /** + * Password for keystorage. If you do not add it - the password will be generated automatically. + */ + public Optional clientKeyPassword() { + return clientKeyPassword; + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * CA certificate + */ + public DestinationRedisVerifyFull withCaCertificate(String caCertificate) { + Utils.checkNotNull(caCertificate, "caCertificate"); + this.caCertificate = caCertificate; + return this; + } + + /** + * Client certificate + */ + public DestinationRedisVerifyFull withClientCertificate(String clientCertificate) { + Utils.checkNotNull(clientCertificate, "clientCertificate"); + this.clientCertificate = clientCertificate; + return this; + } + + /** + * Client key + */ + public DestinationRedisVerifyFull withClientKey(String clientKey) { + Utils.checkNotNull(clientKey, "clientKey"); + this.clientKey = clientKey; + return this; + } + + /** + * Password for keystorage. If you do not add it - the password will be generated automatically. + */ + public DestinationRedisVerifyFull withClientKeyPassword(String clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = Optional.ofNullable(clientKeyPassword); + return this; + } + + /** + * Password for keystorage. If you do not add it - the password will be generated automatically. + */ + public DestinationRedisVerifyFull withClientKeyPassword(Optional clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = clientKeyPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationRedisVerifyFull other = (DestinationRedisVerifyFull) o; + return + java.util.Objects.deepEquals(this.caCertificate, other.caCertificate) && + java.util.Objects.deepEquals(this.clientCertificate, other.clientCertificate) && + java.util.Objects.deepEquals(this.clientKey, other.clientKey) && + java.util.Objects.deepEquals(this.clientKeyPassword, other.clientKeyPassword) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caCertificate, + clientCertificate, + clientKey, + clientKeyPassword, + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationRedisVerifyFull.class, + "caCertificate", caCertificate, + "clientCertificate", clientCertificate, + "clientKey", clientKey, + "clientKeyPassword", clientKeyPassword, + "mode", mode); + } + + public final static class Builder { + + private String caCertificate; + + private String clientCertificate; + + private String clientKey; + + private Optional clientKeyPassword = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * CA certificate + */ + public Builder caCertificate(String caCertificate) { + Utils.checkNotNull(caCertificate, "caCertificate"); + this.caCertificate = caCertificate; + return this; + } + + /** + * Client certificate + */ + public Builder clientCertificate(String clientCertificate) { + Utils.checkNotNull(clientCertificate, "clientCertificate"); + this.clientCertificate = clientCertificate; + return this; + } + + /** + * Client key + */ + public Builder clientKey(String clientKey) { + Utils.checkNotNull(clientKey, "clientKey"); + this.clientKey = clientKey; + return this; + } + + /** + * Password for keystorage. If you do not add it - the password will be generated automatically. + */ + public Builder clientKeyPassword(String clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = Optional.ofNullable(clientKeyPassword); + return this; + } + + /** + * Password for keystorage. If you do not add it - the password will be generated automatically. + */ + public Builder clientKeyPassword(Optional clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = clientKeyPassword; + return this; + } + + public DestinationRedisVerifyFull build() { + return new DestinationRedisVerifyFull( + caCertificate, + clientCertificate, + clientKey, + clientKeyPassword); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"verify-full\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedshift.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedshift.java new file mode 100644 index 000000000..80096c8b8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedshift.java @@ -0,0 +1,748 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationRedshift { + + /** + * Name of the database. + */ + @JsonProperty("database") + private String database; + + @JsonProperty("destinationType") + private Redshift destinationType; + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("disable_type_dedupe") + private Optional disableTypeDedupe; + + /** + * When enabled your data will load into your final tables incrementally while your data is still being synced. When Disabled (the default), your data loads into your final tables once at the end of a sync. Note that this option only applies if you elect to create Final tables + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("enable_incremental_final_table_updates") + private Optional enableIncrementalFinalTableUpdates; + + /** + * Host Endpoint of the Redshift Cluster (must include the cluster-id, region and end with .redshift.amazonaws.com) + */ + @JsonProperty("host") + private String host; + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("jdbc_url_params") + private Optional jdbcUrlParams; + + /** + * Password associated with the username. + */ + @JsonProperty("password") + private String password; + + /** + * Port of the database. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + /** + * The schema to write raw tables into + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("raw_data_schema") + private Optional rawDataSchema; + + /** + * The default schema tables are written to if the source does not specify a namespace. Unless specifically configured, the usual value for this field is "public". + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schema") + private Optional schema; + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_method") + private Optional tunnelMethod; + + /** + * The way data will be uploaded to Redshift. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("uploading_method") + private Optional uploadingMethod; + + /** + * Username to use to access the database. + */ + @JsonProperty("username") + private String username; + + public DestinationRedshift( + @JsonProperty("database") String database, + @JsonProperty("disable_type_dedupe") Optional disableTypeDedupe, + @JsonProperty("enable_incremental_final_table_updates") Optional enableIncrementalFinalTableUpdates, + @JsonProperty("host") String host, + @JsonProperty("jdbc_url_params") Optional jdbcUrlParams, + @JsonProperty("password") String password, + @JsonProperty("port") Optional port, + @JsonProperty("raw_data_schema") Optional rawDataSchema, + @JsonProperty("schema") Optional schema, + @JsonProperty("tunnel_method") Optional tunnelMethod, + @JsonProperty("uploading_method") Optional uploadingMethod, + @JsonProperty("username") String username) { + Utils.checkNotNull(database, "database"); + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + Utils.checkNotNull(enableIncrementalFinalTableUpdates, "enableIncrementalFinalTableUpdates"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + Utils.checkNotNull(schema, "schema"); + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + Utils.checkNotNull(uploadingMethod, "uploadingMethod"); + Utils.checkNotNull(username, "username"); + this.database = database; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.disableTypeDedupe = disableTypeDedupe; + this.enableIncrementalFinalTableUpdates = enableIncrementalFinalTableUpdates; + this.host = host; + this.jdbcUrlParams = jdbcUrlParams; + this.password = password; + this.port = port; + this.rawDataSchema = rawDataSchema; + this.schema = schema; + this.tunnelMethod = tunnelMethod; + this.uploadingMethod = uploadingMethod; + this.username = username; + } + + /** + * Name of the database. + */ + public String database() { + return database; + } + + public Redshift destinationType() { + return destinationType; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public Optional disableTypeDedupe() { + return disableTypeDedupe; + } + + /** + * When enabled your data will load into your final tables incrementally while your data is still being synced. When Disabled (the default), your data loads into your final tables once at the end of a sync. Note that this option only applies if you elect to create Final tables + */ + public Optional enableIncrementalFinalTableUpdates() { + return enableIncrementalFinalTableUpdates; + } + + /** + * Host Endpoint of the Redshift Cluster (must include the cluster-id, region and end with .redshift.amazonaws.com) + */ + public String host() { + return host; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Optional jdbcUrlParams() { + return jdbcUrlParams; + } + + /** + * Password associated with the username. + */ + public String password() { + return password; + } + + /** + * Port of the database. + */ + public Optional port() { + return port; + } + + /** + * The schema to write raw tables into + */ + public Optional rawDataSchema() { + return rawDataSchema; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. Unless specifically configured, the usual value for this field is "public". + */ + public Optional schema() { + return schema; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Optional tunnelMethod() { + return tunnelMethod; + } + + /** + * The way data will be uploaded to Redshift. + */ + public Optional uploadingMethod() { + return uploadingMethod; + } + + /** + * Username to use to access the database. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Name of the database. + */ + public DestinationRedshift withDatabase(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public DestinationRedshift withDisableTypeDedupe(boolean disableTypeDedupe) { + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + this.disableTypeDedupe = Optional.ofNullable(disableTypeDedupe); + return this; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public DestinationRedshift withDisableTypeDedupe(Optional disableTypeDedupe) { + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + this.disableTypeDedupe = disableTypeDedupe; + return this; + } + + /** + * When enabled your data will load into your final tables incrementally while your data is still being synced. When Disabled (the default), your data loads into your final tables once at the end of a sync. Note that this option only applies if you elect to create Final tables + */ + public DestinationRedshift withEnableIncrementalFinalTableUpdates(boolean enableIncrementalFinalTableUpdates) { + Utils.checkNotNull(enableIncrementalFinalTableUpdates, "enableIncrementalFinalTableUpdates"); + this.enableIncrementalFinalTableUpdates = Optional.ofNullable(enableIncrementalFinalTableUpdates); + return this; + } + + /** + * When enabled your data will load into your final tables incrementally while your data is still being synced. When Disabled (the default), your data loads into your final tables once at the end of a sync. Note that this option only applies if you elect to create Final tables + */ + public DestinationRedshift withEnableIncrementalFinalTableUpdates(Optional enableIncrementalFinalTableUpdates) { + Utils.checkNotNull(enableIncrementalFinalTableUpdates, "enableIncrementalFinalTableUpdates"); + this.enableIncrementalFinalTableUpdates = enableIncrementalFinalTableUpdates; + return this; + } + + /** + * Host Endpoint of the Redshift Cluster (must include the cluster-id, region and end with .redshift.amazonaws.com) + */ + public DestinationRedshift withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public DestinationRedshift withJdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public DestinationRedshift withJdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * Password associated with the username. + */ + public DestinationRedshift withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Port of the database. + */ + public DestinationRedshift withPort(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Port of the database. + */ + public DestinationRedshift withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * The schema to write raw tables into + */ + public DestinationRedshift withRawDataSchema(String rawDataSchema) { + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + this.rawDataSchema = Optional.ofNullable(rawDataSchema); + return this; + } + + /** + * The schema to write raw tables into + */ + public DestinationRedshift withRawDataSchema(Optional rawDataSchema) { + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + this.rawDataSchema = rawDataSchema; + return this; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. Unless specifically configured, the usual value for this field is "public". + */ + public DestinationRedshift withSchema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = Optional.ofNullable(schema); + return this; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. Unless specifically configured, the usual value for this field is "public". + */ + public DestinationRedshift withSchema(Optional schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public DestinationRedshift withTunnelMethod(DestinationRedshiftSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public DestinationRedshift withTunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * The way data will be uploaded to Redshift. + */ + public DestinationRedshift withUploadingMethod(UploadingMethod uploadingMethod) { + Utils.checkNotNull(uploadingMethod, "uploadingMethod"); + this.uploadingMethod = Optional.ofNullable(uploadingMethod); + return this; + } + + /** + * The way data will be uploaded to Redshift. + */ + public DestinationRedshift withUploadingMethod(Optional uploadingMethod) { + Utils.checkNotNull(uploadingMethod, "uploadingMethod"); + this.uploadingMethod = uploadingMethod; + return this; + } + + /** + * Username to use to access the database. + */ + public DestinationRedshift withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationRedshift other = (DestinationRedshift) o; + return + java.util.Objects.deepEquals(this.database, other.database) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.disableTypeDedupe, other.disableTypeDedupe) && + java.util.Objects.deepEquals(this.enableIncrementalFinalTableUpdates, other.enableIncrementalFinalTableUpdates) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.jdbcUrlParams, other.jdbcUrlParams) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.rawDataSchema, other.rawDataSchema) && + java.util.Objects.deepEquals(this.schema, other.schema) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.uploadingMethod, other.uploadingMethod) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + database, + destinationType, + disableTypeDedupe, + enableIncrementalFinalTableUpdates, + host, + jdbcUrlParams, + password, + port, + rawDataSchema, + schema, + tunnelMethod, + uploadingMethod, + username); + } + + @Override + public String toString() { + return Utils.toString(DestinationRedshift.class, + "database", database, + "destinationType", destinationType, + "disableTypeDedupe", disableTypeDedupe, + "enableIncrementalFinalTableUpdates", enableIncrementalFinalTableUpdates, + "host", host, + "jdbcUrlParams", jdbcUrlParams, + "password", password, + "port", port, + "rawDataSchema", rawDataSchema, + "schema", schema, + "tunnelMethod", tunnelMethod, + "uploadingMethod", uploadingMethod, + "username", username); + } + + public final static class Builder { + + private String database; + + private Optional disableTypeDedupe; + + private Optional enableIncrementalFinalTableUpdates; + + private String host; + + private Optional jdbcUrlParams = Optional.empty(); + + private String password; + + private Optional port; + + private Optional rawDataSchema = Optional.empty(); + + private Optional schema; + + private Optional tunnelMethod = Optional.empty(); + + private Optional uploadingMethod = Optional.empty(); + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Name of the database. + */ + public Builder database(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public Builder disableTypeDedupe(boolean disableTypeDedupe) { + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + this.disableTypeDedupe = Optional.ofNullable(disableTypeDedupe); + return this; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public Builder disableTypeDedupe(Optional disableTypeDedupe) { + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + this.disableTypeDedupe = disableTypeDedupe; + return this; + } + + /** + * When enabled your data will load into your final tables incrementally while your data is still being synced. When Disabled (the default), your data loads into your final tables once at the end of a sync. Note that this option only applies if you elect to create Final tables + */ + public Builder enableIncrementalFinalTableUpdates(boolean enableIncrementalFinalTableUpdates) { + Utils.checkNotNull(enableIncrementalFinalTableUpdates, "enableIncrementalFinalTableUpdates"); + this.enableIncrementalFinalTableUpdates = Optional.ofNullable(enableIncrementalFinalTableUpdates); + return this; + } + + /** + * When enabled your data will load into your final tables incrementally while your data is still being synced. When Disabled (the default), your data loads into your final tables once at the end of a sync. Note that this option only applies if you elect to create Final tables + */ + public Builder enableIncrementalFinalTableUpdates(Optional enableIncrementalFinalTableUpdates) { + Utils.checkNotNull(enableIncrementalFinalTableUpdates, "enableIncrementalFinalTableUpdates"); + this.enableIncrementalFinalTableUpdates = enableIncrementalFinalTableUpdates; + return this; + } + + /** + * Host Endpoint of the Redshift Cluster (must include the cluster-id, region and end with .redshift.amazonaws.com) + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * Password associated with the username. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Port of the database. + */ + public Builder port(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Port of the database. + */ + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * The schema to write raw tables into + */ + public Builder rawDataSchema(String rawDataSchema) { + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + this.rawDataSchema = Optional.ofNullable(rawDataSchema); + return this; + } + + /** + * The schema to write raw tables into + */ + public Builder rawDataSchema(Optional rawDataSchema) { + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + this.rawDataSchema = rawDataSchema; + return this; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. Unless specifically configured, the usual value for this field is "public". + */ + public Builder schema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = Optional.ofNullable(schema); + return this; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. Unless specifically configured, the usual value for this field is "public". + */ + public Builder schema(Optional schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(DestinationRedshiftSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * The way data will be uploaded to Redshift. + */ + public Builder uploadingMethod(UploadingMethod uploadingMethod) { + Utils.checkNotNull(uploadingMethod, "uploadingMethod"); + this.uploadingMethod = Optional.ofNullable(uploadingMethod); + return this; + } + + /** + * The way data will be uploaded to Redshift. + */ + public Builder uploadingMethod(Optional uploadingMethod) { + Utils.checkNotNull(uploadingMethod, "uploadingMethod"); + this.uploadingMethod = uploadingMethod; + return this; + } + + /** + * Username to use to access the database. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public DestinationRedshift build() { + if (disableTypeDedupe == null) { + disableTypeDedupe = _SINGLETON_VALUE_DisableTypeDedupe.value(); + } + if (enableIncrementalFinalTableUpdates == null) { + enableIncrementalFinalTableUpdates = _SINGLETON_VALUE_EnableIncrementalFinalTableUpdates.value(); + } + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + if (schema == null) { + schema = _SINGLETON_VALUE_Schema.value(); + } + return new DestinationRedshift( + database, + disableTypeDedupe, + enableIncrementalFinalTableUpdates, + host, + jdbcUrlParams, + password, + port, + rawDataSchema, + schema, + tunnelMethod, + uploadingMethod, + username); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"redshift\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DisableTypeDedupe = + new LazySingletonValue<>( + "disable_type_dedupe", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_EnableIncrementalFinalTableUpdates = + new LazySingletonValue<>( + "enable_incremental_final_table_updates", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "5439", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Schema = + new LazySingletonValue<>( + "schema", + "\"public\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftEncryption.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftEncryption.java new file mode 100644 index 000000000..108f1362e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftEncryption.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationRedshiftEncryption - How to encrypt the staging data + */ + +@JsonDeserialize(using = DestinationRedshiftEncryption._Deserializer.class) +public class DestinationRedshiftEncryption { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationRedshiftEncryption(TypedObject value) { + this.value = value; + } + + public static DestinationRedshiftEncryption of(NoEncryption value) { + Utils.checkNotNull(value, "value"); + return new DestinationRedshiftEncryption(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationRedshiftEncryption of(AESCBCEnvelopeEncryption value) { + Utils.checkNotNull(value, "value"); + return new DestinationRedshiftEncryption(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code NoEncryption}
    • + *
    • {@code AESCBCEnvelopeEncryption}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationRedshiftEncryption other = (DestinationRedshiftEncryption) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationRedshiftEncryption.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationRedshiftEncryption.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftEncryptionType.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftEncryptionType.java new file mode 100644 index 000000000..5304373fc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftEncryptionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationRedshiftEncryptionType { + AES_CBC_ENVELOPE("aes_cbc_envelope"); + + @JsonValue + private final String value; + + private DestinationRedshiftEncryptionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftMethod.java new file mode 100644 index 000000000..20ab716c6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationRedshiftMethod { + S3_STAGING("S3 Staging"); + + @JsonValue + private final String value; + + private DestinationRedshiftMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftNoTunnel.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftNoTunnel.java new file mode 100644 index 000000000..1b92bf80c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftNoTunnel.java @@ -0,0 +1,85 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DestinationRedshiftNoTunnel { + + /** + * No ssh tunnel needed to connect to database + */ + @JsonProperty("tunnel_method") + private DestinationRedshiftTunnelMethod tunnelMethod; + + public DestinationRedshiftNoTunnel() { + + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + } + + /** + * No ssh tunnel needed to connect to database + */ + public DestinationRedshiftTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationRedshiftNoTunnel other = (DestinationRedshiftNoTunnel) o; + return + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelMethod); + } + + @Override + public String toString() { + return Utils.toString(DestinationRedshiftNoTunnel.class, + "tunnelMethod", tunnelMethod); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationRedshiftNoTunnel build() { + return new DestinationRedshiftNoTunnel( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"NO_TUNNEL\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftPasswordAuthentication.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftPasswordAuthentication.java new file mode 100644 index 000000000..b78e1fb7c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftPasswordAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationRedshiftPasswordAuthentication { + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + @JsonProperty("tunnel_method") + private DestinationRedshiftSchemasTunnelMethodTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + /** + * OS-level password for logging into the jump server host + */ + @JsonProperty("tunnel_user_password") + private String tunnelUserPassword; + + public DestinationRedshiftPasswordAuthentication( + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser, + @JsonProperty("tunnel_user_password") String tunnelUserPassword) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + this.tunnelUserPassword = tunnelUserPassword; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + public DestinationRedshiftSchemasTunnelMethodTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host + */ + public String tunnelUser() { + return tunnelUser; + } + + /** + * OS-level password for logging into the jump server host + */ + public String tunnelUserPassword() { + return tunnelUserPassword; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public DestinationRedshiftPasswordAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationRedshiftPasswordAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationRedshiftPasswordAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public DestinationRedshiftPasswordAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public DestinationRedshiftPasswordAuthentication withTunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationRedshiftPasswordAuthentication other = (DestinationRedshiftPasswordAuthentication) o; + return + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser) && + java.util.Objects.deepEquals(this.tunnelUserPassword, other.tunnelUserPassword); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + @Override + public String toString() { + return Utils.toString(DestinationRedshiftPasswordAuthentication.class, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser, + "tunnelUserPassword", tunnelUserPassword); + } + + public final static class Builder { + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private String tunnelUserPassword; + + private Builder() { + // force use of static builder() method + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public Builder tunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + public DestinationRedshiftPasswordAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new DestinationRedshiftPasswordAuthentication( + tunnelHost, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_PASSWORD_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftS3BucketRegion.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftS3BucketRegion.java new file mode 100644 index 000000000..9d8d5b763 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftS3BucketRegion.java @@ -0,0 +1,65 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationRedshiftS3BucketRegion - The region of the S3 staging bucket. + */ +public enum DestinationRedshiftS3BucketRegion { + UNKNOWN(""), + AF_SOUTH1("af-south-1"), + AP_EAST1("ap-east-1"), + AP_NORTHEAST1("ap-northeast-1"), + AP_NORTHEAST2("ap-northeast-2"), + AP_NORTHEAST3("ap-northeast-3"), + AP_SOUTH1("ap-south-1"), + AP_SOUTH2("ap-south-2"), + AP_SOUTHEAST1("ap-southeast-1"), + AP_SOUTHEAST2("ap-southeast-2"), + AP_SOUTHEAST3("ap-southeast-3"), + AP_SOUTHEAST4("ap-southeast-4"), + CA_CENTRAL1("ca-central-1"), + CA_WEST1("ca-west-1"), + CN_NORTH1("cn-north-1"), + CN_NORTHWEST1("cn-northwest-1"), + EU_CENTRAL1("eu-central-1"), + EU_CENTRAL2("eu-central-2"), + EU_NORTH1("eu-north-1"), + EU_SOUTH1("eu-south-1"), + EU_SOUTH2("eu-south-2"), + EU_WEST1("eu-west-1"), + EU_WEST2("eu-west-2"), + EU_WEST3("eu-west-3"), + IL_CENTRAL1("il-central-1"), + ME_CENTRAL1("me-central-1"), + ME_SOUTH1("me-south-1"), + SA_EAST1("sa-east-1"), + US_EAST1("us-east-1"), + US_EAST2("us-east-2"), + US_GOV_EAST1("us-gov-east-1"), + US_GOV_WEST1("us-gov-west-1"), + US_WEST1("us-west-1"), + US_WEST2("us-west-2"); + + @JsonValue + private final String value; + + private DestinationRedshiftS3BucketRegion(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSSHKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSSHKeyAuthentication.java new file mode 100644 index 000000000..11d502de8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSSHKeyAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationRedshiftSSHKeyAuthentication { + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + @JsonProperty("ssh_key") + private String sshKey; + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + @JsonProperty("tunnel_method") + private DestinationRedshiftSchemasTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host. + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + public DestinationRedshiftSSHKeyAuthentication( + @JsonProperty("ssh_key") String sshKey, + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser) { + Utils.checkNotNull(sshKey, "sshKey"); + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.sshKey = sshKey; + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public String sshKey() { + return sshKey; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + public DestinationRedshiftSchemasTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host. + */ + public String tunnelUser() { + return tunnelUser; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public DestinationRedshiftSSHKeyAuthentication withSshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public DestinationRedshiftSSHKeyAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationRedshiftSSHKeyAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public DestinationRedshiftSSHKeyAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public DestinationRedshiftSSHKeyAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationRedshiftSSHKeyAuthentication other = (DestinationRedshiftSSHKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.sshKey, other.sshKey) && + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sshKey, + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser); + } + + @Override + public String toString() { + return Utils.toString(DestinationRedshiftSSHKeyAuthentication.class, + "sshKey", sshKey, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser); + } + + public final static class Builder { + + private String sshKey; + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private Builder() { + // force use of static builder() method + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public Builder sshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + public DestinationRedshiftSSHKeyAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new DestinationRedshiftSSHKeyAuthentication( + sshKey, + tunnelHost, + tunnelPort, + tunnelUser); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_KEY_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSSHTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSSHTunnelMethod.java new file mode 100644 index 000000000..f1a5af1de --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSSHTunnelMethod.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationRedshiftSSHTunnelMethod - Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + +@JsonDeserialize(using = DestinationRedshiftSSHTunnelMethod._Deserializer.class) +public class DestinationRedshiftSSHTunnelMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationRedshiftSSHTunnelMethod(TypedObject value) { + this.value = value; + } + + public static DestinationRedshiftSSHTunnelMethod of(DestinationRedshiftNoTunnel value) { + Utils.checkNotNull(value, "value"); + return new DestinationRedshiftSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationRedshiftSSHTunnelMethod of(DestinationRedshiftSSHKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new DestinationRedshiftSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationRedshiftSSHTunnelMethod of(DestinationRedshiftPasswordAuthentication value) { + Utils.checkNotNull(value, "value"); + return new DestinationRedshiftSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationRedshiftNoTunnel}
    • + *
    • {@code DestinationRedshiftSSHKeyAuthentication}
    • + *
    • {@code DestinationRedshiftPasswordAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationRedshiftSSHTunnelMethod other = (DestinationRedshiftSSHTunnelMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationRedshiftSSHTunnelMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationRedshiftSSHTunnelMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSchemasMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSchemasMethod.java new file mode 100644 index 000000000..957d31116 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSchemasMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationRedshiftSchemasMethod { + STANDARD("Standard"); + + @JsonValue + private final String value; + + private DestinationRedshiftSchemasMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSchemasTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSchemasTunnelMethod.java new file mode 100644 index 000000000..93b87cd4c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSchemasTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationRedshiftSchemasTunnelMethod - Connect through a jump server tunnel host using username and ssh key + */ +public enum DestinationRedshiftSchemasTunnelMethod { + SSH_KEY_AUTH("SSH_KEY_AUTH"); + + @JsonValue + private final String value; + + private DestinationRedshiftSchemasTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSchemasTunnelMethodTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSchemasTunnelMethodTunnelMethod.java new file mode 100644 index 000000000..566b8b030 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftSchemasTunnelMethodTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationRedshiftSchemasTunnelMethodTunnelMethod - Connect through a jump server tunnel host using username and password authentication + */ +public enum DestinationRedshiftSchemasTunnelMethodTunnelMethod { + SSH_PASSWORD_AUTH("SSH_PASSWORD_AUTH"); + + @JsonValue + private final String value; + + private DestinationRedshiftSchemasTunnelMethodTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftTunnelMethod.java new file mode 100644 index 000000000..cd8461633 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationRedshiftTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationRedshiftTunnelMethod - No ssh tunnel needed to connect to database + */ +public enum DestinationRedshiftTunnelMethod { + NO_TUNNEL("NO_TUNNEL"); + + @JsonValue + private final String value; + + private DestinationRedshiftTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationResponse.java b/src/main/java/com/airbyte/api/models/shared/DestinationResponse.java new file mode 100644 index 000000000..90776de54 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationResponse.java @@ -0,0 +1,214 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationResponse - Provides details of a single destination. + */ + +public class DestinationResponse { + + /** + * The values required to configure the destination. + */ + @JsonProperty("configuration") + private DestinationConfiguration configuration; + + @JsonProperty("destinationId") + private String destinationId; + + @JsonProperty("destinationType") + private String destinationType; + + @JsonProperty("name") + private String name; + + @JsonProperty("workspaceId") + private String workspaceId; + + public DestinationResponse( + @JsonProperty("configuration") DestinationConfiguration configuration, + @JsonProperty("destinationId") String destinationId, + @JsonProperty("destinationType") String destinationType, + @JsonProperty("name") String name, + @JsonProperty("workspaceId") String workspaceId) { + Utils.checkNotNull(configuration, "configuration"); + Utils.checkNotNull(destinationId, "destinationId"); + Utils.checkNotNull(destinationType, "destinationType"); + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(workspaceId, "workspaceId"); + this.configuration = configuration; + this.destinationId = destinationId; + this.destinationType = destinationType; + this.name = name; + this.workspaceId = workspaceId; + } + + /** + * The values required to configure the destination. + */ + public DestinationConfiguration configuration() { + return configuration; + } + + public String destinationId() { + return destinationId; + } + + public String destinationType() { + return destinationType; + } + + public String name() { + return name; + } + + public String workspaceId() { + return workspaceId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The values required to configure the destination. + */ + public DestinationResponse withConfiguration(DestinationConfiguration configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = configuration; + return this; + } + + public DestinationResponse withDestinationId(String destinationId) { + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationId = destinationId; + return this; + } + + public DestinationResponse withDestinationType(String destinationType) { + Utils.checkNotNull(destinationType, "destinationType"); + this.destinationType = destinationType; + return this; + } + + public DestinationResponse withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + public DestinationResponse withWorkspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationResponse other = (DestinationResponse) o; + return + java.util.Objects.deepEquals(this.configuration, other.configuration) && + java.util.Objects.deepEquals(this.destinationId, other.destinationId) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.workspaceId, other.workspaceId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + configuration, + destinationId, + destinationType, + name, + workspaceId); + } + + @Override + public String toString() { + return Utils.toString(DestinationResponse.class, + "configuration", configuration, + "destinationId", destinationId, + "destinationType", destinationType, + "name", name, + "workspaceId", workspaceId); + } + + public final static class Builder { + + private DestinationConfiguration configuration; + + private String destinationId; + + private String destinationType; + + private String name; + + private String workspaceId; + + private Builder() { + // force use of static builder() method + } + + /** + * The values required to configure the destination. + */ + public Builder configuration(DestinationConfiguration configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = configuration; + return this; + } + + public Builder destinationId(String destinationId) { + Utils.checkNotNull(destinationId, "destinationId"); + this.destinationId = destinationId; + return this; + } + + public Builder destinationType(String destinationType) { + Utils.checkNotNull(destinationType, "destinationType"); + this.destinationType = destinationType; + return this; + } + + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + public Builder workspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + public DestinationResponse build() { + return new DestinationResponse( + configuration, + destinationId, + destinationType, + name, + workspaceId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3.java new file mode 100644 index 000000000..c4e49a569 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3.java @@ -0,0 +1,572 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3 { + + /** + * The access key ID to access the S3 bucket. Airbyte requires Read and Write permissions to the given bucket. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("access_key_id") + private Optional accessKeyId; + + @JsonProperty("destinationType") + private S3 destinationType; + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("file_name_pattern") + private Optional fileNamePattern; + + /** + * Format of the data output. See <a href="https://docs.airbyte.com/integrations/destinations/s3/#supported-output-schema">here</a> for more details + */ + @JsonProperty("format") + private DestinationS3OutputFormat format; + + /** + * The name of the S3 bucket. Read more <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html">here</a>. + */ + @JsonProperty("s3_bucket_name") + private String s3BucketName; + + /** + * Directory under the S3 bucket where data will be written. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=to%20format%20the-,bucket%20path,-%3A">here</a> + */ + @JsonProperty("s3_bucket_path") + private String s3BucketPath; + + /** + * The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("s3_bucket_region") + private Optional s3BucketRegion; + + /** + * Your S3 endpoint url. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html#:~:text=Service%20endpoints-,Amazon%20S3%20endpoints,-When%20you%20use">here</a> + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("s3_endpoint") + private Optional s3Endpoint; + + /** + * Format string on how data will be organized inside the S3 bucket directory. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=The%20full%20path%20of%20the%20output%20data%20with%20the%20default%20S3%20path%20format">here</a> + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("s3_path_format") + private Optional s3PathFormat; + + /** + * The corresponding secret to the access key ID. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a> + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("secret_access_key") + private Optional secretAccessKey; + + public DestinationS3( + @JsonProperty("access_key_id") Optional accessKeyId, + @JsonProperty("file_name_pattern") Optional fileNamePattern, + @JsonProperty("format") DestinationS3OutputFormat format, + @JsonProperty("s3_bucket_name") String s3BucketName, + @JsonProperty("s3_bucket_path") String s3BucketPath, + @JsonProperty("s3_bucket_region") Optional s3BucketRegion, + @JsonProperty("s3_endpoint") Optional s3Endpoint, + @JsonProperty("s3_path_format") Optional s3PathFormat, + @JsonProperty("secret_access_key") Optional secretAccessKey) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + Utils.checkNotNull(format, "format"); + Utils.checkNotNull(s3BucketName, "s3BucketName"); + Utils.checkNotNull(s3BucketPath, "s3BucketPath"); + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + Utils.checkNotNull(s3Endpoint, "s3Endpoint"); + Utils.checkNotNull(s3PathFormat, "s3PathFormat"); + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.accessKeyId = accessKeyId; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.fileNamePattern = fileNamePattern; + this.format = format; + this.s3BucketName = s3BucketName; + this.s3BucketPath = s3BucketPath; + this.s3BucketRegion = s3BucketRegion; + this.s3Endpoint = s3Endpoint; + this.s3PathFormat = s3PathFormat; + this.secretAccessKey = secretAccessKey; + } + + /** + * The access key ID to access the S3 bucket. Airbyte requires Read and Write permissions to the given bucket. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a>. + */ + public Optional accessKeyId() { + return accessKeyId; + } + + public S3 destinationType() { + return destinationType; + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public Optional fileNamePattern() { + return fileNamePattern; + } + + /** + * Format of the data output. See <a href="https://docs.airbyte.com/integrations/destinations/s3/#supported-output-schema">here</a> for more details + */ + public DestinationS3OutputFormat format() { + return format; + } + + /** + * The name of the S3 bucket. Read more <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html">here</a>. + */ + public String s3BucketName() { + return s3BucketName; + } + + /** + * Directory under the S3 bucket where data will be written. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=to%20format%20the-,bucket%20path,-%3A">here</a> + */ + public String s3BucketPath() { + return s3BucketPath; + } + + /** + * The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ + public Optional s3BucketRegion() { + return s3BucketRegion; + } + + /** + * Your S3 endpoint url. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html#:~:text=Service%20endpoints-,Amazon%20S3%20endpoints,-When%20you%20use">here</a> + */ + public Optional s3Endpoint() { + return s3Endpoint; + } + + /** + * Format string on how data will be organized inside the S3 bucket directory. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=The%20full%20path%20of%20the%20output%20data%20with%20the%20default%20S3%20path%20format">here</a> + */ + public Optional s3PathFormat() { + return s3PathFormat; + } + + /** + * The corresponding secret to the access key ID. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a> + */ + public Optional secretAccessKey() { + return secretAccessKey; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The access key ID to access the S3 bucket. Airbyte requires Read and Write permissions to the given bucket. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a>. + */ + public DestinationS3 withAccessKeyId(String accessKeyId) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + this.accessKeyId = Optional.ofNullable(accessKeyId); + return this; + } + + /** + * The access key ID to access the S3 bucket. Airbyte requires Read and Write permissions to the given bucket. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a>. + */ + public DestinationS3 withAccessKeyId(Optional accessKeyId) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + this.accessKeyId = accessKeyId; + return this; + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public DestinationS3 withFileNamePattern(String fileNamePattern) { + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + this.fileNamePattern = Optional.ofNullable(fileNamePattern); + return this; + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public DestinationS3 withFileNamePattern(Optional fileNamePattern) { + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + this.fileNamePattern = fileNamePattern; + return this; + } + + /** + * Format of the data output. See <a href="https://docs.airbyte.com/integrations/destinations/s3/#supported-output-schema">here</a> for more details + */ + public DestinationS3 withFormat(DestinationS3OutputFormat format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * The name of the S3 bucket. Read more <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html">here</a>. + */ + public DestinationS3 withS3BucketName(String s3BucketName) { + Utils.checkNotNull(s3BucketName, "s3BucketName"); + this.s3BucketName = s3BucketName; + return this; + } + + /** + * Directory under the S3 bucket where data will be written. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=to%20format%20the-,bucket%20path,-%3A">here</a> + */ + public DestinationS3 withS3BucketPath(String s3BucketPath) { + Utils.checkNotNull(s3BucketPath, "s3BucketPath"); + this.s3BucketPath = s3BucketPath; + return this; + } + + /** + * The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ + public DestinationS3 withS3BucketRegion(DestinationS3S3BucketRegion s3BucketRegion) { + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + this.s3BucketRegion = Optional.ofNullable(s3BucketRegion); + return this; + } + + /** + * The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ + public DestinationS3 withS3BucketRegion(Optional s3BucketRegion) { + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + this.s3BucketRegion = s3BucketRegion; + return this; + } + + /** + * Your S3 endpoint url. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html#:~:text=Service%20endpoints-,Amazon%20S3%20endpoints,-When%20you%20use">here</a> + */ + public DestinationS3 withS3Endpoint(String s3Endpoint) { + Utils.checkNotNull(s3Endpoint, "s3Endpoint"); + this.s3Endpoint = Optional.ofNullable(s3Endpoint); + return this; + } + + /** + * Your S3 endpoint url. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html#:~:text=Service%20endpoints-,Amazon%20S3%20endpoints,-When%20you%20use">here</a> + */ + public DestinationS3 withS3Endpoint(Optional s3Endpoint) { + Utils.checkNotNull(s3Endpoint, "s3Endpoint"); + this.s3Endpoint = s3Endpoint; + return this; + } + + /** + * Format string on how data will be organized inside the S3 bucket directory. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=The%20full%20path%20of%20the%20output%20data%20with%20the%20default%20S3%20path%20format">here</a> + */ + public DestinationS3 withS3PathFormat(String s3PathFormat) { + Utils.checkNotNull(s3PathFormat, "s3PathFormat"); + this.s3PathFormat = Optional.ofNullable(s3PathFormat); + return this; + } + + /** + * Format string on how data will be organized inside the S3 bucket directory. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=The%20full%20path%20of%20the%20output%20data%20with%20the%20default%20S3%20path%20format">here</a> + */ + public DestinationS3 withS3PathFormat(Optional s3PathFormat) { + Utils.checkNotNull(s3PathFormat, "s3PathFormat"); + this.s3PathFormat = s3PathFormat; + return this; + } + + /** + * The corresponding secret to the access key ID. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a> + */ + public DestinationS3 withSecretAccessKey(String secretAccessKey) { + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.secretAccessKey = Optional.ofNullable(secretAccessKey); + return this; + } + + /** + * The corresponding secret to the access key ID. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a> + */ + public DestinationS3 withSecretAccessKey(Optional secretAccessKey) { + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.secretAccessKey = secretAccessKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3 other = (DestinationS3) o; + return + java.util.Objects.deepEquals(this.accessKeyId, other.accessKeyId) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.fileNamePattern, other.fileNamePattern) && + java.util.Objects.deepEquals(this.format, other.format) && + java.util.Objects.deepEquals(this.s3BucketName, other.s3BucketName) && + java.util.Objects.deepEquals(this.s3BucketPath, other.s3BucketPath) && + java.util.Objects.deepEquals(this.s3BucketRegion, other.s3BucketRegion) && + java.util.Objects.deepEquals(this.s3Endpoint, other.s3Endpoint) && + java.util.Objects.deepEquals(this.s3PathFormat, other.s3PathFormat) && + java.util.Objects.deepEquals(this.secretAccessKey, other.secretAccessKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessKeyId, + destinationType, + fileNamePattern, + format, + s3BucketName, + s3BucketPath, + s3BucketRegion, + s3Endpoint, + s3PathFormat, + secretAccessKey); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3.class, + "accessKeyId", accessKeyId, + "destinationType", destinationType, + "fileNamePattern", fileNamePattern, + "format", format, + "s3BucketName", s3BucketName, + "s3BucketPath", s3BucketPath, + "s3BucketRegion", s3BucketRegion, + "s3Endpoint", s3Endpoint, + "s3PathFormat", s3PathFormat, + "secretAccessKey", secretAccessKey); + } + + public final static class Builder { + + private Optional accessKeyId = Optional.empty(); + + private Optional fileNamePattern = Optional.empty(); + + private DestinationS3OutputFormat format; + + private String s3BucketName; + + private String s3BucketPath; + + private Optional s3BucketRegion; + + private Optional s3Endpoint; + + private Optional s3PathFormat = Optional.empty(); + + private Optional secretAccessKey = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The access key ID to access the S3 bucket. Airbyte requires Read and Write permissions to the given bucket. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a>. + */ + public Builder accessKeyId(String accessKeyId) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + this.accessKeyId = Optional.ofNullable(accessKeyId); + return this; + } + + /** + * The access key ID to access the S3 bucket. Airbyte requires Read and Write permissions to the given bucket. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a>. + */ + public Builder accessKeyId(Optional accessKeyId) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + this.accessKeyId = accessKeyId; + return this; + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public Builder fileNamePattern(String fileNamePattern) { + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + this.fileNamePattern = Optional.ofNullable(fileNamePattern); + return this; + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public Builder fileNamePattern(Optional fileNamePattern) { + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + this.fileNamePattern = fileNamePattern; + return this; + } + + /** + * Format of the data output. See <a href="https://docs.airbyte.com/integrations/destinations/s3/#supported-output-schema">here</a> for more details + */ + public Builder format(DestinationS3OutputFormat format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * The name of the S3 bucket. Read more <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html">here</a>. + */ + public Builder s3BucketName(String s3BucketName) { + Utils.checkNotNull(s3BucketName, "s3BucketName"); + this.s3BucketName = s3BucketName; + return this; + } + + /** + * Directory under the S3 bucket where data will be written. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=to%20format%20the-,bucket%20path,-%3A">here</a> + */ + public Builder s3BucketPath(String s3BucketPath) { + Utils.checkNotNull(s3BucketPath, "s3BucketPath"); + this.s3BucketPath = s3BucketPath; + return this; + } + + /** + * The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ + public Builder s3BucketRegion(DestinationS3S3BucketRegion s3BucketRegion) { + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + this.s3BucketRegion = Optional.ofNullable(s3BucketRegion); + return this; + } + + /** + * The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ + public Builder s3BucketRegion(Optional s3BucketRegion) { + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + this.s3BucketRegion = s3BucketRegion; + return this; + } + + /** + * Your S3 endpoint url. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html#:~:text=Service%20endpoints-,Amazon%20S3%20endpoints,-When%20you%20use">here</a> + */ + public Builder s3Endpoint(String s3Endpoint) { + Utils.checkNotNull(s3Endpoint, "s3Endpoint"); + this.s3Endpoint = Optional.ofNullable(s3Endpoint); + return this; + } + + /** + * Your S3 endpoint url. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html#:~:text=Service%20endpoints-,Amazon%20S3%20endpoints,-When%20you%20use">here</a> + */ + public Builder s3Endpoint(Optional s3Endpoint) { + Utils.checkNotNull(s3Endpoint, "s3Endpoint"); + this.s3Endpoint = s3Endpoint; + return this; + } + + /** + * Format string on how data will be organized inside the S3 bucket directory. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=The%20full%20path%20of%20the%20output%20data%20with%20the%20default%20S3%20path%20format">here</a> + */ + public Builder s3PathFormat(String s3PathFormat) { + Utils.checkNotNull(s3PathFormat, "s3PathFormat"); + this.s3PathFormat = Optional.ofNullable(s3PathFormat); + return this; + } + + /** + * Format string on how data will be organized inside the S3 bucket directory. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=The%20full%20path%20of%20the%20output%20data%20with%20the%20default%20S3%20path%20format">here</a> + */ + public Builder s3PathFormat(Optional s3PathFormat) { + Utils.checkNotNull(s3PathFormat, "s3PathFormat"); + this.s3PathFormat = s3PathFormat; + return this; + } + + /** + * The corresponding secret to the access key ID. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a> + */ + public Builder secretAccessKey(String secretAccessKey) { + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.secretAccessKey = Optional.ofNullable(secretAccessKey); + return this; + } + + /** + * The corresponding secret to the access key ID. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a> + */ + public Builder secretAccessKey(Optional secretAccessKey) { + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.secretAccessKey = secretAccessKey; + return this; + } + + public DestinationS3 build() { + if (s3BucketRegion == null) { + s3BucketRegion = _SINGLETON_VALUE_S3BucketRegion.value(); + } + if (s3Endpoint == null) { + s3Endpoint = _SINGLETON_VALUE_S3Endpoint.value(); + } + return new DestinationS3( + accessKeyId, + fileNamePattern, + format, + s3BucketName, + s3BucketPath, + s3BucketRegion, + s3Endpoint, + s3PathFormat, + secretAccessKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"s3\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_S3BucketRegion = + new LazySingletonValue<>( + "s3_bucket_region", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_S3Endpoint = + new LazySingletonValue<>( + "s3_endpoint", + "\"\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3AvroApacheAvro.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3AvroApacheAvro.java new file mode 100644 index 000000000..395c64bed --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3AvroApacheAvro.java @@ -0,0 +1,153 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3AvroApacheAvro { + + /** + * The compression algorithm used to compress data. Default to no compression. + */ + @JsonProperty("compression_codec") + private DestinationS3CompressionCodec compressionCodec; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("format_type") + private Optional formatType; + + public DestinationS3AvroApacheAvro( + @JsonProperty("compression_codec") DestinationS3CompressionCodec compressionCodec, + @JsonProperty("format_type") Optional formatType) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + Utils.checkNotNull(formatType, "formatType"); + this.compressionCodec = compressionCodec; + this.formatType = formatType; + } + + /** + * The compression algorithm used to compress data. Default to no compression. + */ + public DestinationS3CompressionCodec compressionCodec() { + return compressionCodec; + } + + public Optional formatType() { + return formatType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The compression algorithm used to compress data. Default to no compression. + */ + public DestinationS3AvroApacheAvro withCompressionCodec(DestinationS3CompressionCodec compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = compressionCodec; + return this; + } + + public DestinationS3AvroApacheAvro withFormatType(DestinationS3SchemasFormatFormatType formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public DestinationS3AvroApacheAvro withFormatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3AvroApacheAvro other = (DestinationS3AvroApacheAvro) o; + return + java.util.Objects.deepEquals(this.compressionCodec, other.compressionCodec) && + java.util.Objects.deepEquals(this.formatType, other.formatType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compressionCodec, + formatType); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3AvroApacheAvro.class, + "compressionCodec", compressionCodec, + "formatType", formatType); + } + + public final static class Builder { + + private DestinationS3CompressionCodec compressionCodec; + + private Optional formatType; + + private Builder() { + // force use of static builder() method + } + + /** + * The compression algorithm used to compress data. Default to no compression. + */ + public Builder compressionCodec(DestinationS3CompressionCodec compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = compressionCodec; + return this; + } + + public Builder formatType(DestinationS3SchemasFormatFormatType formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public Builder formatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + public DestinationS3AvroApacheAvro build() { + if (formatType == null) { + formatType = _SINGLETON_VALUE_FormatType.value(); + } + return new DestinationS3AvroApacheAvro( + compressionCodec, + formatType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_FormatType = + new LazySingletonValue<>( + "format_type", + "\"Avro\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3Bzip2.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3Bzip2.java new file mode 100644 index 000000000..9a57a91e3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3Bzip2.java @@ -0,0 +1,113 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3Bzip2 { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("codec") + private Optional codec; + + public DestinationS3Bzip2( + @JsonProperty("codec") Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + } + + public Optional codec() { + return codec; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationS3Bzip2 withCodec(DestinationS3SchemasFormatCodec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public DestinationS3Bzip2 withCodec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3Bzip2 other = (DestinationS3Bzip2) o; + return + java.util.Objects.deepEquals(this.codec, other.codec); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + codec); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3Bzip2.class, + "codec", codec); + } + + public final static class Builder { + + private Optional codec; + + private Builder() { + // force use of static builder() method + } + + public Builder codec(DestinationS3SchemasFormatCodec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public Builder codec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + public DestinationS3Bzip2 build() { + if (codec == null) { + codec = _SINGLETON_VALUE_Codec.value(); + } + return new DestinationS3Bzip2( + codec); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Codec = + new LazySingletonValue<>( + "codec", + "\"bzip2\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3CSVCommaSeparatedValues.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3CSVCommaSeparatedValues.java new file mode 100644 index 000000000..709b2c7c2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3CSVCommaSeparatedValues.java @@ -0,0 +1,240 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3CSVCommaSeparatedValues { + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".csv.gz"). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression") + private Optional compression; + + /** + * Whether the input json data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("flattening") + private Optional flattening; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("format_type") + private Optional formatType; + + public DestinationS3CSVCommaSeparatedValues( + @JsonProperty("compression") Optional compression, + @JsonProperty("flattening") Optional flattening, + @JsonProperty("format_type") Optional formatType) { + Utils.checkNotNull(compression, "compression"); + Utils.checkNotNull(flattening, "flattening"); + Utils.checkNotNull(formatType, "formatType"); + this.compression = compression; + this.flattening = flattening; + this.formatType = formatType; + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".csv.gz"). + */ + public Optional compression() { + return compression; + } + + /** + * Whether the input json data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ + public Optional flattening() { + return flattening; + } + + public Optional formatType() { + return formatType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".csv.gz"). + */ + public DestinationS3CSVCommaSeparatedValues withCompression(DestinationS3Compression compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = Optional.ofNullable(compression); + return this; + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".csv.gz"). + */ + public DestinationS3CSVCommaSeparatedValues withCompression(Optional compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = compression; + return this; + } + + /** + * Whether the input json data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ + public DestinationS3CSVCommaSeparatedValues withFlattening(DestinationS3Flattening flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = Optional.ofNullable(flattening); + return this; + } + + /** + * Whether the input json data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ + public DestinationS3CSVCommaSeparatedValues withFlattening(Optional flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = flattening; + return this; + } + + public DestinationS3CSVCommaSeparatedValues withFormatType(DestinationS3FormatType formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public DestinationS3CSVCommaSeparatedValues withFormatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3CSVCommaSeparatedValues other = (DestinationS3CSVCommaSeparatedValues) o; + return + java.util.Objects.deepEquals(this.compression, other.compression) && + java.util.Objects.deepEquals(this.flattening, other.flattening) && + java.util.Objects.deepEquals(this.formatType, other.formatType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compression, + flattening, + formatType); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3CSVCommaSeparatedValues.class, + "compression", compression, + "flattening", flattening, + "formatType", formatType); + } + + public final static class Builder { + + private Optional compression = Optional.empty(); + + private Optional flattening; + + private Optional formatType; + + private Builder() { + // force use of static builder() method + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".csv.gz"). + */ + public Builder compression(DestinationS3Compression compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = Optional.ofNullable(compression); + return this; + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".csv.gz"). + */ + public Builder compression(Optional compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = compression; + return this; + } + + /** + * Whether the input json data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ + public Builder flattening(DestinationS3Flattening flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = Optional.ofNullable(flattening); + return this; + } + + /** + * Whether the input json data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ + public Builder flattening(Optional flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = flattening; + return this; + } + + public Builder formatType(DestinationS3FormatType formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public Builder formatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + public DestinationS3CSVCommaSeparatedValues build() { + if (flattening == null) { + flattening = _SINGLETON_VALUE_Flattening.value(); + } + if (formatType == null) { + formatType = _SINGLETON_VALUE_FormatType.value(); + } + return new DestinationS3CSVCommaSeparatedValues( + compression, + flattening, + formatType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Flattening = + new LazySingletonValue<>( + "flattening", + "\"No flattening\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_FormatType = + new LazySingletonValue<>( + "format_type", + "\"CSV\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3Codec.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3Codec.java new file mode 100644 index 000000000..9ea6f8bca --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3Codec.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationS3Codec { + NO_COMPRESSION("no compression"); + + @JsonValue + private final String value; + + private DestinationS3Codec(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3Compression.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3Compression.java new file mode 100644 index 000000000..1c0e89925 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3Compression.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationS3Compression - Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".csv.gz"). + */ + +@JsonDeserialize(using = DestinationS3Compression._Deserializer.class) +public class DestinationS3Compression { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationS3Compression(TypedObject value) { + this.value = value; + } + + public static DestinationS3Compression of(DestinationS3NoCompression value) { + Utils.checkNotNull(value, "value"); + return new DestinationS3Compression(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationS3Compression of(DestinationS3GZIP value) { + Utils.checkNotNull(value, "value"); + return new DestinationS3Compression(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationS3NoCompression}
    • + *
    • {@code DestinationS3GZIP}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3Compression other = (DestinationS3Compression) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationS3Compression.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationS3Compression.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3CompressionCodec.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3CompressionCodec.java new file mode 100644 index 000000000..064d42032 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3CompressionCodec.java @@ -0,0 +1,129 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationS3CompressionCodec - The compression algorithm used to compress data. Default to no compression. + */ + +@JsonDeserialize(using = DestinationS3CompressionCodec._Deserializer.class) +public class DestinationS3CompressionCodec { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationS3CompressionCodec(TypedObject value) { + this.value = value; + } + + public static DestinationS3CompressionCodec of(DestinationS3SchemasFormatNoCompression value) { + Utils.checkNotNull(value, "value"); + return new DestinationS3CompressionCodec(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationS3CompressionCodec of(DestinationS3Deflate value) { + Utils.checkNotNull(value, "value"); + return new DestinationS3CompressionCodec(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationS3CompressionCodec of(DestinationS3Bzip2 value) { + Utils.checkNotNull(value, "value"); + return new DestinationS3CompressionCodec(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationS3CompressionCodec of(DestinationS3Xz value) { + Utils.checkNotNull(value, "value"); + return new DestinationS3CompressionCodec(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationS3CompressionCodec of(DestinationS3Zstandard value) { + Utils.checkNotNull(value, "value"); + return new DestinationS3CompressionCodec(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationS3CompressionCodec of(DestinationS3Snappy value) { + Utils.checkNotNull(value, "value"); + return new DestinationS3CompressionCodec(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationS3SchemasFormatNoCompression}
    • + *
    • {@code DestinationS3Deflate}
    • + *
    • {@code DestinationS3Bzip2}
    • + *
    • {@code DestinationS3Xz}
    • + *
    • {@code DestinationS3Zstandard}
    • + *
    • {@code DestinationS3Snappy}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3CompressionCodec other = (DestinationS3CompressionCodec) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationS3CompressionCodec.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationS3CompressionCodec.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3CompressionType.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3CompressionType.java new file mode 100644 index 000000000..51acafc56 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3CompressionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationS3CompressionType { + NO_COMPRESSION("No Compression"); + + @JsonValue + private final String value; + + private DestinationS3CompressionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3Deflate.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3Deflate.java new file mode 100644 index 000000000..8792f5532 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3Deflate.java @@ -0,0 +1,181 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3Deflate { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("codec") + private Optional codec; + + /** + * 0: no compression & fastest, 9: best compression & slowest. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_level") + private Optional compressionLevel; + + public DestinationS3Deflate( + @JsonProperty("codec") Optional codec, + @JsonProperty("compression_level") Optional compressionLevel) { + Utils.checkNotNull(codec, "codec"); + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.codec = codec; + this.compressionLevel = compressionLevel; + } + + public Optional codec() { + return codec; + } + + /** + * 0: no compression & fastest, 9: best compression & slowest. + */ + public Optional compressionLevel() { + return compressionLevel; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationS3Deflate withCodec(DestinationS3SchemasCodec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public DestinationS3Deflate withCodec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + /** + * 0: no compression & fastest, 9: best compression & slowest. + */ + public DestinationS3Deflate withCompressionLevel(long compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = Optional.ofNullable(compressionLevel); + return this; + } + + /** + * 0: no compression & fastest, 9: best compression & slowest. + */ + public DestinationS3Deflate withCompressionLevel(Optional compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = compressionLevel; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3Deflate other = (DestinationS3Deflate) o; + return + java.util.Objects.deepEquals(this.codec, other.codec) && + java.util.Objects.deepEquals(this.compressionLevel, other.compressionLevel); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + codec, + compressionLevel); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3Deflate.class, + "codec", codec, + "compressionLevel", compressionLevel); + } + + public final static class Builder { + + private Optional codec; + + private Optional compressionLevel; + + private Builder() { + // force use of static builder() method + } + + public Builder codec(DestinationS3SchemasCodec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public Builder codec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + /** + * 0: no compression & fastest, 9: best compression & slowest. + */ + public Builder compressionLevel(long compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = Optional.ofNullable(compressionLevel); + return this; + } + + /** + * 0: no compression & fastest, 9: best compression & slowest. + */ + public Builder compressionLevel(Optional compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = compressionLevel; + return this; + } + + public DestinationS3Deflate build() { + if (codec == null) { + codec = _SINGLETON_VALUE_Codec.value(); + } + if (compressionLevel == null) { + compressionLevel = _SINGLETON_VALUE_CompressionLevel.value(); + } + return new DestinationS3Deflate( + codec, + compressionLevel); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Codec = + new LazySingletonValue<>( + "codec", + "\"Deflate\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionLevel = + new LazySingletonValue<>( + "compression_level", + "0", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3Flattening.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3Flattening.java new file mode 100644 index 000000000..fc767bc48 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3Flattening.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationS3Flattening - Whether the input json data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ +public enum DestinationS3Flattening { + NO_FLATTENING("No flattening"), + ROOT_LEVEL_FLATTENING("Root level flattening"); + + @JsonValue + private final String value; + + private DestinationS3Flattening(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3FormatType.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3FormatType.java new file mode 100644 index 000000000..2ae8305b7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3FormatType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationS3FormatType { + CSV("CSV"); + + @JsonValue + private final String value; + + private DestinationS3FormatType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3GZIP.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3GZIP.java new file mode 100644 index 000000000..ee280fc81 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3GZIP.java @@ -0,0 +1,113 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3GZIP { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_type") + private Optional compressionType; + + public DestinationS3GZIP( + @JsonProperty("compression_type") Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + } + + public Optional compressionType() { + return compressionType; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationS3GZIP withCompressionType(DestinationS3SchemasCompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public DestinationS3GZIP withCompressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3GZIP other = (DestinationS3GZIP) o; + return + java.util.Objects.deepEquals(this.compressionType, other.compressionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compressionType); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3GZIP.class, + "compressionType", compressionType); + } + + public final static class Builder { + + private Optional compressionType; + + private Builder() { + // force use of static builder() method + } + + public Builder compressionType(DestinationS3SchemasCompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public Builder compressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + public DestinationS3GZIP build() { + if (compressionType == null) { + compressionType = _SINGLETON_VALUE_CompressionType.value(); + } + return new DestinationS3GZIP( + compressionType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionType = + new LazySingletonValue<>( + "compression_type", + "\"GZIP\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3Glue.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3Glue.java new file mode 100644 index 000000000..ddf81fe5c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3Glue.java @@ -0,0 +1,680 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3Glue { + + /** + * The access key ID to access the S3 bucket. Airbyte requires Read and Write permissions to the given bucket. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("access_key_id") + private Optional accessKeyId; + + @JsonProperty("destinationType") + private S3Glue destinationType; + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("file_name_pattern") + private Optional fileNamePattern; + + /** + * Format of the data output. See <a href="https://docs.airbyte.com/integrations/destinations/s3/#supported-output-schema">here</a> for more details + */ + @JsonProperty("format") + private DestinationS3GlueOutputFormat format; + + /** + * Name of the glue database for creating the tables, leave blank if no integration + */ + @JsonProperty("glue_database") + private String glueDatabase; + + /** + * The library that your query engine will use for reading and writing data in your lake. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("glue_serialization_library") + private Optional glueSerializationLibrary; + + /** + * The name of the S3 bucket. Read more <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html">here</a>. + */ + @JsonProperty("s3_bucket_name") + private String s3BucketName; + + /** + * Directory under the S3 bucket where data will be written. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=to%20format%20the-,bucket%20path,-%3A">here</a> + */ + @JsonProperty("s3_bucket_path") + private String s3BucketPath; + + /** + * The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("s3_bucket_region") + private Optional s3BucketRegion; + + /** + * Your S3 endpoint url. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html#:~:text=Service%20endpoints-,Amazon%20S3%20endpoints,-When%20you%20use">here</a> + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("s3_endpoint") + private Optional s3Endpoint; + + /** + * Format string on how data will be organized inside the S3 bucket directory. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=The%20full%20path%20of%20the%20output%20data%20with%20the%20default%20S3%20path%20format">here</a> + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("s3_path_format") + private Optional s3PathFormat; + + /** + * The corresponding secret to the access key ID. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a> + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("secret_access_key") + private Optional secretAccessKey; + + public DestinationS3Glue( + @JsonProperty("access_key_id") Optional accessKeyId, + @JsonProperty("file_name_pattern") Optional fileNamePattern, + @JsonProperty("format") DestinationS3GlueOutputFormat format, + @JsonProperty("glue_database") String glueDatabase, + @JsonProperty("glue_serialization_library") Optional glueSerializationLibrary, + @JsonProperty("s3_bucket_name") String s3BucketName, + @JsonProperty("s3_bucket_path") String s3BucketPath, + @JsonProperty("s3_bucket_region") Optional s3BucketRegion, + @JsonProperty("s3_endpoint") Optional s3Endpoint, + @JsonProperty("s3_path_format") Optional s3PathFormat, + @JsonProperty("secret_access_key") Optional secretAccessKey) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + Utils.checkNotNull(format, "format"); + Utils.checkNotNull(glueDatabase, "glueDatabase"); + Utils.checkNotNull(glueSerializationLibrary, "glueSerializationLibrary"); + Utils.checkNotNull(s3BucketName, "s3BucketName"); + Utils.checkNotNull(s3BucketPath, "s3BucketPath"); + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + Utils.checkNotNull(s3Endpoint, "s3Endpoint"); + Utils.checkNotNull(s3PathFormat, "s3PathFormat"); + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.accessKeyId = accessKeyId; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.fileNamePattern = fileNamePattern; + this.format = format; + this.glueDatabase = glueDatabase; + this.glueSerializationLibrary = glueSerializationLibrary; + this.s3BucketName = s3BucketName; + this.s3BucketPath = s3BucketPath; + this.s3BucketRegion = s3BucketRegion; + this.s3Endpoint = s3Endpoint; + this.s3PathFormat = s3PathFormat; + this.secretAccessKey = secretAccessKey; + } + + /** + * The access key ID to access the S3 bucket. Airbyte requires Read and Write permissions to the given bucket. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a>. + */ + public Optional accessKeyId() { + return accessKeyId; + } + + public S3Glue destinationType() { + return destinationType; + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public Optional fileNamePattern() { + return fileNamePattern; + } + + /** + * Format of the data output. See <a href="https://docs.airbyte.com/integrations/destinations/s3/#supported-output-schema">here</a> for more details + */ + public DestinationS3GlueOutputFormat format() { + return format; + } + + /** + * Name of the glue database for creating the tables, leave blank if no integration + */ + public String glueDatabase() { + return glueDatabase; + } + + /** + * The library that your query engine will use for reading and writing data in your lake. + */ + public Optional glueSerializationLibrary() { + return glueSerializationLibrary; + } + + /** + * The name of the S3 bucket. Read more <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html">here</a>. + */ + public String s3BucketName() { + return s3BucketName; + } + + /** + * Directory under the S3 bucket where data will be written. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=to%20format%20the-,bucket%20path,-%3A">here</a> + */ + public String s3BucketPath() { + return s3BucketPath; + } + + /** + * The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ + public Optional s3BucketRegion() { + return s3BucketRegion; + } + + /** + * Your S3 endpoint url. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html#:~:text=Service%20endpoints-,Amazon%20S3%20endpoints,-When%20you%20use">here</a> + */ + public Optional s3Endpoint() { + return s3Endpoint; + } + + /** + * Format string on how data will be organized inside the S3 bucket directory. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=The%20full%20path%20of%20the%20output%20data%20with%20the%20default%20S3%20path%20format">here</a> + */ + public Optional s3PathFormat() { + return s3PathFormat; + } + + /** + * The corresponding secret to the access key ID. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a> + */ + public Optional secretAccessKey() { + return secretAccessKey; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The access key ID to access the S3 bucket. Airbyte requires Read and Write permissions to the given bucket. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a>. + */ + public DestinationS3Glue withAccessKeyId(String accessKeyId) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + this.accessKeyId = Optional.ofNullable(accessKeyId); + return this; + } + + /** + * The access key ID to access the S3 bucket. Airbyte requires Read and Write permissions to the given bucket. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a>. + */ + public DestinationS3Glue withAccessKeyId(Optional accessKeyId) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + this.accessKeyId = accessKeyId; + return this; + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public DestinationS3Glue withFileNamePattern(String fileNamePattern) { + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + this.fileNamePattern = Optional.ofNullable(fileNamePattern); + return this; + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public DestinationS3Glue withFileNamePattern(Optional fileNamePattern) { + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + this.fileNamePattern = fileNamePattern; + return this; + } + + /** + * Format of the data output. See <a href="https://docs.airbyte.com/integrations/destinations/s3/#supported-output-schema">here</a> for more details + */ + public DestinationS3Glue withFormat(DestinationS3GlueOutputFormat format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * Name of the glue database for creating the tables, leave blank if no integration + */ + public DestinationS3Glue withGlueDatabase(String glueDatabase) { + Utils.checkNotNull(glueDatabase, "glueDatabase"); + this.glueDatabase = glueDatabase; + return this; + } + + /** + * The library that your query engine will use for reading and writing data in your lake. + */ + public DestinationS3Glue withGlueSerializationLibrary(SerializationLibrary glueSerializationLibrary) { + Utils.checkNotNull(glueSerializationLibrary, "glueSerializationLibrary"); + this.glueSerializationLibrary = Optional.ofNullable(glueSerializationLibrary); + return this; + } + + /** + * The library that your query engine will use for reading and writing data in your lake. + */ + public DestinationS3Glue withGlueSerializationLibrary(Optional glueSerializationLibrary) { + Utils.checkNotNull(glueSerializationLibrary, "glueSerializationLibrary"); + this.glueSerializationLibrary = glueSerializationLibrary; + return this; + } + + /** + * The name of the S3 bucket. Read more <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html">here</a>. + */ + public DestinationS3Glue withS3BucketName(String s3BucketName) { + Utils.checkNotNull(s3BucketName, "s3BucketName"); + this.s3BucketName = s3BucketName; + return this; + } + + /** + * Directory under the S3 bucket where data will be written. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=to%20format%20the-,bucket%20path,-%3A">here</a> + */ + public DestinationS3Glue withS3BucketPath(String s3BucketPath) { + Utils.checkNotNull(s3BucketPath, "s3BucketPath"); + this.s3BucketPath = s3BucketPath; + return this; + } + + /** + * The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ + public DestinationS3Glue withS3BucketRegion(DestinationS3GlueS3BucketRegion s3BucketRegion) { + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + this.s3BucketRegion = Optional.ofNullable(s3BucketRegion); + return this; + } + + /** + * The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ + public DestinationS3Glue withS3BucketRegion(Optional s3BucketRegion) { + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + this.s3BucketRegion = s3BucketRegion; + return this; + } + + /** + * Your S3 endpoint url. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html#:~:text=Service%20endpoints-,Amazon%20S3%20endpoints,-When%20you%20use">here</a> + */ + public DestinationS3Glue withS3Endpoint(String s3Endpoint) { + Utils.checkNotNull(s3Endpoint, "s3Endpoint"); + this.s3Endpoint = Optional.ofNullable(s3Endpoint); + return this; + } + + /** + * Your S3 endpoint url. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html#:~:text=Service%20endpoints-,Amazon%20S3%20endpoints,-When%20you%20use">here</a> + */ + public DestinationS3Glue withS3Endpoint(Optional s3Endpoint) { + Utils.checkNotNull(s3Endpoint, "s3Endpoint"); + this.s3Endpoint = s3Endpoint; + return this; + } + + /** + * Format string on how data will be organized inside the S3 bucket directory. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=The%20full%20path%20of%20the%20output%20data%20with%20the%20default%20S3%20path%20format">here</a> + */ + public DestinationS3Glue withS3PathFormat(String s3PathFormat) { + Utils.checkNotNull(s3PathFormat, "s3PathFormat"); + this.s3PathFormat = Optional.ofNullable(s3PathFormat); + return this; + } + + /** + * Format string on how data will be organized inside the S3 bucket directory. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=The%20full%20path%20of%20the%20output%20data%20with%20the%20default%20S3%20path%20format">here</a> + */ + public DestinationS3Glue withS3PathFormat(Optional s3PathFormat) { + Utils.checkNotNull(s3PathFormat, "s3PathFormat"); + this.s3PathFormat = s3PathFormat; + return this; + } + + /** + * The corresponding secret to the access key ID. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a> + */ + public DestinationS3Glue withSecretAccessKey(String secretAccessKey) { + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.secretAccessKey = Optional.ofNullable(secretAccessKey); + return this; + } + + /** + * The corresponding secret to the access key ID. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a> + */ + public DestinationS3Glue withSecretAccessKey(Optional secretAccessKey) { + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.secretAccessKey = secretAccessKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3Glue other = (DestinationS3Glue) o; + return + java.util.Objects.deepEquals(this.accessKeyId, other.accessKeyId) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.fileNamePattern, other.fileNamePattern) && + java.util.Objects.deepEquals(this.format, other.format) && + java.util.Objects.deepEquals(this.glueDatabase, other.glueDatabase) && + java.util.Objects.deepEquals(this.glueSerializationLibrary, other.glueSerializationLibrary) && + java.util.Objects.deepEquals(this.s3BucketName, other.s3BucketName) && + java.util.Objects.deepEquals(this.s3BucketPath, other.s3BucketPath) && + java.util.Objects.deepEquals(this.s3BucketRegion, other.s3BucketRegion) && + java.util.Objects.deepEquals(this.s3Endpoint, other.s3Endpoint) && + java.util.Objects.deepEquals(this.s3PathFormat, other.s3PathFormat) && + java.util.Objects.deepEquals(this.secretAccessKey, other.secretAccessKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessKeyId, + destinationType, + fileNamePattern, + format, + glueDatabase, + glueSerializationLibrary, + s3BucketName, + s3BucketPath, + s3BucketRegion, + s3Endpoint, + s3PathFormat, + secretAccessKey); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3Glue.class, + "accessKeyId", accessKeyId, + "destinationType", destinationType, + "fileNamePattern", fileNamePattern, + "format", format, + "glueDatabase", glueDatabase, + "glueSerializationLibrary", glueSerializationLibrary, + "s3BucketName", s3BucketName, + "s3BucketPath", s3BucketPath, + "s3BucketRegion", s3BucketRegion, + "s3Endpoint", s3Endpoint, + "s3PathFormat", s3PathFormat, + "secretAccessKey", secretAccessKey); + } + + public final static class Builder { + + private Optional accessKeyId = Optional.empty(); + + private Optional fileNamePattern = Optional.empty(); + + private DestinationS3GlueOutputFormat format; + + private String glueDatabase; + + private Optional glueSerializationLibrary; + + private String s3BucketName; + + private String s3BucketPath; + + private Optional s3BucketRegion; + + private Optional s3Endpoint; + + private Optional s3PathFormat = Optional.empty(); + + private Optional secretAccessKey = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The access key ID to access the S3 bucket. Airbyte requires Read and Write permissions to the given bucket. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a>. + */ + public Builder accessKeyId(String accessKeyId) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + this.accessKeyId = Optional.ofNullable(accessKeyId); + return this; + } + + /** + * The access key ID to access the S3 bucket. Airbyte requires Read and Write permissions to the given bucket. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a>. + */ + public Builder accessKeyId(Optional accessKeyId) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + this.accessKeyId = accessKeyId; + return this; + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public Builder fileNamePattern(String fileNamePattern) { + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + this.fileNamePattern = Optional.ofNullable(fileNamePattern); + return this; + } + + /** + * The pattern allows you to set the file-name format for the S3 staging file(s) + */ + public Builder fileNamePattern(Optional fileNamePattern) { + Utils.checkNotNull(fileNamePattern, "fileNamePattern"); + this.fileNamePattern = fileNamePattern; + return this; + } + + /** + * Format of the data output. See <a href="https://docs.airbyte.com/integrations/destinations/s3/#supported-output-schema">here</a> for more details + */ + public Builder format(DestinationS3GlueOutputFormat format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * Name of the glue database for creating the tables, leave blank if no integration + */ + public Builder glueDatabase(String glueDatabase) { + Utils.checkNotNull(glueDatabase, "glueDatabase"); + this.glueDatabase = glueDatabase; + return this; + } + + /** + * The library that your query engine will use for reading and writing data in your lake. + */ + public Builder glueSerializationLibrary(SerializationLibrary glueSerializationLibrary) { + Utils.checkNotNull(glueSerializationLibrary, "glueSerializationLibrary"); + this.glueSerializationLibrary = Optional.ofNullable(glueSerializationLibrary); + return this; + } + + /** + * The library that your query engine will use for reading and writing data in your lake. + */ + public Builder glueSerializationLibrary(Optional glueSerializationLibrary) { + Utils.checkNotNull(glueSerializationLibrary, "glueSerializationLibrary"); + this.glueSerializationLibrary = glueSerializationLibrary; + return this; + } + + /** + * The name of the S3 bucket. Read more <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html">here</a>. + */ + public Builder s3BucketName(String s3BucketName) { + Utils.checkNotNull(s3BucketName, "s3BucketName"); + this.s3BucketName = s3BucketName; + return this; + } + + /** + * Directory under the S3 bucket where data will be written. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=to%20format%20the-,bucket%20path,-%3A">here</a> + */ + public Builder s3BucketPath(String s3BucketPath) { + Utils.checkNotNull(s3BucketPath, "s3BucketPath"); + this.s3BucketPath = s3BucketPath; + return this; + } + + /** + * The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ + public Builder s3BucketRegion(DestinationS3GlueS3BucketRegion s3BucketRegion) { + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + this.s3BucketRegion = Optional.ofNullable(s3BucketRegion); + return this; + } + + /** + * The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ + public Builder s3BucketRegion(Optional s3BucketRegion) { + Utils.checkNotNull(s3BucketRegion, "s3BucketRegion"); + this.s3BucketRegion = s3BucketRegion; + return this; + } + + /** + * Your S3 endpoint url. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html#:~:text=Service%20endpoints-,Amazon%20S3%20endpoints,-When%20you%20use">here</a> + */ + public Builder s3Endpoint(String s3Endpoint) { + Utils.checkNotNull(s3Endpoint, "s3Endpoint"); + this.s3Endpoint = Optional.ofNullable(s3Endpoint); + return this; + } + + /** + * Your S3 endpoint url. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html#:~:text=Service%20endpoints-,Amazon%20S3%20endpoints,-When%20you%20use">here</a> + */ + public Builder s3Endpoint(Optional s3Endpoint) { + Utils.checkNotNull(s3Endpoint, "s3Endpoint"); + this.s3Endpoint = s3Endpoint; + return this; + } + + /** + * Format string on how data will be organized inside the S3 bucket directory. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=The%20full%20path%20of%20the%20output%20data%20with%20the%20default%20S3%20path%20format">here</a> + */ + public Builder s3PathFormat(String s3PathFormat) { + Utils.checkNotNull(s3PathFormat, "s3PathFormat"); + this.s3PathFormat = Optional.ofNullable(s3PathFormat); + return this; + } + + /** + * Format string on how data will be organized inside the S3 bucket directory. Read more <a href="https://docs.airbyte.com/integrations/destinations/s3#:~:text=The%20full%20path%20of%20the%20output%20data%20with%20the%20default%20S3%20path%20format">here</a> + */ + public Builder s3PathFormat(Optional s3PathFormat) { + Utils.checkNotNull(s3PathFormat, "s3PathFormat"); + this.s3PathFormat = s3PathFormat; + return this; + } + + /** + * The corresponding secret to the access key ID. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a> + */ + public Builder secretAccessKey(String secretAccessKey) { + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.secretAccessKey = Optional.ofNullable(secretAccessKey); + return this; + } + + /** + * The corresponding secret to the access key ID. Read more <a href="https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys">here</a> + */ + public Builder secretAccessKey(Optional secretAccessKey) { + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.secretAccessKey = secretAccessKey; + return this; + } + + public DestinationS3Glue build() { + if (glueSerializationLibrary == null) { + glueSerializationLibrary = _SINGLETON_VALUE_GlueSerializationLibrary.value(); + } + if (s3BucketRegion == null) { + s3BucketRegion = _SINGLETON_VALUE_S3BucketRegion.value(); + } + if (s3Endpoint == null) { + s3Endpoint = _SINGLETON_VALUE_S3Endpoint.value(); + } + return new DestinationS3Glue( + accessKeyId, + fileNamePattern, + format, + glueDatabase, + glueSerializationLibrary, + s3BucketName, + s3BucketPath, + s3BucketRegion, + s3Endpoint, + s3PathFormat, + secretAccessKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"s3-glue\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_GlueSerializationLibrary = + new LazySingletonValue<>( + "glue_serialization_library", + "\"org.openx.data.jsonserde.JsonSerDe\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_S3BucketRegion = + new LazySingletonValue<>( + "s3_bucket_region", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_S3Endpoint = + new LazySingletonValue<>( + "s3_endpoint", + "\"\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueCompression.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueCompression.java new file mode 100644 index 000000000..33c62cbbf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueCompression.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationS3GlueCompression - Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + +@JsonDeserialize(using = DestinationS3GlueCompression._Deserializer.class) +public class DestinationS3GlueCompression { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationS3GlueCompression(TypedObject value) { + this.value = value; + } + + public static DestinationS3GlueCompression of(DestinationS3GlueNoCompression value) { + Utils.checkNotNull(value, "value"); + return new DestinationS3GlueCompression(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationS3GlueCompression of(DestinationS3GlueGZIP value) { + Utils.checkNotNull(value, "value"); + return new DestinationS3GlueCompression(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationS3GlueNoCompression}
    • + *
    • {@code DestinationS3GlueGZIP}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3GlueCompression other = (DestinationS3GlueCompression) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationS3GlueCompression.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationS3GlueCompression.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueCompressionType.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueCompressionType.java new file mode 100644 index 000000000..d5b22cea7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueCompressionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationS3GlueCompressionType { + NO_COMPRESSION("No Compression"); + + @JsonValue + private final String value; + + private DestinationS3GlueCompressionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueFormatType.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueFormatType.java new file mode 100644 index 000000000..5d893f48f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueFormatType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationS3GlueFormatType { + JSONL("JSONL"); + + @JsonValue + private final String value; + + private DestinationS3GlueFormatType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueGZIP.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueGZIP.java new file mode 100644 index 000000000..55632f457 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueGZIP.java @@ -0,0 +1,113 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3GlueGZIP { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_type") + private Optional compressionType; + + public DestinationS3GlueGZIP( + @JsonProperty("compression_type") Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + } + + public Optional compressionType() { + return compressionType; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationS3GlueGZIP withCompressionType(DestinationS3GlueSchemasCompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public DestinationS3GlueGZIP withCompressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3GlueGZIP other = (DestinationS3GlueGZIP) o; + return + java.util.Objects.deepEquals(this.compressionType, other.compressionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compressionType); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3GlueGZIP.class, + "compressionType", compressionType); + } + + public final static class Builder { + + private Optional compressionType; + + private Builder() { + // force use of static builder() method + } + + public Builder compressionType(DestinationS3GlueSchemasCompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public Builder compressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + public DestinationS3GlueGZIP build() { + if (compressionType == null) { + compressionType = _SINGLETON_VALUE_CompressionType.value(); + } + return new DestinationS3GlueGZIP( + compressionType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionType = + new LazySingletonValue<>( + "compression_type", + "\"GZIP\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueJSONLinesNewlineDelimitedJSON.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueJSONLinesNewlineDelimitedJSON.java new file mode 100644 index 000000000..b6615c873 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueJSONLinesNewlineDelimitedJSON.java @@ -0,0 +1,240 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3GlueJSONLinesNewlineDelimitedJSON { + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression") + private Optional compression; + + /** + * Whether the input json data should be normalized (flattened) in the output JSON Lines. Please refer to docs for details. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("flattening") + private Optional flattening; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("format_type") + private Optional formatType; + + public DestinationS3GlueJSONLinesNewlineDelimitedJSON( + @JsonProperty("compression") Optional compression, + @JsonProperty("flattening") Optional flattening, + @JsonProperty("format_type") Optional formatType) { + Utils.checkNotNull(compression, "compression"); + Utils.checkNotNull(flattening, "flattening"); + Utils.checkNotNull(formatType, "formatType"); + this.compression = compression; + this.flattening = flattening; + this.formatType = formatType; + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + public Optional compression() { + return compression; + } + + /** + * Whether the input json data should be normalized (flattened) in the output JSON Lines. Please refer to docs for details. + */ + public Optional flattening() { + return flattening; + } + + public Optional formatType() { + return formatType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + public DestinationS3GlueJSONLinesNewlineDelimitedJSON withCompression(DestinationS3GlueCompression compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = Optional.ofNullable(compression); + return this; + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + public DestinationS3GlueJSONLinesNewlineDelimitedJSON withCompression(Optional compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = compression; + return this; + } + + /** + * Whether the input json data should be normalized (flattened) in the output JSON Lines. Please refer to docs for details. + */ + public DestinationS3GlueJSONLinesNewlineDelimitedJSON withFlattening(Flattening flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = Optional.ofNullable(flattening); + return this; + } + + /** + * Whether the input json data should be normalized (flattened) in the output JSON Lines. Please refer to docs for details. + */ + public DestinationS3GlueJSONLinesNewlineDelimitedJSON withFlattening(Optional flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = flattening; + return this; + } + + public DestinationS3GlueJSONLinesNewlineDelimitedJSON withFormatType(DestinationS3GlueFormatType formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public DestinationS3GlueJSONLinesNewlineDelimitedJSON withFormatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3GlueJSONLinesNewlineDelimitedJSON other = (DestinationS3GlueJSONLinesNewlineDelimitedJSON) o; + return + java.util.Objects.deepEquals(this.compression, other.compression) && + java.util.Objects.deepEquals(this.flattening, other.flattening) && + java.util.Objects.deepEquals(this.formatType, other.formatType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compression, + flattening, + formatType); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3GlueJSONLinesNewlineDelimitedJSON.class, + "compression", compression, + "flattening", flattening, + "formatType", formatType); + } + + public final static class Builder { + + private Optional compression = Optional.empty(); + + private Optional flattening; + + private Optional formatType; + + private Builder() { + // force use of static builder() method + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + public Builder compression(DestinationS3GlueCompression compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = Optional.ofNullable(compression); + return this; + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + public Builder compression(Optional compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = compression; + return this; + } + + /** + * Whether the input json data should be normalized (flattened) in the output JSON Lines. Please refer to docs for details. + */ + public Builder flattening(Flattening flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = Optional.ofNullable(flattening); + return this; + } + + /** + * Whether the input json data should be normalized (flattened) in the output JSON Lines. Please refer to docs for details. + */ + public Builder flattening(Optional flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = flattening; + return this; + } + + public Builder formatType(DestinationS3GlueFormatType formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public Builder formatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + public DestinationS3GlueJSONLinesNewlineDelimitedJSON build() { + if (flattening == null) { + flattening = _SINGLETON_VALUE_Flattening.value(); + } + if (formatType == null) { + formatType = _SINGLETON_VALUE_FormatType.value(); + } + return new DestinationS3GlueJSONLinesNewlineDelimitedJSON( + compression, + flattening, + formatType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Flattening = + new LazySingletonValue<>( + "flattening", + "\"Root level flattening\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_FormatType = + new LazySingletonValue<>( + "format_type", + "\"JSONL\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueNoCompression.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueNoCompression.java new file mode 100644 index 000000000..4220202b7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueNoCompression.java @@ -0,0 +1,113 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3GlueNoCompression { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_type") + private Optional compressionType; + + public DestinationS3GlueNoCompression( + @JsonProperty("compression_type") Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + } + + public Optional compressionType() { + return compressionType; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationS3GlueNoCompression withCompressionType(DestinationS3GlueCompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public DestinationS3GlueNoCompression withCompressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3GlueNoCompression other = (DestinationS3GlueNoCompression) o; + return + java.util.Objects.deepEquals(this.compressionType, other.compressionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compressionType); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3GlueNoCompression.class, + "compressionType", compressionType); + } + + public final static class Builder { + + private Optional compressionType; + + private Builder() { + // force use of static builder() method + } + + public Builder compressionType(DestinationS3GlueCompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public Builder compressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + public DestinationS3GlueNoCompression build() { + if (compressionType == null) { + compressionType = _SINGLETON_VALUE_CompressionType.value(); + } + return new DestinationS3GlueNoCompression( + compressionType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionType = + new LazySingletonValue<>( + "compression_type", + "\"No Compression\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueOutputFormat.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueOutputFormat.java new file mode 100644 index 000000000..c1df03a45 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueOutputFormat.java @@ -0,0 +1,94 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationS3GlueOutputFormat - Format of the data output. See <a href="https://docs.airbyte.com/integrations/destinations/s3/#supported-output-schema">here</a> for more details + */ + +@JsonDeserialize(using = DestinationS3GlueOutputFormat._Deserializer.class) +public class DestinationS3GlueOutputFormat { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationS3GlueOutputFormat(TypedObject value) { + this.value = value; + } + + public static DestinationS3GlueOutputFormat of(DestinationS3GlueJSONLinesNewlineDelimitedJSON value) { + Utils.checkNotNull(value, "value"); + return new DestinationS3GlueOutputFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationS3GlueJSONLinesNewlineDelimitedJSON}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3GlueOutputFormat other = (DestinationS3GlueOutputFormat) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationS3GlueOutputFormat.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationS3GlueOutputFormat.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueS3BucketRegion.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueS3BucketRegion.java new file mode 100644 index 000000000..8ec3319da --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueS3BucketRegion.java @@ -0,0 +1,65 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationS3GlueS3BucketRegion - The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ +public enum DestinationS3GlueS3BucketRegion { + UNKNOWN(""), + AF_SOUTH1("af-south-1"), + AP_EAST1("ap-east-1"), + AP_NORTHEAST1("ap-northeast-1"), + AP_NORTHEAST2("ap-northeast-2"), + AP_NORTHEAST3("ap-northeast-3"), + AP_SOUTH1("ap-south-1"), + AP_SOUTH2("ap-south-2"), + AP_SOUTHEAST1("ap-southeast-1"), + AP_SOUTHEAST2("ap-southeast-2"), + AP_SOUTHEAST3("ap-southeast-3"), + AP_SOUTHEAST4("ap-southeast-4"), + CA_CENTRAL1("ca-central-1"), + CA_WEST1("ca-west-1"), + CN_NORTH1("cn-north-1"), + CN_NORTHWEST1("cn-northwest-1"), + EU_CENTRAL1("eu-central-1"), + EU_CENTRAL2("eu-central-2"), + EU_NORTH1("eu-north-1"), + EU_SOUTH1("eu-south-1"), + EU_SOUTH2("eu-south-2"), + EU_WEST1("eu-west-1"), + EU_WEST2("eu-west-2"), + EU_WEST3("eu-west-3"), + IL_CENTRAL1("il-central-1"), + ME_CENTRAL1("me-central-1"), + ME_SOUTH1("me-south-1"), + SA_EAST1("sa-east-1"), + US_EAST1("us-east-1"), + US_EAST2("us-east-2"), + US_GOV_EAST1("us-gov-east-1"), + US_GOV_WEST1("us-gov-west-1"), + US_WEST1("us-west-1"), + US_WEST2("us-west-2"); + + @JsonValue + private final String value; + + private DestinationS3GlueS3BucketRegion(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueSchemasCompressionType.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueSchemasCompressionType.java new file mode 100644 index 000000000..62c16fe5a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3GlueSchemasCompressionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationS3GlueSchemasCompressionType { + GZIP("GZIP"); + + @JsonValue + private final String value; + + private DestinationS3GlueSchemasCompressionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3JSONLinesNewlineDelimitedJSON.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3JSONLinesNewlineDelimitedJSON.java new file mode 100644 index 000000000..73c9ee894 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3JSONLinesNewlineDelimitedJSON.java @@ -0,0 +1,240 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3JSONLinesNewlineDelimitedJSON { + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression") + private Optional compression; + + /** + * Whether the input json data should be normalized (flattened) in the output JSON Lines. Please refer to docs for details. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("flattening") + private Optional flattening; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("format_type") + private Optional formatType; + + public DestinationS3JSONLinesNewlineDelimitedJSON( + @JsonProperty("compression") Optional compression, + @JsonProperty("flattening") Optional flattening, + @JsonProperty("format_type") Optional formatType) { + Utils.checkNotNull(compression, "compression"); + Utils.checkNotNull(flattening, "flattening"); + Utils.checkNotNull(formatType, "formatType"); + this.compression = compression; + this.flattening = flattening; + this.formatType = formatType; + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + public Optional compression() { + return compression; + } + + /** + * Whether the input json data should be normalized (flattened) in the output JSON Lines. Please refer to docs for details. + */ + public Optional flattening() { + return flattening; + } + + public Optional formatType() { + return formatType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + public DestinationS3JSONLinesNewlineDelimitedJSON withCompression(DestinationS3SchemasCompression compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = Optional.ofNullable(compression); + return this; + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + public DestinationS3JSONLinesNewlineDelimitedJSON withCompression(Optional compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = compression; + return this; + } + + /** + * Whether the input json data should be normalized (flattened) in the output JSON Lines. Please refer to docs for details. + */ + public DestinationS3JSONLinesNewlineDelimitedJSON withFlattening(DestinationS3SchemasFlattening flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = Optional.ofNullable(flattening); + return this; + } + + /** + * Whether the input json data should be normalized (flattened) in the output JSON Lines. Please refer to docs for details. + */ + public DestinationS3JSONLinesNewlineDelimitedJSON withFlattening(Optional flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = flattening; + return this; + } + + public DestinationS3JSONLinesNewlineDelimitedJSON withFormatType(DestinationS3SchemasFormatType formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public DestinationS3JSONLinesNewlineDelimitedJSON withFormatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3JSONLinesNewlineDelimitedJSON other = (DestinationS3JSONLinesNewlineDelimitedJSON) o; + return + java.util.Objects.deepEquals(this.compression, other.compression) && + java.util.Objects.deepEquals(this.flattening, other.flattening) && + java.util.Objects.deepEquals(this.formatType, other.formatType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compression, + flattening, + formatType); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3JSONLinesNewlineDelimitedJSON.class, + "compression", compression, + "flattening", flattening, + "formatType", formatType); + } + + public final static class Builder { + + private Optional compression = Optional.empty(); + + private Optional flattening; + + private Optional formatType; + + private Builder() { + // force use of static builder() method + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + public Builder compression(DestinationS3SchemasCompression compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = Optional.ofNullable(compression); + return this; + } + + /** + * Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + public Builder compression(Optional compression) { + Utils.checkNotNull(compression, "compression"); + this.compression = compression; + return this; + } + + /** + * Whether the input json data should be normalized (flattened) in the output JSON Lines. Please refer to docs for details. + */ + public Builder flattening(DestinationS3SchemasFlattening flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = Optional.ofNullable(flattening); + return this; + } + + /** + * Whether the input json data should be normalized (flattened) in the output JSON Lines. Please refer to docs for details. + */ + public Builder flattening(Optional flattening) { + Utils.checkNotNull(flattening, "flattening"); + this.flattening = flattening; + return this; + } + + public Builder formatType(DestinationS3SchemasFormatType formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public Builder formatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + public DestinationS3JSONLinesNewlineDelimitedJSON build() { + if (flattening == null) { + flattening = _SINGLETON_VALUE_Flattening.value(); + } + if (formatType == null) { + formatType = _SINGLETON_VALUE_FormatType.value(); + } + return new DestinationS3JSONLinesNewlineDelimitedJSON( + compression, + flattening, + formatType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Flattening = + new LazySingletonValue<>( + "flattening", + "\"No flattening\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_FormatType = + new LazySingletonValue<>( + "format_type", + "\"JSONL\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3NoCompression.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3NoCompression.java new file mode 100644 index 000000000..01ccd73f0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3NoCompression.java @@ -0,0 +1,113 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3NoCompression { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_type") + private Optional compressionType; + + public DestinationS3NoCompression( + @JsonProperty("compression_type") Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + } + + public Optional compressionType() { + return compressionType; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationS3NoCompression withCompressionType(DestinationS3CompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public DestinationS3NoCompression withCompressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3NoCompression other = (DestinationS3NoCompression) o; + return + java.util.Objects.deepEquals(this.compressionType, other.compressionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compressionType); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3NoCompression.class, + "compressionType", compressionType); + } + + public final static class Builder { + + private Optional compressionType; + + private Builder() { + // force use of static builder() method + } + + public Builder compressionType(DestinationS3CompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public Builder compressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + public DestinationS3NoCompression build() { + if (compressionType == null) { + compressionType = _SINGLETON_VALUE_CompressionType.value(); + } + return new DestinationS3NoCompression( + compressionType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionType = + new LazySingletonValue<>( + "compression_type", + "\"No Compression\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3OutputFormat.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3OutputFormat.java new file mode 100644 index 000000000..0dc07ae53 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3OutputFormat.java @@ -0,0 +1,115 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationS3OutputFormat - Format of the data output. See <a href="https://docs.airbyte.com/integrations/destinations/s3/#supported-output-schema">here</a> for more details + */ + +@JsonDeserialize(using = DestinationS3OutputFormat._Deserializer.class) +public class DestinationS3OutputFormat { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationS3OutputFormat(TypedObject value) { + this.value = value; + } + + public static DestinationS3OutputFormat of(DestinationS3CSVCommaSeparatedValues value) { + Utils.checkNotNull(value, "value"); + return new DestinationS3OutputFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationS3OutputFormat of(DestinationS3JSONLinesNewlineDelimitedJSON value) { + Utils.checkNotNull(value, "value"); + return new DestinationS3OutputFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationS3OutputFormat of(DestinationS3AvroApacheAvro value) { + Utils.checkNotNull(value, "value"); + return new DestinationS3OutputFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationS3OutputFormat of(DestinationS3ParquetColumnarStorage value) { + Utils.checkNotNull(value, "value"); + return new DestinationS3OutputFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationS3CSVCommaSeparatedValues}
    • + *
    • {@code DestinationS3JSONLinesNewlineDelimitedJSON}
    • + *
    • {@code DestinationS3AvroApacheAvro}
    • + *
    • {@code DestinationS3ParquetColumnarStorage}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3OutputFormat other = (DestinationS3OutputFormat) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationS3OutputFormat.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationS3OutputFormat.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3ParquetColumnarStorage.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3ParquetColumnarStorage.java new file mode 100644 index 000000000..ea30c03e0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3ParquetColumnarStorage.java @@ -0,0 +1,521 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3ParquetColumnarStorage { + + /** + * This is the size of a row group being buffered in memory. It limits the memory usage when writing. Larger values will improve the IO when reading, but consume more memory when writing. Default: 128 MB. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("block_size_mb") + private Optional blockSizeMb; + + /** + * The compression algorithm used to compress data pages. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_codec") + private Optional compressionCodec; + + /** + * Default: true. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("dictionary_encoding") + private Optional dictionaryEncoding; + + /** + * There is one dictionary page per column per row group when dictionary encoding is used. The dictionary page size works like the page size but for dictionary. Default: 1024 KB. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("dictionary_page_size_kb") + private Optional dictionaryPageSizeKb; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("format_type") + private Optional formatType; + + /** + * Maximum size allowed as padding to align row groups. This is also the minimum size of a row group. Default: 8 MB. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("max_padding_size_mb") + private Optional maxPaddingSizeMb; + + /** + * The page size is for compression. A block is composed of pages. A page is the smallest unit that must be read fully to access a single record. If this value is too small, the compression will deteriorate. Default: 1024 KB. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("page_size_kb") + private Optional pageSizeKb; + + public DestinationS3ParquetColumnarStorage( + @JsonProperty("block_size_mb") Optional blockSizeMb, + @JsonProperty("compression_codec") Optional compressionCodec, + @JsonProperty("dictionary_encoding") Optional dictionaryEncoding, + @JsonProperty("dictionary_page_size_kb") Optional dictionaryPageSizeKb, + @JsonProperty("format_type") Optional formatType, + @JsonProperty("max_padding_size_mb") Optional maxPaddingSizeMb, + @JsonProperty("page_size_kb") Optional pageSizeKb) { + Utils.checkNotNull(blockSizeMb, "blockSizeMb"); + Utils.checkNotNull(compressionCodec, "compressionCodec"); + Utils.checkNotNull(dictionaryEncoding, "dictionaryEncoding"); + Utils.checkNotNull(dictionaryPageSizeKb, "dictionaryPageSizeKb"); + Utils.checkNotNull(formatType, "formatType"); + Utils.checkNotNull(maxPaddingSizeMb, "maxPaddingSizeMb"); + Utils.checkNotNull(pageSizeKb, "pageSizeKb"); + this.blockSizeMb = blockSizeMb; + this.compressionCodec = compressionCodec; + this.dictionaryEncoding = dictionaryEncoding; + this.dictionaryPageSizeKb = dictionaryPageSizeKb; + this.formatType = formatType; + this.maxPaddingSizeMb = maxPaddingSizeMb; + this.pageSizeKb = pageSizeKb; + } + + /** + * This is the size of a row group being buffered in memory. It limits the memory usage when writing. Larger values will improve the IO when reading, but consume more memory when writing. Default: 128 MB. + */ + public Optional blockSizeMb() { + return blockSizeMb; + } + + /** + * The compression algorithm used to compress data pages. + */ + public Optional compressionCodec() { + return compressionCodec; + } + + /** + * Default: true. + */ + public Optional dictionaryEncoding() { + return dictionaryEncoding; + } + + /** + * There is one dictionary page per column per row group when dictionary encoding is used. The dictionary page size works like the page size but for dictionary. Default: 1024 KB. + */ + public Optional dictionaryPageSizeKb() { + return dictionaryPageSizeKb; + } + + public Optional formatType() { + return formatType; + } + + /** + * Maximum size allowed as padding to align row groups. This is also the minimum size of a row group. Default: 8 MB. + */ + public Optional maxPaddingSizeMb() { + return maxPaddingSizeMb; + } + + /** + * The page size is for compression. A block is composed of pages. A page is the smallest unit that must be read fully to access a single record. If this value is too small, the compression will deteriorate. Default: 1024 KB. + */ + public Optional pageSizeKb() { + return pageSizeKb; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * This is the size of a row group being buffered in memory. It limits the memory usage when writing. Larger values will improve the IO when reading, but consume more memory when writing. Default: 128 MB. + */ + public DestinationS3ParquetColumnarStorage withBlockSizeMb(long blockSizeMb) { + Utils.checkNotNull(blockSizeMb, "blockSizeMb"); + this.blockSizeMb = Optional.ofNullable(blockSizeMb); + return this; + } + + /** + * This is the size of a row group being buffered in memory. It limits the memory usage when writing. Larger values will improve the IO when reading, but consume more memory when writing. Default: 128 MB. + */ + public DestinationS3ParquetColumnarStorage withBlockSizeMb(Optional blockSizeMb) { + Utils.checkNotNull(blockSizeMb, "blockSizeMb"); + this.blockSizeMb = blockSizeMb; + return this; + } + + /** + * The compression algorithm used to compress data pages. + */ + public DestinationS3ParquetColumnarStorage withCompressionCodec(DestinationS3SchemasCompressionCodec compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = Optional.ofNullable(compressionCodec); + return this; + } + + /** + * The compression algorithm used to compress data pages. + */ + public DestinationS3ParquetColumnarStorage withCompressionCodec(Optional compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = compressionCodec; + return this; + } + + /** + * Default: true. + */ + public DestinationS3ParquetColumnarStorage withDictionaryEncoding(boolean dictionaryEncoding) { + Utils.checkNotNull(dictionaryEncoding, "dictionaryEncoding"); + this.dictionaryEncoding = Optional.ofNullable(dictionaryEncoding); + return this; + } + + /** + * Default: true. + */ + public DestinationS3ParquetColumnarStorage withDictionaryEncoding(Optional dictionaryEncoding) { + Utils.checkNotNull(dictionaryEncoding, "dictionaryEncoding"); + this.dictionaryEncoding = dictionaryEncoding; + return this; + } + + /** + * There is one dictionary page per column per row group when dictionary encoding is used. The dictionary page size works like the page size but for dictionary. Default: 1024 KB. + */ + public DestinationS3ParquetColumnarStorage withDictionaryPageSizeKb(long dictionaryPageSizeKb) { + Utils.checkNotNull(dictionaryPageSizeKb, "dictionaryPageSizeKb"); + this.dictionaryPageSizeKb = Optional.ofNullable(dictionaryPageSizeKb); + return this; + } + + /** + * There is one dictionary page per column per row group when dictionary encoding is used. The dictionary page size works like the page size but for dictionary. Default: 1024 KB. + */ + public DestinationS3ParquetColumnarStorage withDictionaryPageSizeKb(Optional dictionaryPageSizeKb) { + Utils.checkNotNull(dictionaryPageSizeKb, "dictionaryPageSizeKb"); + this.dictionaryPageSizeKb = dictionaryPageSizeKb; + return this; + } + + public DestinationS3ParquetColumnarStorage withFormatType(DestinationS3SchemasFormatOutputFormatFormatType formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public DestinationS3ParquetColumnarStorage withFormatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + /** + * Maximum size allowed as padding to align row groups. This is also the minimum size of a row group. Default: 8 MB. + */ + public DestinationS3ParquetColumnarStorage withMaxPaddingSizeMb(long maxPaddingSizeMb) { + Utils.checkNotNull(maxPaddingSizeMb, "maxPaddingSizeMb"); + this.maxPaddingSizeMb = Optional.ofNullable(maxPaddingSizeMb); + return this; + } + + /** + * Maximum size allowed as padding to align row groups. This is also the minimum size of a row group. Default: 8 MB. + */ + public DestinationS3ParquetColumnarStorage withMaxPaddingSizeMb(Optional maxPaddingSizeMb) { + Utils.checkNotNull(maxPaddingSizeMb, "maxPaddingSizeMb"); + this.maxPaddingSizeMb = maxPaddingSizeMb; + return this; + } + + /** + * The page size is for compression. A block is composed of pages. A page is the smallest unit that must be read fully to access a single record. If this value is too small, the compression will deteriorate. Default: 1024 KB. + */ + public DestinationS3ParquetColumnarStorage withPageSizeKb(long pageSizeKb) { + Utils.checkNotNull(pageSizeKb, "pageSizeKb"); + this.pageSizeKb = Optional.ofNullable(pageSizeKb); + return this; + } + + /** + * The page size is for compression. A block is composed of pages. A page is the smallest unit that must be read fully to access a single record. If this value is too small, the compression will deteriorate. Default: 1024 KB. + */ + public DestinationS3ParquetColumnarStorage withPageSizeKb(Optional pageSizeKb) { + Utils.checkNotNull(pageSizeKb, "pageSizeKb"); + this.pageSizeKb = pageSizeKb; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3ParquetColumnarStorage other = (DestinationS3ParquetColumnarStorage) o; + return + java.util.Objects.deepEquals(this.blockSizeMb, other.blockSizeMb) && + java.util.Objects.deepEquals(this.compressionCodec, other.compressionCodec) && + java.util.Objects.deepEquals(this.dictionaryEncoding, other.dictionaryEncoding) && + java.util.Objects.deepEquals(this.dictionaryPageSizeKb, other.dictionaryPageSizeKb) && + java.util.Objects.deepEquals(this.formatType, other.formatType) && + java.util.Objects.deepEquals(this.maxPaddingSizeMb, other.maxPaddingSizeMb) && + java.util.Objects.deepEquals(this.pageSizeKb, other.pageSizeKb); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + blockSizeMb, + compressionCodec, + dictionaryEncoding, + dictionaryPageSizeKb, + formatType, + maxPaddingSizeMb, + pageSizeKb); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3ParquetColumnarStorage.class, + "blockSizeMb", blockSizeMb, + "compressionCodec", compressionCodec, + "dictionaryEncoding", dictionaryEncoding, + "dictionaryPageSizeKb", dictionaryPageSizeKb, + "formatType", formatType, + "maxPaddingSizeMb", maxPaddingSizeMb, + "pageSizeKb", pageSizeKb); + } + + public final static class Builder { + + private Optional blockSizeMb; + + private Optional compressionCodec; + + private Optional dictionaryEncoding; + + private Optional dictionaryPageSizeKb; + + private Optional formatType; + + private Optional maxPaddingSizeMb; + + private Optional pageSizeKb; + + private Builder() { + // force use of static builder() method + } + + /** + * This is the size of a row group being buffered in memory. It limits the memory usage when writing. Larger values will improve the IO when reading, but consume more memory when writing. Default: 128 MB. + */ + public Builder blockSizeMb(long blockSizeMb) { + Utils.checkNotNull(blockSizeMb, "blockSizeMb"); + this.blockSizeMb = Optional.ofNullable(blockSizeMb); + return this; + } + + /** + * This is the size of a row group being buffered in memory. It limits the memory usage when writing. Larger values will improve the IO when reading, but consume more memory when writing. Default: 128 MB. + */ + public Builder blockSizeMb(Optional blockSizeMb) { + Utils.checkNotNull(blockSizeMb, "blockSizeMb"); + this.blockSizeMb = blockSizeMb; + return this; + } + + /** + * The compression algorithm used to compress data pages. + */ + public Builder compressionCodec(DestinationS3SchemasCompressionCodec compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = Optional.ofNullable(compressionCodec); + return this; + } + + /** + * The compression algorithm used to compress data pages. + */ + public Builder compressionCodec(Optional compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = compressionCodec; + return this; + } + + /** + * Default: true. + */ + public Builder dictionaryEncoding(boolean dictionaryEncoding) { + Utils.checkNotNull(dictionaryEncoding, "dictionaryEncoding"); + this.dictionaryEncoding = Optional.ofNullable(dictionaryEncoding); + return this; + } + + /** + * Default: true. + */ + public Builder dictionaryEncoding(Optional dictionaryEncoding) { + Utils.checkNotNull(dictionaryEncoding, "dictionaryEncoding"); + this.dictionaryEncoding = dictionaryEncoding; + return this; + } + + /** + * There is one dictionary page per column per row group when dictionary encoding is used. The dictionary page size works like the page size but for dictionary. Default: 1024 KB. + */ + public Builder dictionaryPageSizeKb(long dictionaryPageSizeKb) { + Utils.checkNotNull(dictionaryPageSizeKb, "dictionaryPageSizeKb"); + this.dictionaryPageSizeKb = Optional.ofNullable(dictionaryPageSizeKb); + return this; + } + + /** + * There is one dictionary page per column per row group when dictionary encoding is used. The dictionary page size works like the page size but for dictionary. Default: 1024 KB. + */ + public Builder dictionaryPageSizeKb(Optional dictionaryPageSizeKb) { + Utils.checkNotNull(dictionaryPageSizeKb, "dictionaryPageSizeKb"); + this.dictionaryPageSizeKb = dictionaryPageSizeKb; + return this; + } + + public Builder formatType(DestinationS3SchemasFormatOutputFormatFormatType formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public Builder formatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + /** + * Maximum size allowed as padding to align row groups. This is also the minimum size of a row group. Default: 8 MB. + */ + public Builder maxPaddingSizeMb(long maxPaddingSizeMb) { + Utils.checkNotNull(maxPaddingSizeMb, "maxPaddingSizeMb"); + this.maxPaddingSizeMb = Optional.ofNullable(maxPaddingSizeMb); + return this; + } + + /** + * Maximum size allowed as padding to align row groups. This is also the minimum size of a row group. Default: 8 MB. + */ + public Builder maxPaddingSizeMb(Optional maxPaddingSizeMb) { + Utils.checkNotNull(maxPaddingSizeMb, "maxPaddingSizeMb"); + this.maxPaddingSizeMb = maxPaddingSizeMb; + return this; + } + + /** + * The page size is for compression. A block is composed of pages. A page is the smallest unit that must be read fully to access a single record. If this value is too small, the compression will deteriorate. Default: 1024 KB. + */ + public Builder pageSizeKb(long pageSizeKb) { + Utils.checkNotNull(pageSizeKb, "pageSizeKb"); + this.pageSizeKb = Optional.ofNullable(pageSizeKb); + return this; + } + + /** + * The page size is for compression. A block is composed of pages. A page is the smallest unit that must be read fully to access a single record. If this value is too small, the compression will deteriorate. Default: 1024 KB. + */ + public Builder pageSizeKb(Optional pageSizeKb) { + Utils.checkNotNull(pageSizeKb, "pageSizeKb"); + this.pageSizeKb = pageSizeKb; + return this; + } + + public DestinationS3ParquetColumnarStorage build() { + if (blockSizeMb == null) { + blockSizeMb = _SINGLETON_VALUE_BlockSizeMb.value(); + } + if (compressionCodec == null) { + compressionCodec = _SINGLETON_VALUE_CompressionCodec.value(); + } + if (dictionaryEncoding == null) { + dictionaryEncoding = _SINGLETON_VALUE_DictionaryEncoding.value(); + } + if (dictionaryPageSizeKb == null) { + dictionaryPageSizeKb = _SINGLETON_VALUE_DictionaryPageSizeKb.value(); + } + if (formatType == null) { + formatType = _SINGLETON_VALUE_FormatType.value(); + } + if (maxPaddingSizeMb == null) { + maxPaddingSizeMb = _SINGLETON_VALUE_MaxPaddingSizeMb.value(); + } + if (pageSizeKb == null) { + pageSizeKb = _SINGLETON_VALUE_PageSizeKb.value(); + } + return new DestinationS3ParquetColumnarStorage( + blockSizeMb, + compressionCodec, + dictionaryEncoding, + dictionaryPageSizeKb, + formatType, + maxPaddingSizeMb, + pageSizeKb); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_BlockSizeMb = + new LazySingletonValue<>( + "block_size_mb", + "128", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionCodec = + new LazySingletonValue<>( + "compression_codec", + "\"UNCOMPRESSED\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DictionaryEncoding = + new LazySingletonValue<>( + "dictionary_encoding", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DictionaryPageSizeKb = + new LazySingletonValue<>( + "dictionary_page_size_kb", + "1024", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_FormatType = + new LazySingletonValue<>( + "format_type", + "\"Parquet\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_MaxPaddingSizeMb = + new LazySingletonValue<>( + "max_padding_size_mb", + "8", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_PageSizeKb = + new LazySingletonValue<>( + "page_size_kb", + "1024", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3S3BucketRegion.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3S3BucketRegion.java new file mode 100644 index 000000000..c2df56108 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3S3BucketRegion.java @@ -0,0 +1,65 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationS3S3BucketRegion - The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ +public enum DestinationS3S3BucketRegion { + UNKNOWN(""), + AF_SOUTH1("af-south-1"), + AP_EAST1("ap-east-1"), + AP_NORTHEAST1("ap-northeast-1"), + AP_NORTHEAST2("ap-northeast-2"), + AP_NORTHEAST3("ap-northeast-3"), + AP_SOUTH1("ap-south-1"), + AP_SOUTH2("ap-south-2"), + AP_SOUTHEAST1("ap-southeast-1"), + AP_SOUTHEAST2("ap-southeast-2"), + AP_SOUTHEAST3("ap-southeast-3"), + AP_SOUTHEAST4("ap-southeast-4"), + CA_CENTRAL1("ca-central-1"), + CA_WEST1("ca-west-1"), + CN_NORTH1("cn-north-1"), + CN_NORTHWEST1("cn-northwest-1"), + EU_CENTRAL1("eu-central-1"), + EU_CENTRAL2("eu-central-2"), + EU_NORTH1("eu-north-1"), + EU_SOUTH1("eu-south-1"), + EU_SOUTH2("eu-south-2"), + EU_WEST1("eu-west-1"), + EU_WEST2("eu-west-2"), + EU_WEST3("eu-west-3"), + IL_CENTRAL1("il-central-1"), + ME_CENTRAL1("me-central-1"), + ME_SOUTH1("me-south-1"), + SA_EAST1("sa-east-1"), + US_EAST1("us-east-1"), + US_EAST2("us-east-2"), + US_GOV_EAST1("us-gov-east-1"), + US_GOV_WEST1("us-gov-west-1"), + US_WEST1("us-west-1"), + US_WEST2("us-west-2"); + + @JsonValue + private final String value; + + private DestinationS3S3BucketRegion(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasCodec.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasCodec.java new file mode 100644 index 000000000..dc76c978b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasCodec.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationS3SchemasCodec { + DEFLATE("Deflate"); + + @JsonValue + private final String value; + + private DestinationS3SchemasCodec(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasCompression.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasCompression.java new file mode 100644 index 000000000..f2dce64b2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasCompression.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationS3SchemasCompression - Whether the output files should be compressed. If compression is selected, the output filename will have an extra extension (GZIP: ".jsonl.gz"). + */ + +@JsonDeserialize(using = DestinationS3SchemasCompression._Deserializer.class) +public class DestinationS3SchemasCompression { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationS3SchemasCompression(TypedObject value) { + this.value = value; + } + + public static DestinationS3SchemasCompression of(DestinationS3SchemasNoCompression value) { + Utils.checkNotNull(value, "value"); + return new DestinationS3SchemasCompression(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationS3SchemasCompression of(DestinationS3SchemasGZIP value) { + Utils.checkNotNull(value, "value"); + return new DestinationS3SchemasCompression(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationS3SchemasNoCompression}
    • + *
    • {@code DestinationS3SchemasGZIP}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3SchemasCompression other = (DestinationS3SchemasCompression) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationS3SchemasCompression.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationS3SchemasCompression.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasCompressionCodec.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasCompressionCodec.java new file mode 100644 index 000000000..824df10f2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasCompressionCodec.java @@ -0,0 +1,38 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationS3SchemasCompressionCodec - The compression algorithm used to compress data pages. + */ +public enum DestinationS3SchemasCompressionCodec { + UNCOMPRESSED("UNCOMPRESSED"), + SNAPPY("SNAPPY"), + GZIP("GZIP"), + LZO("LZO"), + BROTLI("BROTLI"), + LZ4("LZ4"), + ZSTD("ZSTD"); + + @JsonValue + private final String value; + + private DestinationS3SchemasCompressionCodec(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasCompressionType.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasCompressionType.java new file mode 100644 index 000000000..7d8094981 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasCompressionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationS3SchemasCompressionType { + GZIP("GZIP"); + + @JsonValue + private final String value; + + private DestinationS3SchemasCompressionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFlattening.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFlattening.java new file mode 100644 index 000000000..817ed1917 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFlattening.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationS3SchemasFlattening - Whether the input json data should be normalized (flattened) in the output JSON Lines. Please refer to docs for details. + */ +public enum DestinationS3SchemasFlattening { + NO_FLATTENING("No flattening"), + ROOT_LEVEL_FLATTENING("Root level flattening"); + + @JsonValue + private final String value; + + private DestinationS3SchemasFlattening(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatCodec.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatCodec.java new file mode 100644 index 000000000..45c7cd458 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatCodec.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationS3SchemasFormatCodec { + BZIP2("bzip2"); + + @JsonValue + private final String value; + + private DestinationS3SchemasFormatCodec(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatCompressionType.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatCompressionType.java new file mode 100644 index 000000000..81bd5dea9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatCompressionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationS3SchemasFormatCompressionType { + NO_COMPRESSION("No Compression"); + + @JsonValue + private final String value; + + private DestinationS3SchemasFormatCompressionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatFormatType.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatFormatType.java new file mode 100644 index 000000000..f9a722398 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatFormatType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationS3SchemasFormatFormatType { + AVRO("Avro"); + + @JsonValue + private final String value; + + private DestinationS3SchemasFormatFormatType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatNoCompression.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatNoCompression.java new file mode 100644 index 000000000..2636f166c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatNoCompression.java @@ -0,0 +1,113 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3SchemasFormatNoCompression { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("codec") + private Optional codec; + + public DestinationS3SchemasFormatNoCompression( + @JsonProperty("codec") Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + } + + public Optional codec() { + return codec; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationS3SchemasFormatNoCompression withCodec(DestinationS3Codec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public DestinationS3SchemasFormatNoCompression withCodec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3SchemasFormatNoCompression other = (DestinationS3SchemasFormatNoCompression) o; + return + java.util.Objects.deepEquals(this.codec, other.codec); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + codec); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3SchemasFormatNoCompression.class, + "codec", codec); + } + + public final static class Builder { + + private Optional codec; + + private Builder() { + // force use of static builder() method + } + + public Builder codec(DestinationS3Codec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public Builder codec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + public DestinationS3SchemasFormatNoCompression build() { + if (codec == null) { + codec = _SINGLETON_VALUE_Codec.value(); + } + return new DestinationS3SchemasFormatNoCompression( + codec); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Codec = + new LazySingletonValue<>( + "codec", + "\"no compression\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormat3Codec.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormat3Codec.java new file mode 100644 index 000000000..81408dc1e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormat3Codec.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationS3SchemasFormatOutputFormat3Codec { + ZSTANDARD("zstandard"); + + @JsonValue + private final String value; + + private DestinationS3SchemasFormatOutputFormat3Codec(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormat3CompressionCodecCodec.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormat3CompressionCodecCodec.java new file mode 100644 index 000000000..035d97b7d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormat3CompressionCodecCodec.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationS3SchemasFormatOutputFormat3CompressionCodecCodec { + SNAPPY("snappy"); + + @JsonValue + private final String value; + + private DestinationS3SchemasFormatOutputFormat3CompressionCodecCodec(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormatCodec.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormatCodec.java new file mode 100644 index 000000000..5397d608b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormatCodec.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationS3SchemasFormatOutputFormatCodec { + XZ("xz"); + + @JsonValue + private final String value; + + private DestinationS3SchemasFormatOutputFormatCodec(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormatCompressionType.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormatCompressionType.java new file mode 100644 index 000000000..1ed8aa3ad --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormatCompressionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationS3SchemasFormatOutputFormatCompressionType { + GZIP("GZIP"); + + @JsonValue + private final String value; + + private DestinationS3SchemasFormatOutputFormatCompressionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormatFormatType.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormatFormatType.java new file mode 100644 index 000000000..1b49acaff --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatOutputFormatFormatType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationS3SchemasFormatOutputFormatFormatType { + PARQUET("Parquet"); + + @JsonValue + private final String value; + + private DestinationS3SchemasFormatOutputFormatFormatType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatType.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatType.java new file mode 100644 index 000000000..a26de0555 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasFormatType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationS3SchemasFormatType { + JSONL("JSONL"); + + @JsonValue + private final String value; + + private DestinationS3SchemasFormatType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasGZIP.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasGZIP.java new file mode 100644 index 000000000..3fd89259c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasGZIP.java @@ -0,0 +1,113 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3SchemasGZIP { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_type") + private Optional compressionType; + + public DestinationS3SchemasGZIP( + @JsonProperty("compression_type") Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + } + + public Optional compressionType() { + return compressionType; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationS3SchemasGZIP withCompressionType(DestinationS3SchemasFormatOutputFormatCompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public DestinationS3SchemasGZIP withCompressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3SchemasGZIP other = (DestinationS3SchemasGZIP) o; + return + java.util.Objects.deepEquals(this.compressionType, other.compressionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compressionType); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3SchemasGZIP.class, + "compressionType", compressionType); + } + + public final static class Builder { + + private Optional compressionType; + + private Builder() { + // force use of static builder() method + } + + public Builder compressionType(DestinationS3SchemasFormatOutputFormatCompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public Builder compressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + public DestinationS3SchemasGZIP build() { + if (compressionType == null) { + compressionType = _SINGLETON_VALUE_CompressionType.value(); + } + return new DestinationS3SchemasGZIP( + compressionType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionType = + new LazySingletonValue<>( + "compression_type", + "\"GZIP\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasNoCompression.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasNoCompression.java new file mode 100644 index 000000000..05fcbaf76 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3SchemasNoCompression.java @@ -0,0 +1,113 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3SchemasNoCompression { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_type") + private Optional compressionType; + + public DestinationS3SchemasNoCompression( + @JsonProperty("compression_type") Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + } + + public Optional compressionType() { + return compressionType; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationS3SchemasNoCompression withCompressionType(DestinationS3SchemasFormatCompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public DestinationS3SchemasNoCompression withCompressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3SchemasNoCompression other = (DestinationS3SchemasNoCompression) o; + return + java.util.Objects.deepEquals(this.compressionType, other.compressionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compressionType); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3SchemasNoCompression.class, + "compressionType", compressionType); + } + + public final static class Builder { + + private Optional compressionType; + + private Builder() { + // force use of static builder() method + } + + public Builder compressionType(DestinationS3SchemasFormatCompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public Builder compressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + public DestinationS3SchemasNoCompression build() { + if (compressionType == null) { + compressionType = _SINGLETON_VALUE_CompressionType.value(); + } + return new DestinationS3SchemasNoCompression( + compressionType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionType = + new LazySingletonValue<>( + "compression_type", + "\"No Compression\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3Snappy.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3Snappy.java new file mode 100644 index 000000000..d6550bf89 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3Snappy.java @@ -0,0 +1,113 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3Snappy { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("codec") + private Optional codec; + + public DestinationS3Snappy( + @JsonProperty("codec") Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + } + + public Optional codec() { + return codec; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationS3Snappy withCodec(DestinationS3SchemasFormatOutputFormat3CompressionCodecCodec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public DestinationS3Snappy withCodec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3Snappy other = (DestinationS3Snappy) o; + return + java.util.Objects.deepEquals(this.codec, other.codec); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + codec); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3Snappy.class, + "codec", codec); + } + + public final static class Builder { + + private Optional codec; + + private Builder() { + // force use of static builder() method + } + + public Builder codec(DestinationS3SchemasFormatOutputFormat3CompressionCodecCodec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public Builder codec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + public DestinationS3Snappy build() { + if (codec == null) { + codec = _SINGLETON_VALUE_Codec.value(); + } + return new DestinationS3Snappy( + codec); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Codec = + new LazySingletonValue<>( + "codec", + "\"snappy\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3Xz.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3Xz.java new file mode 100644 index 000000000..807c6c456 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3Xz.java @@ -0,0 +1,181 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3Xz { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("codec") + private Optional codec; + + /** + * See <a href="https://commons.apache.org/proper/commons-compress/apidocs/org/apache/commons/compress/compressors/xz/XZCompressorOutputStream.html#XZCompressorOutputStream-java.io.OutputStream-int-">here</a> for details. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_level") + private Optional compressionLevel; + + public DestinationS3Xz( + @JsonProperty("codec") Optional codec, + @JsonProperty("compression_level") Optional compressionLevel) { + Utils.checkNotNull(codec, "codec"); + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.codec = codec; + this.compressionLevel = compressionLevel; + } + + public Optional codec() { + return codec; + } + + /** + * See <a href="https://commons.apache.org/proper/commons-compress/apidocs/org/apache/commons/compress/compressors/xz/XZCompressorOutputStream.html#XZCompressorOutputStream-java.io.OutputStream-int-">here</a> for details. + */ + public Optional compressionLevel() { + return compressionLevel; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationS3Xz withCodec(DestinationS3SchemasFormatOutputFormatCodec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public DestinationS3Xz withCodec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + /** + * See <a href="https://commons.apache.org/proper/commons-compress/apidocs/org/apache/commons/compress/compressors/xz/XZCompressorOutputStream.html#XZCompressorOutputStream-java.io.OutputStream-int-">here</a> for details. + */ + public DestinationS3Xz withCompressionLevel(long compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = Optional.ofNullable(compressionLevel); + return this; + } + + /** + * See <a href="https://commons.apache.org/proper/commons-compress/apidocs/org/apache/commons/compress/compressors/xz/XZCompressorOutputStream.html#XZCompressorOutputStream-java.io.OutputStream-int-">here</a> for details. + */ + public DestinationS3Xz withCompressionLevel(Optional compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = compressionLevel; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3Xz other = (DestinationS3Xz) o; + return + java.util.Objects.deepEquals(this.codec, other.codec) && + java.util.Objects.deepEquals(this.compressionLevel, other.compressionLevel); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + codec, + compressionLevel); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3Xz.class, + "codec", codec, + "compressionLevel", compressionLevel); + } + + public final static class Builder { + + private Optional codec; + + private Optional compressionLevel; + + private Builder() { + // force use of static builder() method + } + + public Builder codec(DestinationS3SchemasFormatOutputFormatCodec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public Builder codec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + /** + * See <a href="https://commons.apache.org/proper/commons-compress/apidocs/org/apache/commons/compress/compressors/xz/XZCompressorOutputStream.html#XZCompressorOutputStream-java.io.OutputStream-int-">here</a> for details. + */ + public Builder compressionLevel(long compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = Optional.ofNullable(compressionLevel); + return this; + } + + /** + * See <a href="https://commons.apache.org/proper/commons-compress/apidocs/org/apache/commons/compress/compressors/xz/XZCompressorOutputStream.html#XZCompressorOutputStream-java.io.OutputStream-int-">here</a> for details. + */ + public Builder compressionLevel(Optional compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = compressionLevel; + return this; + } + + public DestinationS3Xz build() { + if (codec == null) { + codec = _SINGLETON_VALUE_Codec.value(); + } + if (compressionLevel == null) { + compressionLevel = _SINGLETON_VALUE_CompressionLevel.value(); + } + return new DestinationS3Xz( + codec, + compressionLevel); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Codec = + new LazySingletonValue<>( + "codec", + "\"xz\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionLevel = + new LazySingletonValue<>( + "compression_level", + "6", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationS3Zstandard.java b/src/main/java/com/airbyte/api/models/shared/DestinationS3Zstandard.java new file mode 100644 index 000000000..30bca5bdf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationS3Zstandard.java @@ -0,0 +1,249 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationS3Zstandard { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("codec") + private Optional codec; + + /** + * Negative levels are 'fast' modes akin to lz4 or snappy, levels above 9 are generally for archival purposes, and levels above 18 use a lot of memory. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_level") + private Optional compressionLevel; + + /** + * If true, include a checksum with each data block. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("include_checksum") + private Optional includeChecksum; + + public DestinationS3Zstandard( + @JsonProperty("codec") Optional codec, + @JsonProperty("compression_level") Optional compressionLevel, + @JsonProperty("include_checksum") Optional includeChecksum) { + Utils.checkNotNull(codec, "codec"); + Utils.checkNotNull(compressionLevel, "compressionLevel"); + Utils.checkNotNull(includeChecksum, "includeChecksum"); + this.codec = codec; + this.compressionLevel = compressionLevel; + this.includeChecksum = includeChecksum; + } + + public Optional codec() { + return codec; + } + + /** + * Negative levels are 'fast' modes akin to lz4 or snappy, levels above 9 are generally for archival purposes, and levels above 18 use a lot of memory. + */ + public Optional compressionLevel() { + return compressionLevel; + } + + /** + * If true, include a checksum with each data block. + */ + public Optional includeChecksum() { + return includeChecksum; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationS3Zstandard withCodec(DestinationS3SchemasFormatOutputFormat3Codec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public DestinationS3Zstandard withCodec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + /** + * Negative levels are 'fast' modes akin to lz4 or snappy, levels above 9 are generally for archival purposes, and levels above 18 use a lot of memory. + */ + public DestinationS3Zstandard withCompressionLevel(long compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = Optional.ofNullable(compressionLevel); + return this; + } + + /** + * Negative levels are 'fast' modes akin to lz4 or snappy, levels above 9 are generally for archival purposes, and levels above 18 use a lot of memory. + */ + public DestinationS3Zstandard withCompressionLevel(Optional compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = compressionLevel; + return this; + } + + /** + * If true, include a checksum with each data block. + */ + public DestinationS3Zstandard withIncludeChecksum(boolean includeChecksum) { + Utils.checkNotNull(includeChecksum, "includeChecksum"); + this.includeChecksum = Optional.ofNullable(includeChecksum); + return this; + } + + /** + * If true, include a checksum with each data block. + */ + public DestinationS3Zstandard withIncludeChecksum(Optional includeChecksum) { + Utils.checkNotNull(includeChecksum, "includeChecksum"); + this.includeChecksum = includeChecksum; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationS3Zstandard other = (DestinationS3Zstandard) o; + return + java.util.Objects.deepEquals(this.codec, other.codec) && + java.util.Objects.deepEquals(this.compressionLevel, other.compressionLevel) && + java.util.Objects.deepEquals(this.includeChecksum, other.includeChecksum); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + codec, + compressionLevel, + includeChecksum); + } + + @Override + public String toString() { + return Utils.toString(DestinationS3Zstandard.class, + "codec", codec, + "compressionLevel", compressionLevel, + "includeChecksum", includeChecksum); + } + + public final static class Builder { + + private Optional codec; + + private Optional compressionLevel; + + private Optional includeChecksum; + + private Builder() { + // force use of static builder() method + } + + public Builder codec(DestinationS3SchemasFormatOutputFormat3Codec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public Builder codec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + /** + * Negative levels are 'fast' modes akin to lz4 or snappy, levels above 9 are generally for archival purposes, and levels above 18 use a lot of memory. + */ + public Builder compressionLevel(long compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = Optional.ofNullable(compressionLevel); + return this; + } + + /** + * Negative levels are 'fast' modes akin to lz4 or snappy, levels above 9 are generally for archival purposes, and levels above 18 use a lot of memory. + */ + public Builder compressionLevel(Optional compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = compressionLevel; + return this; + } + + /** + * If true, include a checksum with each data block. + */ + public Builder includeChecksum(boolean includeChecksum) { + Utils.checkNotNull(includeChecksum, "includeChecksum"); + this.includeChecksum = Optional.ofNullable(includeChecksum); + return this; + } + + /** + * If true, include a checksum with each data block. + */ + public Builder includeChecksum(Optional includeChecksum) { + Utils.checkNotNull(includeChecksum, "includeChecksum"); + this.includeChecksum = includeChecksum; + return this; + } + + public DestinationS3Zstandard build() { + if (codec == null) { + codec = _SINGLETON_VALUE_Codec.value(); + } + if (compressionLevel == null) { + compressionLevel = _SINGLETON_VALUE_CompressionLevel.value(); + } + if (includeChecksum == null) { + includeChecksum = _SINGLETON_VALUE_IncludeChecksum.value(); + } + return new DestinationS3Zstandard( + codec, + compressionLevel, + includeChecksum); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Codec = + new LazySingletonValue<>( + "codec", + "\"zstandard\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionLevel = + new LazySingletonValue<>( + "compression_level", + "3", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_IncludeChecksum = + new LazySingletonValue<>( + "include_checksum", + "false", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationSftpJson.java b/src/main/java/com/airbyte/api/models/shared/DestinationSftpJson.java new file mode 100644 index 000000000..07fa901e4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationSftpJson.java @@ -0,0 +1,308 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationSftpJson { + + @JsonProperty("destinationType") + private SftpJson destinationType; + + /** + * Path to the directory where json files will be written. + */ + @JsonProperty("destination_path") + private String destinationPath; + + /** + * Hostname of the SFTP server. + */ + @JsonProperty("host") + private String host; + + /** + * Password associated with the username. + */ + @JsonProperty("password") + private String password; + + /** + * Port of the SFTP server. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + /** + * Username to use to access the SFTP server. + */ + @JsonProperty("username") + private String username; + + public DestinationSftpJson( + @JsonProperty("destination_path") String destinationPath, + @JsonProperty("host") String host, + @JsonProperty("password") String password, + @JsonProperty("port") Optional port, + @JsonProperty("username") String username) { + Utils.checkNotNull(destinationPath, "destinationPath"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(username, "username"); + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.destinationPath = destinationPath; + this.host = host; + this.password = password; + this.port = port; + this.username = username; + } + + public SftpJson destinationType() { + return destinationType; + } + + /** + * Path to the directory where json files will be written. + */ + public String destinationPath() { + return destinationPath; + } + + /** + * Hostname of the SFTP server. + */ + public String host() { + return host; + } + + /** + * Password associated with the username. + */ + public String password() { + return password; + } + + /** + * Port of the SFTP server. + */ + public Optional port() { + return port; + } + + /** + * Username to use to access the SFTP server. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Path to the directory where json files will be written. + */ + public DestinationSftpJson withDestinationPath(String destinationPath) { + Utils.checkNotNull(destinationPath, "destinationPath"); + this.destinationPath = destinationPath; + return this; + } + + /** + * Hostname of the SFTP server. + */ + public DestinationSftpJson withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Password associated with the username. + */ + public DestinationSftpJson withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Port of the SFTP server. + */ + public DestinationSftpJson withPort(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Port of the SFTP server. + */ + public DestinationSftpJson withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * Username to use to access the SFTP server. + */ + public DestinationSftpJson withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationSftpJson other = (DestinationSftpJson) o; + return + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.destinationPath, other.destinationPath) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + destinationType, + destinationPath, + host, + password, + port, + username); + } + + @Override + public String toString() { + return Utils.toString(DestinationSftpJson.class, + "destinationType", destinationType, + "destinationPath", destinationPath, + "host", host, + "password", password, + "port", port, + "username", username); + } + + public final static class Builder { + + private String destinationPath; + + private String host; + + private String password; + + private Optional port; + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Path to the directory where json files will be written. + */ + public Builder destinationPath(String destinationPath) { + Utils.checkNotNull(destinationPath, "destinationPath"); + this.destinationPath = destinationPath; + return this; + } + + /** + * Hostname of the SFTP server. + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Password associated with the username. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Port of the SFTP server. + */ + public Builder port(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Port of the SFTP server. + */ + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * Username to use to access the SFTP server. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public DestinationSftpJson build() { + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + return new DestinationSftpJson( + destinationPath, + host, + password, + port, + username); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"sftp-json\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationSnowflake.java b/src/main/java/com/airbyte/api/models/shared/DestinationSnowflake.java new file mode 100644 index 000000000..3f52b9ba6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationSnowflake.java @@ -0,0 +1,683 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationSnowflake { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + /** + * Enter the name of the <a href="https://docs.snowflake.com/en/sql-reference/ddl-database.html#database-schema-share-ddl">database</a> you want to sync data into + */ + @JsonProperty("database") + private String database; + + @JsonProperty("destinationType") + private DestinationSnowflakeSnowflake destinationType; + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("disable_type_dedupe") + private Optional disableTypeDedupe; + + /** + * When enabled your data will load into your final tables incrementally while your data is still being synced. When Disabled (the default), your data loads into your final tables once at the end of a sync. Note that this option only applies if you elect to create Final tables + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("enable_incremental_final_table_updates") + private Optional enableIncrementalFinalTableUpdates; + + /** + * Enter your Snowflake account's <a href="https://docs.snowflake.com/en/user-guide/admin-account-identifier.html#using-an-account-locator-as-an-identifier">locator</a> (in the format <account_locator>.<region>.<cloud>.snowflakecomputing.com) + */ + @JsonProperty("host") + private String host; + + /** + * Enter the additional properties to pass to the JDBC URL string when connecting to the database (formatted as key=value pairs separated by the symbol &). Example: key1=value1&key2=value2&key3=value3 + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("jdbc_url_params") + private Optional jdbcUrlParams; + + /** + * The schema to write raw tables into (default: airbyte_internal) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("raw_data_schema") + private Optional rawDataSchema; + + /** + * The number of days of Snowflake Time Travel to enable on the tables. See <a href="https://docs.snowflake.com/en/user-guide/data-time-travel#data-retention-period">Snowflake's documentation</a> for more information. Setting a nonzero value will incur increased storage costs in your Snowflake instance. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("retention_period_days") + private Optional retentionPeriodDays; + + /** + * Enter the <a href="https://docs.snowflake.com/en/user-guide/security-access-control-overview.html#roles">role</a> that you want to use to access Snowflake + */ + @JsonProperty("role") + private String role; + + /** + * Enter the name of the default <a href="https://docs.snowflake.com/en/sql-reference/ddl-database.html#database-schema-share-ddl">schema</a> + */ + @JsonProperty("schema") + private String schema; + + /** + * Enter the name of the user you want to use to access the database + */ + @JsonProperty("username") + private String username; + + /** + * Enter the name of the <a href="https://docs.snowflake.com/en/user-guide/warehouses-overview.html#overview-of-warehouses">warehouse</a> that you want to sync data into + */ + @JsonProperty("warehouse") + private String warehouse; + + public DestinationSnowflake( + @JsonProperty("credentials") Optional credentials, + @JsonProperty("database") String database, + @JsonProperty("disable_type_dedupe") Optional disableTypeDedupe, + @JsonProperty("enable_incremental_final_table_updates") Optional enableIncrementalFinalTableUpdates, + @JsonProperty("host") String host, + @JsonProperty("jdbc_url_params") Optional jdbcUrlParams, + @JsonProperty("raw_data_schema") Optional rawDataSchema, + @JsonProperty("retention_period_days") Optional retentionPeriodDays, + @JsonProperty("role") String role, + @JsonProperty("schema") String schema, + @JsonProperty("username") String username, + @JsonProperty("warehouse") String warehouse) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(database, "database"); + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + Utils.checkNotNull(enableIncrementalFinalTableUpdates, "enableIncrementalFinalTableUpdates"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + Utils.checkNotNull(retentionPeriodDays, "retentionPeriodDays"); + Utils.checkNotNull(role, "role"); + Utils.checkNotNull(schema, "schema"); + Utils.checkNotNull(username, "username"); + Utils.checkNotNull(warehouse, "warehouse"); + this.credentials = credentials; + this.database = database; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.disableTypeDedupe = disableTypeDedupe; + this.enableIncrementalFinalTableUpdates = enableIncrementalFinalTableUpdates; + this.host = host; + this.jdbcUrlParams = jdbcUrlParams; + this.rawDataSchema = rawDataSchema; + this.retentionPeriodDays = retentionPeriodDays; + this.role = role; + this.schema = schema; + this.username = username; + this.warehouse = warehouse; + } + + public Optional credentials() { + return credentials; + } + + /** + * Enter the name of the <a href="https://docs.snowflake.com/en/sql-reference/ddl-database.html#database-schema-share-ddl">database</a> you want to sync data into + */ + public String database() { + return database; + } + + public DestinationSnowflakeSnowflake destinationType() { + return destinationType; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public Optional disableTypeDedupe() { + return disableTypeDedupe; + } + + /** + * When enabled your data will load into your final tables incrementally while your data is still being synced. When Disabled (the default), your data loads into your final tables once at the end of a sync. Note that this option only applies if you elect to create Final tables + */ + public Optional enableIncrementalFinalTableUpdates() { + return enableIncrementalFinalTableUpdates; + } + + /** + * Enter your Snowflake account's <a href="https://docs.snowflake.com/en/user-guide/admin-account-identifier.html#using-an-account-locator-as-an-identifier">locator</a> (in the format <account_locator>.<region>.<cloud>.snowflakecomputing.com) + */ + public String host() { + return host; + } + + /** + * Enter the additional properties to pass to the JDBC URL string when connecting to the database (formatted as key=value pairs separated by the symbol &). Example: key1=value1&key2=value2&key3=value3 + */ + public Optional jdbcUrlParams() { + return jdbcUrlParams; + } + + /** + * The schema to write raw tables into (default: airbyte_internal) + */ + public Optional rawDataSchema() { + return rawDataSchema; + } + + /** + * The number of days of Snowflake Time Travel to enable on the tables. See <a href="https://docs.snowflake.com/en/user-guide/data-time-travel#data-retention-period">Snowflake's documentation</a> for more information. Setting a nonzero value will incur increased storage costs in your Snowflake instance. + */ + public Optional retentionPeriodDays() { + return retentionPeriodDays; + } + + /** + * Enter the <a href="https://docs.snowflake.com/en/user-guide/security-access-control-overview.html#roles">role</a> that you want to use to access Snowflake + */ + public String role() { + return role; + } + + /** + * Enter the name of the default <a href="https://docs.snowflake.com/en/sql-reference/ddl-database.html#database-schema-share-ddl">schema</a> + */ + public String schema() { + return schema; + } + + /** + * Enter the name of the user you want to use to access the database + */ + public String username() { + return username; + } + + /** + * Enter the name of the <a href="https://docs.snowflake.com/en/user-guide/warehouses-overview.html#overview-of-warehouses">warehouse</a> that you want to sync data into + */ + public String warehouse() { + return warehouse; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationSnowflake withCredentials(AuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public DestinationSnowflake withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Enter the name of the <a href="https://docs.snowflake.com/en/sql-reference/ddl-database.html#database-schema-share-ddl">database</a> you want to sync data into + */ + public DestinationSnowflake withDatabase(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public DestinationSnowflake withDisableTypeDedupe(boolean disableTypeDedupe) { + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + this.disableTypeDedupe = Optional.ofNullable(disableTypeDedupe); + return this; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public DestinationSnowflake withDisableTypeDedupe(Optional disableTypeDedupe) { + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + this.disableTypeDedupe = disableTypeDedupe; + return this; + } + + /** + * When enabled your data will load into your final tables incrementally while your data is still being synced. When Disabled (the default), your data loads into your final tables once at the end of a sync. Note that this option only applies if you elect to create Final tables + */ + public DestinationSnowflake withEnableIncrementalFinalTableUpdates(boolean enableIncrementalFinalTableUpdates) { + Utils.checkNotNull(enableIncrementalFinalTableUpdates, "enableIncrementalFinalTableUpdates"); + this.enableIncrementalFinalTableUpdates = Optional.ofNullable(enableIncrementalFinalTableUpdates); + return this; + } + + /** + * When enabled your data will load into your final tables incrementally while your data is still being synced. When Disabled (the default), your data loads into your final tables once at the end of a sync. Note that this option only applies if you elect to create Final tables + */ + public DestinationSnowflake withEnableIncrementalFinalTableUpdates(Optional enableIncrementalFinalTableUpdates) { + Utils.checkNotNull(enableIncrementalFinalTableUpdates, "enableIncrementalFinalTableUpdates"); + this.enableIncrementalFinalTableUpdates = enableIncrementalFinalTableUpdates; + return this; + } + + /** + * Enter your Snowflake account's <a href="https://docs.snowflake.com/en/user-guide/admin-account-identifier.html#using-an-account-locator-as-an-identifier">locator</a> (in the format <account_locator>.<region>.<cloud>.snowflakecomputing.com) + */ + public DestinationSnowflake withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Enter the additional properties to pass to the JDBC URL string when connecting to the database (formatted as key=value pairs separated by the symbol &). Example: key1=value1&key2=value2&key3=value3 + */ + public DestinationSnowflake withJdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Enter the additional properties to pass to the JDBC URL string when connecting to the database (formatted as key=value pairs separated by the symbol &). Example: key1=value1&key2=value2&key3=value3 + */ + public DestinationSnowflake withJdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * The schema to write raw tables into (default: airbyte_internal) + */ + public DestinationSnowflake withRawDataSchema(String rawDataSchema) { + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + this.rawDataSchema = Optional.ofNullable(rawDataSchema); + return this; + } + + /** + * The schema to write raw tables into (default: airbyte_internal) + */ + public DestinationSnowflake withRawDataSchema(Optional rawDataSchema) { + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + this.rawDataSchema = rawDataSchema; + return this; + } + + /** + * The number of days of Snowflake Time Travel to enable on the tables. See <a href="https://docs.snowflake.com/en/user-guide/data-time-travel#data-retention-period">Snowflake's documentation</a> for more information. Setting a nonzero value will incur increased storage costs in your Snowflake instance. + */ + public DestinationSnowflake withRetentionPeriodDays(long retentionPeriodDays) { + Utils.checkNotNull(retentionPeriodDays, "retentionPeriodDays"); + this.retentionPeriodDays = Optional.ofNullable(retentionPeriodDays); + return this; + } + + /** + * The number of days of Snowflake Time Travel to enable on the tables. See <a href="https://docs.snowflake.com/en/user-guide/data-time-travel#data-retention-period">Snowflake's documentation</a> for more information. Setting a nonzero value will incur increased storage costs in your Snowflake instance. + */ + public DestinationSnowflake withRetentionPeriodDays(Optional retentionPeriodDays) { + Utils.checkNotNull(retentionPeriodDays, "retentionPeriodDays"); + this.retentionPeriodDays = retentionPeriodDays; + return this; + } + + /** + * Enter the <a href="https://docs.snowflake.com/en/user-guide/security-access-control-overview.html#roles">role</a> that you want to use to access Snowflake + */ + public DestinationSnowflake withRole(String role) { + Utils.checkNotNull(role, "role"); + this.role = role; + return this; + } + + /** + * Enter the name of the default <a href="https://docs.snowflake.com/en/sql-reference/ddl-database.html#database-schema-share-ddl">schema</a> + */ + public DestinationSnowflake withSchema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + /** + * Enter the name of the user you want to use to access the database + */ + public DestinationSnowflake withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + /** + * Enter the name of the <a href="https://docs.snowflake.com/en/user-guide/warehouses-overview.html#overview-of-warehouses">warehouse</a> that you want to sync data into + */ + public DestinationSnowflake withWarehouse(String warehouse) { + Utils.checkNotNull(warehouse, "warehouse"); + this.warehouse = warehouse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationSnowflake other = (DestinationSnowflake) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.database, other.database) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.disableTypeDedupe, other.disableTypeDedupe) && + java.util.Objects.deepEquals(this.enableIncrementalFinalTableUpdates, other.enableIncrementalFinalTableUpdates) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.jdbcUrlParams, other.jdbcUrlParams) && + java.util.Objects.deepEquals(this.rawDataSchema, other.rawDataSchema) && + java.util.Objects.deepEquals(this.retentionPeriodDays, other.retentionPeriodDays) && + java.util.Objects.deepEquals(this.role, other.role) && + java.util.Objects.deepEquals(this.schema, other.schema) && + java.util.Objects.deepEquals(this.username, other.username) && + java.util.Objects.deepEquals(this.warehouse, other.warehouse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + database, + destinationType, + disableTypeDedupe, + enableIncrementalFinalTableUpdates, + host, + jdbcUrlParams, + rawDataSchema, + retentionPeriodDays, + role, + schema, + username, + warehouse); + } + + @Override + public String toString() { + return Utils.toString(DestinationSnowflake.class, + "credentials", credentials, + "database", database, + "destinationType", destinationType, + "disableTypeDedupe", disableTypeDedupe, + "enableIncrementalFinalTableUpdates", enableIncrementalFinalTableUpdates, + "host", host, + "jdbcUrlParams", jdbcUrlParams, + "rawDataSchema", rawDataSchema, + "retentionPeriodDays", retentionPeriodDays, + "role", role, + "schema", schema, + "username", username, + "warehouse", warehouse); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private String database; + + private Optional disableTypeDedupe; + + private Optional enableIncrementalFinalTableUpdates; + + private String host; + + private Optional jdbcUrlParams = Optional.empty(); + + private Optional rawDataSchema = Optional.empty(); + + private Optional retentionPeriodDays; + + private String role; + + private String schema; + + private String username; + + private String warehouse; + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(AuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Enter the name of the <a href="https://docs.snowflake.com/en/sql-reference/ddl-database.html#database-schema-share-ddl">database</a> you want to sync data into + */ + public Builder database(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public Builder disableTypeDedupe(boolean disableTypeDedupe) { + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + this.disableTypeDedupe = Optional.ofNullable(disableTypeDedupe); + return this; + } + + /** + * Disable Writing Final Tables. WARNING! The data format in _airbyte_data is likely stable but there are no guarantees that other metadata columns will remain the same in future versions + */ + public Builder disableTypeDedupe(Optional disableTypeDedupe) { + Utils.checkNotNull(disableTypeDedupe, "disableTypeDedupe"); + this.disableTypeDedupe = disableTypeDedupe; + return this; + } + + /** + * When enabled your data will load into your final tables incrementally while your data is still being synced. When Disabled (the default), your data loads into your final tables once at the end of a sync. Note that this option only applies if you elect to create Final tables + */ + public Builder enableIncrementalFinalTableUpdates(boolean enableIncrementalFinalTableUpdates) { + Utils.checkNotNull(enableIncrementalFinalTableUpdates, "enableIncrementalFinalTableUpdates"); + this.enableIncrementalFinalTableUpdates = Optional.ofNullable(enableIncrementalFinalTableUpdates); + return this; + } + + /** + * When enabled your data will load into your final tables incrementally while your data is still being synced. When Disabled (the default), your data loads into your final tables once at the end of a sync. Note that this option only applies if you elect to create Final tables + */ + public Builder enableIncrementalFinalTableUpdates(Optional enableIncrementalFinalTableUpdates) { + Utils.checkNotNull(enableIncrementalFinalTableUpdates, "enableIncrementalFinalTableUpdates"); + this.enableIncrementalFinalTableUpdates = enableIncrementalFinalTableUpdates; + return this; + } + + /** + * Enter your Snowflake account's <a href="https://docs.snowflake.com/en/user-guide/admin-account-identifier.html#using-an-account-locator-as-an-identifier">locator</a> (in the format <account_locator>.<region>.<cloud>.snowflakecomputing.com) + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Enter the additional properties to pass to the JDBC URL string when connecting to the database (formatted as key=value pairs separated by the symbol &). Example: key1=value1&key2=value2&key3=value3 + */ + public Builder jdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Enter the additional properties to pass to the JDBC URL string when connecting to the database (formatted as key=value pairs separated by the symbol &). Example: key1=value1&key2=value2&key3=value3 + */ + public Builder jdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * The schema to write raw tables into (default: airbyte_internal) + */ + public Builder rawDataSchema(String rawDataSchema) { + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + this.rawDataSchema = Optional.ofNullable(rawDataSchema); + return this; + } + + /** + * The schema to write raw tables into (default: airbyte_internal) + */ + public Builder rawDataSchema(Optional rawDataSchema) { + Utils.checkNotNull(rawDataSchema, "rawDataSchema"); + this.rawDataSchema = rawDataSchema; + return this; + } + + /** + * The number of days of Snowflake Time Travel to enable on the tables. See <a href="https://docs.snowflake.com/en/user-guide/data-time-travel#data-retention-period">Snowflake's documentation</a> for more information. Setting a nonzero value will incur increased storage costs in your Snowflake instance. + */ + public Builder retentionPeriodDays(long retentionPeriodDays) { + Utils.checkNotNull(retentionPeriodDays, "retentionPeriodDays"); + this.retentionPeriodDays = Optional.ofNullable(retentionPeriodDays); + return this; + } + + /** + * The number of days of Snowflake Time Travel to enable on the tables. See <a href="https://docs.snowflake.com/en/user-guide/data-time-travel#data-retention-period">Snowflake's documentation</a> for more information. Setting a nonzero value will incur increased storage costs in your Snowflake instance. + */ + public Builder retentionPeriodDays(Optional retentionPeriodDays) { + Utils.checkNotNull(retentionPeriodDays, "retentionPeriodDays"); + this.retentionPeriodDays = retentionPeriodDays; + return this; + } + + /** + * Enter the <a href="https://docs.snowflake.com/en/user-guide/security-access-control-overview.html#roles">role</a> that you want to use to access Snowflake + */ + public Builder role(String role) { + Utils.checkNotNull(role, "role"); + this.role = role; + return this; + } + + /** + * Enter the name of the default <a href="https://docs.snowflake.com/en/sql-reference/ddl-database.html#database-schema-share-ddl">schema</a> + */ + public Builder schema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + /** + * Enter the name of the user you want to use to access the database + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + /** + * Enter the name of the <a href="https://docs.snowflake.com/en/user-guide/warehouses-overview.html#overview-of-warehouses">warehouse</a> that you want to sync data into + */ + public Builder warehouse(String warehouse) { + Utils.checkNotNull(warehouse, "warehouse"); + this.warehouse = warehouse; + return this; + } + + public DestinationSnowflake build() { + if (disableTypeDedupe == null) { + disableTypeDedupe = _SINGLETON_VALUE_DisableTypeDedupe.value(); + } + if (enableIncrementalFinalTableUpdates == null) { + enableIncrementalFinalTableUpdates = _SINGLETON_VALUE_EnableIncrementalFinalTableUpdates.value(); + } + if (retentionPeriodDays == null) { + retentionPeriodDays = _SINGLETON_VALUE_RetentionPeriodDays.value(); + } + return new DestinationSnowflake( + credentials, + database, + disableTypeDedupe, + enableIncrementalFinalTableUpdates, + host, + jdbcUrlParams, + rawDataSchema, + retentionPeriodDays, + role, + schema, + username, + warehouse); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"snowflake\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DisableTypeDedupe = + new LazySingletonValue<>( + "disable_type_dedupe", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_EnableIncrementalFinalTableUpdates = + new LazySingletonValue<>( + "enable_incremental_final_table_updates", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_RetentionPeriodDays = + new LazySingletonValue<>( + "retention_period_days", + "1", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeAuthType.java b/src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeAuthType.java new file mode 100644 index 000000000..653f53b63 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationSnowflakeAuthType { + USERNAME_AND_PASSWORD("Username and Password"); + + @JsonValue + private final String value; + + private DestinationSnowflakeAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeOAuth20.java b/src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeOAuth20.java new file mode 100644 index 000000000..350c56db8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeOAuth20.java @@ -0,0 +1,279 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationSnowflakeOAuth20 { + + /** + * Enter you application's Access Token + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * Enter your application's Client ID + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * Enter your application's Client secret + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + /** + * Enter your application's Refresh Token + */ + @JsonProperty("refresh_token") + private String refreshToken; + + public DestinationSnowflakeOAuth20( + @JsonProperty("access_token") String accessToken, + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret, + @JsonProperty("refresh_token") String refreshToken) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + this.accessToken = accessToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + } + + /** + * Enter you application's Access Token + */ + public String accessToken() { + return accessToken; + } + + public Optional authType() { + return authType; + } + + /** + * Enter your application's Client ID + */ + public Optional clientId() { + return clientId; + } + + /** + * Enter your application's Client secret + */ + public Optional clientSecret() { + return clientSecret; + } + + /** + * Enter your application's Refresh Token + */ + public String refreshToken() { + return refreshToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Enter you application's Access Token + */ + public DestinationSnowflakeOAuth20 withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * Enter your application's Client ID + */ + public DestinationSnowflakeOAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Enter your application's Client ID + */ + public DestinationSnowflakeOAuth20 withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Enter your application's Client secret + */ + public DestinationSnowflakeOAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Enter your application's Client secret + */ + public DestinationSnowflakeOAuth20 withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Enter your application's Refresh Token + */ + public DestinationSnowflakeOAuth20 withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationSnowflakeOAuth20 other = (DestinationSnowflakeOAuth20) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authType, + clientId, + clientSecret, + refreshToken); + } + + @Override + public String toString() { + return Utils.toString(DestinationSnowflakeOAuth20.class, + "accessToken", accessToken, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken); + } + + public final static class Builder { + + private String accessToken; + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private String refreshToken; + + private Builder() { + // force use of static builder() method + } + + /** + * Enter you application's Access Token + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * Enter your application's Client ID + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Enter your application's Client ID + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Enter your application's Client secret + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Enter your application's Client secret + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Enter your application's Refresh Token + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + public DestinationSnowflakeOAuth20 build() { + return new DestinationSnowflakeOAuth20( + accessToken, + clientId, + clientSecret, + refreshToken); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"OAuth2.0\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeSchemasAuthType.java new file mode 100644 index 000000000..25e9496e1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationSnowflakeSchemasAuthType { + O_AUTH20("OAuth2.0"); + + @JsonValue + private final String value; + + private DestinationSnowflakeSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeSchemasCredentialsAuthType.java b/src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeSchemasCredentialsAuthType.java new file mode 100644 index 000000000..9a9f273c9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeSchemasCredentialsAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationSnowflakeSchemasCredentialsAuthType { + KEY_PAIR_AUTHENTICATION("Key Pair Authentication"); + + @JsonValue + private final String value; + + private DestinationSnowflakeSchemasCredentialsAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeSnowflake.java b/src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeSnowflake.java new file mode 100644 index 000000000..289bd9228 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationSnowflakeSnowflake.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationSnowflakeSnowflake { + SNOWFLAKE("snowflake"); + + @JsonValue + private final String value; + + private DestinationSnowflakeSnowflake(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationTeradata.java b/src/main/java/com/airbyte/api/models/shared/DestinationTeradata.java new file mode 100644 index 000000000..1a64c7f0e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationTeradata.java @@ -0,0 +1,515 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationTeradata { + + @JsonProperty("destinationType") + private Teradata destinationType; + + /** + * Hostname of the database. + */ + @JsonProperty("host") + private String host; + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("jdbc_url_params") + private Optional jdbcUrlParams; + + /** + * Password associated with the username. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("password") + private Optional password; + + /** + * The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schema") + private Optional schema; + + /** + * Encrypt data using SSL. When activating SSL, please select one of the connection modes. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ssl") + private Optional ssl; + + /** + * SSL connection modes. + * <b>disable</b> - Chose this mode to disable encryption of communication between Airbyte and destination database + * <b>allow</b> - Chose this mode to enable encryption only when required by the destination database + * <b>prefer</b> - Chose this mode to allow unencrypted connection only if the destination database does not support encryption + * <b>require</b> - Chose this mode to always require encryption. If the destination database server does not support encryption, connection will fail + * <b>verify-ca</b> - Chose this mode to always require encryption and to verify that the destination database server has a valid SSL certificate + * <b>verify-full</b> - This is the most secure mode. Chose this mode to always require encryption and to verify the identity of the destination database server + * See more information - <a href="https://teradata-docs.s3.amazonaws.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_2.html#URL_SSLMODE"> in the docs</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ssl_mode") + private Optional sslMode; + + /** + * Username to use to access the database. + */ + @JsonProperty("username") + private String username; + + public DestinationTeradata( + @JsonProperty("host") String host, + @JsonProperty("jdbc_url_params") Optional jdbcUrlParams, + @JsonProperty("password") Optional password, + @JsonProperty("schema") Optional schema, + @JsonProperty("ssl") Optional ssl, + @JsonProperty("ssl_mode") Optional sslMode, + @JsonProperty("username") String username) { + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(schema, "schema"); + Utils.checkNotNull(ssl, "ssl"); + Utils.checkNotNull(sslMode, "sslMode"); + Utils.checkNotNull(username, "username"); + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.host = host; + this.jdbcUrlParams = jdbcUrlParams; + this.password = password; + this.schema = schema; + this.ssl = ssl; + this.sslMode = sslMode; + this.username = username; + } + + public Teradata destinationType() { + return destinationType; + } + + /** + * Hostname of the database. + */ + public String host() { + return host; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Optional jdbcUrlParams() { + return jdbcUrlParams; + } + + /** + * Password associated with the username. + */ + public Optional password() { + return password; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". + */ + public Optional schema() { + return schema; + } + + /** + * Encrypt data using SSL. When activating SSL, please select one of the connection modes. + */ + public Optional ssl() { + return ssl; + } + + /** + * SSL connection modes. + * <b>disable</b> - Chose this mode to disable encryption of communication between Airbyte and destination database + * <b>allow</b> - Chose this mode to enable encryption only when required by the destination database + * <b>prefer</b> - Chose this mode to allow unencrypted connection only if the destination database does not support encryption + * <b>require</b> - Chose this mode to always require encryption. If the destination database server does not support encryption, connection will fail + * <b>verify-ca</b> - Chose this mode to always require encryption and to verify that the destination database server has a valid SSL certificate + * <b>verify-full</b> - This is the most secure mode. Chose this mode to always require encryption and to verify the identity of the destination database server + * See more information - <a href="https://teradata-docs.s3.amazonaws.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_2.html#URL_SSLMODE"> in the docs</a>. + */ + public Optional sslMode() { + return sslMode; + } + + /** + * Username to use to access the database. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Hostname of the database. + */ + public DestinationTeradata withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public DestinationTeradata withJdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public DestinationTeradata withJdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * Password associated with the username. + */ + public DestinationTeradata withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * Password associated with the username. + */ + public DestinationTeradata withPassword(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". + */ + public DestinationTeradata withSchema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = Optional.ofNullable(schema); + return this; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". + */ + public DestinationTeradata withSchema(Optional schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + /** + * Encrypt data using SSL. When activating SSL, please select one of the connection modes. + */ + public DestinationTeradata withSsl(boolean ssl) { + Utils.checkNotNull(ssl, "ssl"); + this.ssl = Optional.ofNullable(ssl); + return this; + } + + /** + * Encrypt data using SSL. When activating SSL, please select one of the connection modes. + */ + public DestinationTeradata withSsl(Optional ssl) { + Utils.checkNotNull(ssl, "ssl"); + this.ssl = ssl; + return this; + } + + /** + * SSL connection modes. + * <b>disable</b> - Chose this mode to disable encryption of communication between Airbyte and destination database + * <b>allow</b> - Chose this mode to enable encryption only when required by the destination database + * <b>prefer</b> - Chose this mode to allow unencrypted connection only if the destination database does not support encryption + * <b>require</b> - Chose this mode to always require encryption. If the destination database server does not support encryption, connection will fail + * <b>verify-ca</b> - Chose this mode to always require encryption and to verify that the destination database server has a valid SSL certificate + * <b>verify-full</b> - This is the most secure mode. Chose this mode to always require encryption and to verify the identity of the destination database server + * See more information - <a href="https://teradata-docs.s3.amazonaws.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_2.html#URL_SSLMODE"> in the docs</a>. + */ + public DestinationTeradata withSslMode(DestinationTeradataSSLModes sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = Optional.ofNullable(sslMode); + return this; + } + + /** + * SSL connection modes. + * <b>disable</b> - Chose this mode to disable encryption of communication between Airbyte and destination database + * <b>allow</b> - Chose this mode to enable encryption only when required by the destination database + * <b>prefer</b> - Chose this mode to allow unencrypted connection only if the destination database does not support encryption + * <b>require</b> - Chose this mode to always require encryption. If the destination database server does not support encryption, connection will fail + * <b>verify-ca</b> - Chose this mode to always require encryption and to verify that the destination database server has a valid SSL certificate + * <b>verify-full</b> - This is the most secure mode. Chose this mode to always require encryption and to verify the identity of the destination database server + * See more information - <a href="https://teradata-docs.s3.amazonaws.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_2.html#URL_SSLMODE"> in the docs</a>. + */ + public DestinationTeradata withSslMode(Optional sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = sslMode; + return this; + } + + /** + * Username to use to access the database. + */ + public DestinationTeradata withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationTeradata other = (DestinationTeradata) o; + return + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.jdbcUrlParams, other.jdbcUrlParams) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.schema, other.schema) && + java.util.Objects.deepEquals(this.ssl, other.ssl) && + java.util.Objects.deepEquals(this.sslMode, other.sslMode) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + destinationType, + host, + jdbcUrlParams, + password, + schema, + ssl, + sslMode, + username); + } + + @Override + public String toString() { + return Utils.toString(DestinationTeradata.class, + "destinationType", destinationType, + "host", host, + "jdbcUrlParams", jdbcUrlParams, + "password", password, + "schema", schema, + "ssl", ssl, + "sslMode", sslMode, + "username", username); + } + + public final static class Builder { + + private String host; + + private Optional jdbcUrlParams = Optional.empty(); + + private Optional password = Optional.empty(); + + private Optional schema; + + private Optional ssl; + + private Optional sslMode = Optional.empty(); + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Hostname of the database. + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * Password associated with the username. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * Password associated with the username. + */ + public Builder password(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". + */ + public Builder schema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = Optional.ofNullable(schema); + return this; + } + + /** + * The default schema tables are written to if the source does not specify a namespace. The usual value for this field is "public". + */ + public Builder schema(Optional schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + /** + * Encrypt data using SSL. When activating SSL, please select one of the connection modes. + */ + public Builder ssl(boolean ssl) { + Utils.checkNotNull(ssl, "ssl"); + this.ssl = Optional.ofNullable(ssl); + return this; + } + + /** + * Encrypt data using SSL. When activating SSL, please select one of the connection modes. + */ + public Builder ssl(Optional ssl) { + Utils.checkNotNull(ssl, "ssl"); + this.ssl = ssl; + return this; + } + + /** + * SSL connection modes. + * <b>disable</b> - Chose this mode to disable encryption of communication between Airbyte and destination database + * <b>allow</b> - Chose this mode to enable encryption only when required by the destination database + * <b>prefer</b> - Chose this mode to allow unencrypted connection only if the destination database does not support encryption + * <b>require</b> - Chose this mode to always require encryption. If the destination database server does not support encryption, connection will fail + * <b>verify-ca</b> - Chose this mode to always require encryption and to verify that the destination database server has a valid SSL certificate + * <b>verify-full</b> - This is the most secure mode. Chose this mode to always require encryption and to verify the identity of the destination database server + * See more information - <a href="https://teradata-docs.s3.amazonaws.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_2.html#URL_SSLMODE"> in the docs</a>. + */ + public Builder sslMode(DestinationTeradataSSLModes sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = Optional.ofNullable(sslMode); + return this; + } + + /** + * SSL connection modes. + * <b>disable</b> - Chose this mode to disable encryption of communication between Airbyte and destination database + * <b>allow</b> - Chose this mode to enable encryption only when required by the destination database + * <b>prefer</b> - Chose this mode to allow unencrypted connection only if the destination database does not support encryption + * <b>require</b> - Chose this mode to always require encryption. If the destination database server does not support encryption, connection will fail + * <b>verify-ca</b> - Chose this mode to always require encryption and to verify that the destination database server has a valid SSL certificate + * <b>verify-full</b> - This is the most secure mode. Chose this mode to always require encryption and to verify the identity of the destination database server + * See more information - <a href="https://teradata-docs.s3.amazonaws.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_2.html#URL_SSLMODE"> in the docs</a>. + */ + public Builder sslMode(Optional sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = sslMode; + return this; + } + + /** + * Username to use to access the database. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public DestinationTeradata build() { + if (schema == null) { + schema = _SINGLETON_VALUE_Schema.value(); + } + if (ssl == null) { + ssl = _SINGLETON_VALUE_Ssl.value(); + } + return new DestinationTeradata( + host, + jdbcUrlParams, + password, + schema, + ssl, + sslMode, + username); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"teradata\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Schema = + new LazySingletonValue<>( + "schema", + "\"airbyte_td\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Ssl = + new LazySingletonValue<>( + "ssl", + "false", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationTeradataAllow.java b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataAllow.java new file mode 100644 index 000000000..a0049e7c0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataAllow.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationTeradataAllow - Allow SSL mode. + */ + +public class DestinationTeradataAllow { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationTeradataAllow() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationTeradataAllow other = (DestinationTeradataAllow) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationTeradataAllow.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationTeradataAllow build() { + return new DestinationTeradataAllow( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"allow\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationTeradataDisable.java b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataDisable.java new file mode 100644 index 000000000..640a0b7ef --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataDisable.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationTeradataDisable - Disable SSL. + */ + +public class DestinationTeradataDisable { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationTeradataDisable() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationTeradataDisable other = (DestinationTeradataDisable) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationTeradataDisable.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationTeradataDisable build() { + return new DestinationTeradataDisable( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"disable\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationTeradataMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataMode.java new file mode 100644 index 000000000..b9845f3e4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationTeradataMode { + DISABLE("disable"); + + @JsonValue + private final String value; + + private DestinationTeradataMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationTeradataPrefer.java b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataPrefer.java new file mode 100644 index 000000000..a8e8296a8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataPrefer.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationTeradataPrefer - Prefer SSL mode. + */ + +public class DestinationTeradataPrefer { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationTeradataPrefer() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationTeradataPrefer other = (DestinationTeradataPrefer) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationTeradataPrefer.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationTeradataPrefer build() { + return new DestinationTeradataPrefer( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"prefer\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationTeradataRequire.java b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataRequire.java new file mode 100644 index 000000000..3d6b4cb88 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataRequire.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationTeradataRequire - Require SSL mode. + */ + +public class DestinationTeradataRequire { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationTeradataRequire() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationTeradataRequire other = (DestinationTeradataRequire) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationTeradataRequire.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationTeradataRequire build() { + return new DestinationTeradataRequire( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"require\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationTeradataSSLModes.java b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataSSLModes.java new file mode 100644 index 000000000..0c3278145 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataSSLModes.java @@ -0,0 +1,136 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationTeradataSSLModes - SSL connection modes. + * <b>disable</b> - Chose this mode to disable encryption of communication between Airbyte and destination database + * <b>allow</b> - Chose this mode to enable encryption only when required by the destination database + * <b>prefer</b> - Chose this mode to allow unencrypted connection only if the destination database does not support encryption + * <b>require</b> - Chose this mode to always require encryption. If the destination database server does not support encryption, connection will fail + * <b>verify-ca</b> - Chose this mode to always require encryption and to verify that the destination database server has a valid SSL certificate + * <b>verify-full</b> - This is the most secure mode. Chose this mode to always require encryption and to verify the identity of the destination database server + * See more information - <a href="https://teradata-docs.s3.amazonaws.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_2.html#URL_SSLMODE"> in the docs</a>. + */ + +@JsonDeserialize(using = DestinationTeradataSSLModes._Deserializer.class) +public class DestinationTeradataSSLModes { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationTeradataSSLModes(TypedObject value) { + this.value = value; + } + + public static DestinationTeradataSSLModes of(DestinationTeradataDisable value) { + Utils.checkNotNull(value, "value"); + return new DestinationTeradataSSLModes(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationTeradataSSLModes of(DestinationTeradataAllow value) { + Utils.checkNotNull(value, "value"); + return new DestinationTeradataSSLModes(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationTeradataSSLModes of(DestinationTeradataPrefer value) { + Utils.checkNotNull(value, "value"); + return new DestinationTeradataSSLModes(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationTeradataSSLModes of(DestinationTeradataRequire value) { + Utils.checkNotNull(value, "value"); + return new DestinationTeradataSSLModes(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationTeradataSSLModes of(DestinationTeradataVerifyCa value) { + Utils.checkNotNull(value, "value"); + return new DestinationTeradataSSLModes(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationTeradataSSLModes of(DestinationTeradataVerifyFull value) { + Utils.checkNotNull(value, "value"); + return new DestinationTeradataSSLModes(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationTeradataDisable}
    • + *
    • {@code DestinationTeradataAllow}
    • + *
    • {@code DestinationTeradataPrefer}
    • + *
    • {@code DestinationTeradataRequire}
    • + *
    • {@code DestinationTeradataVerifyCa}
    • + *
    • {@code DestinationTeradataVerifyFull}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationTeradataSSLModes other = (DestinationTeradataSSLModes) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationTeradataSSLModes.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationTeradataSSLModes.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasMode.java new file mode 100644 index 000000000..09335da19 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationTeradataSchemasMode { + ALLOW("allow"); + + @JsonValue + private final String value; + + private DestinationTeradataSchemasMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasSSLModeSSLModes5Mode.java b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasSSLModeSSLModes5Mode.java new file mode 100644 index 000000000..2963694e1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasSSLModeSSLModes5Mode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationTeradataSchemasSSLModeSSLModes5Mode { + VERIFY_CA("verify-ca"); + + @JsonValue + private final String value; + + private DestinationTeradataSchemasSSLModeSSLModes5Mode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasSSLModeSSLModes6Mode.java b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasSSLModeSSLModes6Mode.java new file mode 100644 index 000000000..0f040ed6e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasSSLModeSSLModes6Mode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationTeradataSchemasSSLModeSSLModes6Mode { + VERIFY_FULL("verify-full"); + + @JsonValue + private final String value; + + private DestinationTeradataSchemasSSLModeSSLModes6Mode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasSSLModeSSLModesMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasSSLModeSSLModesMode.java new file mode 100644 index 000000000..89eb2308e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasSSLModeSSLModesMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationTeradataSchemasSSLModeSSLModesMode { + REQUIRE("require"); + + @JsonValue + private final String value; + + private DestinationTeradataSchemasSSLModeSSLModesMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasSslModeMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasSslModeMode.java new file mode 100644 index 000000000..a06fed194 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataSchemasSslModeMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationTeradataSchemasSslModeMode { + PREFER("prefer"); + + @JsonValue + private final String value; + + private DestinationTeradataSchemasSslModeMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationTeradataVerifyCa.java b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataVerifyCa.java new file mode 100644 index 000000000..fd6b8b08b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataVerifyCa.java @@ -0,0 +1,128 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationTeradataVerifyCa - Verify-ca SSL mode. + */ + +public class DestinationTeradataVerifyCa { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * Specifies the file name of a PEM file that contains Certificate Authority (CA) certificates for use with SSLMODE=verify-ca. + * See more information - <a href="https://teradata-docs.s3.amazonaws.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_2.html#URL_SSLCA"> in the docs</a>. + */ + @JsonProperty("ssl_ca_certificate") + private String sslCaCertificate; + + public DestinationTeradataVerifyCa( + @JsonProperty("ssl_ca_certificate") String sslCaCertificate) { + Utils.checkNotNull(sslCaCertificate, "sslCaCertificate"); + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.sslCaCertificate = sslCaCertificate; + } + + public Optional mode() { + return mode; + } + + /** + * Specifies the file name of a PEM file that contains Certificate Authority (CA) certificates for use with SSLMODE=verify-ca. + * See more information - <a href="https://teradata-docs.s3.amazonaws.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_2.html#URL_SSLCA"> in the docs</a>. + */ + public String sslCaCertificate() { + return sslCaCertificate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Specifies the file name of a PEM file that contains Certificate Authority (CA) certificates for use with SSLMODE=verify-ca. + * See more information - <a href="https://teradata-docs.s3.amazonaws.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_2.html#URL_SSLCA"> in the docs</a>. + */ + public DestinationTeradataVerifyCa withSslCaCertificate(String sslCaCertificate) { + Utils.checkNotNull(sslCaCertificate, "sslCaCertificate"); + this.sslCaCertificate = sslCaCertificate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationTeradataVerifyCa other = (DestinationTeradataVerifyCa) o; + return + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.sslCaCertificate, other.sslCaCertificate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode, + sslCaCertificate); + } + + @Override + public String toString() { + return Utils.toString(DestinationTeradataVerifyCa.class, + "mode", mode, + "sslCaCertificate", sslCaCertificate); + } + + public final static class Builder { + + private String sslCaCertificate; + + private Builder() { + // force use of static builder() method + } + + /** + * Specifies the file name of a PEM file that contains Certificate Authority (CA) certificates for use with SSLMODE=verify-ca. + * See more information - <a href="https://teradata-docs.s3.amazonaws.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_2.html#URL_SSLCA"> in the docs</a>. + */ + public Builder sslCaCertificate(String sslCaCertificate) { + Utils.checkNotNull(sslCaCertificate, "sslCaCertificate"); + this.sslCaCertificate = sslCaCertificate; + return this; + } + + public DestinationTeradataVerifyCa build() { + return new DestinationTeradataVerifyCa( + sslCaCertificate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"verify-ca\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationTeradataVerifyFull.java b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataVerifyFull.java new file mode 100644 index 000000000..34c1c4e0c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationTeradataVerifyFull.java @@ -0,0 +1,128 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationTeradataVerifyFull - Verify-full SSL mode. + */ + +public class DestinationTeradataVerifyFull { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * Specifies the file name of a PEM file that contains Certificate Authority (CA) certificates for use with SSLMODE=verify-full. + * See more information - <a href="https://teradata-docs.s3.amazonaws.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_2.html#URL_SSLCA"> in the docs</a>. + */ + @JsonProperty("ssl_ca_certificate") + private String sslCaCertificate; + + public DestinationTeradataVerifyFull( + @JsonProperty("ssl_ca_certificate") String sslCaCertificate) { + Utils.checkNotNull(sslCaCertificate, "sslCaCertificate"); + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.sslCaCertificate = sslCaCertificate; + } + + public Optional mode() { + return mode; + } + + /** + * Specifies the file name of a PEM file that contains Certificate Authority (CA) certificates for use with SSLMODE=verify-full. + * See more information - <a href="https://teradata-docs.s3.amazonaws.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_2.html#URL_SSLCA"> in the docs</a>. + */ + public String sslCaCertificate() { + return sslCaCertificate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Specifies the file name of a PEM file that contains Certificate Authority (CA) certificates for use with SSLMODE=verify-full. + * See more information - <a href="https://teradata-docs.s3.amazonaws.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_2.html#URL_SSLCA"> in the docs</a>. + */ + public DestinationTeradataVerifyFull withSslCaCertificate(String sslCaCertificate) { + Utils.checkNotNull(sslCaCertificate, "sslCaCertificate"); + this.sslCaCertificate = sslCaCertificate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationTeradataVerifyFull other = (DestinationTeradataVerifyFull) o; + return + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.sslCaCertificate, other.sslCaCertificate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode, + sslCaCertificate); + } + + @Override + public String toString() { + return Utils.toString(DestinationTeradataVerifyFull.class, + "mode", mode, + "sslCaCertificate", sslCaCertificate); + } + + public final static class Builder { + + private String sslCaCertificate; + + private Builder() { + // force use of static builder() method + } + + /** + * Specifies the file name of a PEM file that contains Certificate Authority (CA) certificates for use with SSLMODE=verify-full. + * See more information - <a href="https://teradata-docs.s3.amazonaws.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_2.html#URL_SSLCA"> in the docs</a>. + */ + public Builder sslCaCertificate(String sslCaCertificate) { + Utils.checkNotNull(sslCaCertificate, "sslCaCertificate"); + this.sslCaCertificate = sslCaCertificate; + return this; + } + + public DestinationTeradataVerifyFull build() { + return new DestinationTeradataVerifyFull( + sslCaCertificate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"verify-full\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationTypesense.java b/src/main/java/com/airbyte/api/models/shared/DestinationTypesense.java new file mode 100644 index 000000000..927417173 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationTypesense.java @@ -0,0 +1,396 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationTypesense { + + /** + * Typesense API Key + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * How many documents should be imported together. Default 1000 + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("batch_size") + private Optional batchSize; + + @JsonProperty("destinationType") + private Typesense destinationType; + + /** + * Hostname of the Typesense instance without protocol. + */ + @JsonProperty("host") + private String host; + + /** + * Path of the Typesense instance. Default is none + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("path") + private Optional path; + + /** + * Port of the Typesense instance. Ex: 8108, 80, 443. Default is 443 + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + /** + * Protocol of the Typesense instance. Ex: http or https. Default is https + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("protocol") + private Optional protocol; + + public DestinationTypesense( + @JsonProperty("api_key") String apiKey, + @JsonProperty("batch_size") Optional batchSize, + @JsonProperty("host") String host, + @JsonProperty("path") Optional path, + @JsonProperty("port") Optional port, + @JsonProperty("protocol") Optional protocol) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(batchSize, "batchSize"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(path, "path"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(protocol, "protocol"); + this.apiKey = apiKey; + this.batchSize = batchSize; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.host = host; + this.path = path; + this.port = port; + this.protocol = protocol; + } + + /** + * Typesense API Key + */ + public String apiKey() { + return apiKey; + } + + /** + * How many documents should be imported together. Default 1000 + */ + public Optional batchSize() { + return batchSize; + } + + public Typesense destinationType() { + return destinationType; + } + + /** + * Hostname of the Typesense instance without protocol. + */ + public String host() { + return host; + } + + /** + * Path of the Typesense instance. Default is none + */ + public Optional path() { + return path; + } + + /** + * Port of the Typesense instance. Ex: 8108, 80, 443. Default is 443 + */ + public Optional port() { + return port; + } + + /** + * Protocol of the Typesense instance. Ex: http or https. Default is https + */ + public Optional protocol() { + return protocol; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Typesense API Key + */ + public DestinationTypesense withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * How many documents should be imported together. Default 1000 + */ + public DestinationTypesense withBatchSize(long batchSize) { + Utils.checkNotNull(batchSize, "batchSize"); + this.batchSize = Optional.ofNullable(batchSize); + return this; + } + + /** + * How many documents should be imported together. Default 1000 + */ + public DestinationTypesense withBatchSize(Optional batchSize) { + Utils.checkNotNull(batchSize, "batchSize"); + this.batchSize = batchSize; + return this; + } + + /** + * Hostname of the Typesense instance without protocol. + */ + public DestinationTypesense withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Path of the Typesense instance. Default is none + */ + public DestinationTypesense withPath(String path) { + Utils.checkNotNull(path, "path"); + this.path = Optional.ofNullable(path); + return this; + } + + /** + * Path of the Typesense instance. Default is none + */ + public DestinationTypesense withPath(Optional path) { + Utils.checkNotNull(path, "path"); + this.path = path; + return this; + } + + /** + * Port of the Typesense instance. Ex: 8108, 80, 443. Default is 443 + */ + public DestinationTypesense withPort(String port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Port of the Typesense instance. Ex: 8108, 80, 443. Default is 443 + */ + public DestinationTypesense withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * Protocol of the Typesense instance. Ex: http or https. Default is https + */ + public DestinationTypesense withProtocol(String protocol) { + Utils.checkNotNull(protocol, "protocol"); + this.protocol = Optional.ofNullable(protocol); + return this; + } + + /** + * Protocol of the Typesense instance. Ex: http or https. Default is https + */ + public DestinationTypesense withProtocol(Optional protocol) { + Utils.checkNotNull(protocol, "protocol"); + this.protocol = protocol; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationTypesense other = (DestinationTypesense) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.batchSize, other.batchSize) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.path, other.path) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.protocol, other.protocol); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + batchSize, + destinationType, + host, + path, + port, + protocol); + } + + @Override + public String toString() { + return Utils.toString(DestinationTypesense.class, + "apiKey", apiKey, + "batchSize", batchSize, + "destinationType", destinationType, + "host", host, + "path", path, + "port", port, + "protocol", protocol); + } + + public final static class Builder { + + private String apiKey; + + private Optional batchSize = Optional.empty(); + + private String host; + + private Optional path = Optional.empty(); + + private Optional port = Optional.empty(); + + private Optional protocol = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Typesense API Key + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * How many documents should be imported together. Default 1000 + */ + public Builder batchSize(long batchSize) { + Utils.checkNotNull(batchSize, "batchSize"); + this.batchSize = Optional.ofNullable(batchSize); + return this; + } + + /** + * How many documents should be imported together. Default 1000 + */ + public Builder batchSize(Optional batchSize) { + Utils.checkNotNull(batchSize, "batchSize"); + this.batchSize = batchSize; + return this; + } + + /** + * Hostname of the Typesense instance without protocol. + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Path of the Typesense instance. Default is none + */ + public Builder path(String path) { + Utils.checkNotNull(path, "path"); + this.path = Optional.ofNullable(path); + return this; + } + + /** + * Path of the Typesense instance. Default is none + */ + public Builder path(Optional path) { + Utils.checkNotNull(path, "path"); + this.path = path; + return this; + } + + /** + * Port of the Typesense instance. Ex: 8108, 80, 443. Default is 443 + */ + public Builder port(String port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Port of the Typesense instance. Ex: 8108, 80, 443. Default is 443 + */ + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * Protocol of the Typesense instance. Ex: http or https. Default is https + */ + public Builder protocol(String protocol) { + Utils.checkNotNull(protocol, "protocol"); + this.protocol = Optional.ofNullable(protocol); + return this; + } + + /** + * Protocol of the Typesense instance. Ex: http or https. Default is https + */ + public Builder protocol(Optional protocol) { + Utils.checkNotNull(protocol, "protocol"); + this.protocol = protocol; + return this; + } + + public DestinationTypesense build() { + return new DestinationTypesense( + apiKey, + batchSize, + host, + path, + port, + protocol); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"typesense\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationVectara.java b/src/main/java/com/airbyte/api/models/shared/DestinationVectara.java new file mode 100644 index 000000000..819150adf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationVectara.java @@ -0,0 +1,457 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationVectara - Configuration to connect to the Vectara instance + */ + +public class DestinationVectara { + + /** + * The Name of Corpus to load data into + */ + @JsonProperty("corpus_name") + private String corpusName; + + /** + * Your customer id as it is in the authenticaion url + */ + @JsonProperty("customer_id") + private String customerId; + + @JsonProperty("destinationType") + private Vectara destinationType; + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("metadata_fields") + private Optional> metadataFields; + + /** + * OAuth2.0 credentials used to authenticate admin actions (creating/deleting corpora) + */ + @JsonProperty("oauth2") + private OAuth20Credentials oauth2; + + /** + * Parallelize indexing into Vectara with multiple threads + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("parallelize") + private Optional parallelize; + + /** + * List of fields in the record that should be in the section of the document. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("text_fields") + private Optional> textFields; + + /** + * A field that will be used to populate the `title` of each document. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("title_field") + private Optional titleField; + + public DestinationVectara( + @JsonProperty("corpus_name") String corpusName, + @JsonProperty("customer_id") String customerId, + @JsonProperty("metadata_fields") Optional> metadataFields, + @JsonProperty("oauth2") OAuth20Credentials oauth2, + @JsonProperty("parallelize") Optional parallelize, + @JsonProperty("text_fields") Optional> textFields, + @JsonProperty("title_field") Optional titleField) { + Utils.checkNotNull(corpusName, "corpusName"); + Utils.checkNotNull(customerId, "customerId"); + Utils.checkNotNull(metadataFields, "metadataFields"); + Utils.checkNotNull(oauth2, "oauth2"); + Utils.checkNotNull(parallelize, "parallelize"); + Utils.checkNotNull(textFields, "textFields"); + Utils.checkNotNull(titleField, "titleField"); + this.corpusName = corpusName; + this.customerId = customerId; + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.metadataFields = metadataFields; + this.oauth2 = oauth2; + this.parallelize = parallelize; + this.textFields = textFields; + this.titleField = titleField; + } + + /** + * The Name of Corpus to load data into + */ + public String corpusName() { + return corpusName; + } + + /** + * Your customer id as it is in the authenticaion url + */ + public String customerId() { + return customerId; + } + + public Vectara destinationType() { + return destinationType; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public Optional> metadataFields() { + return metadataFields; + } + + /** + * OAuth2.0 credentials used to authenticate admin actions (creating/deleting corpora) + */ + public OAuth20Credentials oauth2() { + return oauth2; + } + + /** + * Parallelize indexing into Vectara with multiple threads + */ + public Optional parallelize() { + return parallelize; + } + + /** + * List of fields in the record that should be in the section of the document. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Optional> textFields() { + return textFields; + } + + /** + * A field that will be used to populate the `title` of each document. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Optional titleField() { + return titleField; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Name of Corpus to load data into + */ + public DestinationVectara withCorpusName(String corpusName) { + Utils.checkNotNull(corpusName, "corpusName"); + this.corpusName = corpusName; + return this; + } + + /** + * Your customer id as it is in the authenticaion url + */ + public DestinationVectara withCustomerId(String customerId) { + Utils.checkNotNull(customerId, "customerId"); + this.customerId = customerId; + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public DestinationVectara withMetadataFields(java.util.List metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = Optional.ofNullable(metadataFields); + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public DestinationVectara withMetadataFields(Optional> metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = metadataFields; + return this; + } + + /** + * OAuth2.0 credentials used to authenticate admin actions (creating/deleting corpora) + */ + public DestinationVectara withOauth2(OAuth20Credentials oauth2) { + Utils.checkNotNull(oauth2, "oauth2"); + this.oauth2 = oauth2; + return this; + } + + /** + * Parallelize indexing into Vectara with multiple threads + */ + public DestinationVectara withParallelize(boolean parallelize) { + Utils.checkNotNull(parallelize, "parallelize"); + this.parallelize = Optional.ofNullable(parallelize); + return this; + } + + /** + * Parallelize indexing into Vectara with multiple threads + */ + public DestinationVectara withParallelize(Optional parallelize) { + Utils.checkNotNull(parallelize, "parallelize"); + this.parallelize = parallelize; + return this; + } + + /** + * List of fields in the record that should be in the section of the document. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public DestinationVectara withTextFields(java.util.List textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = Optional.ofNullable(textFields); + return this; + } + + /** + * List of fields in the record that should be in the section of the document. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public DestinationVectara withTextFields(Optional> textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = textFields; + return this; + } + + /** + * A field that will be used to populate the `title` of each document. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public DestinationVectara withTitleField(String titleField) { + Utils.checkNotNull(titleField, "titleField"); + this.titleField = Optional.ofNullable(titleField); + return this; + } + + /** + * A field that will be used to populate the `title` of each document. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public DestinationVectara withTitleField(Optional titleField) { + Utils.checkNotNull(titleField, "titleField"); + this.titleField = titleField; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationVectara other = (DestinationVectara) o; + return + java.util.Objects.deepEquals(this.corpusName, other.corpusName) && + java.util.Objects.deepEquals(this.customerId, other.customerId) && + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.metadataFields, other.metadataFields) && + java.util.Objects.deepEquals(this.oauth2, other.oauth2) && + java.util.Objects.deepEquals(this.parallelize, other.parallelize) && + java.util.Objects.deepEquals(this.textFields, other.textFields) && + java.util.Objects.deepEquals(this.titleField, other.titleField); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + corpusName, + customerId, + destinationType, + metadataFields, + oauth2, + parallelize, + textFields, + titleField); + } + + @Override + public String toString() { + return Utils.toString(DestinationVectara.class, + "corpusName", corpusName, + "customerId", customerId, + "destinationType", destinationType, + "metadataFields", metadataFields, + "oauth2", oauth2, + "parallelize", parallelize, + "textFields", textFields, + "titleField", titleField); + } + + public final static class Builder { + + private String corpusName; + + private String customerId; + + private Optional> metadataFields = Optional.empty(); + + private OAuth20Credentials oauth2; + + private Optional parallelize; + + private Optional> textFields = Optional.empty(); + + private Optional titleField; + + private Builder() { + // force use of static builder() method + } + + /** + * The Name of Corpus to load data into + */ + public Builder corpusName(String corpusName) { + Utils.checkNotNull(corpusName, "corpusName"); + this.corpusName = corpusName; + return this; + } + + /** + * Your customer id as it is in the authenticaion url + */ + public Builder customerId(String customerId) { + Utils.checkNotNull(customerId, "customerId"); + this.customerId = customerId; + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public Builder metadataFields(java.util.List metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = Optional.ofNullable(metadataFields); + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public Builder metadataFields(Optional> metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = metadataFields; + return this; + } + + /** + * OAuth2.0 credentials used to authenticate admin actions (creating/deleting corpora) + */ + public Builder oauth2(OAuth20Credentials oauth2) { + Utils.checkNotNull(oauth2, "oauth2"); + this.oauth2 = oauth2; + return this; + } + + /** + * Parallelize indexing into Vectara with multiple threads + */ + public Builder parallelize(boolean parallelize) { + Utils.checkNotNull(parallelize, "parallelize"); + this.parallelize = Optional.ofNullable(parallelize); + return this; + } + + /** + * Parallelize indexing into Vectara with multiple threads + */ + public Builder parallelize(Optional parallelize) { + Utils.checkNotNull(parallelize, "parallelize"); + this.parallelize = parallelize; + return this; + } + + /** + * List of fields in the record that should be in the section of the document. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Builder textFields(java.util.List textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = Optional.ofNullable(textFields); + return this; + } + + /** + * List of fields in the record that should be in the section of the document. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Builder textFields(Optional> textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = textFields; + return this; + } + + /** + * A field that will be used to populate the `title` of each document. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Builder titleField(String titleField) { + Utils.checkNotNull(titleField, "titleField"); + this.titleField = Optional.ofNullable(titleField); + return this; + } + + /** + * A field that will be used to populate the `title` of each document. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Builder titleField(Optional titleField) { + Utils.checkNotNull(titleField, "titleField"); + this.titleField = titleField; + return this; + } + + public DestinationVectara build() { + if (parallelize == null) { + parallelize = _SINGLETON_VALUE_Parallelize.value(); + } + if (titleField == null) { + titleField = _SINGLETON_VALUE_TitleField.value(); + } + return new DestinationVectara( + corpusName, + customerId, + metadataFields, + oauth2, + parallelize, + textFields, + titleField); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"vectara\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Parallelize = + new LazySingletonValue<>( + "parallelize", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TitleField = + new LazySingletonValue<>( + "title_field", + "\"\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviate.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviate.java new file mode 100644 index 000000000..830bdc322 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviate.java @@ -0,0 +1,268 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationWeaviate - The configuration model for the Vector DB based destinations. This model is used to generate the UI for the destination configuration, + * as well as to provide type safety for the configuration passed to the destination. + * + * The configuration model is composed of four parts: + * * Processing configuration + * * Embedding configuration + * * Indexing configuration + * * Advanced configuration + * + * Processing, embedding and advanced configuration are provided by this base class, while the indexing configuration is provided by the destination connector in the sub class. + */ + +public class DestinationWeaviate { + + @JsonProperty("destinationType") + private Weaviate destinationType; + + /** + * Embedding configuration + */ + @JsonProperty("embedding") + private DestinationWeaviateEmbedding embedding; + + /** + * Indexing configuration + */ + @JsonProperty("indexing") + private DestinationWeaviateIndexing indexing; + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("omit_raw_text") + private Optional omitRawText; + + @JsonProperty("processing") + private DestinationWeaviateProcessingConfigModel processing; + + public DestinationWeaviate( + @JsonProperty("embedding") DestinationWeaviateEmbedding embedding, + @JsonProperty("indexing") DestinationWeaviateIndexing indexing, + @JsonProperty("omit_raw_text") Optional omitRawText, + @JsonProperty("processing") DestinationWeaviateProcessingConfigModel processing) { + Utils.checkNotNull(embedding, "embedding"); + Utils.checkNotNull(indexing, "indexing"); + Utils.checkNotNull(omitRawText, "omitRawText"); + Utils.checkNotNull(processing, "processing"); + this.destinationType = Builder._SINGLETON_VALUE_DestinationType.value(); + this.embedding = embedding; + this.indexing = indexing; + this.omitRawText = omitRawText; + this.processing = processing; + } + + public Weaviate destinationType() { + return destinationType; + } + + /** + * Embedding configuration + */ + public DestinationWeaviateEmbedding embedding() { + return embedding; + } + + /** + * Indexing configuration + */ + public DestinationWeaviateIndexing indexing() { + return indexing; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public Optional omitRawText() { + return omitRawText; + } + + public DestinationWeaviateProcessingConfigModel processing() { + return processing; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Embedding configuration + */ + public DestinationWeaviate withEmbedding(DestinationWeaviateEmbedding embedding) { + Utils.checkNotNull(embedding, "embedding"); + this.embedding = embedding; + return this; + } + + /** + * Indexing configuration + */ + public DestinationWeaviate withIndexing(DestinationWeaviateIndexing indexing) { + Utils.checkNotNull(indexing, "indexing"); + this.indexing = indexing; + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public DestinationWeaviate withOmitRawText(boolean omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = Optional.ofNullable(omitRawText); + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public DestinationWeaviate withOmitRawText(Optional omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = omitRawText; + return this; + } + + public DestinationWeaviate withProcessing(DestinationWeaviateProcessingConfigModel processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationWeaviate other = (DestinationWeaviate) o; + return + java.util.Objects.deepEquals(this.destinationType, other.destinationType) && + java.util.Objects.deepEquals(this.embedding, other.embedding) && + java.util.Objects.deepEquals(this.indexing, other.indexing) && + java.util.Objects.deepEquals(this.omitRawText, other.omitRawText) && + java.util.Objects.deepEquals(this.processing, other.processing); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + destinationType, + embedding, + indexing, + omitRawText, + processing); + } + + @Override + public String toString() { + return Utils.toString(DestinationWeaviate.class, + "destinationType", destinationType, + "embedding", embedding, + "indexing", indexing, + "omitRawText", omitRawText, + "processing", processing); + } + + public final static class Builder { + + private DestinationWeaviateEmbedding embedding; + + private DestinationWeaviateIndexing indexing; + + private Optional omitRawText; + + private DestinationWeaviateProcessingConfigModel processing; + + private Builder() { + // force use of static builder() method + } + + /** + * Embedding configuration + */ + public Builder embedding(DestinationWeaviateEmbedding embedding) { + Utils.checkNotNull(embedding, "embedding"); + this.embedding = embedding; + return this; + } + + /** + * Indexing configuration + */ + public Builder indexing(DestinationWeaviateIndexing indexing) { + Utils.checkNotNull(indexing, "indexing"); + this.indexing = indexing; + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public Builder omitRawText(boolean omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = Optional.ofNullable(omitRawText); + return this; + } + + /** + * Do not store the text that gets embedded along with the vector and the metadata in the destination. If set to true, only the vector and the metadata will be stored - in this case raw text for LLM use cases needs to be retrieved from another source. + */ + public Builder omitRawText(Optional omitRawText) { + Utils.checkNotNull(omitRawText, "omitRawText"); + this.omitRawText = omitRawText; + return this; + } + + public Builder processing(DestinationWeaviateProcessingConfigModel processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + public DestinationWeaviate build() { + if (omitRawText == null) { + omitRawText = _SINGLETON_VALUE_OmitRawText.value(); + } + return new DestinationWeaviate( + embedding, + indexing, + omitRawText, + processing); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DestinationType = + new LazySingletonValue<>( + "destinationType", + "\"weaviate\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_OmitRawText = + new LazySingletonValue<>( + "omit_raw_text", + "false", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateAPIToken.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateAPIToken.java new file mode 100644 index 000000000..61b45feed --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateAPIToken.java @@ -0,0 +1,124 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationWeaviateAPIToken - Authenticate using an API token (suitable for Weaviate Cloud) + */ + +public class DestinationWeaviateAPIToken { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * API Token for the Weaviate instance + */ + @JsonProperty("token") + private String token; + + public DestinationWeaviateAPIToken( + @JsonProperty("token") String token) { + Utils.checkNotNull(token, "token"); + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.token = token; + } + + public Optional mode() { + return mode; + } + + /** + * API Token for the Weaviate instance + */ + public String token() { + return token; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Token for the Weaviate instance + */ + public DestinationWeaviateAPIToken withToken(String token) { + Utils.checkNotNull(token, "token"); + this.token = token; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationWeaviateAPIToken other = (DestinationWeaviateAPIToken) o; + return + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.token, other.token); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode, + token); + } + + @Override + public String toString() { + return Utils.toString(DestinationWeaviateAPIToken.class, + "mode", mode, + "token", token); + } + + public final static class Builder { + + private String token; + + private Builder() { + // force use of static builder() method + } + + /** + * API Token for the Weaviate instance + */ + public Builder token(String token) { + Utils.checkNotNull(token, "token"); + this.token = token; + return this; + } + + public DestinationWeaviateAPIToken build() { + return new DestinationWeaviateAPIToken( + token); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"token\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateAuthentication.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateAuthentication.java new file mode 100644 index 000000000..9b6164f02 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateAuthentication.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationWeaviateAuthentication - Authentication method + */ + +@JsonDeserialize(using = DestinationWeaviateAuthentication._Deserializer.class) +public class DestinationWeaviateAuthentication { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationWeaviateAuthentication(TypedObject value) { + this.value = value; + } + + public static DestinationWeaviateAuthentication of(DestinationWeaviateAPIToken value) { + Utils.checkNotNull(value, "value"); + return new DestinationWeaviateAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationWeaviateAuthentication of(DestinationWeaviateUsernamePassword value) { + Utils.checkNotNull(value, "value"); + return new DestinationWeaviateAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationWeaviateAuthentication of(NoAuthentication value) { + Utils.checkNotNull(value, "value"); + return new DestinationWeaviateAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationWeaviateAPIToken}
    • + *
    • {@code DestinationWeaviateUsernamePassword}
    • + *
    • {@code NoAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationWeaviateAuthentication other = (DestinationWeaviateAuthentication) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationWeaviateAuthentication.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationWeaviateAuthentication.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateAzureOpenAI.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateAzureOpenAI.java new file mode 100644 index 000000000..d88ea49eb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateAzureOpenAI.java @@ -0,0 +1,204 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationWeaviateAzureOpenAI - Use the Azure-hosted OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + */ + +public class DestinationWeaviateAzureOpenAI { + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + @JsonProperty("api_base") + private String apiBase; + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + @JsonProperty("deployment") + private String deployment; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + @JsonProperty("openai_key") + private String openaiKey; + + public DestinationWeaviateAzureOpenAI( + @JsonProperty("api_base") String apiBase, + @JsonProperty("deployment") String deployment, + @JsonProperty("openai_key") String openaiKey) { + Utils.checkNotNull(apiBase, "apiBase"); + Utils.checkNotNull(deployment, "deployment"); + Utils.checkNotNull(openaiKey, "openaiKey"); + this.apiBase = apiBase; + this.deployment = deployment; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.openaiKey = openaiKey; + } + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public String apiBase() { + return apiBase; + } + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public String deployment() { + return deployment; + } + + public Optional mode() { + return mode; + } + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public String openaiKey() { + return openaiKey; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public DestinationWeaviateAzureOpenAI withApiBase(String apiBase) { + Utils.checkNotNull(apiBase, "apiBase"); + this.apiBase = apiBase; + return this; + } + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public DestinationWeaviateAzureOpenAI withDeployment(String deployment) { + Utils.checkNotNull(deployment, "deployment"); + this.deployment = deployment; + return this; + } + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public DestinationWeaviateAzureOpenAI withOpenaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationWeaviateAzureOpenAI other = (DestinationWeaviateAzureOpenAI) o; + return + java.util.Objects.deepEquals(this.apiBase, other.apiBase) && + java.util.Objects.deepEquals(this.deployment, other.deployment) && + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.openaiKey, other.openaiKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiBase, + deployment, + mode, + openaiKey); + } + + @Override + public String toString() { + return Utils.toString(DestinationWeaviateAzureOpenAI.class, + "apiBase", apiBase, + "deployment", deployment, + "mode", mode, + "openaiKey", openaiKey); + } + + public final static class Builder { + + private String apiBase; + + private String deployment; + + private String openaiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * The base URL for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public Builder apiBase(String apiBase) { + Utils.checkNotNull(apiBase, "apiBase"); + this.apiBase = apiBase; + return this; + } + + /** + * The deployment for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public Builder deployment(String deployment) { + Utils.checkNotNull(deployment, "deployment"); + this.deployment = deployment; + return this; + } + + /** + * The API key for your Azure OpenAI resource. You can find this in the Azure portal under your Azure OpenAI resource + */ + public Builder openaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + public DestinationWeaviateAzureOpenAI build() { + return new DestinationWeaviateAzureOpenAI( + apiBase, + deployment, + openaiKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"azure_openai\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateByMarkdownHeader.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateByMarkdownHeader.java new file mode 100644 index 000000000..94e915c8f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateByMarkdownHeader.java @@ -0,0 +1,152 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationWeaviateByMarkdownHeader - Split the text by Markdown headers down to the specified header level. If the chunk size fits multiple sections, they will be combined into a single chunk. + */ + +public class DestinationWeaviateByMarkdownHeader { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("split_level") + private Optional splitLevel; + + public DestinationWeaviateByMarkdownHeader( + @JsonProperty("split_level") Optional splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.splitLevel = splitLevel; + } + + public Optional mode() { + return mode; + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public Optional splitLevel() { + return splitLevel; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public DestinationWeaviateByMarkdownHeader withSplitLevel(long splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = Optional.ofNullable(splitLevel); + return this; + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public DestinationWeaviateByMarkdownHeader withSplitLevel(Optional splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = splitLevel; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationWeaviateByMarkdownHeader other = (DestinationWeaviateByMarkdownHeader) o; + return + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.splitLevel, other.splitLevel); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode, + splitLevel); + } + + @Override + public String toString() { + return Utils.toString(DestinationWeaviateByMarkdownHeader.class, + "mode", mode, + "splitLevel", splitLevel); + } + + public final static class Builder { + + private Optional splitLevel; + + private Builder() { + // force use of static builder() method + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public Builder splitLevel(long splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = Optional.ofNullable(splitLevel); + return this; + } + + /** + * Level of markdown headers to split text fields by. Headings down to the specified level will be used as split points + */ + public Builder splitLevel(Optional splitLevel) { + Utils.checkNotNull(splitLevel, "splitLevel"); + this.splitLevel = splitLevel; + return this; + } + + public DestinationWeaviateByMarkdownHeader build() { + if (splitLevel == null) { + splitLevel = _SINGLETON_VALUE_SplitLevel.value(); + } + return new DestinationWeaviateByMarkdownHeader( + splitLevel); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"markdown\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SplitLevel = + new LazySingletonValue<>( + "split_level", + "1", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateByProgrammingLanguage.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateByProgrammingLanguage.java new file mode 100644 index 000000000..d6b6095e8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateByProgrammingLanguage.java @@ -0,0 +1,124 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationWeaviateByProgrammingLanguage - Split the text by suitable delimiters based on the programming language. This is useful for splitting code into chunks. + */ + +public class DestinationWeaviateByProgrammingLanguage { + + /** + * Split code in suitable places based on the programming language + */ + @JsonProperty("language") + private DestinationWeaviateLanguage language; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationWeaviateByProgrammingLanguage( + @JsonProperty("language") DestinationWeaviateLanguage language) { + Utils.checkNotNull(language, "language"); + this.language = language; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + /** + * Split code in suitable places based on the programming language + */ + public DestinationWeaviateLanguage language() { + return language; + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Split code in suitable places based on the programming language + */ + public DestinationWeaviateByProgrammingLanguage withLanguage(DestinationWeaviateLanguage language) { + Utils.checkNotNull(language, "language"); + this.language = language; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationWeaviateByProgrammingLanguage other = (DestinationWeaviateByProgrammingLanguage) o; + return + java.util.Objects.deepEquals(this.language, other.language) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + language, + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationWeaviateByProgrammingLanguage.class, + "language", language, + "mode", mode); + } + + public final static class Builder { + + private DestinationWeaviateLanguage language; + + private Builder() { + // force use of static builder() method + } + + /** + * Split code in suitable places based on the programming language + */ + public Builder language(DestinationWeaviateLanguage language) { + Utils.checkNotNull(language, "language"); + this.language = language; + return this; + } + + public DestinationWeaviateByProgrammingLanguage build() { + return new DestinationWeaviateByProgrammingLanguage( + language); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"code\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateBySeparator.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateBySeparator.java new file mode 100644 index 000000000..49a0770f4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateBySeparator.java @@ -0,0 +1,211 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationWeaviateBySeparator - Split the text by the list of separators until the chunk size is reached, using the earlier mentioned separators where possible. This is useful for splitting text fields by paragraphs, sentences, words, etc. + */ + +public class DestinationWeaviateBySeparator { + + /** + * Whether to keep the separator in the resulting chunks + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("keep_separator") + private Optional keepSeparator; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("separators") + private Optional> separators; + + public DestinationWeaviateBySeparator( + @JsonProperty("keep_separator") Optional keepSeparator, + @JsonProperty("separators") Optional> separators) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + Utils.checkNotNull(separators, "separators"); + this.keepSeparator = keepSeparator; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.separators = separators; + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public Optional keepSeparator() { + return keepSeparator; + } + + public Optional mode() { + return mode; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public Optional> separators() { + return separators; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public DestinationWeaviateBySeparator withKeepSeparator(boolean keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = Optional.ofNullable(keepSeparator); + return this; + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public DestinationWeaviateBySeparator withKeepSeparator(Optional keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = keepSeparator; + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public DestinationWeaviateBySeparator withSeparators(java.util.List separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = Optional.ofNullable(separators); + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public DestinationWeaviateBySeparator withSeparators(Optional> separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = separators; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationWeaviateBySeparator other = (DestinationWeaviateBySeparator) o; + return + java.util.Objects.deepEquals(this.keepSeparator, other.keepSeparator) && + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.separators, other.separators); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + keepSeparator, + mode, + separators); + } + + @Override + public String toString() { + return Utils.toString(DestinationWeaviateBySeparator.class, + "keepSeparator", keepSeparator, + "mode", mode, + "separators", separators); + } + + public final static class Builder { + + private Optional keepSeparator; + + private Optional> separators = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public Builder keepSeparator(boolean keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = Optional.ofNullable(keepSeparator); + return this; + } + + /** + * Whether to keep the separator in the resulting chunks + */ + public Builder keepSeparator(Optional keepSeparator) { + Utils.checkNotNull(keepSeparator, "keepSeparator"); + this.keepSeparator = keepSeparator; + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public Builder separators(java.util.List separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = Optional.ofNullable(separators); + return this; + } + + /** + * List of separator strings to split text fields by. The separator itself needs to be wrapped in double quotes, e.g. to split by the dot character, use ".". To split by a newline, use "\n". + */ + public Builder separators(Optional> separators) { + Utils.checkNotNull(separators, "separators"); + this.separators = separators; + return this; + } + + public DestinationWeaviateBySeparator build() { + if (keepSeparator == null) { + keepSeparator = _SINGLETON_VALUE_KeepSeparator.value(); + } + return new DestinationWeaviateBySeparator( + keepSeparator, + separators); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_KeepSeparator = + new LazySingletonValue<>( + "keep_separator", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"separator\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateCohere.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateCohere.java new file mode 100644 index 000000000..2049438c0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateCohere.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationWeaviateCohere - Use the Cohere API to embed text. + */ + +public class DestinationWeaviateCohere { + + @JsonProperty("cohere_key") + private String cohereKey; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationWeaviateCohere( + @JsonProperty("cohere_key") String cohereKey) { + Utils.checkNotNull(cohereKey, "cohereKey"); + this.cohereKey = cohereKey; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public String cohereKey() { + return cohereKey; + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationWeaviateCohere withCohereKey(String cohereKey) { + Utils.checkNotNull(cohereKey, "cohereKey"); + this.cohereKey = cohereKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationWeaviateCohere other = (DestinationWeaviateCohere) o; + return + java.util.Objects.deepEquals(this.cohereKey, other.cohereKey) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + cohereKey, + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationWeaviateCohere.class, + "cohereKey", cohereKey, + "mode", mode); + } + + public final static class Builder { + + private String cohereKey; + + private Builder() { + // force use of static builder() method + } + + public Builder cohereKey(String cohereKey) { + Utils.checkNotNull(cohereKey, "cohereKey"); + this.cohereKey = cohereKey; + return this; + } + + public DestinationWeaviateCohere build() { + return new DestinationWeaviateCohere( + cohereKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"cohere\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateEmbedding.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateEmbedding.java new file mode 100644 index 000000000..d267266df --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateEmbedding.java @@ -0,0 +1,136 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationWeaviateEmbedding - Embedding configuration + */ + +@JsonDeserialize(using = DestinationWeaviateEmbedding._Deserializer.class) +public class DestinationWeaviateEmbedding { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationWeaviateEmbedding(TypedObject value) { + this.value = value; + } + + public static DestinationWeaviateEmbedding of(NoExternalEmbedding value) { + Utils.checkNotNull(value, "value"); + return new DestinationWeaviateEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationWeaviateEmbedding of(DestinationWeaviateAzureOpenAI value) { + Utils.checkNotNull(value, "value"); + return new DestinationWeaviateEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationWeaviateEmbedding of(DestinationWeaviateOpenAI value) { + Utils.checkNotNull(value, "value"); + return new DestinationWeaviateEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationWeaviateEmbedding of(DestinationWeaviateCohere value) { + Utils.checkNotNull(value, "value"); + return new DestinationWeaviateEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationWeaviateEmbedding of(FromField value) { + Utils.checkNotNull(value, "value"); + return new DestinationWeaviateEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationWeaviateEmbedding of(DestinationWeaviateFake value) { + Utils.checkNotNull(value, "value"); + return new DestinationWeaviateEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationWeaviateEmbedding of(DestinationWeaviateOpenAICompatible value) { + Utils.checkNotNull(value, "value"); + return new DestinationWeaviateEmbedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code NoExternalEmbedding}
    • + *
    • {@code DestinationWeaviateAzureOpenAI}
    • + *
    • {@code DestinationWeaviateOpenAI}
    • + *
    • {@code DestinationWeaviateCohere}
    • + *
    • {@code FromField}
    • + *
    • {@code DestinationWeaviateFake}
    • + *
    • {@code DestinationWeaviateOpenAICompatible}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationWeaviateEmbedding other = (DestinationWeaviateEmbedding) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationWeaviateEmbedding.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationWeaviateEmbedding.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateFake.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateFake.java new file mode 100644 index 000000000..1e375b4be --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateFake.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationWeaviateFake - Use a fake embedding made out of random vectors with 1536 embedding dimensions. This is useful for testing the data pipeline without incurring any costs. + */ + +public class DestinationWeaviateFake { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DestinationWeaviateFake() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationWeaviateFake other = (DestinationWeaviateFake) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(DestinationWeaviateFake.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DestinationWeaviateFake build() { + return new DestinationWeaviateFake( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"fake\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateFieldNameMappingConfigModel.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateFieldNameMappingConfigModel.java new file mode 100644 index 000000000..bc2accd68 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateFieldNameMappingConfigModel.java @@ -0,0 +1,139 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DestinationWeaviateFieldNameMappingConfigModel { + + /** + * The field name in the source + */ + @JsonProperty("from_field") + private String fromField; + + /** + * The field name to use in the destination + */ + @JsonProperty("to_field") + private String toField; + + public DestinationWeaviateFieldNameMappingConfigModel( + @JsonProperty("from_field") String fromField, + @JsonProperty("to_field") String toField) { + Utils.checkNotNull(fromField, "fromField"); + Utils.checkNotNull(toField, "toField"); + this.fromField = fromField; + this.toField = toField; + } + + /** + * The field name in the source + */ + public String fromField() { + return fromField; + } + + /** + * The field name to use in the destination + */ + public String toField() { + return toField; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The field name in the source + */ + public DestinationWeaviateFieldNameMappingConfigModel withFromField(String fromField) { + Utils.checkNotNull(fromField, "fromField"); + this.fromField = fromField; + return this; + } + + /** + * The field name to use in the destination + */ + public DestinationWeaviateFieldNameMappingConfigModel withToField(String toField) { + Utils.checkNotNull(toField, "toField"); + this.toField = toField; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationWeaviateFieldNameMappingConfigModel other = (DestinationWeaviateFieldNameMappingConfigModel) o; + return + java.util.Objects.deepEquals(this.fromField, other.fromField) && + java.util.Objects.deepEquals(this.toField, other.toField); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + fromField, + toField); + } + + @Override + public String toString() { + return Utils.toString(DestinationWeaviateFieldNameMappingConfigModel.class, + "fromField", fromField, + "toField", toField); + } + + public final static class Builder { + + private String fromField; + + private String toField; + + private Builder() { + // force use of static builder() method + } + + /** + * The field name in the source + */ + public Builder fromField(String fromField) { + Utils.checkNotNull(fromField, "fromField"); + this.fromField = fromField; + return this; + } + + /** + * The field name to use in the destination + */ + public Builder toField(String toField) { + Utils.checkNotNull(toField, "toField"); + this.toField = toField; + return this; + } + + public DestinationWeaviateFieldNameMappingConfigModel build() { + return new DestinationWeaviateFieldNameMappingConfigModel( + fromField, + toField); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateIndexing.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateIndexing.java new file mode 100644 index 000000000..e453522fa --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateIndexing.java @@ -0,0 +1,477 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationWeaviateIndexing - Indexing configuration + */ + +public class DestinationWeaviateIndexing { + + /** + * Additional HTTP headers to send with every request. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("additional_headers") + private Optional> additionalHeaders; + + /** + * Authentication method + */ + @JsonProperty("auth") + private DestinationWeaviateAuthentication auth; + + /** + * The number of records to send to Weaviate in each batch + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("batch_size") + private Optional batchSize; + + /** + * The vectorizer to use if new classes need to be created + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("default_vectorizer") + private Optional defaultVectorizer; + + /** + * The public endpoint of the Weaviate cluster. + */ + @JsonProperty("host") + private String host; + + /** + * The tenant ID to use for multi tenancy + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tenant_id") + private Optional tenantId; + + /** + * The field in the object that contains the embedded text + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("text_field") + private Optional textField; + + public DestinationWeaviateIndexing( + @JsonProperty("additional_headers") Optional> additionalHeaders, + @JsonProperty("auth") DestinationWeaviateAuthentication auth, + @JsonProperty("batch_size") Optional batchSize, + @JsonProperty("default_vectorizer") Optional defaultVectorizer, + @JsonProperty("host") String host, + @JsonProperty("tenant_id") Optional tenantId, + @JsonProperty("text_field") Optional textField) { + Utils.checkNotNull(additionalHeaders, "additionalHeaders"); + Utils.checkNotNull(auth, "auth"); + Utils.checkNotNull(batchSize, "batchSize"); + Utils.checkNotNull(defaultVectorizer, "defaultVectorizer"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(tenantId, "tenantId"); + Utils.checkNotNull(textField, "textField"); + this.additionalHeaders = additionalHeaders; + this.auth = auth; + this.batchSize = batchSize; + this.defaultVectorizer = defaultVectorizer; + this.host = host; + this.tenantId = tenantId; + this.textField = textField; + } + + /** + * Additional HTTP headers to send with every request. + */ + public Optional> additionalHeaders() { + return additionalHeaders; + } + + /** + * Authentication method + */ + public DestinationWeaviateAuthentication auth() { + return auth; + } + + /** + * The number of records to send to Weaviate in each batch + */ + public Optional batchSize() { + return batchSize; + } + + /** + * The vectorizer to use if new classes need to be created + */ + public Optional defaultVectorizer() { + return defaultVectorizer; + } + + /** + * The public endpoint of the Weaviate cluster. + */ + public String host() { + return host; + } + + /** + * The tenant ID to use for multi tenancy + */ + public Optional tenantId() { + return tenantId; + } + + /** + * The field in the object that contains the embedded text + */ + public Optional textField() { + return textField; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Additional HTTP headers to send with every request. + */ + public DestinationWeaviateIndexing withAdditionalHeaders(java.util.List
    additionalHeaders) { + Utils.checkNotNull(additionalHeaders, "additionalHeaders"); + this.additionalHeaders = Optional.ofNullable(additionalHeaders); + return this; + } + + /** + * Additional HTTP headers to send with every request. + */ + public DestinationWeaviateIndexing withAdditionalHeaders(Optional> additionalHeaders) { + Utils.checkNotNull(additionalHeaders, "additionalHeaders"); + this.additionalHeaders = additionalHeaders; + return this; + } + + /** + * Authentication method + */ + public DestinationWeaviateIndexing withAuth(DestinationWeaviateAuthentication auth) { + Utils.checkNotNull(auth, "auth"); + this.auth = auth; + return this; + } + + /** + * The number of records to send to Weaviate in each batch + */ + public DestinationWeaviateIndexing withBatchSize(long batchSize) { + Utils.checkNotNull(batchSize, "batchSize"); + this.batchSize = Optional.ofNullable(batchSize); + return this; + } + + /** + * The number of records to send to Weaviate in each batch + */ + public DestinationWeaviateIndexing withBatchSize(Optional batchSize) { + Utils.checkNotNull(batchSize, "batchSize"); + this.batchSize = batchSize; + return this; + } + + /** + * The vectorizer to use if new classes need to be created + */ + public DestinationWeaviateIndexing withDefaultVectorizer(DefaultVectorizer defaultVectorizer) { + Utils.checkNotNull(defaultVectorizer, "defaultVectorizer"); + this.defaultVectorizer = Optional.ofNullable(defaultVectorizer); + return this; + } + + /** + * The vectorizer to use if new classes need to be created + */ + public DestinationWeaviateIndexing withDefaultVectorizer(Optional defaultVectorizer) { + Utils.checkNotNull(defaultVectorizer, "defaultVectorizer"); + this.defaultVectorizer = defaultVectorizer; + return this; + } + + /** + * The public endpoint of the Weaviate cluster. + */ + public DestinationWeaviateIndexing withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * The tenant ID to use for multi tenancy + */ + public DestinationWeaviateIndexing withTenantId(String tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = Optional.ofNullable(tenantId); + return this; + } + + /** + * The tenant ID to use for multi tenancy + */ + public DestinationWeaviateIndexing withTenantId(Optional tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = tenantId; + return this; + } + + /** + * The field in the object that contains the embedded text + */ + public DestinationWeaviateIndexing withTextField(String textField) { + Utils.checkNotNull(textField, "textField"); + this.textField = Optional.ofNullable(textField); + return this; + } + + /** + * The field in the object that contains the embedded text + */ + public DestinationWeaviateIndexing withTextField(Optional textField) { + Utils.checkNotNull(textField, "textField"); + this.textField = textField; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationWeaviateIndexing other = (DestinationWeaviateIndexing) o; + return + java.util.Objects.deepEquals(this.additionalHeaders, other.additionalHeaders) && + java.util.Objects.deepEquals(this.auth, other.auth) && + java.util.Objects.deepEquals(this.batchSize, other.batchSize) && + java.util.Objects.deepEquals(this.defaultVectorizer, other.defaultVectorizer) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.tenantId, other.tenantId) && + java.util.Objects.deepEquals(this.textField, other.textField); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + additionalHeaders, + auth, + batchSize, + defaultVectorizer, + host, + tenantId, + textField); + } + + @Override + public String toString() { + return Utils.toString(DestinationWeaviateIndexing.class, + "additionalHeaders", additionalHeaders, + "auth", auth, + "batchSize", batchSize, + "defaultVectorizer", defaultVectorizer, + "host", host, + "tenantId", tenantId, + "textField", textField); + } + + public final static class Builder { + + private Optional> additionalHeaders = Optional.empty(); + + private DestinationWeaviateAuthentication auth; + + private Optional batchSize; + + private Optional defaultVectorizer; + + private String host; + + private Optional tenantId; + + private Optional textField; + + private Builder() { + // force use of static builder() method + } + + /** + * Additional HTTP headers to send with every request. + */ + public Builder additionalHeaders(java.util.List
    additionalHeaders) { + Utils.checkNotNull(additionalHeaders, "additionalHeaders"); + this.additionalHeaders = Optional.ofNullable(additionalHeaders); + return this; + } + + /** + * Additional HTTP headers to send with every request. + */ + public Builder additionalHeaders(Optional> additionalHeaders) { + Utils.checkNotNull(additionalHeaders, "additionalHeaders"); + this.additionalHeaders = additionalHeaders; + return this; + } + + /** + * Authentication method + */ + public Builder auth(DestinationWeaviateAuthentication auth) { + Utils.checkNotNull(auth, "auth"); + this.auth = auth; + return this; + } + + /** + * The number of records to send to Weaviate in each batch + */ + public Builder batchSize(long batchSize) { + Utils.checkNotNull(batchSize, "batchSize"); + this.batchSize = Optional.ofNullable(batchSize); + return this; + } + + /** + * The number of records to send to Weaviate in each batch + */ + public Builder batchSize(Optional batchSize) { + Utils.checkNotNull(batchSize, "batchSize"); + this.batchSize = batchSize; + return this; + } + + /** + * The vectorizer to use if new classes need to be created + */ + public Builder defaultVectorizer(DefaultVectorizer defaultVectorizer) { + Utils.checkNotNull(defaultVectorizer, "defaultVectorizer"); + this.defaultVectorizer = Optional.ofNullable(defaultVectorizer); + return this; + } + + /** + * The vectorizer to use if new classes need to be created + */ + public Builder defaultVectorizer(Optional defaultVectorizer) { + Utils.checkNotNull(defaultVectorizer, "defaultVectorizer"); + this.defaultVectorizer = defaultVectorizer; + return this; + } + + /** + * The public endpoint of the Weaviate cluster. + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * The tenant ID to use for multi tenancy + */ + public Builder tenantId(String tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = Optional.ofNullable(tenantId); + return this; + } + + /** + * The tenant ID to use for multi tenancy + */ + public Builder tenantId(Optional tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = tenantId; + return this; + } + + /** + * The field in the object that contains the embedded text + */ + public Builder textField(String textField) { + Utils.checkNotNull(textField, "textField"); + this.textField = Optional.ofNullable(textField); + return this; + } + + /** + * The field in the object that contains the embedded text + */ + public Builder textField(Optional textField) { + Utils.checkNotNull(textField, "textField"); + this.textField = textField; + return this; + } + + public DestinationWeaviateIndexing build() { + if (batchSize == null) { + batchSize = _SINGLETON_VALUE_BatchSize.value(); + } + if (defaultVectorizer == null) { + defaultVectorizer = _SINGLETON_VALUE_DefaultVectorizer.value(); + } + if (tenantId == null) { + tenantId = _SINGLETON_VALUE_TenantId.value(); + } + if (textField == null) { + textField = _SINGLETON_VALUE_TextField.value(); + } + return new DestinationWeaviateIndexing( + additionalHeaders, + auth, + batchSize, + defaultVectorizer, + host, + tenantId, + textField); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_BatchSize = + new LazySingletonValue<>( + "batch_size", + "128", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DefaultVectorizer = + new LazySingletonValue<>( + "default_vectorizer", + "\"none\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TenantId = + new LazySingletonValue<>( + "tenant_id", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TextField = + new LazySingletonValue<>( + "text_field", + "\"text\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateLanguage.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateLanguage.java new file mode 100644 index 000000000..6e765331f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateLanguage.java @@ -0,0 +1,47 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DestinationWeaviateLanguage - Split code in suitable places based on the programming language + */ +public enum DestinationWeaviateLanguage { + CPP("cpp"), + GO("go"), + JAVA("java"), + JS("js"), + PHP("php"), + PROTO("proto"), + PYTHON("python"), + RST("rst"), + RUBY("ruby"), + RUST("rust"), + SCALA("scala"), + SWIFT("swift"), + MARKDOWN("markdown"), + LATEX("latex"), + HTML("html"), + SOL("sol"); + + @JsonValue + private final String value; + + private DestinationWeaviateLanguage(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateMode.java new file mode 100644 index 000000000..f8e77b309 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationWeaviateMode { + NO_EMBEDDING("no_embedding"); + + @JsonValue + private final String value; + + private DestinationWeaviateMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateOpenAI.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateOpenAI.java new file mode 100644 index 000000000..01bd856c6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateOpenAI.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationWeaviateOpenAI - Use the OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + */ + +public class DestinationWeaviateOpenAI { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + @JsonProperty("openai_key") + private String openaiKey; + + public DestinationWeaviateOpenAI( + @JsonProperty("openai_key") String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.openaiKey = openaiKey; + } + + public Optional mode() { + return mode; + } + + public String openaiKey() { + return openaiKey; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationWeaviateOpenAI withOpenaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationWeaviateOpenAI other = (DestinationWeaviateOpenAI) o; + return + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.openaiKey, other.openaiKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode, + openaiKey); + } + + @Override + public String toString() { + return Utils.toString(DestinationWeaviateOpenAI.class, + "mode", mode, + "openaiKey", openaiKey); + } + + public final static class Builder { + + private String openaiKey; + + private Builder() { + // force use of static builder() method + } + + public Builder openaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + public DestinationWeaviateOpenAI build() { + return new DestinationWeaviateOpenAI( + openaiKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"openai\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateOpenAICompatible.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateOpenAICompatible.java new file mode 100644 index 000000000..d46a4ed13 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateOpenAICompatible.java @@ -0,0 +1,282 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationWeaviateOpenAICompatible - Use a service that's compatible with the OpenAI API to embed text. + */ + +public class DestinationWeaviateOpenAICompatible { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("api_key") + private Optional apiKey; + + /** + * The base URL for your OpenAI-compatible service + */ + @JsonProperty("base_url") + private String baseUrl; + + /** + * The number of dimensions the embedding model is generating + */ + @JsonProperty("dimensions") + private long dimensions; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * The name of the model to use for embedding + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("model_name") + private Optional modelName; + + public DestinationWeaviateOpenAICompatible( + @JsonProperty("api_key") Optional apiKey, + @JsonProperty("base_url") String baseUrl, + @JsonProperty("dimensions") long dimensions, + @JsonProperty("model_name") Optional modelName) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(baseUrl, "baseUrl"); + Utils.checkNotNull(dimensions, "dimensions"); + Utils.checkNotNull(modelName, "modelName"); + this.apiKey = apiKey; + this.baseUrl = baseUrl; + this.dimensions = dimensions; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.modelName = modelName; + } + + public Optional apiKey() { + return apiKey; + } + + /** + * The base URL for your OpenAI-compatible service + */ + public String baseUrl() { + return baseUrl; + } + + /** + * The number of dimensions the embedding model is generating + */ + public long dimensions() { + return dimensions; + } + + public Optional mode() { + return mode; + } + + /** + * The name of the model to use for embedding + */ + public Optional modelName() { + return modelName; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationWeaviateOpenAICompatible withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = Optional.ofNullable(apiKey); + return this; + } + + public DestinationWeaviateOpenAICompatible withApiKey(Optional apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The base URL for your OpenAI-compatible service + */ + public DestinationWeaviateOpenAICompatible withBaseUrl(String baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = baseUrl; + return this; + } + + /** + * The number of dimensions the embedding model is generating + */ + public DestinationWeaviateOpenAICompatible withDimensions(long dimensions) { + Utils.checkNotNull(dimensions, "dimensions"); + this.dimensions = dimensions; + return this; + } + + /** + * The name of the model to use for embedding + */ + public DestinationWeaviateOpenAICompatible withModelName(String modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = Optional.ofNullable(modelName); + return this; + } + + /** + * The name of the model to use for embedding + */ + public DestinationWeaviateOpenAICompatible withModelName(Optional modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = modelName; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationWeaviateOpenAICompatible other = (DestinationWeaviateOpenAICompatible) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.baseUrl, other.baseUrl) && + java.util.Objects.deepEquals(this.dimensions, other.dimensions) && + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.modelName, other.modelName); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + baseUrl, + dimensions, + mode, + modelName); + } + + @Override + public String toString() { + return Utils.toString(DestinationWeaviateOpenAICompatible.class, + "apiKey", apiKey, + "baseUrl", baseUrl, + "dimensions", dimensions, + "mode", mode, + "modelName", modelName); + } + + public final static class Builder { + + private Optional apiKey; + + private String baseUrl; + + private Long dimensions; + + private Optional modelName; + + private Builder() { + // force use of static builder() method + } + + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = Optional.ofNullable(apiKey); + return this; + } + + public Builder apiKey(Optional apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The base URL for your OpenAI-compatible service + */ + public Builder baseUrl(String baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = baseUrl; + return this; + } + + /** + * The number of dimensions the embedding model is generating + */ + public Builder dimensions(long dimensions) { + Utils.checkNotNull(dimensions, "dimensions"); + this.dimensions = dimensions; + return this; + } + + /** + * The name of the model to use for embedding + */ + public Builder modelName(String modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = Optional.ofNullable(modelName); + return this; + } + + /** + * The name of the model to use for embedding + */ + public Builder modelName(Optional modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = modelName; + return this; + } + + public DestinationWeaviateOpenAICompatible build() { + if (apiKey == null) { + apiKey = _SINGLETON_VALUE_ApiKey.value(); + } + if (modelName == null) { + modelName = _SINGLETON_VALUE_ModelName.value(); + } + return new DestinationWeaviateOpenAICompatible( + apiKey, + baseUrl, + dimensions, + modelName); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ApiKey = + new LazySingletonValue<>( + "api_key", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"openai_compatible\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ModelName = + new LazySingletonValue<>( + "model_name", + "\"text-embedding-ada-002\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateProcessingConfigModel.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateProcessingConfigModel.java new file mode 100644 index 000000000..3e866e79a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateProcessingConfigModel.java @@ -0,0 +1,407 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationWeaviateProcessingConfigModel { + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("chunk_overlap") + private Optional chunkOverlap; + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + @JsonProperty("chunk_size") + private long chunkSize; + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("field_name_mappings") + private Optional> fieldNameMappings; + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("metadata_fields") + private Optional> metadataFields; + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("text_fields") + private Optional> textFields; + + /** + * Split text fields into chunks based on the specified method. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("text_splitter") + private Optional textSplitter; + + public DestinationWeaviateProcessingConfigModel( + @JsonProperty("chunk_overlap") Optional chunkOverlap, + @JsonProperty("chunk_size") long chunkSize, + @JsonProperty("field_name_mappings") Optional> fieldNameMappings, + @JsonProperty("metadata_fields") Optional> metadataFields, + @JsonProperty("text_fields") Optional> textFields, + @JsonProperty("text_splitter") Optional textSplitter) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + Utils.checkNotNull(chunkSize, "chunkSize"); + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + Utils.checkNotNull(metadataFields, "metadataFields"); + Utils.checkNotNull(textFields, "textFields"); + Utils.checkNotNull(textSplitter, "textSplitter"); + this.chunkOverlap = chunkOverlap; + this.chunkSize = chunkSize; + this.fieldNameMappings = fieldNameMappings; + this.metadataFields = metadataFields; + this.textFields = textFields; + this.textSplitter = textSplitter; + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public Optional chunkOverlap() { + return chunkOverlap; + } + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + public long chunkSize() { + return chunkSize; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public Optional> fieldNameMappings() { + return fieldNameMappings; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public Optional> metadataFields() { + return metadataFields; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Optional> textFields() { + return textFields; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public Optional textSplitter() { + return textSplitter; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public DestinationWeaviateProcessingConfigModel withChunkOverlap(long chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = Optional.ofNullable(chunkOverlap); + return this; + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public DestinationWeaviateProcessingConfigModel withChunkOverlap(Optional chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = chunkOverlap; + return this; + } + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + public DestinationWeaviateProcessingConfigModel withChunkSize(long chunkSize) { + Utils.checkNotNull(chunkSize, "chunkSize"); + this.chunkSize = chunkSize; + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public DestinationWeaviateProcessingConfigModel withFieldNameMappings(java.util.List fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = Optional.ofNullable(fieldNameMappings); + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public DestinationWeaviateProcessingConfigModel withFieldNameMappings(Optional> fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = fieldNameMappings; + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public DestinationWeaviateProcessingConfigModel withMetadataFields(java.util.List metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = Optional.ofNullable(metadataFields); + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public DestinationWeaviateProcessingConfigModel withMetadataFields(Optional> metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = metadataFields; + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public DestinationWeaviateProcessingConfigModel withTextFields(java.util.List textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = Optional.ofNullable(textFields); + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public DestinationWeaviateProcessingConfigModel withTextFields(Optional> textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = textFields; + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public DestinationWeaviateProcessingConfigModel withTextSplitter(DestinationWeaviateTextSplitter textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = Optional.ofNullable(textSplitter); + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public DestinationWeaviateProcessingConfigModel withTextSplitter(Optional textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = textSplitter; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationWeaviateProcessingConfigModel other = (DestinationWeaviateProcessingConfigModel) o; + return + java.util.Objects.deepEquals(this.chunkOverlap, other.chunkOverlap) && + java.util.Objects.deepEquals(this.chunkSize, other.chunkSize) && + java.util.Objects.deepEquals(this.fieldNameMappings, other.fieldNameMappings) && + java.util.Objects.deepEquals(this.metadataFields, other.metadataFields) && + java.util.Objects.deepEquals(this.textFields, other.textFields) && + java.util.Objects.deepEquals(this.textSplitter, other.textSplitter); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + chunkOverlap, + chunkSize, + fieldNameMappings, + metadataFields, + textFields, + textSplitter); + } + + @Override + public String toString() { + return Utils.toString(DestinationWeaviateProcessingConfigModel.class, + "chunkOverlap", chunkOverlap, + "chunkSize", chunkSize, + "fieldNameMappings", fieldNameMappings, + "metadataFields", metadataFields, + "textFields", textFields, + "textSplitter", textSplitter); + } + + public final static class Builder { + + private Optional chunkOverlap; + + private Long chunkSize; + + private Optional> fieldNameMappings = Optional.empty(); + + private Optional> metadataFields = Optional.empty(); + + private Optional> textFields = Optional.empty(); + + private Optional textSplitter = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public Builder chunkOverlap(long chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = Optional.ofNullable(chunkOverlap); + return this; + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public Builder chunkOverlap(Optional chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = chunkOverlap; + return this; + } + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + public Builder chunkSize(long chunkSize) { + Utils.checkNotNull(chunkSize, "chunkSize"); + this.chunkSize = chunkSize; + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public Builder fieldNameMappings(java.util.List fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = Optional.ofNullable(fieldNameMappings); + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public Builder fieldNameMappings(Optional> fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = fieldNameMappings; + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public Builder metadataFields(java.util.List metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = Optional.ofNullable(metadataFields); + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public Builder metadataFields(Optional> metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = metadataFields; + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Builder textFields(java.util.List textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = Optional.ofNullable(textFields); + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Builder textFields(Optional> textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = textFields; + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public Builder textSplitter(DestinationWeaviateTextSplitter textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = Optional.ofNullable(textSplitter); + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public Builder textSplitter(Optional textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = textSplitter; + return this; + } + + public DestinationWeaviateProcessingConfigModel build() { + if (chunkOverlap == null) { + chunkOverlap = _SINGLETON_VALUE_ChunkOverlap.value(); + } + return new DestinationWeaviateProcessingConfigModel( + chunkOverlap, + chunkSize, + fieldNameMappings, + metadataFields, + textFields, + textSplitter); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ChunkOverlap = + new LazySingletonValue<>( + "chunk_overlap", + "0", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding5Mode.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding5Mode.java new file mode 100644 index 000000000..426548a3d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding5Mode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationWeaviateSchemasEmbeddingEmbedding5Mode { + FROM_FIELD("from_field"); + + @JsonValue + private final String value; + + private DestinationWeaviateSchemasEmbeddingEmbedding5Mode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding6Mode.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding6Mode.java new file mode 100644 index 000000000..03abfef5f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding6Mode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationWeaviateSchemasEmbeddingEmbedding6Mode { + FAKE("fake"); + + @JsonValue + private final String value; + + private DestinationWeaviateSchemasEmbeddingEmbedding6Mode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding7Mode.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding7Mode.java new file mode 100644 index 000000000..dc2d88609 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingEmbedding7Mode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationWeaviateSchemasEmbeddingEmbedding7Mode { + OPENAI_COMPATIBLE("openai_compatible"); + + @JsonValue + private final String value; + + private DestinationWeaviateSchemasEmbeddingEmbedding7Mode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingEmbeddingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingEmbeddingMode.java new file mode 100644 index 000000000..3cfc77b20 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingEmbeddingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationWeaviateSchemasEmbeddingEmbeddingMode { + COHERE("cohere"); + + @JsonValue + private final String value; + + private DestinationWeaviateSchemasEmbeddingEmbeddingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingMode.java new file mode 100644 index 000000000..4c7e7f54b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasEmbeddingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationWeaviateSchemasEmbeddingMode { + OPENAI("openai"); + + @JsonValue + private final String value; + + private DestinationWeaviateSchemasEmbeddingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasIndexingAuthAuthenticationMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasIndexingAuthAuthenticationMode.java new file mode 100644 index 000000000..f4624c189 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasIndexingAuthAuthenticationMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationWeaviateSchemasIndexingAuthAuthenticationMode { + NO_AUTH("no_auth"); + + @JsonValue + private final String value; + + private DestinationWeaviateSchemasIndexingAuthAuthenticationMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasIndexingAuthMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasIndexingAuthMode.java new file mode 100644 index 000000000..ea62d01df --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasIndexingAuthMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationWeaviateSchemasIndexingAuthMode { + USERNAME_PASSWORD("username_password"); + + @JsonValue + private final String value; + + private DestinationWeaviateSchemasIndexingAuthMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasIndexingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasIndexingMode.java new file mode 100644 index 000000000..177fe286a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasIndexingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationWeaviateSchemasIndexingMode { + TOKEN("token"); + + @JsonValue + private final String value; + + private DestinationWeaviateSchemasIndexingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasMode.java new file mode 100644 index 000000000..dafd1293c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationWeaviateSchemasMode { + AZURE_OPENAI("azure_openai"); + + @JsonValue + private final String value; + + private DestinationWeaviateSchemasMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasProcessingMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasProcessingMode.java new file mode 100644 index 000000000..98e9e8957 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasProcessingMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationWeaviateSchemasProcessingMode { + SEPARATOR("separator"); + + @JsonValue + private final String value; + + private DestinationWeaviateSchemasProcessingMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasProcessingTextSplitterMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasProcessingTextSplitterMode.java new file mode 100644 index 000000000..17ca64146 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasProcessingTextSplitterMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationWeaviateSchemasProcessingTextSplitterMode { + MARKDOWN("markdown"); + + @JsonValue + private final String value; + + private DestinationWeaviateSchemasProcessingTextSplitterMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasProcessingTextSplitterTextSplitterMode.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasProcessingTextSplitterTextSplitterMode.java new file mode 100644 index 000000000..cade2115f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateSchemasProcessingTextSplitterTextSplitterMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DestinationWeaviateSchemasProcessingTextSplitterTextSplitterMode { + CODE("code"); + + @JsonValue + private final String value; + + private DestinationWeaviateSchemasProcessingTextSplitterTextSplitterMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateTextSplitter.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateTextSplitter.java new file mode 100644 index 000000000..8e44ff279 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateTextSplitter.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DestinationWeaviateTextSplitter - Split text fields into chunks based on the specified method. + */ + +@JsonDeserialize(using = DestinationWeaviateTextSplitter._Deserializer.class) +public class DestinationWeaviateTextSplitter { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DestinationWeaviateTextSplitter(TypedObject value) { + this.value = value; + } + + public static DestinationWeaviateTextSplitter of(DestinationWeaviateBySeparator value) { + Utils.checkNotNull(value, "value"); + return new DestinationWeaviateTextSplitter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationWeaviateTextSplitter of(DestinationWeaviateByMarkdownHeader value) { + Utils.checkNotNull(value, "value"); + return new DestinationWeaviateTextSplitter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DestinationWeaviateTextSplitter of(DestinationWeaviateByProgrammingLanguage value) { + Utils.checkNotNull(value, "value"); + return new DestinationWeaviateTextSplitter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code DestinationWeaviateBySeparator}
    • + *
    • {@code DestinationWeaviateByMarkdownHeader}
    • + *
    • {@code DestinationWeaviateByProgrammingLanguage}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationWeaviateTextSplitter other = (DestinationWeaviateTextSplitter) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DestinationWeaviateTextSplitter.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DestinationWeaviateTextSplitter.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateUsernamePassword.java b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateUsernamePassword.java new file mode 100644 index 000000000..0616c5756 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationWeaviateUsernamePassword.java @@ -0,0 +1,164 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DestinationWeaviateUsernamePassword - Authenticate using username and password (suitable for self-managed Weaviate clusters) + */ + +public class DestinationWeaviateUsernamePassword { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * Password for the Weaviate cluster + */ + @JsonProperty("password") + private String password; + + /** + * Username for the Weaviate cluster + */ + @JsonProperty("username") + private String username; + + public DestinationWeaviateUsernamePassword( + @JsonProperty("password") String password, + @JsonProperty("username") String username) { + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(username, "username"); + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.password = password; + this.username = username; + } + + public Optional mode() { + return mode; + } + + /** + * Password for the Weaviate cluster + */ + public String password() { + return password; + } + + /** + * Username for the Weaviate cluster + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Password for the Weaviate cluster + */ + public DestinationWeaviateUsernamePassword withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Username for the Weaviate cluster + */ + public DestinationWeaviateUsernamePassword withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationWeaviateUsernamePassword other = (DestinationWeaviateUsernamePassword) o; + return + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode, + password, + username); + } + + @Override + public String toString() { + return Utils.toString(DestinationWeaviateUsernamePassword.class, + "mode", mode, + "password", password, + "username", username); + } + + public final static class Builder { + + private String password; + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Password for the Weaviate cluster + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Username for the Weaviate cluster + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public DestinationWeaviateUsernamePassword build() { + return new DestinationWeaviateUsernamePassword( + password, + username); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"username_password\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DestinationsResponse.java b/src/main/java/com/airbyte/api/models/shared/DestinationsResponse.java new file mode 100644 index 000000000..db18c31b2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DestinationsResponse.java @@ -0,0 +1,172 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class DestinationsResponse { + + @JsonProperty("data") + private java.util.List data; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("next") + private Optional next; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("previous") + private Optional previous; + + public DestinationsResponse( + @JsonProperty("data") java.util.List data, + @JsonProperty("next") Optional next, + @JsonProperty("previous") Optional previous) { + Utils.checkNotNull(data, "data"); + Utils.checkNotNull(next, "next"); + Utils.checkNotNull(previous, "previous"); + this.data = data; + this.next = next; + this.previous = previous; + } + + public java.util.List data() { + return data; + } + + public Optional next() { + return next; + } + + public Optional previous() { + return previous; + } + + public final static Builder builder() { + return new Builder(); + } + + public DestinationsResponse withData(java.util.List data) { + Utils.checkNotNull(data, "data"); + this.data = data; + return this; + } + + public DestinationsResponse withNext(String next) { + Utils.checkNotNull(next, "next"); + this.next = Optional.ofNullable(next); + return this; + } + + public DestinationsResponse withNext(Optional next) { + Utils.checkNotNull(next, "next"); + this.next = next; + return this; + } + + public DestinationsResponse withPrevious(String previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = Optional.ofNullable(previous); + return this; + } + + public DestinationsResponse withPrevious(Optional previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = previous; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DestinationsResponse other = (DestinationsResponse) o; + return + java.util.Objects.deepEquals(this.data, other.data) && + java.util.Objects.deepEquals(this.next, other.next) && + java.util.Objects.deepEquals(this.previous, other.previous); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + data, + next, + previous); + } + + @Override + public String toString() { + return Utils.toString(DestinationsResponse.class, + "data", data, + "next", next, + "previous", previous); + } + + public final static class Builder { + + private java.util.List data; + + private Optional next = Optional.empty(); + + private Optional previous = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder data(java.util.List data) { + Utils.checkNotNull(data, "data"); + this.data = data; + return this; + } + + public Builder next(String next) { + Utils.checkNotNull(next, "next"); + this.next = Optional.ofNullable(next); + return this; + } + + public Builder next(Optional next) { + Utils.checkNotNull(next, "next"); + this.next = next; + return this; + } + + public Builder previous(String previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = Optional.ofNullable(previous); + return this; + } + + public Builder previous(Optional previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = previous; + return this; + } + + public DestinationsResponse build() { + return new DestinationsResponse( + data, + next, + previous); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DetailType.java b/src/main/java/com/airbyte/api/models/shared/DetailType.java new file mode 100644 index 000000000..f73dedb02 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DetailType.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DetailType - Select the granularity of the information about each item. + */ +public enum DetailType { + SIMPLE("simple"), + COMPLETE("complete"); + + @JsonValue + private final String value; + + private DetailType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DetectChangesWithXminSystemColumn.java b/src/main/java/com/airbyte/api/models/shared/DetectChangesWithXminSystemColumn.java new file mode 100644 index 000000000..253114582 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DetectChangesWithXminSystemColumn.java @@ -0,0 +1,82 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DetectChangesWithXminSystemColumn - <i>Recommended</i> - Incrementally reads new inserts and updates via Postgres <a href="https://docs.airbyte.com/integrations/sources/postgres/#xmin">Xmin system column</a>. Only recommended for tables up to 500GB. + */ + +public class DetectChangesWithXminSystemColumn { + + @JsonProperty("method") + private SourcePostgresMethod method; + + public DetectChangesWithXminSystemColumn() { + + this.method = Builder._SINGLETON_VALUE_Method.value(); + } + + public SourcePostgresMethod method() { + return method; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DetectChangesWithXminSystemColumn other = (DetectChangesWithXminSystemColumn) o; + return + java.util.Objects.deepEquals(this.method, other.method); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + method); + } + + @Override + public String toString() { + return Utils.toString(DetectChangesWithXminSystemColumn.class, + "method", method); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public DetectChangesWithXminSystemColumn build() { + return new DetectChangesWithXminSystemColumn( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Method = + new LazySingletonValue<>( + "method", + "\"Xmin\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DevNull.java b/src/main/java/com/airbyte/api/models/shared/DevNull.java new file mode 100644 index 000000000..9c9c03ec9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DevNull.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum DevNull { + DEV_NULL("dev-null"); + + @JsonValue + private final String value; + + private DevNull(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Dimension.java b/src/main/java/com/airbyte/api/models/shared/Dimension.java new file mode 100644 index 000000000..e67225113 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Dimension.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * Dimension - Dimension used by the cohort. Required and only supports `firstSessionDate` + */ +public enum Dimension { + FIRST_SESSION_DATE("firstSessionDate"); + + @JsonValue + private final String value; + + private Dimension(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DimensionsFilter.java b/src/main/java/com/airbyte/api/models/shared/DimensionsFilter.java new file mode 100644 index 000000000..bada63bfc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DimensionsFilter.java @@ -0,0 +1,115 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * DimensionsFilter - Dimensions filter + */ + +@JsonDeserialize(using = DimensionsFilter._Deserializer.class) +public class DimensionsFilter { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private DimensionsFilter(TypedObject value) { + this.value = value; + } + + public static DimensionsFilter of(AndGroup value) { + Utils.checkNotNull(value, "value"); + return new DimensionsFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DimensionsFilter of(OrGroup value) { + Utils.checkNotNull(value, "value"); + return new DimensionsFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DimensionsFilter of(NotExpression value) { + Utils.checkNotNull(value, "value"); + return new DimensionsFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static DimensionsFilter of(Filter value) { + Utils.checkNotNull(value, "value"); + return new DimensionsFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code AndGroup}
    • + *
    • {@code OrGroup}
    • + *
    • {@code NotExpression}
    • + *
    • {@code Filter}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DimensionsFilter other = (DimensionsFilter) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(DimensionsFilter.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(DimensionsFilter.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/Disable.java b/src/main/java/com/airbyte/api/models/shared/Disable.java new file mode 100644 index 000000000..5abba781d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Disable.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * Disable - Disable SSL. + */ + +public class Disable { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public Disable() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Disable other = (Disable) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(Disable.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public Disable build() { + return new Disable( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"disable\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Disabled.java b/src/main/java/com/airbyte/api/models/shared/Disabled.java new file mode 100644 index 000000000..8597d0884 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Disabled.java @@ -0,0 +1,79 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class Disabled { + + @JsonProperty("deletion_mode") + private SourceFaunaDeletionMode deletionMode; + + public Disabled() { + + this.deletionMode = Builder._SINGLETON_VALUE_DeletionMode.value(); + } + + public SourceFaunaDeletionMode deletionMode() { + return deletionMode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Disabled other = (Disabled) o; + return + java.util.Objects.deepEquals(this.deletionMode, other.deletionMode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + deletionMode); + } + + @Override + public String toString() { + return Utils.toString(Disabled.class, + "deletionMode", deletionMode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public Disabled build() { + return new Disabled( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DeletionMode = + new LazySingletonValue<>( + "deletion_mode", + "\"ignore\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DistanceMetric.java b/src/main/java/com/airbyte/api/models/shared/DistanceMetric.java new file mode 100644 index 000000000..43070b1a0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DistanceMetric.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DistanceMetric - The Distance metric used to measure similarities among vectors. This field is only used if the collection defined in the does not exist yet and is created automatically by the connector. + */ +public enum DistanceMetric { + DOT("dot"), + COS("cos"), + EUC("euc"); + + @JsonValue + private final String value; + + private DistanceMetric(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Dixa.java b/src/main/java/com/airbyte/api/models/shared/Dixa.java new file mode 100644 index 000000000..21a89992e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Dixa.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Dixa { + DIXA("dixa"); + + @JsonValue + private final String value; + + private Dixa(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DocArrayHnswSearch.java b/src/main/java/com/airbyte/api/models/shared/DocArrayHnswSearch.java new file mode 100644 index 000000000..9a39e2289 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DocArrayHnswSearch.java @@ -0,0 +1,124 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DocArrayHnswSearch - DocArrayHnswSearch is a lightweight Document Index implementation provided by Docarray that runs fully locally and is best suited for small- to medium-sized datasets. It stores vectors on disk in hnswlib, and stores all other data in SQLite. + */ + +public class DocArrayHnswSearch { + + /** + * Path to the directory where hnswlib and meta data files will be written. The files will be placed inside that local mount. All files in the specified destination directory will be deleted on each run. + */ + @JsonProperty("destination_path") + private String destinationPath; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public DocArrayHnswSearch( + @JsonProperty("destination_path") String destinationPath) { + Utils.checkNotNull(destinationPath, "destinationPath"); + this.destinationPath = destinationPath; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + /** + * Path to the directory where hnswlib and meta data files will be written. The files will be placed inside that local mount. All files in the specified destination directory will be deleted on each run. + */ + public String destinationPath() { + return destinationPath; + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Path to the directory where hnswlib and meta data files will be written. The files will be placed inside that local mount. All files in the specified destination directory will be deleted on each run. + */ + public DocArrayHnswSearch withDestinationPath(String destinationPath) { + Utils.checkNotNull(destinationPath, "destinationPath"); + this.destinationPath = destinationPath; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DocArrayHnswSearch other = (DocArrayHnswSearch) o; + return + java.util.Objects.deepEquals(this.destinationPath, other.destinationPath) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + destinationPath, + mode); + } + + @Override + public String toString() { + return Utils.toString(DocArrayHnswSearch.class, + "destinationPath", destinationPath, + "mode", mode); + } + + public final static class Builder { + + private String destinationPath; + + private Builder() { + // force use of static builder() method + } + + /** + * Path to the directory where hnswlib and meta data files will be written. The files will be placed inside that local mount. All files in the specified destination directory will be deleted on each run. + */ + public Builder destinationPath(String destinationPath) { + Utils.checkNotNull(destinationPath, "destinationPath"); + this.destinationPath = destinationPath; + return this; + } + + public DocArrayHnswSearch build() { + return new DocArrayHnswSearch( + destinationPath); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"DocArrayHnswSearch\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Dockerhub.java b/src/main/java/com/airbyte/api/models/shared/Dockerhub.java new file mode 100644 index 000000000..d4e072b3c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Dockerhub.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Dockerhub { + DOCKERHUB("dockerhub"); + + @JsonValue + private final String value; + + private Dockerhub(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DocumentFileTypeFormatExperimental.java b/src/main/java/com/airbyte/api/models/shared/DocumentFileTypeFormatExperimental.java new file mode 100644 index 000000000..cff018c77 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DocumentFileTypeFormatExperimental.java @@ -0,0 +1,279 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * DocumentFileTypeFormatExperimental - Extract text from document formats (.pdf, .docx, .md, .pptx) and emit as one record per file. + */ + +public class DocumentFileTypeFormatExperimental { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + /** + * Processing configuration + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("processing") + private Optional processing; + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("skip_unprocessable_files") + private Optional skipUnprocessableFiles; + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("strategy") + private Optional strategy; + + public DocumentFileTypeFormatExperimental( + @JsonProperty("processing") Optional processing, + @JsonProperty("skip_unprocessable_files") Optional skipUnprocessableFiles, + @JsonProperty("strategy") Optional strategy) { + Utils.checkNotNull(processing, "processing"); + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + Utils.checkNotNull(strategy, "strategy"); + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + this.processing = processing; + this.skipUnprocessableFiles = skipUnprocessableFiles; + this.strategy = strategy; + } + + public Optional filetype() { + return filetype; + } + + /** + * Processing configuration + */ + public Optional processing() { + return processing; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public Optional skipUnprocessableFiles() { + return skipUnprocessableFiles; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public Optional strategy() { + return strategy; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Processing configuration + */ + public DocumentFileTypeFormatExperimental withProcessing(Processing processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = Optional.ofNullable(processing); + return this; + } + + /** + * Processing configuration + */ + public DocumentFileTypeFormatExperimental withProcessing(Optional processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public DocumentFileTypeFormatExperimental withSkipUnprocessableFiles(boolean skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = Optional.ofNullable(skipUnprocessableFiles); + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public DocumentFileTypeFormatExperimental withSkipUnprocessableFiles(Optional skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = skipUnprocessableFiles; + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public DocumentFileTypeFormatExperimental withStrategy(ParsingStrategy strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = Optional.ofNullable(strategy); + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public DocumentFileTypeFormatExperimental withStrategy(Optional strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = strategy; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DocumentFileTypeFormatExperimental other = (DocumentFileTypeFormatExperimental) o; + return + java.util.Objects.deepEquals(this.filetype, other.filetype) && + java.util.Objects.deepEquals(this.processing, other.processing) && + java.util.Objects.deepEquals(this.skipUnprocessableFiles, other.skipUnprocessableFiles) && + java.util.Objects.deepEquals(this.strategy, other.strategy); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filetype, + processing, + skipUnprocessableFiles, + strategy); + } + + @Override + public String toString() { + return Utils.toString(DocumentFileTypeFormatExperimental.class, + "filetype", filetype, + "processing", processing, + "skipUnprocessableFiles", skipUnprocessableFiles, + "strategy", strategy); + } + + public final static class Builder { + + private Optional processing = Optional.empty(); + + private Optional skipUnprocessableFiles; + + private Optional strategy; + + private Builder() { + // force use of static builder() method + } + + /** + * Processing configuration + */ + public Builder processing(Processing processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = Optional.ofNullable(processing); + return this; + } + + /** + * Processing configuration + */ + public Builder processing(Optional processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public Builder skipUnprocessableFiles(boolean skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = Optional.ofNullable(skipUnprocessableFiles); + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public Builder skipUnprocessableFiles(Optional skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = skipUnprocessableFiles; + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public Builder strategy(ParsingStrategy strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = Optional.ofNullable(strategy); + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public Builder strategy(Optional strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = strategy; + return this; + } + + public DocumentFileTypeFormatExperimental build() { + if (skipUnprocessableFiles == null) { + skipUnprocessableFiles = _SINGLETON_VALUE_SkipUnprocessableFiles.value(); + } + if (strategy == null) { + strategy = _SINGLETON_VALUE_Strategy.value(); + } + return new DocumentFileTypeFormatExperimental( + processing, + skipUnprocessableFiles, + strategy); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"unstructured\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SkipUnprocessableFiles = + new LazySingletonValue<>( + "skip_unprocessable_files", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Strategy = + new LazySingletonValue<>( + "strategy", + "\"auto\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/DoubleValue.java b/src/main/java/com/airbyte/api/models/shared/DoubleValue.java new file mode 100644 index 000000000..aba7b4dcf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class DoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiValueType valueType; + + public DoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public DoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DoubleValue other = (DoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(DoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public DoubleValue build() { + return new DoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Dremio.java b/src/main/java/com/airbyte/api/models/shared/Dremio.java new file mode 100644 index 000000000..6bcfdafa3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Dremio.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Dremio { + DREMIO("dremio"); + + @JsonValue + private final String value; + + private Dremio(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Duckdb.java b/src/main/java/com/airbyte/api/models/shared/Duckdb.java new file mode 100644 index 000000000..9238edefb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Duckdb.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Duckdb { + DUCKDB("duckdb"); + + @JsonValue + private final String value; + + private Duckdb(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/DynamoDBRegion.java b/src/main/java/com/airbyte/api/models/shared/DynamoDBRegion.java new file mode 100644 index 000000000..c0d0e00ba --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/DynamoDBRegion.java @@ -0,0 +1,65 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * DynamoDBRegion - The region of the DynamoDB. + */ +public enum DynamoDBRegion { + UNKNOWN(""), + AF_SOUTH1("af-south-1"), + AP_EAST1("ap-east-1"), + AP_NORTHEAST1("ap-northeast-1"), + AP_NORTHEAST2("ap-northeast-2"), + AP_NORTHEAST3("ap-northeast-3"), + AP_SOUTH1("ap-south-1"), + AP_SOUTH2("ap-south-2"), + AP_SOUTHEAST1("ap-southeast-1"), + AP_SOUTHEAST2("ap-southeast-2"), + AP_SOUTHEAST3("ap-southeast-3"), + AP_SOUTHEAST4("ap-southeast-4"), + CA_CENTRAL1("ca-central-1"), + CA_WEST1("ca-west-1"), + CN_NORTH1("cn-north-1"), + CN_NORTHWEST1("cn-northwest-1"), + EU_CENTRAL1("eu-central-1"), + EU_CENTRAL2("eu-central-2"), + EU_NORTH1("eu-north-1"), + EU_SOUTH1("eu-south-1"), + EU_SOUTH2("eu-south-2"), + EU_WEST1("eu-west-1"), + EU_WEST2("eu-west-2"), + EU_WEST3("eu-west-3"), + IL_CENTRAL1("il-central-1"), + ME_CENTRAL1("me-central-1"), + ME_SOUTH1("me-south-1"), + SA_EAST1("sa-east-1"), + US_EAST1("us-east-1"), + US_EAST2("us-east-2"), + US_GOV_EAST1("us-gov-east-1"), + US_GOV_WEST1("us-gov-west-1"), + US_WEST1("us-west-1"), + US_WEST2("us-west-2"); + + @JsonValue + private final String value; + + private DynamoDBRegion(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Dynamodb.java b/src/main/java/com/airbyte/api/models/shared/Dynamodb.java new file mode 100644 index 000000000..736bb5d2d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Dynamodb.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Dynamodb { + DYNAMODB("dynamodb"); + + @JsonValue + private final String value; + + private Dynamodb(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/EUBasedAccount.java b/src/main/java/com/airbyte/api/models/shared/EUBasedAccount.java new file mode 100644 index 000000000..d364d2e9b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/EUBasedAccount.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class EUBasedAccount { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("url_base") + private Optional urlBase; + + public EUBasedAccount() { + + this.urlBase = Builder._SINGLETON_VALUE_UrlBase.value(); + } + + public Optional urlBase() { + return urlBase; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EUBasedAccount other = (EUBasedAccount) o; + return + java.util.Objects.deepEquals(this.urlBase, other.urlBase); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + urlBase); + } + + @Override + public String toString() { + return Utils.toString(EUBasedAccount.class, + "urlBase", urlBase); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public EUBasedAccount build() { + return new EUBasedAccount( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_UrlBase = + new LazySingletonValue<>( + "url_base", + "\"https://eu-api.surveysparrow.com/v3\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Elasticsearch.java b/src/main/java/com/airbyte/api/models/shared/Elasticsearch.java new file mode 100644 index 000000000..ae6d21df6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Elasticsearch.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Elasticsearch { + ELASTICSEARCH("elasticsearch"); + + @JsonValue + private final String value; + + private Elasticsearch(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Emailoctopus.java b/src/main/java/com/airbyte/api/models/shared/Emailoctopus.java new file mode 100644 index 000000000..2c6561ac8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Emailoctopus.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Emailoctopus { + EMAILOCTOPUS("emailoctopus"); + + @JsonValue + private final String value; + + private Emailoctopus(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Embedding.java b/src/main/java/com/airbyte/api/models/shared/Embedding.java new file mode 100644 index 000000000..b41988777 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Embedding.java @@ -0,0 +1,122 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * Embedding - Embedding configuration + */ + +@JsonDeserialize(using = Embedding._Deserializer.class) +public class Embedding { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private Embedding(TypedObject value) { + this.value = value; + } + + public static Embedding of(OpenAI value) { + Utils.checkNotNull(value, "value"); + return new Embedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static Embedding of(Cohere value) { + Utils.checkNotNull(value, "value"); + return new Embedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static Embedding of(Fake value) { + Utils.checkNotNull(value, "value"); + return new Embedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static Embedding of(AzureOpenAI value) { + Utils.checkNotNull(value, "value"); + return new Embedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static Embedding of(OpenAICompatible value) { + Utils.checkNotNull(value, "value"); + return new Embedding(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code OpenAI}
    • + *
    • {@code Cohere}
    • + *
    • {@code Fake}
    • + *
    • {@code AzureOpenAI}
    • + *
    • {@code OpenAICompatible}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Embedding other = (Embedding) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(Embedding.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(Embedding.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/Enabled.java b/src/main/java/com/airbyte/api/models/shared/Enabled.java new file mode 100644 index 000000000..e34567f2e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Enabled.java @@ -0,0 +1,148 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Enabled { + + /** + * Name of the "deleted at" column. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("column") + private Optional column; + + @JsonProperty("deletion_mode") + private SourceFaunaSchemasDeletionMode deletionMode; + + public Enabled( + @JsonProperty("column") Optional column) { + Utils.checkNotNull(column, "column"); + this.column = column; + this.deletionMode = Builder._SINGLETON_VALUE_DeletionMode.value(); + } + + /** + * Name of the "deleted at" column. + */ + public Optional column() { + return column; + } + + public SourceFaunaSchemasDeletionMode deletionMode() { + return deletionMode; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Name of the "deleted at" column. + */ + public Enabled withColumn(String column) { + Utils.checkNotNull(column, "column"); + this.column = Optional.ofNullable(column); + return this; + } + + /** + * Name of the "deleted at" column. + */ + public Enabled withColumn(Optional column) { + Utils.checkNotNull(column, "column"); + this.column = column; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Enabled other = (Enabled) o; + return + java.util.Objects.deepEquals(this.column, other.column) && + java.util.Objects.deepEquals(this.deletionMode, other.deletionMode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + column, + deletionMode); + } + + @Override + public String toString() { + return Utils.toString(Enabled.class, + "column", column, + "deletionMode", deletionMode); + } + + public final static class Builder { + + private Optional column; + + private Builder() { + // force use of static builder() method + } + + /** + * Name of the "deleted at" column. + */ + public Builder column(String column) { + Utils.checkNotNull(column, "column"); + this.column = Optional.ofNullable(column); + return this; + } + + /** + * Name of the "deleted at" column. + */ + public Builder column(Optional column) { + Utils.checkNotNull(column, "column"); + this.column = column; + return this; + } + + public Enabled build() { + if (column == null) { + column = _SINGLETON_VALUE_Column.value(); + } + return new Enabled( + column); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Column = + new LazySingletonValue<>( + "column", + "\"deleted_at\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_DeletionMode = + new LazySingletonValue<>( + "deletion_mode", + "\"deleted_field\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/EncryptedTrustServerCertificate.java b/src/main/java/com/airbyte/api/models/shared/EncryptedTrustServerCertificate.java new file mode 100644 index 000000000..34854f335 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/EncryptedTrustServerCertificate.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * EncryptedTrustServerCertificate - Use the certificate provided by the server without verification. (For testing purposes only!) + */ + +public class EncryptedTrustServerCertificate { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ssl_method") + private Optional sslMethod; + + public EncryptedTrustServerCertificate() { + + this.sslMethod = Builder._SINGLETON_VALUE_SslMethod.value(); + } + + public Optional sslMethod() { + return sslMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EncryptedTrustServerCertificate other = (EncryptedTrustServerCertificate) o; + return + java.util.Objects.deepEquals(this.sslMethod, other.sslMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sslMethod); + } + + @Override + public String toString() { + return Utils.toString(EncryptedTrustServerCertificate.class, + "sslMethod", sslMethod); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public EncryptedTrustServerCertificate build() { + return new EncryptedTrustServerCertificate( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_SslMethod = + new LazySingletonValue<>( + "ssl_method", + "\"encrypted_trust_server_certificate\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/EncryptedVerifyCertificate.java b/src/main/java/com/airbyte/api/models/shared/EncryptedVerifyCertificate.java new file mode 100644 index 000000000..1a7b8b015 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/EncryptedVerifyCertificate.java @@ -0,0 +1,143 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * EncryptedVerifyCertificate - Verify and use the certificate provided by the server. + */ + +public class EncryptedVerifyCertificate { + + /** + * Specifies the host name of the server. The value of this property must match the subject property of the certificate. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("hostNameInCertificate") + private Optional hostNameInCertificate; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ssl_method") + private Optional sslMethod; + + public EncryptedVerifyCertificate( + @JsonProperty("hostNameInCertificate") Optional hostNameInCertificate) { + Utils.checkNotNull(hostNameInCertificate, "hostNameInCertificate"); + this.hostNameInCertificate = hostNameInCertificate; + this.sslMethod = Builder._SINGLETON_VALUE_SslMethod.value(); + } + + /** + * Specifies the host name of the server. The value of this property must match the subject property of the certificate. + */ + public Optional hostNameInCertificate() { + return hostNameInCertificate; + } + + public Optional sslMethod() { + return sslMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Specifies the host name of the server. The value of this property must match the subject property of the certificate. + */ + public EncryptedVerifyCertificate withHostNameInCertificate(String hostNameInCertificate) { + Utils.checkNotNull(hostNameInCertificate, "hostNameInCertificate"); + this.hostNameInCertificate = Optional.ofNullable(hostNameInCertificate); + return this; + } + + /** + * Specifies the host name of the server. The value of this property must match the subject property of the certificate. + */ + public EncryptedVerifyCertificate withHostNameInCertificate(Optional hostNameInCertificate) { + Utils.checkNotNull(hostNameInCertificate, "hostNameInCertificate"); + this.hostNameInCertificate = hostNameInCertificate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EncryptedVerifyCertificate other = (EncryptedVerifyCertificate) o; + return + java.util.Objects.deepEquals(this.hostNameInCertificate, other.hostNameInCertificate) && + java.util.Objects.deepEquals(this.sslMethod, other.sslMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + hostNameInCertificate, + sslMethod); + } + + @Override + public String toString() { + return Utils.toString(EncryptedVerifyCertificate.class, + "hostNameInCertificate", hostNameInCertificate, + "sslMethod", sslMethod); + } + + public final static class Builder { + + private Optional hostNameInCertificate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Specifies the host name of the server. The value of this property must match the subject property of the certificate. + */ + public Builder hostNameInCertificate(String hostNameInCertificate) { + Utils.checkNotNull(hostNameInCertificate, "hostNameInCertificate"); + this.hostNameInCertificate = Optional.ofNullable(hostNameInCertificate); + return this; + } + + /** + * Specifies the host name of the server. The value of this property must match the subject property of the certificate. + */ + public Builder hostNameInCertificate(Optional hostNameInCertificate) { + Utils.checkNotNull(hostNameInCertificate, "hostNameInCertificate"); + this.hostNameInCertificate = hostNameInCertificate; + return this; + } + + public EncryptedVerifyCertificate build() { + return new EncryptedVerifyCertificate( + hostNameInCertificate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_SslMethod = + new LazySingletonValue<>( + "ssl_method", + "\"encrypted_verify_certificate\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Encryption.java b/src/main/java/com/airbyte/api/models/shared/Encryption.java new file mode 100644 index 000000000..424905bc3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Encryption.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * Encryption - The encryption method with is used when communicating with the database. + */ + +@JsonDeserialize(using = Encryption._Deserializer.class) +public class Encryption { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private Encryption(TypedObject value) { + this.value = value; + } + + public static Encryption of(NativeNetworkEncryptionNNE value) { + Utils.checkNotNull(value, "value"); + return new Encryption(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static Encryption of(TLSEncryptedVerifyCertificate value) { + Utils.checkNotNull(value, "value"); + return new Encryption(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code NativeNetworkEncryptionNNE}
    • + *
    • {@code TLSEncryptedVerifyCertificate}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Encryption other = (Encryption) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(Encryption.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(Encryption.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/EncryptionAlgorithm.java b/src/main/java/com/airbyte/api/models/shared/EncryptionAlgorithm.java new file mode 100644 index 000000000..ad314b5b4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/EncryptionAlgorithm.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * EncryptionAlgorithm - This parameter defines what encryption algorithm is used. + */ +public enum EncryptionAlgorithm { + AES256("AES256"), + RC456("RC4_56"), + THREE_DES168("3DES168"); + + @JsonValue + private final String value; + + private EncryptionAlgorithm(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/EncryptionMethod.java b/src/main/java/com/airbyte/api/models/shared/EncryptionMethod.java new file mode 100644 index 000000000..0a347f0cb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/EncryptionMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum EncryptionMethod { + CLIENT_NNE("client_nne"); + + @JsonValue + private final String value; + + private EncryptionMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/EncryptionType.java b/src/main/java/com/airbyte/api/models/shared/EncryptionType.java new file mode 100644 index 000000000..7a4b20120 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/EncryptionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum EncryptionType { + NONE("none"); + + @JsonValue + private final String value; + + private EncryptionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/EngagementWindowDays.java b/src/main/java/com/airbyte/api/models/shared/EngagementWindowDays.java new file mode 100644 index 000000000..118f5dab1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/EngagementWindowDays.java @@ -0,0 +1,37 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * EngagementWindowDays - Number of days to use as the conversion attribution window for an engagement action. + */ +public enum EngagementWindowDays { + ZERO(0L), + ONE(1L), + SEVEN(7L), + FOURTEEN(14L), + THIRTY(30L), + SIXTY(60L); + + @JsonValue + private final long value; + + private EngagementWindowDays(long value) { + this.value = value; + } + + public long value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Environment.java b/src/main/java/com/airbyte/api/models/shared/Environment.java new file mode 100644 index 000000000..5184af99f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Environment.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * Environment - The environment to use. Either sandbox or production. + * + */ +public enum Environment { + SANDBOX("sandbox"), + PRODUCTION("production"); + + @JsonValue + private final String value; + + private Environment(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ExchangeRates.java b/src/main/java/com/airbyte/api/models/shared/ExchangeRates.java new file mode 100644 index 000000000..6bb2821d7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ExchangeRates.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum ExchangeRates { + EXCHANGE_RATES("exchange-rates"); + + @JsonValue + private final String value; + + private ExchangeRates(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Expression.java b/src/main/java/com/airbyte/api/models/shared/Expression.java new file mode 100644 index 000000000..98c818165 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Expression.java @@ -0,0 +1,115 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class Expression { + + @JsonProperty("field_name") + private String fieldName; + + @JsonProperty("filter") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter filter; + + public Expression( + @JsonProperty("field_name") String fieldName, + @JsonProperty("filter") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter filter) { + Utils.checkNotNull(fieldName, "fieldName"); + Utils.checkNotNull(filter, "filter"); + this.fieldName = fieldName; + this.filter = filter; + } + + public String fieldName() { + return fieldName; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter filter() { + return filter; + } + + public final static Builder builder() { + return new Builder(); + } + + public Expression withFieldName(String fieldName) { + Utils.checkNotNull(fieldName, "fieldName"); + this.fieldName = fieldName; + return this; + } + + public Expression withFilter(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Expression other = (Expression) o; + return + java.util.Objects.deepEquals(this.fieldName, other.fieldName) && + java.util.Objects.deepEquals(this.filter, other.filter); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + fieldName, + filter); + } + + @Override + public String toString() { + return Utils.toString(Expression.class, + "fieldName", fieldName, + "filter", filter); + } + + public final static class Builder { + + private String fieldName; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter filter; + + private Builder() { + // force use of static builder() method + } + + public Builder fieldName(String fieldName) { + Utils.checkNotNull(fieldName, "fieldName"); + this.fieldName = fieldName; + return this; + } + + public Builder filter(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + public Expression build() { + return new Expression( + fieldName, + filter); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/FacebookMarketing.java b/src/main/java/com/airbyte/api/models/shared/FacebookMarketing.java new file mode 100644 index 000000000..44c0c557c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/FacebookMarketing.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class FacebookMarketing { + + /** + * The Client Id for your OAuth app + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret for your OAuth app + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public FacebookMarketing( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client Id for your OAuth app + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret for your OAuth app + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client Id for your OAuth app + */ + public FacebookMarketing withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client Id for your OAuth app + */ + public FacebookMarketing withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret for your OAuth app + */ + public FacebookMarketing withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret for your OAuth app + */ + public FacebookMarketing withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FacebookMarketing other = (FacebookMarketing) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(FacebookMarketing.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client Id for your OAuth app + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client Id for your OAuth app + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret for your OAuth app + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret for your OAuth app + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public FacebookMarketing build() { + return new FacebookMarketing( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Fake.java b/src/main/java/com/airbyte/api/models/shared/Fake.java new file mode 100644 index 000000000..1bd21e69f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Fake.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * Fake - Use a fake embedding made out of random vectors with 1536 embedding dimensions. This is useful for testing the data pipeline without incurring any costs. + */ + +public class Fake { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public Fake() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Fake other = (Fake) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(Fake.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public Fake build() { + return new Fake( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"fake\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Faker.java b/src/main/java/com/airbyte/api/models/shared/Faker.java new file mode 100644 index 000000000..56337106d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Faker.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Faker { + FAKER("faker"); + + @JsonValue + private final String value; + + private Faker(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Fauna.java b/src/main/java/com/airbyte/api/models/shared/Fauna.java new file mode 100644 index 000000000..621f9f1b3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Fauna.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Fauna { + FAUNA("fauna"); + + @JsonValue + private final String value; + + private Fauna(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/FieldNameMappingConfigModel.java b/src/main/java/com/airbyte/api/models/shared/FieldNameMappingConfigModel.java new file mode 100644 index 000000000..e95684253 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/FieldNameMappingConfigModel.java @@ -0,0 +1,139 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class FieldNameMappingConfigModel { + + /** + * The field name in the source + */ + @JsonProperty("from_field") + private String fromField; + + /** + * The field name to use in the destination + */ + @JsonProperty("to_field") + private String toField; + + public FieldNameMappingConfigModel( + @JsonProperty("from_field") String fromField, + @JsonProperty("to_field") String toField) { + Utils.checkNotNull(fromField, "fromField"); + Utils.checkNotNull(toField, "toField"); + this.fromField = fromField; + this.toField = toField; + } + + /** + * The field name in the source + */ + public String fromField() { + return fromField; + } + + /** + * The field name to use in the destination + */ + public String toField() { + return toField; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The field name in the source + */ + public FieldNameMappingConfigModel withFromField(String fromField) { + Utils.checkNotNull(fromField, "fromField"); + this.fromField = fromField; + return this; + } + + /** + * The field name to use in the destination + */ + public FieldNameMappingConfigModel withToField(String toField) { + Utils.checkNotNull(toField, "toField"); + this.toField = toField; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FieldNameMappingConfigModel other = (FieldNameMappingConfigModel) o; + return + java.util.Objects.deepEquals(this.fromField, other.fromField) && + java.util.Objects.deepEquals(this.toField, other.toField); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + fromField, + toField); + } + + @Override + public String toString() { + return Utils.toString(FieldNameMappingConfigModel.class, + "fromField", fromField, + "toField", toField); + } + + public final static class Builder { + + private String fromField; + + private String toField; + + private Builder() { + // force use of static builder() method + } + + /** + * The field name in the source + */ + public Builder fromField(String fromField) { + Utils.checkNotNull(fromField, "fromField"); + this.fromField = fromField; + return this; + } + + /** + * The field name to use in the destination + */ + public Builder toField(String toField) { + Utils.checkNotNull(toField, "toField"); + this.toField = toField; + return this; + } + + public FieldNameMappingConfigModel build() { + return new FieldNameMappingConfigModel( + fromField, + toField); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/File.java b/src/main/java/com/airbyte/api/models/shared/File.java new file mode 100644 index 000000000..8e6493224 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/File.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum File { + FILE("file"); + + @JsonValue + private final String value; + + private File(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/FileBasedStreamConfig.java b/src/main/java/com/airbyte/api/models/shared/FileBasedStreamConfig.java new file mode 100644 index 000000000..0e760ed9f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/FileBasedStreamConfig.java @@ -0,0 +1,583 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class FileBasedStreamConfig { + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("days_to_sync_if_history_is_full") + private Optional daysToSyncIfHistoryIsFull; + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + @JsonProperty("format") + private Format format; + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("globs") + private Optional> globs; + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("input_schema") + private Optional inputSchema; + + /** + * The path prefix configured in v3 versions of the S3 connector. This option is deprecated in favor of a single glob. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("legacy_prefix") + private Optional legacyPrefix; + + /** + * The name of the stream. + */ + @JsonProperty("name") + private String name; + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("primary_key") + private Optional primaryKey; + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schemaless") + private Optional schemaless; + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("validation_policy") + private Optional validationPolicy; + + public FileBasedStreamConfig( + @JsonProperty("days_to_sync_if_history_is_full") Optional daysToSyncIfHistoryIsFull, + @JsonProperty("format") Format format, + @JsonProperty("globs") Optional> globs, + @JsonProperty("input_schema") Optional inputSchema, + @JsonProperty("legacy_prefix") Optional legacyPrefix, + @JsonProperty("name") String name, + @JsonProperty("primary_key") Optional primaryKey, + @JsonProperty("schemaless") Optional schemaless, + @JsonProperty("validation_policy") Optional validationPolicy) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + Utils.checkNotNull(format, "format"); + Utils.checkNotNull(globs, "globs"); + Utils.checkNotNull(inputSchema, "inputSchema"); + Utils.checkNotNull(legacyPrefix, "legacyPrefix"); + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(primaryKey, "primaryKey"); + Utils.checkNotNull(schemaless, "schemaless"); + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.daysToSyncIfHistoryIsFull = daysToSyncIfHistoryIsFull; + this.format = format; + this.globs = globs; + this.inputSchema = inputSchema; + this.legacyPrefix = legacyPrefix; + this.name = name; + this.primaryKey = primaryKey; + this.schemaless = schemaless; + this.validationPolicy = validationPolicy; + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public Optional daysToSyncIfHistoryIsFull() { + return daysToSyncIfHistoryIsFull; + } + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + public Format format() { + return format; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public Optional> globs() { + return globs; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public Optional inputSchema() { + return inputSchema; + } + + /** + * The path prefix configured in v3 versions of the S3 connector. This option is deprecated in favor of a single glob. + */ + public Optional legacyPrefix() { + return legacyPrefix; + } + + /** + * The name of the stream. + */ + public String name() { + return name; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public Optional primaryKey() { + return primaryKey; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public Optional schemaless() { + return schemaless; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public Optional validationPolicy() { + return validationPolicy; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public FileBasedStreamConfig withDaysToSyncIfHistoryIsFull(long daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = Optional.ofNullable(daysToSyncIfHistoryIsFull); + return this; + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public FileBasedStreamConfig withDaysToSyncIfHistoryIsFull(Optional daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = daysToSyncIfHistoryIsFull; + return this; + } + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + public FileBasedStreamConfig withFormat(Format format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public FileBasedStreamConfig withGlobs(java.util.List globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = Optional.ofNullable(globs); + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public FileBasedStreamConfig withGlobs(Optional> globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = globs; + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public FileBasedStreamConfig withInputSchema(String inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = Optional.ofNullable(inputSchema); + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public FileBasedStreamConfig withInputSchema(Optional inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = inputSchema; + return this; + } + + /** + * The path prefix configured in v3 versions of the S3 connector. This option is deprecated in favor of a single glob. + */ + public FileBasedStreamConfig withLegacyPrefix(String legacyPrefix) { + Utils.checkNotNull(legacyPrefix, "legacyPrefix"); + this.legacyPrefix = Optional.ofNullable(legacyPrefix); + return this; + } + + /** + * The path prefix configured in v3 versions of the S3 connector. This option is deprecated in favor of a single glob. + */ + public FileBasedStreamConfig withLegacyPrefix(Optional legacyPrefix) { + Utils.checkNotNull(legacyPrefix, "legacyPrefix"); + this.legacyPrefix = legacyPrefix; + return this; + } + + /** + * The name of the stream. + */ + public FileBasedStreamConfig withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public FileBasedStreamConfig withPrimaryKey(String primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = Optional.ofNullable(primaryKey); + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public FileBasedStreamConfig withPrimaryKey(Optional primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = primaryKey; + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public FileBasedStreamConfig withSchemaless(boolean schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = Optional.ofNullable(schemaless); + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public FileBasedStreamConfig withSchemaless(Optional schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = schemaless; + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public FileBasedStreamConfig withValidationPolicy(ValidationPolicy validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = Optional.ofNullable(validationPolicy); + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public FileBasedStreamConfig withValidationPolicy(Optional validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = validationPolicy; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FileBasedStreamConfig other = (FileBasedStreamConfig) o; + return + java.util.Objects.deepEquals(this.daysToSyncIfHistoryIsFull, other.daysToSyncIfHistoryIsFull) && + java.util.Objects.deepEquals(this.format, other.format) && + java.util.Objects.deepEquals(this.globs, other.globs) && + java.util.Objects.deepEquals(this.inputSchema, other.inputSchema) && + java.util.Objects.deepEquals(this.legacyPrefix, other.legacyPrefix) && + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.primaryKey, other.primaryKey) && + java.util.Objects.deepEquals(this.schemaless, other.schemaless) && + java.util.Objects.deepEquals(this.validationPolicy, other.validationPolicy); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + daysToSyncIfHistoryIsFull, + format, + globs, + inputSchema, + legacyPrefix, + name, + primaryKey, + schemaless, + validationPolicy); + } + + @Override + public String toString() { + return Utils.toString(FileBasedStreamConfig.class, + "daysToSyncIfHistoryIsFull", daysToSyncIfHistoryIsFull, + "format", format, + "globs", globs, + "inputSchema", inputSchema, + "legacyPrefix", legacyPrefix, + "name", name, + "primaryKey", primaryKey, + "schemaless", schemaless, + "validationPolicy", validationPolicy); + } + + public final static class Builder { + + private Optional daysToSyncIfHistoryIsFull; + + private Format format; + + private Optional> globs = Optional.empty(); + + private Optional inputSchema = Optional.empty(); + + private Optional legacyPrefix = Optional.empty(); + + private String name; + + private Optional primaryKey = Optional.empty(); + + private Optional schemaless; + + private Optional validationPolicy; + + private Builder() { + // force use of static builder() method + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public Builder daysToSyncIfHistoryIsFull(long daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = Optional.ofNullable(daysToSyncIfHistoryIsFull); + return this; + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public Builder daysToSyncIfHistoryIsFull(Optional daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = daysToSyncIfHistoryIsFull; + return this; + } + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + public Builder format(Format format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public Builder globs(java.util.List globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = Optional.ofNullable(globs); + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public Builder globs(Optional> globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = globs; + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public Builder inputSchema(String inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = Optional.ofNullable(inputSchema); + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public Builder inputSchema(Optional inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = inputSchema; + return this; + } + + /** + * The path prefix configured in v3 versions of the S3 connector. This option is deprecated in favor of a single glob. + */ + public Builder legacyPrefix(String legacyPrefix) { + Utils.checkNotNull(legacyPrefix, "legacyPrefix"); + this.legacyPrefix = Optional.ofNullable(legacyPrefix); + return this; + } + + /** + * The path prefix configured in v3 versions of the S3 connector. This option is deprecated in favor of a single glob. + */ + public Builder legacyPrefix(Optional legacyPrefix) { + Utils.checkNotNull(legacyPrefix, "legacyPrefix"); + this.legacyPrefix = legacyPrefix; + return this; + } + + /** + * The name of the stream. + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public Builder primaryKey(String primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = Optional.ofNullable(primaryKey); + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public Builder primaryKey(Optional primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = primaryKey; + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public Builder schemaless(boolean schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = Optional.ofNullable(schemaless); + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public Builder schemaless(Optional schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = schemaless; + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public Builder validationPolicy(ValidationPolicy validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = Optional.ofNullable(validationPolicy); + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public Builder validationPolicy(Optional validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = validationPolicy; + return this; + } + + public FileBasedStreamConfig build() { + if (daysToSyncIfHistoryIsFull == null) { + daysToSyncIfHistoryIsFull = _SINGLETON_VALUE_DaysToSyncIfHistoryIsFull.value(); + } + if (schemaless == null) { + schemaless = _SINGLETON_VALUE_Schemaless.value(); + } + if (validationPolicy == null) { + validationPolicy = _SINGLETON_VALUE_ValidationPolicy.value(); + } + return new FileBasedStreamConfig( + daysToSyncIfHistoryIsFull, + format, + globs, + inputSchema, + legacyPrefix, + name, + primaryKey, + schemaless, + validationPolicy); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DaysToSyncIfHistoryIsFull = + new LazySingletonValue<>( + "days_to_sync_if_history_is_full", + "3", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Schemaless = + new LazySingletonValue<>( + "schemaless", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ValidationPolicy = + new LazySingletonValue<>( + "validation_policy", + "\"Emit Record\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/FileFormat.java b/src/main/java/com/airbyte/api/models/shared/FileFormat.java new file mode 100644 index 000000000..4ee45b99c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/FileFormat.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * FileFormat - The Format of the file which should be replicated (Warning: some formats may be experimental, please refer to the docs). + */ +public enum FileFormat { + CSV("csv"), + JSON("json"), + JSONL("jsonl"), + EXCEL("excel"), + EXCEL_BINARY("excel_binary"), + FWF("fwf"), + FEATHER("feather"), + PARQUET("parquet"), + YAML("yaml"); + + @JsonValue + private final String value; + + private FileFormat(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/FileType.java b/src/main/java/com/airbyte/api/models/shared/FileType.java new file mode 100644 index 000000000..ae37e425d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/FileType.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * FileType - The file type you want to sync. Currently only 'csv' and 'json' files are supported. + */ +public enum FileType { + CSV("csv"), + JSON("json"); + + @JsonValue + private final String value; + + private FileType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Filter.java b/src/main/java/com/airbyte/api/models/shared/Filter.java new file mode 100644 index 000000000..30081de7c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Filter.java @@ -0,0 +1,140 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * Filter - A primitive filter. In the same FilterExpression, all of the filter's field names need to be either all dimensions. + */ + +public class Filter { + + @JsonProperty("field_name") + private String fieldName; + + @JsonProperty("filter") + private SourceGoogleAnalyticsDataApiSchemasFilter filter; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filter_type") + private Optional filterType; + + public Filter( + @JsonProperty("field_name") String fieldName, + @JsonProperty("filter") SourceGoogleAnalyticsDataApiSchemasFilter filter) { + Utils.checkNotNull(fieldName, "fieldName"); + Utils.checkNotNull(filter, "filter"); + this.fieldName = fieldName; + this.filter = filter; + this.filterType = Builder._SINGLETON_VALUE_FilterType.value(); + } + + public String fieldName() { + return fieldName; + } + + public SourceGoogleAnalyticsDataApiSchemasFilter filter() { + return filter; + } + + public Optional filterType() { + return filterType; + } + + public final static Builder builder() { + return new Builder(); + } + + public Filter withFieldName(String fieldName) { + Utils.checkNotNull(fieldName, "fieldName"); + this.fieldName = fieldName; + return this; + } + + public Filter withFilter(SourceGoogleAnalyticsDataApiSchemasFilter filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Filter other = (Filter) o; + return + java.util.Objects.deepEquals(this.fieldName, other.fieldName) && + java.util.Objects.deepEquals(this.filter, other.filter) && + java.util.Objects.deepEquals(this.filterType, other.filterType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + fieldName, + filter, + filterType); + } + + @Override + public String toString() { + return Utils.toString(Filter.class, + "fieldName", fieldName, + "filter", filter, + "filterType", filterType); + } + + public final static class Builder { + + private String fieldName; + + private SourceGoogleAnalyticsDataApiSchemasFilter filter; + + private Builder() { + // force use of static builder() method + } + + public Builder fieldName(String fieldName) { + Utils.checkNotNull(fieldName, "fieldName"); + this.fieldName = fieldName; + return this; + } + + public Builder filter(SourceGoogleAnalyticsDataApiSchemasFilter filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + public Filter build() { + return new Filter( + fieldName, + filter); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_FilterType = + new LazySingletonValue<>( + "filter_type", + "\"filter\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/FilterName.java b/src/main/java/com/airbyte/api/models/shared/FilterName.java new file mode 100644 index 000000000..25ce3fefb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/FilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum FilterName { + STRING_FILTER("stringFilter"); + + @JsonValue + private final String value; + + private FilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/FilterType.java b/src/main/java/com/airbyte/api/models/shared/FilterType.java new file mode 100644 index 000000000..a1df9eaae --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/FilterType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum FilterType { + AND_GROUP("andGroup"); + + @JsonValue + private final String value; + + private FilterType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Firebolt.java b/src/main/java/com/airbyte/api/models/shared/Firebolt.java new file mode 100644 index 000000000..b906e319f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Firebolt.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Firebolt { + FIREBOLT("firebolt"); + + @JsonValue + private final String value; + + private Firebolt(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Firestore.java b/src/main/java/com/airbyte/api/models/shared/Firestore.java new file mode 100644 index 000000000..0d776f237 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Firestore.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Firestore { + FIRESTORE("firestore"); + + @JsonValue + private final String value; + + private Firestore(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Flattening.java b/src/main/java/com/airbyte/api/models/shared/Flattening.java new file mode 100644 index 000000000..86ea41804 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Flattening.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * Flattening - Whether the input json data should be normalized (flattened) in the output JSON Lines. Please refer to docs for details. + */ +public enum Flattening { + NO_FLATTENING("No flattening"), + ROOT_LEVEL_FLATTENING("Root level flattening"); + + @JsonValue + private final String value; + + private Flattening(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Format.java b/src/main/java/com/airbyte/api/models/shared/Format.java new file mode 100644 index 000000000..06417b44a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Format.java @@ -0,0 +1,122 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * Format - The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + +@JsonDeserialize(using = Format._Deserializer.class) +public class Format { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private Format(TypedObject value) { + this.value = value; + } + + public static Format of(AvroFormat value) { + Utils.checkNotNull(value, "value"); + return new Format(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static Format of(CSVFormat value) { + Utils.checkNotNull(value, "value"); + return new Format(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static Format of(JsonlFormat value) { + Utils.checkNotNull(value, "value"); + return new Format(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static Format of(ParquetFormat value) { + Utils.checkNotNull(value, "value"); + return new Format(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static Format of(DocumentFileTypeFormatExperimental value) { + Utils.checkNotNull(value, "value"); + return new Format(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code AvroFormat}
    • + *
    • {@code CSVFormat}
    • + *
    • {@code JsonlFormat}
    • + *
    • {@code ParquetFormat}
    • + *
    • {@code DocumentFileTypeFormatExperimental}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Format other = (Format) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(Format.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(Format.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/FormatType.java b/src/main/java/com/airbyte/api/models/shared/FormatType.java new file mode 100644 index 000000000..a4cac3bcd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/FormatType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum FormatType { + CSV("CSV"); + + @JsonValue + private final String value; + + private FormatType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/FormatTypeWildcard.java b/src/main/java/com/airbyte/api/models/shared/FormatTypeWildcard.java new file mode 100644 index 000000000..ddda0b128 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/FormatTypeWildcard.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum FormatTypeWildcard { + JSONL("JSONL"); + + @JsonValue + private final String value; + + private FormatTypeWildcard(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Freshcaller.java b/src/main/java/com/airbyte/api/models/shared/Freshcaller.java new file mode 100644 index 000000000..50ac2c2c8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Freshcaller.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Freshcaller { + FRESHCALLER("freshcaller"); + + @JsonValue + private final String value; + + private Freshcaller(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Freshdesk.java b/src/main/java/com/airbyte/api/models/shared/Freshdesk.java new file mode 100644 index 000000000..a4ff23b8f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Freshdesk.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Freshdesk { + FRESHDESK("freshdesk"); + + @JsonValue + private final String value; + + private Freshdesk(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Freshsales.java b/src/main/java/com/airbyte/api/models/shared/Freshsales.java new file mode 100644 index 000000000..16e571f63 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Freshsales.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Freshsales { + FRESHSALES("freshsales"); + + @JsonValue + private final String value; + + private Freshsales(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/FromCSV.java b/src/main/java/com/airbyte/api/models/shared/FromCSV.java new file mode 100644 index 000000000..ca70c05a6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/FromCSV.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class FromCSV { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition_type") + private Optional headerDefinitionType; + + public FromCSV() { + + this.headerDefinitionType = Builder._SINGLETON_VALUE_HeaderDefinitionType.value(); + } + + public Optional headerDefinitionType() { + return headerDefinitionType; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FromCSV other = (FromCSV) o; + return + java.util.Objects.deepEquals(this.headerDefinitionType, other.headerDefinitionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + headerDefinitionType); + } + + @Override + public String toString() { + return Utils.toString(FromCSV.class, + "headerDefinitionType", headerDefinitionType); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public FromCSV build() { + return new FromCSV( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_HeaderDefinitionType = + new LazySingletonValue<>( + "header_definition_type", + "\"From CSV\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/FromField.java b/src/main/java/com/airbyte/api/models/shared/FromField.java new file mode 100644 index 000000000..b8ef44adf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/FromField.java @@ -0,0 +1,164 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * FromField - Use a field in the record as the embedding. This is useful if you already have an embedding for your data and want to store it in the vector store. + */ + +public class FromField { + + /** + * The number of dimensions the embedding model is generating + */ + @JsonProperty("dimensions") + private long dimensions; + + /** + * Name of the field in the record that contains the embedding + */ + @JsonProperty("field_name") + private String fieldName; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public FromField( + @JsonProperty("dimensions") long dimensions, + @JsonProperty("field_name") String fieldName) { + Utils.checkNotNull(dimensions, "dimensions"); + Utils.checkNotNull(fieldName, "fieldName"); + this.dimensions = dimensions; + this.fieldName = fieldName; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + /** + * The number of dimensions the embedding model is generating + */ + public long dimensions() { + return dimensions; + } + + /** + * Name of the field in the record that contains the embedding + */ + public String fieldName() { + return fieldName; + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The number of dimensions the embedding model is generating + */ + public FromField withDimensions(long dimensions) { + Utils.checkNotNull(dimensions, "dimensions"); + this.dimensions = dimensions; + return this; + } + + /** + * Name of the field in the record that contains the embedding + */ + public FromField withFieldName(String fieldName) { + Utils.checkNotNull(fieldName, "fieldName"); + this.fieldName = fieldName; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FromField other = (FromField) o; + return + java.util.Objects.deepEquals(this.dimensions, other.dimensions) && + java.util.Objects.deepEquals(this.fieldName, other.fieldName) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + dimensions, + fieldName, + mode); + } + + @Override + public String toString() { + return Utils.toString(FromField.class, + "dimensions", dimensions, + "fieldName", fieldName, + "mode", mode); + } + + public final static class Builder { + + private Long dimensions; + + private String fieldName; + + private Builder() { + // force use of static builder() method + } + + /** + * The number of dimensions the embedding model is generating + */ + public Builder dimensions(long dimensions) { + Utils.checkNotNull(dimensions, "dimensions"); + this.dimensions = dimensions; + return this; + } + + /** + * Name of the field in the record that contains the embedding + */ + public Builder fieldName(String fieldName) { + Utils.checkNotNull(fieldName, "fieldName"); + this.fieldName = fieldName; + return this; + } + + public FromField build() { + return new FromField( + dimensions, + fieldName); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"from_field\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/FromValue.java b/src/main/java/com/airbyte/api/models/shared/FromValue.java new file mode 100644 index 000000000..8d15f71fb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/FromValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = FromValue._Deserializer.class) +public class FromValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private FromValue(TypedObject value) { + this.value = value; + } + + public static FromValue of(SourceGoogleAnalyticsDataApiInt64Value value) { + Utils.checkNotNull(value, "value"); + return new FromValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static FromValue of(SourceGoogleAnalyticsDataApiDoubleValue value) { + Utils.checkNotNull(value, "value"); + return new FromValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiInt64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiDoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FromValue other = (FromValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(FromValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(FromValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/GCSBucketRegion.java b/src/main/java/com/airbyte/api/models/shared/GCSBucketRegion.java new file mode 100644 index 000000000..0ac78a542 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GCSBucketRegion.java @@ -0,0 +1,66 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * GCSBucketRegion - Select a Region of the GCS Bucket. Read more <a href="https://cloud.google.com/storage/docs/locations">here</a>. + */ +public enum GCSBucketRegion { + NORTHAMERICA_NORTHEAST1("northamerica-northeast1"), + NORTHAMERICA_NORTHEAST2("northamerica-northeast2"), + US_CENTRAL1("us-central1"), + US_EAST1("us-east1"), + US_EAST4("us-east4"), + US_WEST1("us-west1"), + US_WEST2("us-west2"), + US_WEST3("us-west3"), + US_WEST4("us-west4"), + SOUTHAMERICA_EAST1("southamerica-east1"), + SOUTHAMERICA_WEST1("southamerica-west1"), + EUROPE_CENTRAL2("europe-central2"), + EUROPE_NORTH1("europe-north1"), + EUROPE_WEST1("europe-west1"), + EUROPE_WEST2("europe-west2"), + EUROPE_WEST3("europe-west3"), + EUROPE_WEST4("europe-west4"), + EUROPE_WEST6("europe-west6"), + ASIA_EAST1("asia-east1"), + ASIA_EAST2("asia-east2"), + ASIA_NORTHEAST1("asia-northeast1"), + ASIA_NORTHEAST2("asia-northeast2"), + ASIA_NORTHEAST3("asia-northeast3"), + ASIA_SOUTH1("asia-south1"), + ASIA_SOUTH2("asia-south2"), + ASIA_SOUTHEAST1("asia-southeast1"), + ASIA_SOUTHEAST2("asia-southeast2"), + AUSTRALIA_SOUTHEAST1("australia-southeast1"), + AUSTRALIA_SOUTHEAST2("australia-southeast2"), + ASIA("asia"), + EU("eu"), + US("us"), + ASIA1("asia1"), + EUR4("eur4"), + NAM4("nam4"); + + @JsonValue + private final String value; + + private GCSBucketRegion(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/GCSGoogleCloudStorage.java b/src/main/java/com/airbyte/api/models/shared/GCSGoogleCloudStorage.java new file mode 100644 index 000000000..da3816725 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GCSGoogleCloudStorage.java @@ -0,0 +1,139 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class GCSGoogleCloudStorage { + + /** + * In order to access private Buckets stored on Google Cloud, this connector would need a service account json credentials with the proper permissions as described <a href="https://cloud.google.com/iam/docs/service-accounts" target="_blank">here</a>. Please generate the credentials.json file and copy/paste its content to this field (expecting JSON formats). If accessing publicly available data, this field is not necessary. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("service_account_json") + private Optional serviceAccountJson; + + @JsonProperty("storage") + private SourceFileStorage storage; + + public GCSGoogleCloudStorage( + @JsonProperty("service_account_json") Optional serviceAccountJson) { + Utils.checkNotNull(serviceAccountJson, "serviceAccountJson"); + this.serviceAccountJson = serviceAccountJson; + this.storage = Builder._SINGLETON_VALUE_Storage.value(); + } + + /** + * In order to access private Buckets stored on Google Cloud, this connector would need a service account json credentials with the proper permissions as described <a href="https://cloud.google.com/iam/docs/service-accounts" target="_blank">here</a>. Please generate the credentials.json file and copy/paste its content to this field (expecting JSON formats). If accessing publicly available data, this field is not necessary. + */ + public Optional serviceAccountJson() { + return serviceAccountJson; + } + + public SourceFileStorage storage() { + return storage; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * In order to access private Buckets stored on Google Cloud, this connector would need a service account json credentials with the proper permissions as described <a href="https://cloud.google.com/iam/docs/service-accounts" target="_blank">here</a>. Please generate the credentials.json file and copy/paste its content to this field (expecting JSON formats). If accessing publicly available data, this field is not necessary. + */ + public GCSGoogleCloudStorage withServiceAccountJson(String serviceAccountJson) { + Utils.checkNotNull(serviceAccountJson, "serviceAccountJson"); + this.serviceAccountJson = Optional.ofNullable(serviceAccountJson); + return this; + } + + /** + * In order to access private Buckets stored on Google Cloud, this connector would need a service account json credentials with the proper permissions as described <a href="https://cloud.google.com/iam/docs/service-accounts" target="_blank">here</a>. Please generate the credentials.json file and copy/paste its content to this field (expecting JSON formats). If accessing publicly available data, this field is not necessary. + */ + public GCSGoogleCloudStorage withServiceAccountJson(Optional serviceAccountJson) { + Utils.checkNotNull(serviceAccountJson, "serviceAccountJson"); + this.serviceAccountJson = serviceAccountJson; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GCSGoogleCloudStorage other = (GCSGoogleCloudStorage) o; + return + java.util.Objects.deepEquals(this.serviceAccountJson, other.serviceAccountJson) && + java.util.Objects.deepEquals(this.storage, other.storage); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + serviceAccountJson, + storage); + } + + @Override + public String toString() { + return Utils.toString(GCSGoogleCloudStorage.class, + "serviceAccountJson", serviceAccountJson, + "storage", storage); + } + + public final static class Builder { + + private Optional serviceAccountJson = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * In order to access private Buckets stored on Google Cloud, this connector would need a service account json credentials with the proper permissions as described <a href="https://cloud.google.com/iam/docs/service-accounts" target="_blank">here</a>. Please generate the credentials.json file and copy/paste its content to this field (expecting JSON formats). If accessing publicly available data, this field is not necessary. + */ + public Builder serviceAccountJson(String serviceAccountJson) { + Utils.checkNotNull(serviceAccountJson, "serviceAccountJson"); + this.serviceAccountJson = Optional.ofNullable(serviceAccountJson); + return this; + } + + /** + * In order to access private Buckets stored on Google Cloud, this connector would need a service account json credentials with the proper permissions as described <a href="https://cloud.google.com/iam/docs/service-accounts" target="_blank">here</a>. Please generate the credentials.json file and copy/paste its content to this field (expecting JSON formats). If accessing publicly available data, this field is not necessary. + */ + public Builder serviceAccountJson(Optional serviceAccountJson) { + Utils.checkNotNull(serviceAccountJson, "serviceAccountJson"); + this.serviceAccountJson = serviceAccountJson; + return this; + } + + public GCSGoogleCloudStorage build() { + return new GCSGoogleCloudStorage( + serviceAccountJson); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Storage = + new LazySingletonValue<>( + "storage", + "\"GCS\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/GCSStaging.java b/src/main/java/com/airbyte/api/models/shared/GCSStaging.java new file mode 100644 index 000000000..53d50f208 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GCSStaging.java @@ -0,0 +1,271 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * GCSStaging - <i>(recommended)</i> Writes large batches of records to a file, uploads the file to GCS, then uses COPY INTO to load your data into BigQuery. Provides best-in-class speed, reliability and scalability. Read more about GCS Staging <a href="https://docs.airbyte.com/integrations/destinations/bigquery#gcs-staging">here</a>. + */ + +public class GCSStaging { + + /** + * An HMAC key is a type of credential and can be associated with a service account or a user account in Cloud Storage. Read more <a href="https://cloud.google.com/storage/docs/authentication/hmackeys">here</a>. + */ + @JsonProperty("credential") + private Credential credential; + + /** + * The name of the GCS bucket. Read more <a href="https://cloud.google.com/storage/docs/naming-buckets">here</a>. + */ + @JsonProperty("gcs_bucket_name") + private String gcsBucketName; + + /** + * Directory under the GCS bucket where data will be written. + */ + @JsonProperty("gcs_bucket_path") + private String gcsBucketPath; + + /** + * This upload method is supposed to temporary store records in GCS bucket. By this select you can chose if these records should be removed from GCS when migration has finished. The default "Delete all tmp files from GCS" value is used if not set explicitly. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("keep_files_in_gcs-bucket") + private Optional keepFilesInGcsBucket; + + @JsonProperty("method") + private Method method; + + public GCSStaging( + @JsonProperty("credential") Credential credential, + @JsonProperty("gcs_bucket_name") String gcsBucketName, + @JsonProperty("gcs_bucket_path") String gcsBucketPath, + @JsonProperty("keep_files_in_gcs-bucket") Optional keepFilesInGcsBucket) { + Utils.checkNotNull(credential, "credential"); + Utils.checkNotNull(gcsBucketName, "gcsBucketName"); + Utils.checkNotNull(gcsBucketPath, "gcsBucketPath"); + Utils.checkNotNull(keepFilesInGcsBucket, "keepFilesInGcsBucket"); + this.credential = credential; + this.gcsBucketName = gcsBucketName; + this.gcsBucketPath = gcsBucketPath; + this.keepFilesInGcsBucket = keepFilesInGcsBucket; + this.method = Builder._SINGLETON_VALUE_Method.value(); + } + + /** + * An HMAC key is a type of credential and can be associated with a service account or a user account in Cloud Storage. Read more <a href="https://cloud.google.com/storage/docs/authentication/hmackeys">here</a>. + */ + public Credential credential() { + return credential; + } + + /** + * The name of the GCS bucket. Read more <a href="https://cloud.google.com/storage/docs/naming-buckets">here</a>. + */ + public String gcsBucketName() { + return gcsBucketName; + } + + /** + * Directory under the GCS bucket where data will be written. + */ + public String gcsBucketPath() { + return gcsBucketPath; + } + + /** + * This upload method is supposed to temporary store records in GCS bucket. By this select you can chose if these records should be removed from GCS when migration has finished. The default "Delete all tmp files from GCS" value is used if not set explicitly. + */ + public Optional keepFilesInGcsBucket() { + return keepFilesInGcsBucket; + } + + public Method method() { + return method; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * An HMAC key is a type of credential and can be associated with a service account or a user account in Cloud Storage. Read more <a href="https://cloud.google.com/storage/docs/authentication/hmackeys">here</a>. + */ + public GCSStaging withCredential(Credential credential) { + Utils.checkNotNull(credential, "credential"); + this.credential = credential; + return this; + } + + /** + * The name of the GCS bucket. Read more <a href="https://cloud.google.com/storage/docs/naming-buckets">here</a>. + */ + public GCSStaging withGcsBucketName(String gcsBucketName) { + Utils.checkNotNull(gcsBucketName, "gcsBucketName"); + this.gcsBucketName = gcsBucketName; + return this; + } + + /** + * Directory under the GCS bucket where data will be written. + */ + public GCSStaging withGcsBucketPath(String gcsBucketPath) { + Utils.checkNotNull(gcsBucketPath, "gcsBucketPath"); + this.gcsBucketPath = gcsBucketPath; + return this; + } + + /** + * This upload method is supposed to temporary store records in GCS bucket. By this select you can chose if these records should be removed from GCS when migration has finished. The default "Delete all tmp files from GCS" value is used if not set explicitly. + */ + public GCSStaging withKeepFilesInGcsBucket(GCSTmpFilesAfterwardProcessing keepFilesInGcsBucket) { + Utils.checkNotNull(keepFilesInGcsBucket, "keepFilesInGcsBucket"); + this.keepFilesInGcsBucket = Optional.ofNullable(keepFilesInGcsBucket); + return this; + } + + /** + * This upload method is supposed to temporary store records in GCS bucket. By this select you can chose if these records should be removed from GCS when migration has finished. The default "Delete all tmp files from GCS" value is used if not set explicitly. + */ + public GCSStaging withKeepFilesInGcsBucket(Optional keepFilesInGcsBucket) { + Utils.checkNotNull(keepFilesInGcsBucket, "keepFilesInGcsBucket"); + this.keepFilesInGcsBucket = keepFilesInGcsBucket; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GCSStaging other = (GCSStaging) o; + return + java.util.Objects.deepEquals(this.credential, other.credential) && + java.util.Objects.deepEquals(this.gcsBucketName, other.gcsBucketName) && + java.util.Objects.deepEquals(this.gcsBucketPath, other.gcsBucketPath) && + java.util.Objects.deepEquals(this.keepFilesInGcsBucket, other.keepFilesInGcsBucket) && + java.util.Objects.deepEquals(this.method, other.method); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credential, + gcsBucketName, + gcsBucketPath, + keepFilesInGcsBucket, + method); + } + + @Override + public String toString() { + return Utils.toString(GCSStaging.class, + "credential", credential, + "gcsBucketName", gcsBucketName, + "gcsBucketPath", gcsBucketPath, + "keepFilesInGcsBucket", keepFilesInGcsBucket, + "method", method); + } + + public final static class Builder { + + private Credential credential; + + private String gcsBucketName; + + private String gcsBucketPath; + + private Optional keepFilesInGcsBucket; + + private Builder() { + // force use of static builder() method + } + + /** + * An HMAC key is a type of credential and can be associated with a service account or a user account in Cloud Storage. Read more <a href="https://cloud.google.com/storage/docs/authentication/hmackeys">here</a>. + */ + public Builder credential(Credential credential) { + Utils.checkNotNull(credential, "credential"); + this.credential = credential; + return this; + } + + /** + * The name of the GCS bucket. Read more <a href="https://cloud.google.com/storage/docs/naming-buckets">here</a>. + */ + public Builder gcsBucketName(String gcsBucketName) { + Utils.checkNotNull(gcsBucketName, "gcsBucketName"); + this.gcsBucketName = gcsBucketName; + return this; + } + + /** + * Directory under the GCS bucket where data will be written. + */ + public Builder gcsBucketPath(String gcsBucketPath) { + Utils.checkNotNull(gcsBucketPath, "gcsBucketPath"); + this.gcsBucketPath = gcsBucketPath; + return this; + } + + /** + * This upload method is supposed to temporary store records in GCS bucket. By this select you can chose if these records should be removed from GCS when migration has finished. The default "Delete all tmp files from GCS" value is used if not set explicitly. + */ + public Builder keepFilesInGcsBucket(GCSTmpFilesAfterwardProcessing keepFilesInGcsBucket) { + Utils.checkNotNull(keepFilesInGcsBucket, "keepFilesInGcsBucket"); + this.keepFilesInGcsBucket = Optional.ofNullable(keepFilesInGcsBucket); + return this; + } + + /** + * This upload method is supposed to temporary store records in GCS bucket. By this select you can chose if these records should be removed from GCS when migration has finished. The default "Delete all tmp files from GCS" value is used if not set explicitly. + */ + public Builder keepFilesInGcsBucket(Optional keepFilesInGcsBucket) { + Utils.checkNotNull(keepFilesInGcsBucket, "keepFilesInGcsBucket"); + this.keepFilesInGcsBucket = keepFilesInGcsBucket; + return this; + } + + public GCSStaging build() { + if (keepFilesInGcsBucket == null) { + keepFilesInGcsBucket = _SINGLETON_VALUE_KeepFilesInGcsBucket.value(); + } + return new GCSStaging( + credential, + gcsBucketName, + gcsBucketPath, + keepFilesInGcsBucket); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_KeepFilesInGcsBucket = + new LazySingletonValue<>( + "keep_files_in_gcs-bucket", + "\"Delete all tmp files from GCS\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_Method = + new LazySingletonValue<>( + "method", + "\"GCS Staging\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/GCSTmpFilesAfterwardProcessing.java b/src/main/java/com/airbyte/api/models/shared/GCSTmpFilesAfterwardProcessing.java new file mode 100644 index 000000000..ec1862cac --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GCSTmpFilesAfterwardProcessing.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * GCSTmpFilesAfterwardProcessing - This upload method is supposed to temporary store records in GCS bucket. By this select you can chose if these records should be removed from GCS when migration has finished. The default "Delete all tmp files from GCS" value is used if not set explicitly. + */ +public enum GCSTmpFilesAfterwardProcessing { + DELETE_ALL_TMP_FILES_FROM_GCS("Delete all tmp files from GCS"), + KEEP_ALL_TMP_FILES_IN_GCS("Keep all tmp files in GCS"); + + @JsonValue + private final String value; + + private GCSTmpFilesAfterwardProcessing(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/GainsightPx.java b/src/main/java/com/airbyte/api/models/shared/GainsightPx.java new file mode 100644 index 000000000..ae899d5ea --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GainsightPx.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum GainsightPx { + GAINSIGHT_PX("gainsight-px"); + + @JsonValue + private final String value; + + private GainsightPx(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Gcs.java b/src/main/java/com/airbyte/api/models/shared/Gcs.java new file mode 100644 index 000000000..f9cb3509e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Gcs.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Gcs { + GCS("gcs"); + + @JsonValue + private final String value; + + private Gcs(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/GeographyEnum.java b/src/main/java/com/airbyte/api/models/shared/GeographyEnum.java new file mode 100644 index 000000000..45d2204c4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GeographyEnum.java @@ -0,0 +1,31 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum GeographyEnum { + AUTO("auto"), + US("us"), + EU("eu"); + + @JsonValue + private final String value; + + private GeographyEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/GeographyEnumNoDefault.java b/src/main/java/com/airbyte/api/models/shared/GeographyEnumNoDefault.java new file mode 100644 index 000000000..d6bdf2215 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GeographyEnumNoDefault.java @@ -0,0 +1,31 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum GeographyEnumNoDefault { + AUTO("auto"), + US("us"), + EU("eu"); + + @JsonValue + private final String value; + + private GeographyEnumNoDefault(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Getlago.java b/src/main/java/com/airbyte/api/models/shared/Getlago.java new file mode 100644 index 000000000..265233e1b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Getlago.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Getlago { + GETLAGO("getlago"); + + @JsonValue + private final String value; + + private Getlago(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Github.java b/src/main/java/com/airbyte/api/models/shared/Github.java new file mode 100644 index 000000000..abd98211e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Github.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Github { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public Github( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public Github withCredentials(GithubCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Github withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Github other = (Github) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(Github.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(GithubCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Github build() { + return new Github( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/GithubCredentials.java b/src/main/java/com/airbyte/api/models/shared/GithubCredentials.java new file mode 100644 index 000000000..65d30f1ef --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GithubCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class GithubCredentials { + + /** + * OAuth Client Id + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * OAuth Client secret + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public GithubCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * OAuth Client Id + */ + public Optional clientId() { + return clientId; + } + + /** + * OAuth Client secret + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OAuth Client Id + */ + public GithubCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * OAuth Client Id + */ + public GithubCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * OAuth Client secret + */ + public GithubCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * OAuth Client secret + */ + public GithubCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GithubCredentials other = (GithubCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(GithubCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * OAuth Client Id + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * OAuth Client Id + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * OAuth Client secret + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * OAuth Client secret + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public GithubCredentials build() { + return new GithubCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Gitlab.java b/src/main/java/com/airbyte/api/models/shared/Gitlab.java new file mode 100644 index 000000000..3e3ea9282 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Gitlab.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Gitlab { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public Gitlab( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public Gitlab withCredentials(GitlabCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Gitlab withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Gitlab other = (Gitlab) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(Gitlab.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(GitlabCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Gitlab build() { + return new Gitlab( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/GitlabCredentials.java b/src/main/java/com/airbyte/api/models/shared/GitlabCredentials.java new file mode 100644 index 000000000..e1a4ad9fb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GitlabCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class GitlabCredentials { + + /** + * The API ID of the Gitlab developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The API Secret the Gitlab developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public GitlabCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The API ID of the Gitlab developer application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The API Secret the Gitlab developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The API ID of the Gitlab developer application. + */ + public GitlabCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The API ID of the Gitlab developer application. + */ + public GitlabCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The API Secret the Gitlab developer application. + */ + public GitlabCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The API Secret the Gitlab developer application. + */ + public GitlabCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GitlabCredentials other = (GitlabCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(GitlabCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The API ID of the Gitlab developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The API ID of the Gitlab developer application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The API Secret the Gitlab developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The API Secret the Gitlab developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public GitlabCredentials build() { + return new GitlabCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Glassfrog.java b/src/main/java/com/airbyte/api/models/shared/Glassfrog.java new file mode 100644 index 000000000..8bc326d2f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Glassfrog.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Glassfrog { + GLASSFROG("glassfrog"); + + @JsonValue + private final String value; + + private Glassfrog(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/GlobalAccount.java b/src/main/java/com/airbyte/api/models/shared/GlobalAccount.java new file mode 100644 index 000000000..9ba923428 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GlobalAccount.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class GlobalAccount { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("url_base") + private Optional urlBase; + + public GlobalAccount() { + + this.urlBase = Builder._SINGLETON_VALUE_UrlBase.value(); + } + + public Optional urlBase() { + return urlBase; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GlobalAccount other = (GlobalAccount) o; + return + java.util.Objects.deepEquals(this.urlBase, other.urlBase); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + urlBase); + } + + @Override + public String toString() { + return Utils.toString(GlobalAccount.class, + "urlBase", urlBase); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public GlobalAccount build() { + return new GlobalAccount( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_UrlBase = + new LazySingletonValue<>( + "url_base", + "\"https://api.surveysparrow.com/v3\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Gnews.java b/src/main/java/com/airbyte/api/models/shared/Gnews.java new file mode 100644 index 000000000..ada9ca10c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Gnews.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Gnews { + GNEWS("gnews"); + + @JsonValue + private final String value; + + private Gnews(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/GoogleAds.java b/src/main/java/com/airbyte/api/models/shared/GoogleAds.java new file mode 100644 index 000000000..9184410c6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GoogleAds.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class GoogleAds { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public GoogleAds( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public GoogleAds withCredentials(GoogleAdsCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public GoogleAds withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GoogleAds other = (GoogleAds) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(GoogleAds.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(GoogleAdsCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public GoogleAds build() { + return new GoogleAds( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/GoogleAdsCredentials.java b/src/main/java/com/airbyte/api/models/shared/GoogleAdsCredentials.java new file mode 100644 index 000000000..0dbb249b9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GoogleAdsCredentials.java @@ -0,0 +1,239 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class GoogleAdsCredentials { + + /** + * The Client ID of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + /** + * The Developer Token granted by Google to use their APIs. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("developer_token") + private Optional developerToken; + + public GoogleAdsCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret, + @JsonProperty("developer_token") Optional developerToken) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(developerToken, "developerToken"); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.developerToken = developerToken; + } + + /** + * The Client ID of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Optional clientSecret() { + return clientSecret; + } + + /** + * The Developer Token granted by Google to use their APIs. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Optional developerToken() { + return developerToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public GoogleAdsCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public GoogleAdsCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public GoogleAdsCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public GoogleAdsCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The Developer Token granted by Google to use their APIs. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public GoogleAdsCredentials withDeveloperToken(String developerToken) { + Utils.checkNotNull(developerToken, "developerToken"); + this.developerToken = Optional.ofNullable(developerToken); + return this; + } + + /** + * The Developer Token granted by Google to use their APIs. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public GoogleAdsCredentials withDeveloperToken(Optional developerToken) { + Utils.checkNotNull(developerToken, "developerToken"); + this.developerToken = developerToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GoogleAdsCredentials other = (GoogleAdsCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.developerToken, other.developerToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret, + developerToken); + } + + @Override + public String toString() { + return Utils.toString(GoogleAdsCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret, + "developerToken", developerToken); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Optional developerToken = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The Developer Token granted by Google to use their APIs. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Builder developerToken(String developerToken) { + Utils.checkNotNull(developerToken, "developerToken"); + this.developerToken = Optional.ofNullable(developerToken); + return this; + } + + /** + * The Developer Token granted by Google to use their APIs. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Builder developerToken(Optional developerToken) { + Utils.checkNotNull(developerToken, "developerToken"); + this.developerToken = developerToken; + return this; + } + + public GoogleAdsCredentials build() { + return new GoogleAdsCredentials( + clientId, + clientSecret, + developerToken); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/GoogleAnalyticsDataApi.java b/src/main/java/com/airbyte/api/models/shared/GoogleAnalyticsDataApi.java new file mode 100644 index 000000000..713474d43 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GoogleAnalyticsDataApi.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class GoogleAnalyticsDataApi { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public GoogleAnalyticsDataApi( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public GoogleAnalyticsDataApi withCredentials(GoogleAnalyticsDataApiCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public GoogleAnalyticsDataApi withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GoogleAnalyticsDataApi other = (GoogleAnalyticsDataApi) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(GoogleAnalyticsDataApi.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(GoogleAnalyticsDataApiCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public GoogleAnalyticsDataApi build() { + return new GoogleAnalyticsDataApi( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/GoogleAnalyticsDataApiCredentials.java b/src/main/java/com/airbyte/api/models/shared/GoogleAnalyticsDataApiCredentials.java new file mode 100644 index 000000000..9871438a9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GoogleAnalyticsDataApiCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class GoogleAnalyticsDataApiCredentials { + + /** + * The Client ID of your Google Analytics developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your Google Analytics developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public GoogleAnalyticsDataApiCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of your Google Analytics developer application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your Google Analytics developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your Google Analytics developer application. + */ + public GoogleAnalyticsDataApiCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Google Analytics developer application. + */ + public GoogleAnalyticsDataApiCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Google Analytics developer application. + */ + public GoogleAnalyticsDataApiCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Google Analytics developer application. + */ + public GoogleAnalyticsDataApiCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GoogleAnalyticsDataApiCredentials other = (GoogleAnalyticsDataApiCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(GoogleAnalyticsDataApiCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your Google Analytics developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Google Analytics developer application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Google Analytics developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Google Analytics developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public GoogleAnalyticsDataApiCredentials build() { + return new GoogleAnalyticsDataApiCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/GoogleAnalyticsV4ServiceAccountOnly.java b/src/main/java/com/airbyte/api/models/shared/GoogleAnalyticsV4ServiceAccountOnly.java new file mode 100644 index 000000000..75fe9c63e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GoogleAnalyticsV4ServiceAccountOnly.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum GoogleAnalyticsV4ServiceAccountOnly { + GOOGLE_ANALYTICS_V4_SERVICE_ACCOUNT_ONLY("google-analytics-v4-service-account-only"); + + @JsonValue + private final String value; + + private GoogleAnalyticsV4ServiceAccountOnly(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/GoogleCredentials.java b/src/main/java/com/airbyte/api/models/shared/GoogleCredentials.java new file mode 100644 index 000000000..d56038e00 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GoogleCredentials.java @@ -0,0 +1,281 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class GoogleCredentials { + + /** + * The Access Token for making authenticated requests. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("access_token") + private Optional accessToken; + + /** + * The Client ID of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * The Developer Token granted by Google to use their APIs. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + @JsonProperty("developer_token") + private String developerToken; + + /** + * The token used to obtain a new Access Token. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + public GoogleCredentials( + @JsonProperty("access_token") Optional accessToken, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("developer_token") String developerToken, + @JsonProperty("refresh_token") String refreshToken) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(developerToken, "developerToken"); + Utils.checkNotNull(refreshToken, "refreshToken"); + this.accessToken = accessToken; + this.clientId = clientId; + this.clientSecret = clientSecret; + this.developerToken = developerToken; + this.refreshToken = refreshToken; + } + + /** + * The Access Token for making authenticated requests. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Optional accessToken() { + return accessToken; + } + + /** + * The Client ID of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * The Developer Token granted by Google to use their APIs. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public String developerToken() { + return developerToken; + } + + /** + * The token used to obtain a new Access Token. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public String refreshToken() { + return refreshToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Access Token for making authenticated requests. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public GoogleCredentials withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = Optional.ofNullable(accessToken); + return this; + } + + /** + * The Access Token for making authenticated requests. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public GoogleCredentials withAccessToken(Optional accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public GoogleCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public GoogleCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The Developer Token granted by Google to use their APIs. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public GoogleCredentials withDeveloperToken(String developerToken) { + Utils.checkNotNull(developerToken, "developerToken"); + this.developerToken = developerToken; + return this; + } + + /** + * The token used to obtain a new Access Token. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public GoogleCredentials withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GoogleCredentials other = (GoogleCredentials) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.developerToken, other.developerToken) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + clientId, + clientSecret, + developerToken, + refreshToken); + } + + @Override + public String toString() { + return Utils.toString(GoogleCredentials.class, + "accessToken", accessToken, + "clientId", clientId, + "clientSecret", clientSecret, + "developerToken", developerToken, + "refreshToken", refreshToken); + } + + public final static class Builder { + + private Optional accessToken = Optional.empty(); + + private String clientId; + + private String clientSecret; + + private String developerToken; + + private String refreshToken; + + private Builder() { + // force use of static builder() method + } + + /** + * The Access Token for making authenticated requests. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = Optional.ofNullable(accessToken); + return this; + } + + /** + * The Access Token for making authenticated requests. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Builder accessToken(Optional accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Google Ads developer application. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The Developer Token granted by Google to use their APIs. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Builder developerToken(String developerToken) { + Utils.checkNotNull(developerToken, "developerToken"); + this.developerToken = developerToken; + return this; + } + + /** + * The token used to obtain a new Access Token. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + public GoogleCredentials build() { + return new GoogleCredentials( + accessToken, + clientId, + clientSecret, + developerToken, + refreshToken); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/GoogleDirectory.java b/src/main/java/com/airbyte/api/models/shared/GoogleDirectory.java new file mode 100644 index 000000000..03de934d5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GoogleDirectory.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum GoogleDirectory { + GOOGLE_DIRECTORY("google-directory"); + + @JsonValue + private final String value; + + private GoogleDirectory(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/GoogleDrive.java b/src/main/java/com/airbyte/api/models/shared/GoogleDrive.java new file mode 100644 index 000000000..5643f3bb6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GoogleDrive.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class GoogleDrive { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public GoogleDrive( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public GoogleDrive withCredentials(GoogleDriveCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public GoogleDrive withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GoogleDrive other = (GoogleDrive) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(GoogleDrive.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(GoogleDriveCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public GoogleDrive build() { + return new GoogleDrive( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/GoogleDriveCredentials.java b/src/main/java/com/airbyte/api/models/shared/GoogleDriveCredentials.java new file mode 100644 index 000000000..b5d9e377d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GoogleDriveCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class GoogleDriveCredentials { + + /** + * Client ID for the Google Drive API + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * Client Secret for the Google Drive API + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public GoogleDriveCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * Client ID for the Google Drive API + */ + public Optional clientId() { + return clientId; + } + + /** + * Client Secret for the Google Drive API + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Client ID for the Google Drive API + */ + public GoogleDriveCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Client ID for the Google Drive API + */ + public GoogleDriveCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret for the Google Drive API + */ + public GoogleDriveCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Client Secret for the Google Drive API + */ + public GoogleDriveCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GoogleDriveCredentials other = (GoogleDriveCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(GoogleDriveCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Client ID for the Google Drive API + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Client ID for the Google Drive API + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret for the Google Drive API + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Client Secret for the Google Drive API + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public GoogleDriveCredentials build() { + return new GoogleDriveCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/GooglePagespeedInsights.java b/src/main/java/com/airbyte/api/models/shared/GooglePagespeedInsights.java new file mode 100644 index 000000000..e95e3da1a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GooglePagespeedInsights.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum GooglePagespeedInsights { + GOOGLE_PAGESPEED_INSIGHTS("google-pagespeed-insights"); + + @JsonValue + private final String value; + + private GooglePagespeedInsights(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/GoogleSearchConsole.java b/src/main/java/com/airbyte/api/models/shared/GoogleSearchConsole.java new file mode 100644 index 000000000..1229aff2a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GoogleSearchConsole.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class GoogleSearchConsole { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("authorization") + private Optional authorization; + + public GoogleSearchConsole( + @JsonProperty("authorization") Optional authorization) { + Utils.checkNotNull(authorization, "authorization"); + this.authorization = authorization; + } + + public Optional authorization() { + return authorization; + } + + public final static Builder builder() { + return new Builder(); + } + + public GoogleSearchConsole withAuthorization(Authorization authorization) { + Utils.checkNotNull(authorization, "authorization"); + this.authorization = Optional.ofNullable(authorization); + return this; + } + + public GoogleSearchConsole withAuthorization(Optional authorization) { + Utils.checkNotNull(authorization, "authorization"); + this.authorization = authorization; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GoogleSearchConsole other = (GoogleSearchConsole) o; + return + java.util.Objects.deepEquals(this.authorization, other.authorization); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authorization); + } + + @Override + public String toString() { + return Utils.toString(GoogleSearchConsole.class, + "authorization", authorization); + } + + public final static class Builder { + + private Optional authorization = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder authorization(Authorization authorization) { + Utils.checkNotNull(authorization, "authorization"); + this.authorization = Optional.ofNullable(authorization); + return this; + } + + public Builder authorization(Optional authorization) { + Utils.checkNotNull(authorization, "authorization"); + this.authorization = authorization; + return this; + } + + public GoogleSearchConsole build() { + return new GoogleSearchConsole( + authorization); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/GoogleSheets.java b/src/main/java/com/airbyte/api/models/shared/GoogleSheets.java new file mode 100644 index 000000000..5436ada34 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GoogleSheets.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class GoogleSheets { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public GoogleSheets( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public GoogleSheets withCredentials(GoogleSheetsCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public GoogleSheets withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GoogleSheets other = (GoogleSheets) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(GoogleSheets.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(GoogleSheetsCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public GoogleSheets build() { + return new GoogleSheets( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/GoogleSheetsCredentials.java b/src/main/java/com/airbyte/api/models/shared/GoogleSheetsCredentials.java new file mode 100644 index 000000000..b11184d60 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GoogleSheetsCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class GoogleSheetsCredentials { + + /** + * Enter your Google application's Client ID. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * Enter your Google application's Client Secret. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public GoogleSheetsCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * Enter your Google application's Client ID. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public Optional clientId() { + return clientId; + } + + /** + * Enter your Google application's Client Secret. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Enter your Google application's Client ID. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public GoogleSheetsCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Enter your Google application's Client ID. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public GoogleSheetsCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Enter your Google application's Client Secret. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public GoogleSheetsCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Enter your Google application's Client Secret. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public GoogleSheetsCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GoogleSheetsCredentials other = (GoogleSheetsCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(GoogleSheetsCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Enter your Google application's Client ID. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Enter your Google application's Client ID. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Enter your Google application's Client Secret. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Enter your Google application's Client Secret. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public GoogleSheetsCredentials build() { + return new GoogleSheetsCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/GoogleWebfonts.java b/src/main/java/com/airbyte/api/models/shared/GoogleWebfonts.java new file mode 100644 index 000000000..1b78ea7cc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GoogleWebfonts.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum GoogleWebfonts { + GOOGLE_WEBFONTS("google-webfonts"); + + @JsonValue + private final String value; + + private GoogleWebfonts(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Granularity.java b/src/main/java/com/airbyte/api/models/shared/Granularity.java new file mode 100644 index 000000000..c2be9a98a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Granularity.java @@ -0,0 +1,36 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * Granularity - Chosen granularity for API + */ +public enum Granularity { + TOTAL("TOTAL"), + DAY("DAY"), + HOUR("HOUR"), + WEEK("WEEK"), + MONTH("MONTH"); + + @JsonValue + private final String value; + + private Granularity(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/GranularityForGeoLocationRegion.java b/src/main/java/com/airbyte/api/models/shared/GranularityForGeoLocationRegion.java new file mode 100644 index 000000000..728331a41 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GranularityForGeoLocationRegion.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * GranularityForGeoLocationRegion - The granularity used for geo location data in reports. + */ +public enum GranularityForGeoLocationRegion { + COUNTRY("country"), + REGION("region"), + SUBREGION("subregion"); + + @JsonValue + private final String value; + + private GranularityForGeoLocationRegion(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/GranularityForPeriodicReports.java b/src/main/java/com/airbyte/api/models/shared/GranularityForPeriodicReports.java new file mode 100644 index 000000000..fb63a42c3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/GranularityForPeriodicReports.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * GranularityForPeriodicReports - The granularity used for periodic data in reports. See <a href="https://amplifyv01.docs.apiary.io/#reference/performance-reporting/periodic/retrieve-performance-statistics-for-all-marketer-campaigns-by-periodic-breakdown">the docs</a>. + */ +public enum GranularityForPeriodicReports { + DAILY("daily"), + WEEKLY("weekly"), + MONTHLY("monthly"); + + @JsonValue + private final String value; + + private GranularityForPeriodicReports(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Greenhouse.java b/src/main/java/com/airbyte/api/models/shared/Greenhouse.java new file mode 100644 index 000000000..20c10cdde --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Greenhouse.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Greenhouse { + GREENHOUSE("greenhouse"); + + @JsonValue + private final String value; + + private Greenhouse(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Gridly.java b/src/main/java/com/airbyte/api/models/shared/Gridly.java new file mode 100644 index 000000000..213a30969 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Gridly.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Gridly { + GRIDLY("gridly"); + + @JsonValue + private final String value; + + private Gridly(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Gzip.java b/src/main/java/com/airbyte/api/models/shared/Gzip.java new file mode 100644 index 000000000..1fd6c4009 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Gzip.java @@ -0,0 +1,113 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Gzip { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_type") + private Optional compressionType; + + public Gzip( + @JsonProperty("compression_type") Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + } + + public Optional compressionType() { + return compressionType; + } + + public final static Builder builder() { + return new Builder(); + } + + public Gzip withCompressionType(DestinationGcsCompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public Gzip withCompressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Gzip other = (Gzip) o; + return + java.util.Objects.deepEquals(this.compressionType, other.compressionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compressionType); + } + + @Override + public String toString() { + return Utils.toString(Gzip.class, + "compressionType", compressionType); + } + + public final static class Builder { + + private Optional compressionType; + + private Builder() { + // force use of static builder() method + } + + public Builder compressionType(DestinationGcsCompressionType compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = Optional.ofNullable(compressionType); + return this; + } + + public Builder compressionType(Optional compressionType) { + Utils.checkNotNull(compressionType, "compressionType"); + this.compressionType = compressionType; + return this; + } + + public Gzip build() { + if (compressionType == null) { + compressionType = _SINGLETON_VALUE_CompressionType.value(); + } + return new Gzip( + compressionType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionType = + new LazySingletonValue<>( + "compression_type", + "\"GZIP\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/HMACKey.java b/src/main/java/com/airbyte/api/models/shared/HMACKey.java new file mode 100644 index 000000000..dc74827c9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/HMACKey.java @@ -0,0 +1,193 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class HMACKey { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credential_type") + private Optional credentialType; + + /** + * When linked to a service account, this ID is 61 characters long; when linked to a user account, it is 24 characters long. Read more <a href="https://cloud.google.com/storage/docs/authentication/hmackeys#overview">here</a>. + */ + @JsonProperty("hmac_key_access_id") + private String hmacKeyAccessId; + + /** + * The corresponding secret for the access ID. It is a 40-character base-64 encoded string. Read more <a href="https://cloud.google.com/storage/docs/authentication/hmackeys#secrets">here</a>. + */ + @JsonProperty("hmac_key_secret") + private String hmacKeySecret; + + public HMACKey( + @JsonProperty("credential_type") Optional credentialType, + @JsonProperty("hmac_key_access_id") String hmacKeyAccessId, + @JsonProperty("hmac_key_secret") String hmacKeySecret) { + Utils.checkNotNull(credentialType, "credentialType"); + Utils.checkNotNull(hmacKeyAccessId, "hmacKeyAccessId"); + Utils.checkNotNull(hmacKeySecret, "hmacKeySecret"); + this.credentialType = credentialType; + this.hmacKeyAccessId = hmacKeyAccessId; + this.hmacKeySecret = hmacKeySecret; + } + + public Optional credentialType() { + return credentialType; + } + + /** + * When linked to a service account, this ID is 61 characters long; when linked to a user account, it is 24 characters long. Read more <a href="https://cloud.google.com/storage/docs/authentication/hmackeys#overview">here</a>. + */ + public String hmacKeyAccessId() { + return hmacKeyAccessId; + } + + /** + * The corresponding secret for the access ID. It is a 40-character base-64 encoded string. Read more <a href="https://cloud.google.com/storage/docs/authentication/hmackeys#secrets">here</a>. + */ + public String hmacKeySecret() { + return hmacKeySecret; + } + + public final static Builder builder() { + return new Builder(); + } + + public HMACKey withCredentialType(CredentialType credentialType) { + Utils.checkNotNull(credentialType, "credentialType"); + this.credentialType = Optional.ofNullable(credentialType); + return this; + } + + public HMACKey withCredentialType(Optional credentialType) { + Utils.checkNotNull(credentialType, "credentialType"); + this.credentialType = credentialType; + return this; + } + + /** + * When linked to a service account, this ID is 61 characters long; when linked to a user account, it is 24 characters long. Read more <a href="https://cloud.google.com/storage/docs/authentication/hmackeys#overview">here</a>. + */ + public HMACKey withHmacKeyAccessId(String hmacKeyAccessId) { + Utils.checkNotNull(hmacKeyAccessId, "hmacKeyAccessId"); + this.hmacKeyAccessId = hmacKeyAccessId; + return this; + } + + /** + * The corresponding secret for the access ID. It is a 40-character base-64 encoded string. Read more <a href="https://cloud.google.com/storage/docs/authentication/hmackeys#secrets">here</a>. + */ + public HMACKey withHmacKeySecret(String hmacKeySecret) { + Utils.checkNotNull(hmacKeySecret, "hmacKeySecret"); + this.hmacKeySecret = hmacKeySecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HMACKey other = (HMACKey) o; + return + java.util.Objects.deepEquals(this.credentialType, other.credentialType) && + java.util.Objects.deepEquals(this.hmacKeyAccessId, other.hmacKeyAccessId) && + java.util.Objects.deepEquals(this.hmacKeySecret, other.hmacKeySecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentialType, + hmacKeyAccessId, + hmacKeySecret); + } + + @Override + public String toString() { + return Utils.toString(HMACKey.class, + "credentialType", credentialType, + "hmacKeyAccessId", hmacKeyAccessId, + "hmacKeySecret", hmacKeySecret); + } + + public final static class Builder { + + private Optional credentialType; + + private String hmacKeyAccessId; + + private String hmacKeySecret; + + private Builder() { + // force use of static builder() method + } + + public Builder credentialType(CredentialType credentialType) { + Utils.checkNotNull(credentialType, "credentialType"); + this.credentialType = Optional.ofNullable(credentialType); + return this; + } + + public Builder credentialType(Optional credentialType) { + Utils.checkNotNull(credentialType, "credentialType"); + this.credentialType = credentialType; + return this; + } + + /** + * When linked to a service account, this ID is 61 characters long; when linked to a user account, it is 24 characters long. Read more <a href="https://cloud.google.com/storage/docs/authentication/hmackeys#overview">here</a>. + */ + public Builder hmacKeyAccessId(String hmacKeyAccessId) { + Utils.checkNotNull(hmacKeyAccessId, "hmacKeyAccessId"); + this.hmacKeyAccessId = hmacKeyAccessId; + return this; + } + + /** + * The corresponding secret for the access ID. It is a 40-character base-64 encoded string. Read more <a href="https://cloud.google.com/storage/docs/authentication/hmackeys#secrets">here</a>. + */ + public Builder hmacKeySecret(String hmacKeySecret) { + Utils.checkNotNull(hmacKeySecret, "hmacKeySecret"); + this.hmacKeySecret = hmacKeySecret; + return this; + } + + public HMACKey build() { + if (credentialType == null) { + credentialType = _SINGLETON_VALUE_CredentialType.value(); + } + return new HMACKey( + credentialType, + hmacKeyAccessId, + hmacKeySecret); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CredentialType = + new LazySingletonValue<>( + "credential_type", + "\"HMAC_KEY\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/HTTPSPublicWeb.java b/src/main/java/com/airbyte/api/models/shared/HTTPSPublicWeb.java new file mode 100644 index 000000000..69238addc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/HTTPSPublicWeb.java @@ -0,0 +1,148 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class HTTPSPublicWeb { + + @JsonProperty("storage") + private Storage storage; + + /** + * Add User-Agent to request + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("user_agent") + private Optional userAgent; + + public HTTPSPublicWeb( + @JsonProperty("user_agent") Optional userAgent) { + Utils.checkNotNull(userAgent, "userAgent"); + this.storage = Builder._SINGLETON_VALUE_Storage.value(); + this.userAgent = userAgent; + } + + public Storage storage() { + return storage; + } + + /** + * Add User-Agent to request + */ + public Optional userAgent() { + return userAgent; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Add User-Agent to request + */ + public HTTPSPublicWeb withUserAgent(boolean userAgent) { + Utils.checkNotNull(userAgent, "userAgent"); + this.userAgent = Optional.ofNullable(userAgent); + return this; + } + + /** + * Add User-Agent to request + */ + public HTTPSPublicWeb withUserAgent(Optional userAgent) { + Utils.checkNotNull(userAgent, "userAgent"); + this.userAgent = userAgent; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HTTPSPublicWeb other = (HTTPSPublicWeb) o; + return + java.util.Objects.deepEquals(this.storage, other.storage) && + java.util.Objects.deepEquals(this.userAgent, other.userAgent); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + storage, + userAgent); + } + + @Override + public String toString() { + return Utils.toString(HTTPSPublicWeb.class, + "storage", storage, + "userAgent", userAgent); + } + + public final static class Builder { + + private Optional userAgent; + + private Builder() { + // force use of static builder() method + } + + /** + * Add User-Agent to request + */ + public Builder userAgent(boolean userAgent) { + Utils.checkNotNull(userAgent, "userAgent"); + this.userAgent = Optional.ofNullable(userAgent); + return this; + } + + /** + * Add User-Agent to request + */ + public Builder userAgent(Optional userAgent) { + Utils.checkNotNull(userAgent, "userAgent"); + this.userAgent = userAgent; + return this; + } + + public HTTPSPublicWeb build() { + if (userAgent == null) { + userAgent = _SINGLETON_VALUE_UserAgent.value(); + } + return new HTTPSPublicWeb( + userAgent); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Storage = + new LazySingletonValue<>( + "storage", + "\"HTTPS\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_UserAgent = + new LazySingletonValue<>( + "user_agent", + "false", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Harvest.java b/src/main/java/com/airbyte/api/models/shared/Harvest.java new file mode 100644 index 000000000..0bf9ef60e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Harvest.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Harvest { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public Harvest( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public Harvest withCredentials(HarvestCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Harvest withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Harvest other = (Harvest) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(Harvest.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(HarvestCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Harvest build() { + return new Harvest( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/HarvestCredentials.java b/src/main/java/com/airbyte/api/models/shared/HarvestCredentials.java new file mode 100644 index 000000000..fb0cdf195 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/HarvestCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class HarvestCredentials { + + /** + * The Client ID of your Harvest developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your Harvest developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public HarvestCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of your Harvest developer application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your Harvest developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your Harvest developer application. + */ + public HarvestCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Harvest developer application. + */ + public HarvestCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Harvest developer application. + */ + public HarvestCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Harvest developer application. + */ + public HarvestCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HarvestCredentials other = (HarvestCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(HarvestCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your Harvest developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Harvest developer application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Harvest developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Harvest developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public HarvestCredentials build() { + return new HarvestCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Header.java b/src/main/java/com/airbyte/api/models/shared/Header.java new file mode 100644 index 000000000..2aaa3fa17 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Header.java @@ -0,0 +1,115 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class Header { + + @JsonProperty("header_key") + private String headerKey; + + @JsonProperty("value") + private String value; + + public Header( + @JsonProperty("header_key") String headerKey, + @JsonProperty("value") String value) { + Utils.checkNotNull(headerKey, "headerKey"); + Utils.checkNotNull(value, "value"); + this.headerKey = headerKey; + this.value = value; + } + + public String headerKey() { + return headerKey; + } + + public String value() { + return value; + } + + public final static Builder builder() { + return new Builder(); + } + + public Header withHeaderKey(String headerKey) { + Utils.checkNotNull(headerKey, "headerKey"); + this.headerKey = headerKey; + return this; + } + + public Header withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Header other = (Header) o; + return + java.util.Objects.deepEquals(this.headerKey, other.headerKey) && + java.util.Objects.deepEquals(this.value, other.value); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + headerKey, + value); + } + + @Override + public String toString() { + return Utils.toString(Header.class, + "headerKey", headerKey, + "value", value); + } + + public final static class Builder { + + private String headerKey; + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder headerKey(String headerKey) { + Utils.checkNotNull(headerKey, "headerKey"); + this.headerKey = headerKey; + return this; + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public Header build() { + return new Header( + headerKey, + value); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/HeaderDefinitionType.java b/src/main/java/com/airbyte/api/models/shared/HeaderDefinitionType.java new file mode 100644 index 000000000..a473697f1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/HeaderDefinitionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum HeaderDefinitionType { + FROM_CSV("From CSV"); + + @JsonValue + private final String value; + + private HeaderDefinitionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Hubplanner.java b/src/main/java/com/airbyte/api/models/shared/Hubplanner.java new file mode 100644 index 000000000..d2786c762 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Hubplanner.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Hubplanner { + HUBPLANNER("hubplanner"); + + @JsonValue + private final String value; + + private Hubplanner(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Hubspot.java b/src/main/java/com/airbyte/api/models/shared/Hubspot.java new file mode 100644 index 000000000..5c129a787 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Hubspot.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Hubspot { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public Hubspot( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public Hubspot withCredentials(HubspotCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Hubspot withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Hubspot other = (Hubspot) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(Hubspot.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(HubspotCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Hubspot build() { + return new Hubspot( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/HubspotCredentials.java b/src/main/java/com/airbyte/api/models/shared/HubspotCredentials.java new file mode 100644 index 000000000..ee6e05252 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/HubspotCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class HubspotCredentials { + + /** + * The Client ID of your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this ID. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The client secret for your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this secret. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public HubspotCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this ID. + */ + public Optional clientId() { + return clientId; + } + + /** + * The client secret for your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this secret. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this ID. + */ + public HubspotCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this ID. + */ + public HubspotCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret for your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this secret. + */ + public HubspotCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The client secret for your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this secret. + */ + public HubspotCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HubspotCredentials other = (HubspotCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(HubspotCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this ID. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this ID. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret for your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this secret. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The client secret for your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this secret. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public HubspotCredentials build() { + return new HubspotCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/IAMRole.java b/src/main/java/com/airbyte/api/models/shared/IAMRole.java new file mode 100644 index 000000000..4aa5eb727 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/IAMRole.java @@ -0,0 +1,127 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class IAMRole { + + /** + * Name of the credentials + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials_title") + private Optional credentialsTitle; + + /** + * Will assume this role to write data to s3 + */ + @JsonProperty("role_arn") + private String roleArn; + + public IAMRole( + @JsonProperty("role_arn") String roleArn) { + Utils.checkNotNull(roleArn, "roleArn"); + this.credentialsTitle = Builder._SINGLETON_VALUE_CredentialsTitle.value(); + this.roleArn = roleArn; + } + + /** + * Name of the credentials + */ + public Optional credentialsTitle() { + return credentialsTitle; + } + + /** + * Will assume this role to write data to s3 + */ + public String roleArn() { + return roleArn; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Will assume this role to write data to s3 + */ + public IAMRole withRoleArn(String roleArn) { + Utils.checkNotNull(roleArn, "roleArn"); + this.roleArn = roleArn; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IAMRole other = (IAMRole) o; + return + java.util.Objects.deepEquals(this.credentialsTitle, other.credentialsTitle) && + java.util.Objects.deepEquals(this.roleArn, other.roleArn); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentialsTitle, + roleArn); + } + + @Override + public String toString() { + return Utils.toString(IAMRole.class, + "credentialsTitle", credentialsTitle, + "roleArn", roleArn); + } + + public final static class Builder { + + private String roleArn; + + private Builder() { + // force use of static builder() method + } + + /** + * Will assume this role to write data to s3 + */ + public Builder roleArn(String roleArn) { + Utils.checkNotNull(roleArn, "roleArn"); + this.roleArn = roleArn; + return this; + } + + public IAMRole build() { + return new IAMRole( + roleArn); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CredentialsTitle = + new LazySingletonValue<>( + "credentials_title", + "\"IAM Role\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/IAMUser.java b/src/main/java/com/airbyte/api/models/shared/IAMUser.java new file mode 100644 index 000000000..5c2a743c6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/IAMUser.java @@ -0,0 +1,167 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class IAMUser { + + /** + * AWS User Access Key Id + */ + @JsonProperty("aws_access_key_id") + private String awsAccessKeyId; + + /** + * Secret Access Key + */ + @JsonProperty("aws_secret_access_key") + private String awsSecretAccessKey; + + /** + * Name of the credentials + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials_title") + private Optional credentialsTitle; + + public IAMUser( + @JsonProperty("aws_access_key_id") String awsAccessKeyId, + @JsonProperty("aws_secret_access_key") String awsSecretAccessKey) { + Utils.checkNotNull(awsAccessKeyId, "awsAccessKeyId"); + Utils.checkNotNull(awsSecretAccessKey, "awsSecretAccessKey"); + this.awsAccessKeyId = awsAccessKeyId; + this.awsSecretAccessKey = awsSecretAccessKey; + this.credentialsTitle = Builder._SINGLETON_VALUE_CredentialsTitle.value(); + } + + /** + * AWS User Access Key Id + */ + public String awsAccessKeyId() { + return awsAccessKeyId; + } + + /** + * Secret Access Key + */ + public String awsSecretAccessKey() { + return awsSecretAccessKey; + } + + /** + * Name of the credentials + */ + public Optional credentialsTitle() { + return credentialsTitle; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * AWS User Access Key Id + */ + public IAMUser withAwsAccessKeyId(String awsAccessKeyId) { + Utils.checkNotNull(awsAccessKeyId, "awsAccessKeyId"); + this.awsAccessKeyId = awsAccessKeyId; + return this; + } + + /** + * Secret Access Key + */ + public IAMUser withAwsSecretAccessKey(String awsSecretAccessKey) { + Utils.checkNotNull(awsSecretAccessKey, "awsSecretAccessKey"); + this.awsSecretAccessKey = awsSecretAccessKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IAMUser other = (IAMUser) o; + return + java.util.Objects.deepEquals(this.awsAccessKeyId, other.awsAccessKeyId) && + java.util.Objects.deepEquals(this.awsSecretAccessKey, other.awsSecretAccessKey) && + java.util.Objects.deepEquals(this.credentialsTitle, other.credentialsTitle); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + awsAccessKeyId, + awsSecretAccessKey, + credentialsTitle); + } + + @Override + public String toString() { + return Utils.toString(IAMUser.class, + "awsAccessKeyId", awsAccessKeyId, + "awsSecretAccessKey", awsSecretAccessKey, + "credentialsTitle", credentialsTitle); + } + + public final static class Builder { + + private String awsAccessKeyId; + + private String awsSecretAccessKey; + + private Builder() { + // force use of static builder() method + } + + /** + * AWS User Access Key Id + */ + public Builder awsAccessKeyId(String awsAccessKeyId) { + Utils.checkNotNull(awsAccessKeyId, "awsAccessKeyId"); + this.awsAccessKeyId = awsAccessKeyId; + return this; + } + + /** + * Secret Access Key + */ + public Builder awsSecretAccessKey(String awsSecretAccessKey) { + Utils.checkNotNull(awsSecretAccessKey, "awsSecretAccessKey"); + this.awsSecretAccessKey = awsSecretAccessKey; + return this; + } + + public IAMUser build() { + return new IAMUser( + awsAccessKeyId, + awsSecretAccessKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CredentialsTitle = + new LazySingletonValue<>( + "credentials_title", + "\"IAM User\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/In.java b/src/main/java/com/airbyte/api/models/shared/In.java new file mode 100644 index 000000000..0726621d8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/In.java @@ -0,0 +1,31 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum In { + TITLE("title"), + DESCRIPTION("description"), + CONTENT("content"); + + @JsonValue + private final String value; + + private In(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/InListFilter.java b/src/main/java/com/airbyte/api/models/shared/InListFilter.java new file mode 100644 index 000000000..9aa696685 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/InListFilter.java @@ -0,0 +1,149 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class InListFilter { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("caseSensitive") + private Optional caseSensitive; + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiFilterName filterName; + + @JsonProperty("values") + private java.util.List values; + + public InListFilter( + @JsonProperty("caseSensitive") Optional caseSensitive, + @JsonProperty("values") java.util.List values) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + Utils.checkNotNull(values, "values"); + this.caseSensitive = caseSensitive; + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.values = values; + } + + public Optional caseSensitive() { + return caseSensitive; + } + + public SourceGoogleAnalyticsDataApiFilterName filterName() { + return filterName; + } + + public java.util.List values() { + return values; + } + + public final static Builder builder() { + return new Builder(); + } + + public InListFilter withCaseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public InListFilter withCaseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public InListFilter withValues(java.util.List values) { + Utils.checkNotNull(values, "values"); + this.values = values; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InListFilter other = (InListFilter) o; + return + java.util.Objects.deepEquals(this.caseSensitive, other.caseSensitive) && + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.values, other.values); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caseSensitive, + filterName, + values); + } + + @Override + public String toString() { + return Utils.toString(InListFilter.class, + "caseSensitive", caseSensitive, + "filterName", filterName, + "values", values); + } + + public final static class Builder { + + private Optional caseSensitive = Optional.empty(); + + private java.util.List values; + + private Builder() { + // force use of static builder() method + } + + public Builder caseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public Builder caseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public Builder values(java.util.List values) { + Utils.checkNotNull(values, "values"); + this.values = values; + return this; + } + + public InListFilter build() { + return new InListFilter( + caseSensitive, + values); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"inListFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Indexing.java b/src/main/java/com/airbyte/api/models/shared/Indexing.java new file mode 100644 index 000000000..a25dc629e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Indexing.java @@ -0,0 +1,222 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * Indexing - Astra DB gives developers the APIs, real-time data and ecosystem integrations to put accurate RAG and Gen AI apps with fewer hallucinations in production. + */ + +public class Indexing { + + /** + * The application token authorizes a user to connect to a specific Astra DB database. It is created when the user clicks the Generate Token button on the Overview tab of the Database page in the Astra UI. + */ + @JsonProperty("astra_db_app_token") + private String astraDbAppToken; + + /** + * The endpoint specifies which Astra DB database queries are sent to. It can be copied from the Database Details section of the Overview tab of the Database page in the Astra UI. + */ + @JsonProperty("astra_db_endpoint") + private String astraDbEndpoint; + + /** + * Keyspaces (or Namespaces) serve as containers for organizing data within a database. You can create a new keyspace uisng the Data Explorer tab in the Astra UI. The keyspace default_keyspace is created for you when you create a Vector Database in Astra DB. + */ + @JsonProperty("astra_db_keyspace") + private String astraDbKeyspace; + + /** + * Collections hold data. They are analagous to tables in traditional Cassandra terminology. This tool will create the collection with the provided name automatically if it does not already exist. Alternatively, you can create one thorugh the Data Explorer tab in the Astra UI. + */ + @JsonProperty("collection") + private String collection; + + public Indexing( + @JsonProperty("astra_db_app_token") String astraDbAppToken, + @JsonProperty("astra_db_endpoint") String astraDbEndpoint, + @JsonProperty("astra_db_keyspace") String astraDbKeyspace, + @JsonProperty("collection") String collection) { + Utils.checkNotNull(astraDbAppToken, "astraDbAppToken"); + Utils.checkNotNull(astraDbEndpoint, "astraDbEndpoint"); + Utils.checkNotNull(astraDbKeyspace, "astraDbKeyspace"); + Utils.checkNotNull(collection, "collection"); + this.astraDbAppToken = astraDbAppToken; + this.astraDbEndpoint = astraDbEndpoint; + this.astraDbKeyspace = astraDbKeyspace; + this.collection = collection; + } + + /** + * The application token authorizes a user to connect to a specific Astra DB database. It is created when the user clicks the Generate Token button on the Overview tab of the Database page in the Astra UI. + */ + public String astraDbAppToken() { + return astraDbAppToken; + } + + /** + * The endpoint specifies which Astra DB database queries are sent to. It can be copied from the Database Details section of the Overview tab of the Database page in the Astra UI. + */ + public String astraDbEndpoint() { + return astraDbEndpoint; + } + + /** + * Keyspaces (or Namespaces) serve as containers for organizing data within a database. You can create a new keyspace uisng the Data Explorer tab in the Astra UI. The keyspace default_keyspace is created for you when you create a Vector Database in Astra DB. + */ + public String astraDbKeyspace() { + return astraDbKeyspace; + } + + /** + * Collections hold data. They are analagous to tables in traditional Cassandra terminology. This tool will create the collection with the provided name automatically if it does not already exist. Alternatively, you can create one thorugh the Data Explorer tab in the Astra UI. + */ + public String collection() { + return collection; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The application token authorizes a user to connect to a specific Astra DB database. It is created when the user clicks the Generate Token button on the Overview tab of the Database page in the Astra UI. + */ + public Indexing withAstraDbAppToken(String astraDbAppToken) { + Utils.checkNotNull(astraDbAppToken, "astraDbAppToken"); + this.astraDbAppToken = astraDbAppToken; + return this; + } + + /** + * The endpoint specifies which Astra DB database queries are sent to. It can be copied from the Database Details section of the Overview tab of the Database page in the Astra UI. + */ + public Indexing withAstraDbEndpoint(String astraDbEndpoint) { + Utils.checkNotNull(astraDbEndpoint, "astraDbEndpoint"); + this.astraDbEndpoint = astraDbEndpoint; + return this; + } + + /** + * Keyspaces (or Namespaces) serve as containers for organizing data within a database. You can create a new keyspace uisng the Data Explorer tab in the Astra UI. The keyspace default_keyspace is created for you when you create a Vector Database in Astra DB. + */ + public Indexing withAstraDbKeyspace(String astraDbKeyspace) { + Utils.checkNotNull(astraDbKeyspace, "astraDbKeyspace"); + this.astraDbKeyspace = astraDbKeyspace; + return this; + } + + /** + * Collections hold data. They are analagous to tables in traditional Cassandra terminology. This tool will create the collection with the provided name automatically if it does not already exist. Alternatively, you can create one thorugh the Data Explorer tab in the Astra UI. + */ + public Indexing withCollection(String collection) { + Utils.checkNotNull(collection, "collection"); + this.collection = collection; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Indexing other = (Indexing) o; + return + java.util.Objects.deepEquals(this.astraDbAppToken, other.astraDbAppToken) && + java.util.Objects.deepEquals(this.astraDbEndpoint, other.astraDbEndpoint) && + java.util.Objects.deepEquals(this.astraDbKeyspace, other.astraDbKeyspace) && + java.util.Objects.deepEquals(this.collection, other.collection); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + astraDbAppToken, + astraDbEndpoint, + astraDbKeyspace, + collection); + } + + @Override + public String toString() { + return Utils.toString(Indexing.class, + "astraDbAppToken", astraDbAppToken, + "astraDbEndpoint", astraDbEndpoint, + "astraDbKeyspace", astraDbKeyspace, + "collection", collection); + } + + public final static class Builder { + + private String astraDbAppToken; + + private String astraDbEndpoint; + + private String astraDbKeyspace; + + private String collection; + + private Builder() { + // force use of static builder() method + } + + /** + * The application token authorizes a user to connect to a specific Astra DB database. It is created when the user clicks the Generate Token button on the Overview tab of the Database page in the Astra UI. + */ + public Builder astraDbAppToken(String astraDbAppToken) { + Utils.checkNotNull(astraDbAppToken, "astraDbAppToken"); + this.astraDbAppToken = astraDbAppToken; + return this; + } + + /** + * The endpoint specifies which Astra DB database queries are sent to. It can be copied from the Database Details section of the Overview tab of the Database page in the Astra UI. + */ + public Builder astraDbEndpoint(String astraDbEndpoint) { + Utils.checkNotNull(astraDbEndpoint, "astraDbEndpoint"); + this.astraDbEndpoint = astraDbEndpoint; + return this; + } + + /** + * Keyspaces (or Namespaces) serve as containers for organizing data within a database. You can create a new keyspace uisng the Data Explorer tab in the Astra UI. The keyspace default_keyspace is created for you when you create a Vector Database in Astra DB. + */ + public Builder astraDbKeyspace(String astraDbKeyspace) { + Utils.checkNotNull(astraDbKeyspace, "astraDbKeyspace"); + this.astraDbKeyspace = astraDbKeyspace; + return this; + } + + /** + * Collections hold data. They are analagous to tables in traditional Cassandra terminology. This tool will create the collection with the provided name automatically if it does not already exist. Alternatively, you can create one thorugh the Data Explorer tab in the Astra UI. + */ + public Builder collection(String collection) { + Utils.checkNotNull(collection, "collection"); + this.collection = collection; + return this; + } + + public Indexing build() { + return new Indexing( + astraDbAppToken, + astraDbEndpoint, + astraDbKeyspace, + collection); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/InferenceType.java b/src/main/java/com/airbyte/api/models/shared/InferenceType.java new file mode 100644 index 000000000..ea3b88b69 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/InferenceType.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * InferenceType - How to infer the types of the columns. If none, inference default to strings. + */ +public enum InferenceType { + NONE("None"), + PRIMITIVE_TYPES_ONLY("Primitive Types Only"); + + @JsonValue + private final String value; + + private InferenceType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/InitiateOauthRequest.java b/src/main/java/com/airbyte/api/models/shared/InitiateOauthRequest.java new file mode 100644 index 000000000..6ef5c0c7c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/InitiateOauthRequest.java @@ -0,0 +1,232 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * InitiateOauthRequest - POST body for initiating OAuth via the public API + */ + +public class InitiateOauthRequest { + + /** + * Arbitrary vars to pass for OAuth depending on what the source/destination spec requires. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("oAuthInputConfiguration") + private Optional oAuthInputConfiguration; + + /** + * The URL to redirect the user to with the OAuth secret stored in the secret_id query string parameter after authentication is complete. + */ + @JsonProperty("redirectUrl") + private String redirectUrl; + + @JsonProperty("sourceType") + private OAuthActorNames sourceType; + + /** + * The workspace to create the secret and eventually the full source. + */ + @JsonProperty("workspaceId") + private String workspaceId; + + public InitiateOauthRequest( + @JsonProperty("oAuthInputConfiguration") Optional oAuthInputConfiguration, + @JsonProperty("redirectUrl") String redirectUrl, + @JsonProperty("sourceType") OAuthActorNames sourceType, + @JsonProperty("workspaceId") String workspaceId) { + Utils.checkNotNull(oAuthInputConfiguration, "oAuthInputConfiguration"); + Utils.checkNotNull(redirectUrl, "redirectUrl"); + Utils.checkNotNull(sourceType, "sourceType"); + Utils.checkNotNull(workspaceId, "workspaceId"); + this.oAuthInputConfiguration = oAuthInputConfiguration; + this.redirectUrl = redirectUrl; + this.sourceType = sourceType; + this.workspaceId = workspaceId; + } + + /** + * Arbitrary vars to pass for OAuth depending on what the source/destination spec requires. + */ + public Optional oAuthInputConfiguration() { + return oAuthInputConfiguration; + } + + /** + * The URL to redirect the user to with the OAuth secret stored in the secret_id query string parameter after authentication is complete. + */ + public String redirectUrl() { + return redirectUrl; + } + + public OAuthActorNames sourceType() { + return sourceType; + } + + /** + * The workspace to create the secret and eventually the full source. + */ + public String workspaceId() { + return workspaceId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Arbitrary vars to pass for OAuth depending on what the source/destination spec requires. + */ + public InitiateOauthRequest withOAuthInputConfiguration(OAuthInputConfiguration oAuthInputConfiguration) { + Utils.checkNotNull(oAuthInputConfiguration, "oAuthInputConfiguration"); + this.oAuthInputConfiguration = Optional.ofNullable(oAuthInputConfiguration); + return this; + } + + /** + * Arbitrary vars to pass for OAuth depending on what the source/destination spec requires. + */ + public InitiateOauthRequest withOAuthInputConfiguration(Optional oAuthInputConfiguration) { + Utils.checkNotNull(oAuthInputConfiguration, "oAuthInputConfiguration"); + this.oAuthInputConfiguration = oAuthInputConfiguration; + return this; + } + + /** + * The URL to redirect the user to with the OAuth secret stored in the secret_id query string parameter after authentication is complete. + */ + public InitiateOauthRequest withRedirectUrl(String redirectUrl) { + Utils.checkNotNull(redirectUrl, "redirectUrl"); + this.redirectUrl = redirectUrl; + return this; + } + + public InitiateOauthRequest withSourceType(OAuthActorNames sourceType) { + Utils.checkNotNull(sourceType, "sourceType"); + this.sourceType = sourceType; + return this; + } + + /** + * The workspace to create the secret and eventually the full source. + */ + public InitiateOauthRequest withWorkspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InitiateOauthRequest other = (InitiateOauthRequest) o; + return + java.util.Objects.deepEquals(this.oAuthInputConfiguration, other.oAuthInputConfiguration) && + java.util.Objects.deepEquals(this.redirectUrl, other.redirectUrl) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.workspaceId, other.workspaceId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + oAuthInputConfiguration, + redirectUrl, + sourceType, + workspaceId); + } + + @Override + public String toString() { + return Utils.toString(InitiateOauthRequest.class, + "oAuthInputConfiguration", oAuthInputConfiguration, + "redirectUrl", redirectUrl, + "sourceType", sourceType, + "workspaceId", workspaceId); + } + + public final static class Builder { + + private Optional oAuthInputConfiguration = Optional.empty(); + + private String redirectUrl; + + private OAuthActorNames sourceType; + + private String workspaceId; + + private Builder() { + // force use of static builder() method + } + + /** + * Arbitrary vars to pass for OAuth depending on what the source/destination spec requires. + */ + public Builder oAuthInputConfiguration(OAuthInputConfiguration oAuthInputConfiguration) { + Utils.checkNotNull(oAuthInputConfiguration, "oAuthInputConfiguration"); + this.oAuthInputConfiguration = Optional.ofNullable(oAuthInputConfiguration); + return this; + } + + /** + * Arbitrary vars to pass for OAuth depending on what the source/destination spec requires. + */ + public Builder oAuthInputConfiguration(Optional oAuthInputConfiguration) { + Utils.checkNotNull(oAuthInputConfiguration, "oAuthInputConfiguration"); + this.oAuthInputConfiguration = oAuthInputConfiguration; + return this; + } + + /** + * The URL to redirect the user to with the OAuth secret stored in the secret_id query string parameter after authentication is complete. + */ + public Builder redirectUrl(String redirectUrl) { + Utils.checkNotNull(redirectUrl, "redirectUrl"); + this.redirectUrl = redirectUrl; + return this; + } + + public Builder sourceType(OAuthActorNames sourceType) { + Utils.checkNotNull(sourceType, "sourceType"); + this.sourceType = sourceType; + return this; + } + + /** + * The workspace to create the secret and eventually the full source. + */ + public Builder workspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + public InitiateOauthRequest build() { + return new InitiateOauthRequest( + oAuthInputConfiguration, + redirectUrl, + sourceType, + workspaceId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/InsightConfig.java b/src/main/java/com/airbyte/api/models/shared/InsightConfig.java new file mode 100644 index 000000000..5a20c0e82 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/InsightConfig.java @@ -0,0 +1,744 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + +/** + * InsightConfig - Config for custom insights + */ + +public class InsightConfig { + + /** + * A list of chosen action_breakdowns for action_breakdowns + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("action_breakdowns") + private Optional> actionBreakdowns; + + /** + * Determines the report time of action stats. For example, if a person saw the ad on Jan 1st but converted on Jan 2nd, when you query the API with action_report_time=impression, you see a conversion on Jan 1st. When you query the API with action_report_time=conversion, you see a conversion on Jan 2nd. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("action_report_time") + private Optional actionReportTime; + + /** + * A list of chosen breakdowns for breakdowns + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("breakdowns") + private Optional> breakdowns; + + /** + * The date until which you'd like to replicate data for this stream, in the format YYYY-MM-DDT00:00:00Z. All data generated between the start date and this end date will be replicated. Not setting this option will result in always syncing the latest data. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + /** + * A list of chosen fields for fields parameter + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("fields") + private Optional> fields; + + /** + * The insights job timeout + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("insights_job_timeout") + private Optional insightsJobTimeout; + + /** + * The attribution window + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("insights_lookback_window") + private Optional insightsLookbackWindow; + + /** + * Chosen level for API + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("level") + private Optional level; + + /** + * The name value of insight + */ + @JsonProperty("name") + private String name; + + /** + * The date from which you'd like to replicate data for this stream, in the format YYYY-MM-DDT00:00:00Z. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + /** + * Time window in days by which to aggregate statistics. The sync will be chunked into N day intervals, where N is the number of days you specified. For example, if you set this value to 7, then all statistics will be reported as 7-day aggregates by starting from the start_date. If the start and end dates are October 1st and October 30th, then the connector will output 5 records: 01 - 06, 07 - 13, 14 - 20, 21 - 27, and 28 - 30 (3 days only). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("time_increment") + private Optional timeIncrement; + + public InsightConfig( + @JsonProperty("action_breakdowns") Optional> actionBreakdowns, + @JsonProperty("action_report_time") Optional actionReportTime, + @JsonProperty("breakdowns") Optional> breakdowns, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("fields") Optional> fields, + @JsonProperty("insights_job_timeout") Optional insightsJobTimeout, + @JsonProperty("insights_lookback_window") Optional insightsLookbackWindow, + @JsonProperty("level") Optional level, + @JsonProperty("name") String name, + @JsonProperty("start_date") Optional startDate, + @JsonProperty("time_increment") Optional timeIncrement) { + Utils.checkNotNull(actionBreakdowns, "actionBreakdowns"); + Utils.checkNotNull(actionReportTime, "actionReportTime"); + Utils.checkNotNull(breakdowns, "breakdowns"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(fields, "fields"); + Utils.checkNotNull(insightsJobTimeout, "insightsJobTimeout"); + Utils.checkNotNull(insightsLookbackWindow, "insightsLookbackWindow"); + Utils.checkNotNull(level, "level"); + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(timeIncrement, "timeIncrement"); + this.actionBreakdowns = actionBreakdowns; + this.actionReportTime = actionReportTime; + this.breakdowns = breakdowns; + this.endDate = endDate; + this.fields = fields; + this.insightsJobTimeout = insightsJobTimeout; + this.insightsLookbackWindow = insightsLookbackWindow; + this.level = level; + this.name = name; + this.startDate = startDate; + this.timeIncrement = timeIncrement; + } + + /** + * A list of chosen action_breakdowns for action_breakdowns + */ + public Optional> actionBreakdowns() { + return actionBreakdowns; + } + + /** + * Determines the report time of action stats. For example, if a person saw the ad on Jan 1st but converted on Jan 2nd, when you query the API with action_report_time=impression, you see a conversion on Jan 1st. When you query the API with action_report_time=conversion, you see a conversion on Jan 2nd. + */ + public Optional actionReportTime() { + return actionReportTime; + } + + /** + * A list of chosen breakdowns for breakdowns + */ + public Optional> breakdowns() { + return breakdowns; + } + + /** + * The date until which you'd like to replicate data for this stream, in the format YYYY-MM-DDT00:00:00Z. All data generated between the start date and this end date will be replicated. Not setting this option will result in always syncing the latest data. + */ + public Optional endDate() { + return endDate; + } + + /** + * A list of chosen fields for fields parameter + */ + public Optional> fields() { + return fields; + } + + /** + * The insights job timeout + */ + public Optional insightsJobTimeout() { + return insightsJobTimeout; + } + + /** + * The attribution window + */ + public Optional insightsLookbackWindow() { + return insightsLookbackWindow; + } + + /** + * Chosen level for API + */ + public Optional level() { + return level; + } + + /** + * The name value of insight + */ + public String name() { + return name; + } + + /** + * The date from which you'd like to replicate data for this stream, in the format YYYY-MM-DDT00:00:00Z. + */ + public Optional startDate() { + return startDate; + } + + /** + * Time window in days by which to aggregate statistics. The sync will be chunked into N day intervals, where N is the number of days you specified. For example, if you set this value to 7, then all statistics will be reported as 7-day aggregates by starting from the start_date. If the start and end dates are October 1st and October 30th, then the connector will output 5 records: 01 - 06, 07 - 13, 14 - 20, 21 - 27, and 28 - 30 (3 days only). + */ + public Optional timeIncrement() { + return timeIncrement; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * A list of chosen action_breakdowns for action_breakdowns + */ + public InsightConfig withActionBreakdowns(java.util.List actionBreakdowns) { + Utils.checkNotNull(actionBreakdowns, "actionBreakdowns"); + this.actionBreakdowns = Optional.ofNullable(actionBreakdowns); + return this; + } + + /** + * A list of chosen action_breakdowns for action_breakdowns + */ + public InsightConfig withActionBreakdowns(Optional> actionBreakdowns) { + Utils.checkNotNull(actionBreakdowns, "actionBreakdowns"); + this.actionBreakdowns = actionBreakdowns; + return this; + } + + /** + * Determines the report time of action stats. For example, if a person saw the ad on Jan 1st but converted on Jan 2nd, when you query the API with action_report_time=impression, you see a conversion on Jan 1st. When you query the API with action_report_time=conversion, you see a conversion on Jan 2nd. + */ + public InsightConfig withActionReportTime(SourceFacebookMarketingActionReportTime actionReportTime) { + Utils.checkNotNull(actionReportTime, "actionReportTime"); + this.actionReportTime = Optional.ofNullable(actionReportTime); + return this; + } + + /** + * Determines the report time of action stats. For example, if a person saw the ad on Jan 1st but converted on Jan 2nd, when you query the API with action_report_time=impression, you see a conversion on Jan 1st. When you query the API with action_report_time=conversion, you see a conversion on Jan 2nd. + */ + public InsightConfig withActionReportTime(Optional actionReportTime) { + Utils.checkNotNull(actionReportTime, "actionReportTime"); + this.actionReportTime = actionReportTime; + return this; + } + + /** + * A list of chosen breakdowns for breakdowns + */ + public InsightConfig withBreakdowns(java.util.List breakdowns) { + Utils.checkNotNull(breakdowns, "breakdowns"); + this.breakdowns = Optional.ofNullable(breakdowns); + return this; + } + + /** + * A list of chosen breakdowns for breakdowns + */ + public InsightConfig withBreakdowns(Optional> breakdowns) { + Utils.checkNotNull(breakdowns, "breakdowns"); + this.breakdowns = breakdowns; + return this; + } + + /** + * The date until which you'd like to replicate data for this stream, in the format YYYY-MM-DDT00:00:00Z. All data generated between the start date and this end date will be replicated. Not setting this option will result in always syncing the latest data. + */ + public InsightConfig withEndDate(OffsetDateTime endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * The date until which you'd like to replicate data for this stream, in the format YYYY-MM-DDT00:00:00Z. All data generated between the start date and this end date will be replicated. Not setting this option will result in always syncing the latest data. + */ + public InsightConfig withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * A list of chosen fields for fields parameter + */ + public InsightConfig withFields(java.util.List fields) { + Utils.checkNotNull(fields, "fields"); + this.fields = Optional.ofNullable(fields); + return this; + } + + /** + * A list of chosen fields for fields parameter + */ + public InsightConfig withFields(Optional> fields) { + Utils.checkNotNull(fields, "fields"); + this.fields = fields; + return this; + } + + /** + * The insights job timeout + */ + public InsightConfig withInsightsJobTimeout(long insightsJobTimeout) { + Utils.checkNotNull(insightsJobTimeout, "insightsJobTimeout"); + this.insightsJobTimeout = Optional.ofNullable(insightsJobTimeout); + return this; + } + + /** + * The insights job timeout + */ + public InsightConfig withInsightsJobTimeout(Optional insightsJobTimeout) { + Utils.checkNotNull(insightsJobTimeout, "insightsJobTimeout"); + this.insightsJobTimeout = insightsJobTimeout; + return this; + } + + /** + * The attribution window + */ + public InsightConfig withInsightsLookbackWindow(long insightsLookbackWindow) { + Utils.checkNotNull(insightsLookbackWindow, "insightsLookbackWindow"); + this.insightsLookbackWindow = Optional.ofNullable(insightsLookbackWindow); + return this; + } + + /** + * The attribution window + */ + public InsightConfig withInsightsLookbackWindow(Optional insightsLookbackWindow) { + Utils.checkNotNull(insightsLookbackWindow, "insightsLookbackWindow"); + this.insightsLookbackWindow = insightsLookbackWindow; + return this; + } + + /** + * Chosen level for API + */ + public InsightConfig withLevel(Level level) { + Utils.checkNotNull(level, "level"); + this.level = Optional.ofNullable(level); + return this; + } + + /** + * Chosen level for API + */ + public InsightConfig withLevel(Optional level) { + Utils.checkNotNull(level, "level"); + this.level = level; + return this; + } + + /** + * The name value of insight + */ + public InsightConfig withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * The date from which you'd like to replicate data for this stream, in the format YYYY-MM-DDT00:00:00Z. + */ + public InsightConfig withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date from which you'd like to replicate data for this stream, in the format YYYY-MM-DDT00:00:00Z. + */ + public InsightConfig withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Time window in days by which to aggregate statistics. The sync will be chunked into N day intervals, where N is the number of days you specified. For example, if you set this value to 7, then all statistics will be reported as 7-day aggregates by starting from the start_date. If the start and end dates are October 1st and October 30th, then the connector will output 5 records: 01 - 06, 07 - 13, 14 - 20, 21 - 27, and 28 - 30 (3 days only). + */ + public InsightConfig withTimeIncrement(long timeIncrement) { + Utils.checkNotNull(timeIncrement, "timeIncrement"); + this.timeIncrement = Optional.ofNullable(timeIncrement); + return this; + } + + /** + * Time window in days by which to aggregate statistics. The sync will be chunked into N day intervals, where N is the number of days you specified. For example, if you set this value to 7, then all statistics will be reported as 7-day aggregates by starting from the start_date. If the start and end dates are October 1st and October 30th, then the connector will output 5 records: 01 - 06, 07 - 13, 14 - 20, 21 - 27, and 28 - 30 (3 days only). + */ + public InsightConfig withTimeIncrement(Optional timeIncrement) { + Utils.checkNotNull(timeIncrement, "timeIncrement"); + this.timeIncrement = timeIncrement; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InsightConfig other = (InsightConfig) o; + return + java.util.Objects.deepEquals(this.actionBreakdowns, other.actionBreakdowns) && + java.util.Objects.deepEquals(this.actionReportTime, other.actionReportTime) && + java.util.Objects.deepEquals(this.breakdowns, other.breakdowns) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.fields, other.fields) && + java.util.Objects.deepEquals(this.insightsJobTimeout, other.insightsJobTimeout) && + java.util.Objects.deepEquals(this.insightsLookbackWindow, other.insightsLookbackWindow) && + java.util.Objects.deepEquals(this.level, other.level) && + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.timeIncrement, other.timeIncrement); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + actionBreakdowns, + actionReportTime, + breakdowns, + endDate, + fields, + insightsJobTimeout, + insightsLookbackWindow, + level, + name, + startDate, + timeIncrement); + } + + @Override + public String toString() { + return Utils.toString(InsightConfig.class, + "actionBreakdowns", actionBreakdowns, + "actionReportTime", actionReportTime, + "breakdowns", breakdowns, + "endDate", endDate, + "fields", fields, + "insightsJobTimeout", insightsJobTimeout, + "insightsLookbackWindow", insightsLookbackWindow, + "level", level, + "name", name, + "startDate", startDate, + "timeIncrement", timeIncrement); + } + + public final static class Builder { + + private Optional> actionBreakdowns = Optional.empty(); + + private Optional actionReportTime; + + private Optional> breakdowns = Optional.empty(); + + private Optional endDate = Optional.empty(); + + private Optional> fields = Optional.empty(); + + private Optional insightsJobTimeout; + + private Optional insightsLookbackWindow; + + private Optional level; + + private String name; + + private Optional startDate = Optional.empty(); + + private Optional timeIncrement; + + private Builder() { + // force use of static builder() method + } + + /** + * A list of chosen action_breakdowns for action_breakdowns + */ + public Builder actionBreakdowns(java.util.List actionBreakdowns) { + Utils.checkNotNull(actionBreakdowns, "actionBreakdowns"); + this.actionBreakdowns = Optional.ofNullable(actionBreakdowns); + return this; + } + + /** + * A list of chosen action_breakdowns for action_breakdowns + */ + public Builder actionBreakdowns(Optional> actionBreakdowns) { + Utils.checkNotNull(actionBreakdowns, "actionBreakdowns"); + this.actionBreakdowns = actionBreakdowns; + return this; + } + + /** + * Determines the report time of action stats. For example, if a person saw the ad on Jan 1st but converted on Jan 2nd, when you query the API with action_report_time=impression, you see a conversion on Jan 1st. When you query the API with action_report_time=conversion, you see a conversion on Jan 2nd. + */ + public Builder actionReportTime(SourceFacebookMarketingActionReportTime actionReportTime) { + Utils.checkNotNull(actionReportTime, "actionReportTime"); + this.actionReportTime = Optional.ofNullable(actionReportTime); + return this; + } + + /** + * Determines the report time of action stats. For example, if a person saw the ad on Jan 1st but converted on Jan 2nd, when you query the API with action_report_time=impression, you see a conversion on Jan 1st. When you query the API with action_report_time=conversion, you see a conversion on Jan 2nd. + */ + public Builder actionReportTime(Optional actionReportTime) { + Utils.checkNotNull(actionReportTime, "actionReportTime"); + this.actionReportTime = actionReportTime; + return this; + } + + /** + * A list of chosen breakdowns for breakdowns + */ + public Builder breakdowns(java.util.List breakdowns) { + Utils.checkNotNull(breakdowns, "breakdowns"); + this.breakdowns = Optional.ofNullable(breakdowns); + return this; + } + + /** + * A list of chosen breakdowns for breakdowns + */ + public Builder breakdowns(Optional> breakdowns) { + Utils.checkNotNull(breakdowns, "breakdowns"); + this.breakdowns = breakdowns; + return this; + } + + /** + * The date until which you'd like to replicate data for this stream, in the format YYYY-MM-DDT00:00:00Z. All data generated between the start date and this end date will be replicated. Not setting this option will result in always syncing the latest data. + */ + public Builder endDate(OffsetDateTime endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * The date until which you'd like to replicate data for this stream, in the format YYYY-MM-DDT00:00:00Z. All data generated between the start date and this end date will be replicated. Not setting this option will result in always syncing the latest data. + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * A list of chosen fields for fields parameter + */ + public Builder fields(java.util.List fields) { + Utils.checkNotNull(fields, "fields"); + this.fields = Optional.ofNullable(fields); + return this; + } + + /** + * A list of chosen fields for fields parameter + */ + public Builder fields(Optional> fields) { + Utils.checkNotNull(fields, "fields"); + this.fields = fields; + return this; + } + + /** + * The insights job timeout + */ + public Builder insightsJobTimeout(long insightsJobTimeout) { + Utils.checkNotNull(insightsJobTimeout, "insightsJobTimeout"); + this.insightsJobTimeout = Optional.ofNullable(insightsJobTimeout); + return this; + } + + /** + * The insights job timeout + */ + public Builder insightsJobTimeout(Optional insightsJobTimeout) { + Utils.checkNotNull(insightsJobTimeout, "insightsJobTimeout"); + this.insightsJobTimeout = insightsJobTimeout; + return this; + } + + /** + * The attribution window + */ + public Builder insightsLookbackWindow(long insightsLookbackWindow) { + Utils.checkNotNull(insightsLookbackWindow, "insightsLookbackWindow"); + this.insightsLookbackWindow = Optional.ofNullable(insightsLookbackWindow); + return this; + } + + /** + * The attribution window + */ + public Builder insightsLookbackWindow(Optional insightsLookbackWindow) { + Utils.checkNotNull(insightsLookbackWindow, "insightsLookbackWindow"); + this.insightsLookbackWindow = insightsLookbackWindow; + return this; + } + + /** + * Chosen level for API + */ + public Builder level(Level level) { + Utils.checkNotNull(level, "level"); + this.level = Optional.ofNullable(level); + return this; + } + + /** + * Chosen level for API + */ + public Builder level(Optional level) { + Utils.checkNotNull(level, "level"); + this.level = level; + return this; + } + + /** + * The name value of insight + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * The date from which you'd like to replicate data for this stream, in the format YYYY-MM-DDT00:00:00Z. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date from which you'd like to replicate data for this stream, in the format YYYY-MM-DDT00:00:00Z. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Time window in days by which to aggregate statistics. The sync will be chunked into N day intervals, where N is the number of days you specified. For example, if you set this value to 7, then all statistics will be reported as 7-day aggregates by starting from the start_date. If the start and end dates are October 1st and October 30th, then the connector will output 5 records: 01 - 06, 07 - 13, 14 - 20, 21 - 27, and 28 - 30 (3 days only). + */ + public Builder timeIncrement(long timeIncrement) { + Utils.checkNotNull(timeIncrement, "timeIncrement"); + this.timeIncrement = Optional.ofNullable(timeIncrement); + return this; + } + + /** + * Time window in days by which to aggregate statistics. The sync will be chunked into N day intervals, where N is the number of days you specified. For example, if you set this value to 7, then all statistics will be reported as 7-day aggregates by starting from the start_date. If the start and end dates are October 1st and October 30th, then the connector will output 5 records: 01 - 06, 07 - 13, 14 - 20, 21 - 27, and 28 - 30 (3 days only). + */ + public Builder timeIncrement(Optional timeIncrement) { + Utils.checkNotNull(timeIncrement, "timeIncrement"); + this.timeIncrement = timeIncrement; + return this; + } + + public InsightConfig build() { + if (actionReportTime == null) { + actionReportTime = _SINGLETON_VALUE_ActionReportTime.value(); + } + if (insightsJobTimeout == null) { + insightsJobTimeout = _SINGLETON_VALUE_InsightsJobTimeout.value(); + } + if (insightsLookbackWindow == null) { + insightsLookbackWindow = _SINGLETON_VALUE_InsightsLookbackWindow.value(); + } + if (level == null) { + level = _SINGLETON_VALUE_Level.value(); + } + if (timeIncrement == null) { + timeIncrement = _SINGLETON_VALUE_TimeIncrement.value(); + } + return new InsightConfig( + actionBreakdowns, + actionReportTime, + breakdowns, + endDate, + fields, + insightsJobTimeout, + insightsLookbackWindow, + level, + name, + startDate, + timeIncrement); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ActionReportTime = + new LazySingletonValue<>( + "action_report_time", + "\"mixed\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_InsightsJobTimeout = + new LazySingletonValue<>( + "insights_job_timeout", + "60", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_InsightsLookbackWindow = + new LazySingletonValue<>( + "insights_lookback_window", + "28", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Level = + new LazySingletonValue<>( + "level", + "\"ad\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TimeIncrement = + new LazySingletonValue<>( + "time_increment", + "1", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Insightly.java b/src/main/java/com/airbyte/api/models/shared/Insightly.java new file mode 100644 index 000000000..13103be28 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Insightly.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Insightly { + INSIGHTLY("insightly"); + + @JsonValue + private final String value; + + private Insightly(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Instagram.java b/src/main/java/com/airbyte/api/models/shared/Instagram.java new file mode 100644 index 000000000..a325b1092 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Instagram.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Instagram { + + /** + * The Client ID for your Oauth application + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret for your Oauth application + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public Instagram( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID for your Oauth application + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret for your Oauth application + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID for your Oauth application + */ + public Instagram withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID for your Oauth application + */ + public Instagram withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret for your Oauth application + */ + public Instagram withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret for your Oauth application + */ + public Instagram withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Instagram other = (Instagram) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(Instagram.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID for your Oauth application + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID for your Oauth application + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret for your Oauth application + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret for your Oauth application + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public Instagram build() { + return new Instagram( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Instance.java b/src/main/java/com/airbyte/api/models/shared/Instance.java new file mode 100644 index 000000000..a1d9a2733 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Instance.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Instance { + STANDALONE("standalone"); + + @JsonValue + private final String value; + + private Instance(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Instatus.java b/src/main/java/com/airbyte/api/models/shared/Instatus.java new file mode 100644 index 000000000..ac72944e5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Instatus.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Instatus { + INSTATUS("instatus"); + + @JsonValue + private final String value; + + private Instatus(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Int64Value.java b/src/main/java/com/airbyte/api/models/shared/Int64Value.java new file mode 100644 index 000000000..2dea7351a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Int64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class Int64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private ValueType valueType; + + public Int64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public ValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public Int64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Int64Value other = (Int64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(Int64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public Int64Value build() { + return new Int64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Intercom.java b/src/main/java/com/airbyte/api/models/shared/Intercom.java new file mode 100644 index 000000000..14671c952 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Intercom.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Intercom { + + /** + * Client Id for your Intercom application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * Client Secret for your Intercom application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public Intercom( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * Client Id for your Intercom application. + */ + public Optional clientId() { + return clientId; + } + + /** + * Client Secret for your Intercom application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Client Id for your Intercom application. + */ + public Intercom withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Client Id for your Intercom application. + */ + public Intercom withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret for your Intercom application. + */ + public Intercom withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Client Secret for your Intercom application. + */ + public Intercom withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Intercom other = (Intercom) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(Intercom.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Client Id for your Intercom application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Client Id for your Intercom application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret for your Intercom application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Client Secret for your Intercom application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public Intercom build() { + return new Intercom( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/InvalidCDCPositionBehaviorAdvanced.java b/src/main/java/com/airbyte/api/models/shared/InvalidCDCPositionBehaviorAdvanced.java new file mode 100644 index 000000000..2235896d8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/InvalidCDCPositionBehaviorAdvanced.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * InvalidCDCPositionBehaviorAdvanced - Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ +public enum InvalidCDCPositionBehaviorAdvanced { + FAIL_SYNC("Fail sync"), + RE_SYNC_DATA("Re-sync data"); + + @JsonValue + private final String value; + + private InvalidCDCPositionBehaviorAdvanced(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Ip2whois.java b/src/main/java/com/airbyte/api/models/shared/Ip2whois.java new file mode 100644 index 000000000..fe3f4339d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Ip2whois.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Ip2whois { + IP2WHOIS("ip2whois"); + + @JsonValue + private final String value; + + private Ip2whois(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/IssuesStreamExpandWith.java b/src/main/java/com/airbyte/api/models/shared/IssuesStreamExpandWith.java new file mode 100644 index 000000000..d56b8a0f2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/IssuesStreamExpandWith.java @@ -0,0 +1,31 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum IssuesStreamExpandWith { + RENDERED_FIELDS("renderedFields"), + TRANSITIONS("transitions"), + CHANGELOG("changelog"); + + @JsonValue + private final String value; + + private IssuesStreamExpandWith(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Iterable.java b/src/main/java/com/airbyte/api/models/shared/Iterable.java new file mode 100644 index 000000000..3a81793a8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Iterable.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Iterable { + ITERABLE("iterable"); + + @JsonValue + private final String value; + + private Iterable(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/JSONLinesNewlineDelimitedJSON.java b/src/main/java/com/airbyte/api/models/shared/JSONLinesNewlineDelimitedJSON.java new file mode 100644 index 000000000..e3a8ec9dd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/JSONLinesNewlineDelimitedJSON.java @@ -0,0 +1,181 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class JSONLinesNewlineDelimitedJSON { + + /** + * The compression algorithm used to compress data. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_codec") + private Optional compressionCodec; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("format_type") + private Optional formatType; + + public JSONLinesNewlineDelimitedJSON( + @JsonProperty("compression_codec") Optional compressionCodec, + @JsonProperty("format_type") Optional formatType) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + Utils.checkNotNull(formatType, "formatType"); + this.compressionCodec = compressionCodec; + this.formatType = formatType; + } + + /** + * The compression algorithm used to compress data. + */ + public Optional compressionCodec() { + return compressionCodec; + } + + public Optional formatType() { + return formatType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The compression algorithm used to compress data. + */ + public JSONLinesNewlineDelimitedJSON withCompressionCodec(CompressionCodecOptional compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = Optional.ofNullable(compressionCodec); + return this; + } + + /** + * The compression algorithm used to compress data. + */ + public JSONLinesNewlineDelimitedJSON withCompressionCodec(Optional compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = compressionCodec; + return this; + } + + public JSONLinesNewlineDelimitedJSON withFormatType(FormatTypeWildcard formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public JSONLinesNewlineDelimitedJSON withFormatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JSONLinesNewlineDelimitedJSON other = (JSONLinesNewlineDelimitedJSON) o; + return + java.util.Objects.deepEquals(this.compressionCodec, other.compressionCodec) && + java.util.Objects.deepEquals(this.formatType, other.formatType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compressionCodec, + formatType); + } + + @Override + public String toString() { + return Utils.toString(JSONLinesNewlineDelimitedJSON.class, + "compressionCodec", compressionCodec, + "formatType", formatType); + } + + public final static class Builder { + + private Optional compressionCodec; + + private Optional formatType; + + private Builder() { + // force use of static builder() method + } + + /** + * The compression algorithm used to compress data. + */ + public Builder compressionCodec(CompressionCodecOptional compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = Optional.ofNullable(compressionCodec); + return this; + } + + /** + * The compression algorithm used to compress data. + */ + public Builder compressionCodec(Optional compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = compressionCodec; + return this; + } + + public Builder formatType(FormatTypeWildcard formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public Builder formatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + public JSONLinesNewlineDelimitedJSON build() { + if (compressionCodec == null) { + compressionCodec = _SINGLETON_VALUE_CompressionCodec.value(); + } + if (formatType == null) { + formatType = _SINGLETON_VALUE_FormatType.value(); + } + return new JSONLinesNewlineDelimitedJSON( + compressionCodec, + formatType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionCodec = + new LazySingletonValue<>( + "compression_codec", + "\"UNCOMPRESSED\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_FormatType = + new LazySingletonValue<>( + "format_type", + "\"JSONL\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Jira.java b/src/main/java/com/airbyte/api/models/shared/Jira.java new file mode 100644 index 000000000..23d3aab28 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Jira.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Jira { + JIRA("jira"); + + @JsonValue + private final String value; + + private Jira(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/JobCreateRequest.java b/src/main/java/com/airbyte/api/models/shared/JobCreateRequest.java new file mode 100644 index 000000000..93398f59e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/JobCreateRequest.java @@ -0,0 +1,130 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * JobCreateRequest - Creates a new Job from the configuration provided in the request body. + */ + +public class JobCreateRequest { + + @JsonProperty("connectionId") + private String connectionId; + + /** + * Enum that describes the different types of jobs that the platform runs. + */ + @JsonProperty("jobType") + private JobTypeEnum jobType; + + public JobCreateRequest( + @JsonProperty("connectionId") String connectionId, + @JsonProperty("jobType") JobTypeEnum jobType) { + Utils.checkNotNull(connectionId, "connectionId"); + Utils.checkNotNull(jobType, "jobType"); + this.connectionId = connectionId; + this.jobType = jobType; + } + + public String connectionId() { + return connectionId; + } + + /** + * Enum that describes the different types of jobs that the platform runs. + */ + public JobTypeEnum jobType() { + return jobType; + } + + public final static Builder builder() { + return new Builder(); + } + + public JobCreateRequest withConnectionId(String connectionId) { + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionId = connectionId; + return this; + } + + /** + * Enum that describes the different types of jobs that the platform runs. + */ + public JobCreateRequest withJobType(JobTypeEnum jobType) { + Utils.checkNotNull(jobType, "jobType"); + this.jobType = jobType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JobCreateRequest other = (JobCreateRequest) o; + return + java.util.Objects.deepEquals(this.connectionId, other.connectionId) && + java.util.Objects.deepEquals(this.jobType, other.jobType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + connectionId, + jobType); + } + + @Override + public String toString() { + return Utils.toString(JobCreateRequest.class, + "connectionId", connectionId, + "jobType", jobType); + } + + public final static class Builder { + + private String connectionId; + + private JobTypeEnum jobType; + + private Builder() { + // force use of static builder() method + } + + public Builder connectionId(String connectionId) { + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionId = connectionId; + return this; + } + + /** + * Enum that describes the different types of jobs that the platform runs. + */ + public Builder jobType(JobTypeEnum jobType) { + Utils.checkNotNull(jobType, "jobType"); + this.jobType = jobType; + return this; + } + + public JobCreateRequest build() { + return new JobCreateRequest( + connectionId, + jobType); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/JobResponse.java b/src/main/java/com/airbyte/api/models/shared/JobResponse.java new file mode 100644 index 000000000..855583a3b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/JobResponse.java @@ -0,0 +1,399 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * JobResponse - Provides details of a single job. + */ + +public class JobResponse { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("bytesSynced") + private Optional bytesSynced; + + @JsonProperty("connectionId") + private String connectionId; + + /** + * Duration of a sync in ISO_8601 format + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("duration") + private Optional duration; + + @JsonProperty("jobId") + private long jobId; + + /** + * Enum that describes the different types of jobs that the platform runs. + */ + @JsonProperty("jobType") + private JobTypeEnum jobType; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lastUpdatedAt") + private Optional lastUpdatedAt; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("rowsSynced") + private Optional rowsSynced; + + @JsonProperty("startTime") + private String startTime; + + @JsonProperty("status") + private JobStatusEnum status; + + public JobResponse( + @JsonProperty("bytesSynced") Optional bytesSynced, + @JsonProperty("connectionId") String connectionId, + @JsonProperty("duration") Optional duration, + @JsonProperty("jobId") long jobId, + @JsonProperty("jobType") JobTypeEnum jobType, + @JsonProperty("lastUpdatedAt") Optional lastUpdatedAt, + @JsonProperty("rowsSynced") Optional rowsSynced, + @JsonProperty("startTime") String startTime, + @JsonProperty("status") JobStatusEnum status) { + Utils.checkNotNull(bytesSynced, "bytesSynced"); + Utils.checkNotNull(connectionId, "connectionId"); + Utils.checkNotNull(duration, "duration"); + Utils.checkNotNull(jobId, "jobId"); + Utils.checkNotNull(jobType, "jobType"); + Utils.checkNotNull(lastUpdatedAt, "lastUpdatedAt"); + Utils.checkNotNull(rowsSynced, "rowsSynced"); + Utils.checkNotNull(startTime, "startTime"); + Utils.checkNotNull(status, "status"); + this.bytesSynced = bytesSynced; + this.connectionId = connectionId; + this.duration = duration; + this.jobId = jobId; + this.jobType = jobType; + this.lastUpdatedAt = lastUpdatedAt; + this.rowsSynced = rowsSynced; + this.startTime = startTime; + this.status = status; + } + + public Optional bytesSynced() { + return bytesSynced; + } + + public String connectionId() { + return connectionId; + } + + /** + * Duration of a sync in ISO_8601 format + */ + public Optional duration() { + return duration; + } + + public long jobId() { + return jobId; + } + + /** + * Enum that describes the different types of jobs that the platform runs. + */ + public JobTypeEnum jobType() { + return jobType; + } + + public Optional lastUpdatedAt() { + return lastUpdatedAt; + } + + public Optional rowsSynced() { + return rowsSynced; + } + + public String startTime() { + return startTime; + } + + public JobStatusEnum status() { + return status; + } + + public final static Builder builder() { + return new Builder(); + } + + public JobResponse withBytesSynced(long bytesSynced) { + Utils.checkNotNull(bytesSynced, "bytesSynced"); + this.bytesSynced = Optional.ofNullable(bytesSynced); + return this; + } + + public JobResponse withBytesSynced(Optional bytesSynced) { + Utils.checkNotNull(bytesSynced, "bytesSynced"); + this.bytesSynced = bytesSynced; + return this; + } + + public JobResponse withConnectionId(String connectionId) { + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionId = connectionId; + return this; + } + + /** + * Duration of a sync in ISO_8601 format + */ + public JobResponse withDuration(String duration) { + Utils.checkNotNull(duration, "duration"); + this.duration = Optional.ofNullable(duration); + return this; + } + + /** + * Duration of a sync in ISO_8601 format + */ + public JobResponse withDuration(Optional duration) { + Utils.checkNotNull(duration, "duration"); + this.duration = duration; + return this; + } + + public JobResponse withJobId(long jobId) { + Utils.checkNotNull(jobId, "jobId"); + this.jobId = jobId; + return this; + } + + /** + * Enum that describes the different types of jobs that the platform runs. + */ + public JobResponse withJobType(JobTypeEnum jobType) { + Utils.checkNotNull(jobType, "jobType"); + this.jobType = jobType; + return this; + } + + public JobResponse withLastUpdatedAt(String lastUpdatedAt) { + Utils.checkNotNull(lastUpdatedAt, "lastUpdatedAt"); + this.lastUpdatedAt = Optional.ofNullable(lastUpdatedAt); + return this; + } + + public JobResponse withLastUpdatedAt(Optional lastUpdatedAt) { + Utils.checkNotNull(lastUpdatedAt, "lastUpdatedAt"); + this.lastUpdatedAt = lastUpdatedAt; + return this; + } + + public JobResponse withRowsSynced(long rowsSynced) { + Utils.checkNotNull(rowsSynced, "rowsSynced"); + this.rowsSynced = Optional.ofNullable(rowsSynced); + return this; + } + + public JobResponse withRowsSynced(Optional rowsSynced) { + Utils.checkNotNull(rowsSynced, "rowsSynced"); + this.rowsSynced = rowsSynced; + return this; + } + + public JobResponse withStartTime(String startTime) { + Utils.checkNotNull(startTime, "startTime"); + this.startTime = startTime; + return this; + } + + public JobResponse withStatus(JobStatusEnum status) { + Utils.checkNotNull(status, "status"); + this.status = status; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JobResponse other = (JobResponse) o; + return + java.util.Objects.deepEquals(this.bytesSynced, other.bytesSynced) && + java.util.Objects.deepEquals(this.connectionId, other.connectionId) && + java.util.Objects.deepEquals(this.duration, other.duration) && + java.util.Objects.deepEquals(this.jobId, other.jobId) && + java.util.Objects.deepEquals(this.jobType, other.jobType) && + java.util.Objects.deepEquals(this.lastUpdatedAt, other.lastUpdatedAt) && + java.util.Objects.deepEquals(this.rowsSynced, other.rowsSynced) && + java.util.Objects.deepEquals(this.startTime, other.startTime) && + java.util.Objects.deepEquals(this.status, other.status); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + bytesSynced, + connectionId, + duration, + jobId, + jobType, + lastUpdatedAt, + rowsSynced, + startTime, + status); + } + + @Override + public String toString() { + return Utils.toString(JobResponse.class, + "bytesSynced", bytesSynced, + "connectionId", connectionId, + "duration", duration, + "jobId", jobId, + "jobType", jobType, + "lastUpdatedAt", lastUpdatedAt, + "rowsSynced", rowsSynced, + "startTime", startTime, + "status", status); + } + + public final static class Builder { + + private Optional bytesSynced = Optional.empty(); + + private String connectionId; + + private Optional duration = Optional.empty(); + + private Long jobId; + + private JobTypeEnum jobType; + + private Optional lastUpdatedAt = Optional.empty(); + + private Optional rowsSynced = Optional.empty(); + + private String startTime; + + private JobStatusEnum status; + + private Builder() { + // force use of static builder() method + } + + public Builder bytesSynced(long bytesSynced) { + Utils.checkNotNull(bytesSynced, "bytesSynced"); + this.bytesSynced = Optional.ofNullable(bytesSynced); + return this; + } + + public Builder bytesSynced(Optional bytesSynced) { + Utils.checkNotNull(bytesSynced, "bytesSynced"); + this.bytesSynced = bytesSynced; + return this; + } + + public Builder connectionId(String connectionId) { + Utils.checkNotNull(connectionId, "connectionId"); + this.connectionId = connectionId; + return this; + } + + /** + * Duration of a sync in ISO_8601 format + */ + public Builder duration(String duration) { + Utils.checkNotNull(duration, "duration"); + this.duration = Optional.ofNullable(duration); + return this; + } + + /** + * Duration of a sync in ISO_8601 format + */ + public Builder duration(Optional duration) { + Utils.checkNotNull(duration, "duration"); + this.duration = duration; + return this; + } + + public Builder jobId(long jobId) { + Utils.checkNotNull(jobId, "jobId"); + this.jobId = jobId; + return this; + } + + /** + * Enum that describes the different types of jobs that the platform runs. + */ + public Builder jobType(JobTypeEnum jobType) { + Utils.checkNotNull(jobType, "jobType"); + this.jobType = jobType; + return this; + } + + public Builder lastUpdatedAt(String lastUpdatedAt) { + Utils.checkNotNull(lastUpdatedAt, "lastUpdatedAt"); + this.lastUpdatedAt = Optional.ofNullable(lastUpdatedAt); + return this; + } + + public Builder lastUpdatedAt(Optional lastUpdatedAt) { + Utils.checkNotNull(lastUpdatedAt, "lastUpdatedAt"); + this.lastUpdatedAt = lastUpdatedAt; + return this; + } + + public Builder rowsSynced(long rowsSynced) { + Utils.checkNotNull(rowsSynced, "rowsSynced"); + this.rowsSynced = Optional.ofNullable(rowsSynced); + return this; + } + + public Builder rowsSynced(Optional rowsSynced) { + Utils.checkNotNull(rowsSynced, "rowsSynced"); + this.rowsSynced = rowsSynced; + return this; + } + + public Builder startTime(String startTime) { + Utils.checkNotNull(startTime, "startTime"); + this.startTime = startTime; + return this; + } + + public Builder status(JobStatusEnum status) { + Utils.checkNotNull(status, "status"); + this.status = status; + return this; + } + + public JobResponse build() { + return new JobResponse( + bytesSynced, + connectionId, + duration, + jobId, + jobType, + lastUpdatedAt, + rowsSynced, + startTime, + status); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/JobStatusEnum.java b/src/main/java/com/airbyte/api/models/shared/JobStatusEnum.java new file mode 100644 index 000000000..ec0ecd860 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/JobStatusEnum.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum JobStatusEnum { + PENDING("pending"), + RUNNING("running"), + INCOMPLETE("incomplete"), + FAILED("failed"), + SUCCEEDED("succeeded"), + CANCELLED("cancelled"); + + @JsonValue + private final String value; + + private JobStatusEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/JobTypeEnum.java b/src/main/java/com/airbyte/api/models/shared/JobTypeEnum.java new file mode 100644 index 000000000..ed50f672b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/JobTypeEnum.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * JobTypeEnum - Enum that describes the different types of jobs that the platform runs. + */ +public enum JobTypeEnum { + SYNC("sync"), + RESET("reset"); + + @JsonValue + private final String value; + + private JobTypeEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/JobsResponse.java b/src/main/java/com/airbyte/api/models/shared/JobsResponse.java new file mode 100644 index 000000000..ad8e7b8d8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/JobsResponse.java @@ -0,0 +1,172 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class JobsResponse { + + @JsonProperty("data") + private java.util.List data; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("next") + private Optional next; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("previous") + private Optional previous; + + public JobsResponse( + @JsonProperty("data") java.util.List data, + @JsonProperty("next") Optional next, + @JsonProperty("previous") Optional previous) { + Utils.checkNotNull(data, "data"); + Utils.checkNotNull(next, "next"); + Utils.checkNotNull(previous, "previous"); + this.data = data; + this.next = next; + this.previous = previous; + } + + public java.util.List data() { + return data; + } + + public Optional next() { + return next; + } + + public Optional previous() { + return previous; + } + + public final static Builder builder() { + return new Builder(); + } + + public JobsResponse withData(java.util.List data) { + Utils.checkNotNull(data, "data"); + this.data = data; + return this; + } + + public JobsResponse withNext(String next) { + Utils.checkNotNull(next, "next"); + this.next = Optional.ofNullable(next); + return this; + } + + public JobsResponse withNext(Optional next) { + Utils.checkNotNull(next, "next"); + this.next = next; + return this; + } + + public JobsResponse withPrevious(String previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = Optional.ofNullable(previous); + return this; + } + + public JobsResponse withPrevious(Optional previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = previous; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JobsResponse other = (JobsResponse) o; + return + java.util.Objects.deepEquals(this.data, other.data) && + java.util.Objects.deepEquals(this.next, other.next) && + java.util.Objects.deepEquals(this.previous, other.previous); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + data, + next, + previous); + } + + @Override + public String toString() { + return Utils.toString(JobsResponse.class, + "data", data, + "next", next, + "previous", previous); + } + + public final static class Builder { + + private java.util.List data; + + private Optional next = Optional.empty(); + + private Optional previous = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder data(java.util.List data) { + Utils.checkNotNull(data, "data"); + this.data = data; + return this; + } + + public Builder next(String next) { + Utils.checkNotNull(next, "next"); + this.next = Optional.ofNullable(next); + return this; + } + + public Builder next(Optional next) { + Utils.checkNotNull(next, "next"); + this.next = next; + return this; + } + + public Builder previous(String previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = Optional.ofNullable(previous); + return this; + } + + public Builder previous(Optional previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = previous; + return this; + } + + public JobsResponse build() { + return new JobsResponse( + data, + next, + previous); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Jsonl.java b/src/main/java/com/airbyte/api/models/shared/Jsonl.java new file mode 100644 index 000000000..a15668a33 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Jsonl.java @@ -0,0 +1,288 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * Jsonl - This connector uses <a href="https://arrow.apache.org/docs/python/json.html" target="_blank">PyArrow</a> for JSON Lines (jsonl) file parsing. + */ + +public class Jsonl { + + /** + * The chunk size in bytes to process at a time in memory from each file. If your data is particularly wide and failing during schema detection, increasing this should solve it. Beware of raising this too high as you could hit OOM errors. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("block_size") + private Optional blockSize; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + /** + * Whether newline characters are allowed in JSON values. Turning this on may affect performance. Leave blank to default to False. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("newlines_in_values") + private Optional newlinesInValues; + + /** + * How JSON fields outside of explicit_schema (if given) are treated. Check <a href="https://arrow.apache.org/docs/python/generated/pyarrow.json.ParseOptions.html" target="_blank">PyArrow documentation</a> for details + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("unexpected_field_behavior") + private Optional unexpectedFieldBehavior; + + public Jsonl( + @JsonProperty("block_size") Optional blockSize, + @JsonProperty("newlines_in_values") Optional newlinesInValues, + @JsonProperty("unexpected_field_behavior") Optional unexpectedFieldBehavior) { + Utils.checkNotNull(blockSize, "blockSize"); + Utils.checkNotNull(newlinesInValues, "newlinesInValues"); + Utils.checkNotNull(unexpectedFieldBehavior, "unexpectedFieldBehavior"); + this.blockSize = blockSize; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + this.newlinesInValues = newlinesInValues; + this.unexpectedFieldBehavior = unexpectedFieldBehavior; + } + + /** + * The chunk size in bytes to process at a time in memory from each file. If your data is particularly wide and failing during schema detection, increasing this should solve it. Beware of raising this too high as you could hit OOM errors. + */ + public Optional blockSize() { + return blockSize; + } + + public Optional filetype() { + return filetype; + } + + /** + * Whether newline characters are allowed in JSON values. Turning this on may affect performance. Leave blank to default to False. + */ + public Optional newlinesInValues() { + return newlinesInValues; + } + + /** + * How JSON fields outside of explicit_schema (if given) are treated. Check <a href="https://arrow.apache.org/docs/python/generated/pyarrow.json.ParseOptions.html" target="_blank">PyArrow documentation</a> for details + */ + public Optional unexpectedFieldBehavior() { + return unexpectedFieldBehavior; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The chunk size in bytes to process at a time in memory from each file. If your data is particularly wide and failing during schema detection, increasing this should solve it. Beware of raising this too high as you could hit OOM errors. + */ + public Jsonl withBlockSize(long blockSize) { + Utils.checkNotNull(blockSize, "blockSize"); + this.blockSize = Optional.ofNullable(blockSize); + return this; + } + + /** + * The chunk size in bytes to process at a time in memory from each file. If your data is particularly wide and failing during schema detection, increasing this should solve it. Beware of raising this too high as you could hit OOM errors. + */ + public Jsonl withBlockSize(Optional blockSize) { + Utils.checkNotNull(blockSize, "blockSize"); + this.blockSize = blockSize; + return this; + } + + /** + * Whether newline characters are allowed in JSON values. Turning this on may affect performance. Leave blank to default to False. + */ + public Jsonl withNewlinesInValues(boolean newlinesInValues) { + Utils.checkNotNull(newlinesInValues, "newlinesInValues"); + this.newlinesInValues = Optional.ofNullable(newlinesInValues); + return this; + } + + /** + * Whether newline characters are allowed in JSON values. Turning this on may affect performance. Leave blank to default to False. + */ + public Jsonl withNewlinesInValues(Optional newlinesInValues) { + Utils.checkNotNull(newlinesInValues, "newlinesInValues"); + this.newlinesInValues = newlinesInValues; + return this; + } + + /** + * How JSON fields outside of explicit_schema (if given) are treated. Check <a href="https://arrow.apache.org/docs/python/generated/pyarrow.json.ParseOptions.html" target="_blank">PyArrow documentation</a> for details + */ + public Jsonl withUnexpectedFieldBehavior(UnexpectedFieldBehavior unexpectedFieldBehavior) { + Utils.checkNotNull(unexpectedFieldBehavior, "unexpectedFieldBehavior"); + this.unexpectedFieldBehavior = Optional.ofNullable(unexpectedFieldBehavior); + return this; + } + + /** + * How JSON fields outside of explicit_schema (if given) are treated. Check <a href="https://arrow.apache.org/docs/python/generated/pyarrow.json.ParseOptions.html" target="_blank">PyArrow documentation</a> for details + */ + public Jsonl withUnexpectedFieldBehavior(Optional unexpectedFieldBehavior) { + Utils.checkNotNull(unexpectedFieldBehavior, "unexpectedFieldBehavior"); + this.unexpectedFieldBehavior = unexpectedFieldBehavior; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Jsonl other = (Jsonl) o; + return + java.util.Objects.deepEquals(this.blockSize, other.blockSize) && + java.util.Objects.deepEquals(this.filetype, other.filetype) && + java.util.Objects.deepEquals(this.newlinesInValues, other.newlinesInValues) && + java.util.Objects.deepEquals(this.unexpectedFieldBehavior, other.unexpectedFieldBehavior); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + blockSize, + filetype, + newlinesInValues, + unexpectedFieldBehavior); + } + + @Override + public String toString() { + return Utils.toString(Jsonl.class, + "blockSize", blockSize, + "filetype", filetype, + "newlinesInValues", newlinesInValues, + "unexpectedFieldBehavior", unexpectedFieldBehavior); + } + + public final static class Builder { + + private Optional blockSize; + + private Optional newlinesInValues; + + private Optional unexpectedFieldBehavior; + + private Builder() { + // force use of static builder() method + } + + /** + * The chunk size in bytes to process at a time in memory from each file. If your data is particularly wide and failing during schema detection, increasing this should solve it. Beware of raising this too high as you could hit OOM errors. + */ + public Builder blockSize(long blockSize) { + Utils.checkNotNull(blockSize, "blockSize"); + this.blockSize = Optional.ofNullable(blockSize); + return this; + } + + /** + * The chunk size in bytes to process at a time in memory from each file. If your data is particularly wide and failing during schema detection, increasing this should solve it. Beware of raising this too high as you could hit OOM errors. + */ + public Builder blockSize(Optional blockSize) { + Utils.checkNotNull(blockSize, "blockSize"); + this.blockSize = blockSize; + return this; + } + + /** + * Whether newline characters are allowed in JSON values. Turning this on may affect performance. Leave blank to default to False. + */ + public Builder newlinesInValues(boolean newlinesInValues) { + Utils.checkNotNull(newlinesInValues, "newlinesInValues"); + this.newlinesInValues = Optional.ofNullable(newlinesInValues); + return this; + } + + /** + * Whether newline characters are allowed in JSON values. Turning this on may affect performance. Leave blank to default to False. + */ + public Builder newlinesInValues(Optional newlinesInValues) { + Utils.checkNotNull(newlinesInValues, "newlinesInValues"); + this.newlinesInValues = newlinesInValues; + return this; + } + + /** + * How JSON fields outside of explicit_schema (if given) are treated. Check <a href="https://arrow.apache.org/docs/python/generated/pyarrow.json.ParseOptions.html" target="_blank">PyArrow documentation</a> for details + */ + public Builder unexpectedFieldBehavior(UnexpectedFieldBehavior unexpectedFieldBehavior) { + Utils.checkNotNull(unexpectedFieldBehavior, "unexpectedFieldBehavior"); + this.unexpectedFieldBehavior = Optional.ofNullable(unexpectedFieldBehavior); + return this; + } + + /** + * How JSON fields outside of explicit_schema (if given) are treated. Check <a href="https://arrow.apache.org/docs/python/generated/pyarrow.json.ParseOptions.html" target="_blank">PyArrow documentation</a> for details + */ + public Builder unexpectedFieldBehavior(Optional unexpectedFieldBehavior) { + Utils.checkNotNull(unexpectedFieldBehavior, "unexpectedFieldBehavior"); + this.unexpectedFieldBehavior = unexpectedFieldBehavior; + return this; + } + + public Jsonl build() { + if (blockSize == null) { + blockSize = _SINGLETON_VALUE_BlockSize.value(); + } + if (newlinesInValues == null) { + newlinesInValues = _SINGLETON_VALUE_NewlinesInValues.value(); + } + if (unexpectedFieldBehavior == null) { + unexpectedFieldBehavior = _SINGLETON_VALUE_UnexpectedFieldBehavior.value(); + } + return new Jsonl( + blockSize, + newlinesInValues, + unexpectedFieldBehavior); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_BlockSize = + new LazySingletonValue<>( + "block_size", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"jsonl\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_NewlinesInValues = + new LazySingletonValue<>( + "newlines_in_values", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_UnexpectedFieldBehavior = + new LazySingletonValue<>( + "unexpected_field_behavior", + "\"infer\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/JsonlFormat.java b/src/main/java/com/airbyte/api/models/shared/JsonlFormat.java new file mode 100644 index 000000000..f75f67176 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/JsonlFormat.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class JsonlFormat { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + public JsonlFormat() { + + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + } + + public Optional filetype() { + return filetype; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JsonlFormat other = (JsonlFormat) o; + return + java.util.Objects.deepEquals(this.filetype, other.filetype); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filetype); + } + + @Override + public String toString() { + return Utils.toString(JsonlFormat.class, + "filetype", filetype); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public JsonlFormat build() { + return new JsonlFormat( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"jsonl\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/K6Cloud.java b/src/main/java/com/airbyte/api/models/shared/K6Cloud.java new file mode 100644 index 000000000..0b4e58639 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/K6Cloud.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum K6Cloud { + K6_CLOUD("k6-cloud"); + + @JsonValue + private final String value; + + private K6Cloud(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/KeyPairAuthentication.java b/src/main/java/com/airbyte/api/models/shared/KeyPairAuthentication.java new file mode 100644 index 000000000..b4842dfbd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/KeyPairAuthentication.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class KeyPairAuthentication { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * RSA Private key to use for Snowflake connection. See the <a href="https://docs.airbyte.com/integrations/destinations/snowflake">docs</a> for more information on how to obtain this key. + */ + @JsonProperty("private_key") + private String privateKey; + + /** + * Passphrase for private key + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("private_key_password") + private Optional privateKeyPassword; + + public KeyPairAuthentication( + @JsonProperty("private_key") String privateKey, + @JsonProperty("private_key_password") Optional privateKeyPassword) { + Utils.checkNotNull(privateKey, "privateKey"); + Utils.checkNotNull(privateKeyPassword, "privateKeyPassword"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.privateKey = privateKey; + this.privateKeyPassword = privateKeyPassword; + } + + public Optional authType() { + return authType; + } + + /** + * RSA Private key to use for Snowflake connection. See the <a href="https://docs.airbyte.com/integrations/destinations/snowflake">docs</a> for more information on how to obtain this key. + */ + public String privateKey() { + return privateKey; + } + + /** + * Passphrase for private key + */ + public Optional privateKeyPassword() { + return privateKeyPassword; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * RSA Private key to use for Snowflake connection. See the <a href="https://docs.airbyte.com/integrations/destinations/snowflake">docs</a> for more information on how to obtain this key. + */ + public KeyPairAuthentication withPrivateKey(String privateKey) { + Utils.checkNotNull(privateKey, "privateKey"); + this.privateKey = privateKey; + return this; + } + + /** + * Passphrase for private key + */ + public KeyPairAuthentication withPrivateKeyPassword(String privateKeyPassword) { + Utils.checkNotNull(privateKeyPassword, "privateKeyPassword"); + this.privateKeyPassword = Optional.ofNullable(privateKeyPassword); + return this; + } + + /** + * Passphrase for private key + */ + public KeyPairAuthentication withPrivateKeyPassword(Optional privateKeyPassword) { + Utils.checkNotNull(privateKeyPassword, "privateKeyPassword"); + this.privateKeyPassword = privateKeyPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + KeyPairAuthentication other = (KeyPairAuthentication) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.privateKey, other.privateKey) && + java.util.Objects.deepEquals(this.privateKeyPassword, other.privateKeyPassword); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + privateKey, + privateKeyPassword); + } + + @Override + public String toString() { + return Utils.toString(KeyPairAuthentication.class, + "authType", authType, + "privateKey", privateKey, + "privateKeyPassword", privateKeyPassword); + } + + public final static class Builder { + + private String privateKey; + + private Optional privateKeyPassword = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * RSA Private key to use for Snowflake connection. See the <a href="https://docs.airbyte.com/integrations/destinations/snowflake">docs</a> for more information on how to obtain this key. + */ + public Builder privateKey(String privateKey) { + Utils.checkNotNull(privateKey, "privateKey"); + this.privateKey = privateKey; + return this; + } + + /** + * Passphrase for private key + */ + public Builder privateKeyPassword(String privateKeyPassword) { + Utils.checkNotNull(privateKeyPassword, "privateKeyPassword"); + this.privateKeyPassword = Optional.ofNullable(privateKeyPassword); + return this; + } + + /** + * Passphrase for private key + */ + public Builder privateKeyPassword(Optional privateKeyPassword) { + Utils.checkNotNull(privateKeyPassword, "privateKeyPassword"); + this.privateKeyPassword = privateKeyPassword; + return this; + } + + public KeyPairAuthentication build() { + return new KeyPairAuthentication( + privateKey, + privateKeyPassword); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Key Pair Authentication\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Klarna.java b/src/main/java/com/airbyte/api/models/shared/Klarna.java new file mode 100644 index 000000000..1f7096514 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Klarna.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Klarna { + KLARNA("klarna"); + + @JsonValue + private final String value; + + private Klarna(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Klaviyo.java b/src/main/java/com/airbyte/api/models/shared/Klaviyo.java new file mode 100644 index 000000000..e4f6d6e02 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Klaviyo.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Klaviyo { + KLAVIYO("klaviyo"); + + @JsonValue + private final String value; + + private Klaviyo(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Kyve.java b/src/main/java/com/airbyte/api/models/shared/Kyve.java new file mode 100644 index 000000000..768657f36 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Kyve.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Kyve { + KYVE("kyve"); + + @JsonValue + private final String value; + + private Kyve(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Langchain.java b/src/main/java/com/airbyte/api/models/shared/Langchain.java new file mode 100644 index 000000000..506fe6637 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Langchain.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Langchain { + LANGCHAIN("langchain"); + + @JsonValue + private final String value; + + private Langchain(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Language.java b/src/main/java/com/airbyte/api/models/shared/Language.java new file mode 100644 index 000000000..12b19a65e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Language.java @@ -0,0 +1,50 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Language { + AR("ar"), + ZH("zh"), + NL("nl"), + EN("en"), + FR("fr"), + DE("de"), + EL("el"), + HE("he"), + HI("hi"), + IT("it"), + JA("ja"), + ML("ml"), + MR("mr"), + NO("no"), + PT("pt"), + RO("ro"), + RU("ru"), + ES("es"), + SV("sv"), + TA("ta"), + TE("te"), + UK("uk"); + + @JsonValue + private final String value; + + private Language(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Launchdarkly.java b/src/main/java/com/airbyte/api/models/shared/Launchdarkly.java new file mode 100644 index 000000000..6536e187b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Launchdarkly.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Launchdarkly { + LAUNCHDARKLY("launchdarkly"); + + @JsonValue + private final String value; + + private Launchdarkly(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Lemlist.java b/src/main/java/com/airbyte/api/models/shared/Lemlist.java new file mode 100644 index 000000000..d69441f63 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Lemlist.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Lemlist { + LEMLIST("lemlist"); + + @JsonValue + private final String value; + + private Lemlist(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Level.java b/src/main/java/com/airbyte/api/models/shared/Level.java new file mode 100644 index 000000000..92b58b102 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Level.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * Level - Chosen level for API + */ +public enum Level { + AD("ad"), + ADSET("adset"), + CAMPAIGN("campaign"), + ACCOUNT("account"); + + @JsonValue + private final String value; + + private Level(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/LeverHiring.java b/src/main/java/com/airbyte/api/models/shared/LeverHiring.java new file mode 100644 index 000000000..528afef61 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/LeverHiring.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class LeverHiring { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public LeverHiring( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public LeverHiring withCredentials(LeverHiringCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public LeverHiring withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LeverHiring other = (LeverHiring) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(LeverHiring.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(LeverHiringCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public LeverHiring build() { + return new LeverHiring( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/LeverHiringCredentials.java b/src/main/java/com/airbyte/api/models/shared/LeverHiringCredentials.java new file mode 100644 index 000000000..521b9fc82 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/LeverHiringCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class LeverHiringCredentials { + + /** + * The Client ID of your Lever Hiring developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your Lever Hiring developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public LeverHiringCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of your Lever Hiring developer application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your Lever Hiring developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your Lever Hiring developer application. + */ + public LeverHiringCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Lever Hiring developer application. + */ + public LeverHiringCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Lever Hiring developer application. + */ + public LeverHiringCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Lever Hiring developer application. + */ + public LeverHiringCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LeverHiringCredentials other = (LeverHiringCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(LeverHiringCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your Lever Hiring developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Lever Hiring developer application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Lever Hiring developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Lever Hiring developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public LeverHiringCredentials build() { + return new LeverHiringCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/LinkedinAds.java b/src/main/java/com/airbyte/api/models/shared/LinkedinAds.java new file mode 100644 index 000000000..c684605a5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/LinkedinAds.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class LinkedinAds { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public LinkedinAds( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public LinkedinAds withCredentials(LinkedinAdsCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public LinkedinAds withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkedinAds other = (LinkedinAds) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(LinkedinAds.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(LinkedinAdsCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public LinkedinAds build() { + return new LinkedinAds( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/LinkedinAdsCredentials.java b/src/main/java/com/airbyte/api/models/shared/LinkedinAdsCredentials.java new file mode 100644 index 000000000..55d83f2ad --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/LinkedinAdsCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class LinkedinAdsCredentials { + + /** + * The client ID of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The client secret of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public LinkedinAdsCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The client ID of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public Optional clientId() { + return clientId; + } + + /** + * The client secret of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The client ID of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public LinkedinAdsCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The client ID of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public LinkedinAdsCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public LinkedinAdsCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The client secret of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public LinkedinAdsCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkedinAdsCredentials other = (LinkedinAdsCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(LinkedinAdsCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The client ID of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The client ID of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The client secret of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public LinkedinAdsCredentials build() { + return new LinkedinAdsCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/LinkedinPages.java b/src/main/java/com/airbyte/api/models/shared/LinkedinPages.java new file mode 100644 index 000000000..07845c74a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/LinkedinPages.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum LinkedinPages { + LINKEDIN_PAGES("linkedin-pages"); + + @JsonValue + private final String value; + + private LinkedinPages(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Linnworks.java b/src/main/java/com/airbyte/api/models/shared/Linnworks.java new file mode 100644 index 000000000..e3f2e9a49 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Linnworks.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Linnworks { + LINNWORKS("linnworks"); + + @JsonValue + private final String value; + + private Linnworks(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/LoadingMethod.java b/src/main/java/com/airbyte/api/models/shared/LoadingMethod.java new file mode 100644 index 000000000..c80fd3800 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/LoadingMethod.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * LoadingMethod - The way data will be uploaded to BigQuery. + */ + +@JsonDeserialize(using = LoadingMethod._Deserializer.class) +public class LoadingMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private LoadingMethod(TypedObject value) { + this.value = value; + } + + public static LoadingMethod of(GCSStaging value) { + Utils.checkNotNull(value, "value"); + return new LoadingMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static LoadingMethod of(StandardInserts value) { + Utils.checkNotNull(value, "value"); + return new LoadingMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code GCSStaging}
    • + *
    • {@code StandardInserts}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LoadingMethod other = (LoadingMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(LoadingMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(LoadingMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/Local.java b/src/main/java/com/airbyte/api/models/shared/Local.java new file mode 100644 index 000000000..d2a48e17a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Local.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * Local - Process files locally, supporting `fast` and `ocr` modes. This is the default option. + */ + +public class Local { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public Local() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Local other = (Local) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(Local.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public Local build() { + return new Local( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"local\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/LoginPassword.java b/src/main/java/com/airbyte/api/models/shared/LoginPassword.java new file mode 100644 index 000000000..b75302cd3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/LoginPassword.java @@ -0,0 +1,160 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * LoginPassword - Login/Password. + */ + +public class LoginPassword { + + @JsonProperty("authorization") + private DestinationMongodbAuthorization authorization; + + /** + * Password associated with the username. + */ + @JsonProperty("password") + private String password; + + /** + * Username to use to access the database. + */ + @JsonProperty("username") + private String username; + + public LoginPassword( + @JsonProperty("password") String password, + @JsonProperty("username") String username) { + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(username, "username"); + this.authorization = Builder._SINGLETON_VALUE_Authorization.value(); + this.password = password; + this.username = username; + } + + public DestinationMongodbAuthorization authorization() { + return authorization; + } + + /** + * Password associated with the username. + */ + public String password() { + return password; + } + + /** + * Username to use to access the database. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Password associated with the username. + */ + public LoginPassword withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Username to use to access the database. + */ + public LoginPassword withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LoginPassword other = (LoginPassword) o; + return + java.util.Objects.deepEquals(this.authorization, other.authorization) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authorization, + password, + username); + } + + @Override + public String toString() { + return Utils.toString(LoginPassword.class, + "authorization", authorization, + "password", password, + "username", username); + } + + public final static class Builder { + + private String password; + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Password associated with the username. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Username to use to access the database. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public LoginPassword build() { + return new LoginPassword( + password, + username); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Authorization = + new LazySingletonValue<>( + "authorization", + "\"login/password\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Lokalise.java b/src/main/java/com/airbyte/api/models/shared/Lokalise.java new file mode 100644 index 000000000..3d175f07e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Lokalise.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Lokalise { + LOKALISE("lokalise"); + + @JsonValue + private final String value; + + private Lokalise(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Mailchimp.java b/src/main/java/com/airbyte/api/models/shared/Mailchimp.java new file mode 100644 index 000000000..989516552 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Mailchimp.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Mailchimp { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public Mailchimp( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public Mailchimp withCredentials(MailchimpCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Mailchimp withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Mailchimp other = (Mailchimp) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(Mailchimp.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(MailchimpCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Mailchimp build() { + return new Mailchimp( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/MailchimpCredentials.java b/src/main/java/com/airbyte/api/models/shared/MailchimpCredentials.java new file mode 100644 index 000000000..b4392cf61 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/MailchimpCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class MailchimpCredentials { + + /** + * The Client ID of your OAuth application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your OAuth application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public MailchimpCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of your OAuth application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your OAuth application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your OAuth application. + */ + public MailchimpCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your OAuth application. + */ + public MailchimpCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public MailchimpCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public MailchimpCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MailchimpCredentials other = (MailchimpCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(MailchimpCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your OAuth application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your OAuth application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public MailchimpCredentials build() { + return new MailchimpCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Mailgun.java b/src/main/java/com/airbyte/api/models/shared/Mailgun.java new file mode 100644 index 000000000..b7ec68aa5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Mailgun.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Mailgun { + MAILGUN("mailgun"); + + @JsonValue + private final String value; + + private Mailgun(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/MailjetSms.java b/src/main/java/com/airbyte/api/models/shared/MailjetSms.java new file mode 100644 index 000000000..39d735875 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/MailjetSms.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum MailjetSms { + MAILJET_SMS("mailjet-sms"); + + @JsonValue + private final String value; + + private MailjetSms(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Marketo.java b/src/main/java/com/airbyte/api/models/shared/Marketo.java new file mode 100644 index 000000000..fb5e2d142 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Marketo.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Marketo { + MARKETO("marketo"); + + @JsonValue + private final String value; + + private Marketo(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Metabase.java b/src/main/java/com/airbyte/api/models/shared/Metabase.java new file mode 100644 index 000000000..a08aefe89 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Metabase.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Metabase { + METABASE("metabase"); + + @JsonValue + private final String value; + + private Metabase(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Method.java b/src/main/java/com/airbyte/api/models/shared/Method.java new file mode 100644 index 000000000..62576d3d3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Method.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Method { + GCS_STAGING("GCS Staging"); + + @JsonValue + private final String value; + + private Method(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/MetricsFilter.java b/src/main/java/com/airbyte/api/models/shared/MetricsFilter.java new file mode 100644 index 000000000..7e83d1b82 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/MetricsFilter.java @@ -0,0 +1,115 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * MetricsFilter - Metrics filter + */ + +@JsonDeserialize(using = MetricsFilter._Deserializer.class) +public class MetricsFilter { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private MetricsFilter(TypedObject value) { + this.value = value; + } + + public static MetricsFilter of(SourceGoogleAnalyticsDataApiAndGroup value) { + Utils.checkNotNull(value, "value"); + return new MetricsFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static MetricsFilter of(SourceGoogleAnalyticsDataApiOrGroup value) { + Utils.checkNotNull(value, "value"); + return new MetricsFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static MetricsFilter of(SourceGoogleAnalyticsDataApiNotExpression value) { + Utils.checkNotNull(value, "value"); + return new MetricsFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static MetricsFilter of(SourceGoogleAnalyticsDataApiFilter value) { + Utils.checkNotNull(value, "value"); + return new MetricsFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiAndGroup}
    • + *
    • {@code SourceGoogleAnalyticsDataApiOrGroup}
    • + *
    • {@code SourceGoogleAnalyticsDataApiNotExpression}
    • + *
    • {@code SourceGoogleAnalyticsDataApiFilter}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MetricsFilter other = (MetricsFilter) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(MetricsFilter.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(MetricsFilter.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/MicrosoftOnedrive.java b/src/main/java/com/airbyte/api/models/shared/MicrosoftOnedrive.java new file mode 100644 index 000000000..bb074b6ea --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/MicrosoftOnedrive.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class MicrosoftOnedrive { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public MicrosoftOnedrive( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public MicrosoftOnedrive withCredentials(MicrosoftOnedriveCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public MicrosoftOnedrive withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MicrosoftOnedrive other = (MicrosoftOnedrive) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(MicrosoftOnedrive.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(MicrosoftOnedriveCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public MicrosoftOnedrive build() { + return new MicrosoftOnedrive( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/MicrosoftOnedriveCredentials.java b/src/main/java/com/airbyte/api/models/shared/MicrosoftOnedriveCredentials.java new file mode 100644 index 000000000..e182ce3c0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/MicrosoftOnedriveCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class MicrosoftOnedriveCredentials { + + /** + * Client ID of your Microsoft developer application + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * Client Secret of your Microsoft developer application + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public MicrosoftOnedriveCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * Client ID of your Microsoft developer application + */ + public Optional clientId() { + return clientId; + } + + /** + * Client Secret of your Microsoft developer application + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Client ID of your Microsoft developer application + */ + public MicrosoftOnedriveCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Client ID of your Microsoft developer application + */ + public MicrosoftOnedriveCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret of your Microsoft developer application + */ + public MicrosoftOnedriveCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Client Secret of your Microsoft developer application + */ + public MicrosoftOnedriveCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MicrosoftOnedriveCredentials other = (MicrosoftOnedriveCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(MicrosoftOnedriveCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Client ID of your Microsoft developer application + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Client ID of your Microsoft developer application + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret of your Microsoft developer application + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Client Secret of your Microsoft developer application + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public MicrosoftOnedriveCredentials build() { + return new MicrosoftOnedriveCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/MicrosoftSharepoint.java b/src/main/java/com/airbyte/api/models/shared/MicrosoftSharepoint.java new file mode 100644 index 000000000..8f93a0eb5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/MicrosoftSharepoint.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class MicrosoftSharepoint { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public MicrosoftSharepoint( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public MicrosoftSharepoint withCredentials(MicrosoftSharepointCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public MicrosoftSharepoint withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MicrosoftSharepoint other = (MicrosoftSharepoint) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(MicrosoftSharepoint.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(MicrosoftSharepointCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public MicrosoftSharepoint build() { + return new MicrosoftSharepoint( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/MicrosoftSharepointCredentials.java b/src/main/java/com/airbyte/api/models/shared/MicrosoftSharepointCredentials.java new file mode 100644 index 000000000..ab3dc759b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/MicrosoftSharepointCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class MicrosoftSharepointCredentials { + + /** + * Client ID of your Microsoft developer application + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * Client Secret of your Microsoft developer application + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public MicrosoftSharepointCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * Client ID of your Microsoft developer application + */ + public Optional clientId() { + return clientId; + } + + /** + * Client Secret of your Microsoft developer application + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Client ID of your Microsoft developer application + */ + public MicrosoftSharepointCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Client ID of your Microsoft developer application + */ + public MicrosoftSharepointCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret of your Microsoft developer application + */ + public MicrosoftSharepointCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Client Secret of your Microsoft developer application + */ + public MicrosoftSharepointCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MicrosoftSharepointCredentials other = (MicrosoftSharepointCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(MicrosoftSharepointCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Client ID of your Microsoft developer application + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Client ID of your Microsoft developer application + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret of your Microsoft developer application + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Client Secret of your Microsoft developer application + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public MicrosoftSharepointCredentials build() { + return new MicrosoftSharepointCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/MicrosoftTeams.java b/src/main/java/com/airbyte/api/models/shared/MicrosoftTeams.java new file mode 100644 index 000000000..53697aa5e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/MicrosoftTeams.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class MicrosoftTeams { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public MicrosoftTeams( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public MicrosoftTeams withCredentials(MicrosoftTeamsCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public MicrosoftTeams withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MicrosoftTeams other = (MicrosoftTeams) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(MicrosoftTeams.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(MicrosoftTeamsCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public MicrosoftTeams build() { + return new MicrosoftTeams( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/MicrosoftTeamsCredentials.java b/src/main/java/com/airbyte/api/models/shared/MicrosoftTeamsCredentials.java new file mode 100644 index 000000000..ad703da42 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/MicrosoftTeamsCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class MicrosoftTeamsCredentials { + + /** + * The Client ID of your Microsoft Teams developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your Microsoft Teams developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public MicrosoftTeamsCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of your Microsoft Teams developer application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your Microsoft Teams developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your Microsoft Teams developer application. + */ + public MicrosoftTeamsCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Microsoft Teams developer application. + */ + public MicrosoftTeamsCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Microsoft Teams developer application. + */ + public MicrosoftTeamsCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Microsoft Teams developer application. + */ + public MicrosoftTeamsCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MicrosoftTeamsCredentials other = (MicrosoftTeamsCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(MicrosoftTeamsCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your Microsoft Teams developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Microsoft Teams developer application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Microsoft Teams developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Microsoft Teams developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public MicrosoftTeamsCredentials build() { + return new MicrosoftTeamsCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Milvus.java b/src/main/java/com/airbyte/api/models/shared/Milvus.java new file mode 100644 index 000000000..5d04f8848 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Milvus.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Milvus { + MILVUS("milvus"); + + @JsonValue + private final String value; + + private Milvus(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Mixpanel.java b/src/main/java/com/airbyte/api/models/shared/Mixpanel.java new file mode 100644 index 000000000..abb536340 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Mixpanel.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Mixpanel { + MIXPANEL("mixpanel"); + + @JsonValue + private final String value; + + private Mixpanel(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Mode.java b/src/main/java/com/airbyte/api/models/shared/Mode.java new file mode 100644 index 000000000..6769826f0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Mode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Mode { + DISABLE("disable"); + + @JsonValue + private final String value; + + private Mode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Monday.java b/src/main/java/com/airbyte/api/models/shared/Monday.java new file mode 100644 index 000000000..de257026b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Monday.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Monday { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public Monday( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public Monday withCredentials(MondayCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Monday withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Monday other = (Monday) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(Monday.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(MondayCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Monday build() { + return new Monday( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/MondayCredentials.java b/src/main/java/com/airbyte/api/models/shared/MondayCredentials.java new file mode 100644 index 000000000..0947fd5fb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/MondayCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class MondayCredentials { + + /** + * The Client ID of your OAuth application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your OAuth application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public MondayCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of your OAuth application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your OAuth application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your OAuth application. + */ + public MondayCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your OAuth application. + */ + public MondayCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public MondayCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public MondayCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MondayCredentials other = (MondayCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(MondayCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your OAuth application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your OAuth application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public MondayCredentials build() { + return new MondayCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/MongoDBAtlas.java b/src/main/java/com/airbyte/api/models/shared/MongoDBAtlas.java new file mode 100644 index 000000000..1fe7b8d30 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/MongoDBAtlas.java @@ -0,0 +1,153 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class MongoDBAtlas { + + /** + * URL of a cluster to connect to. + */ + @JsonProperty("cluster_url") + private String clusterUrl; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("instance") + private Optional instance; + + public MongoDBAtlas( + @JsonProperty("cluster_url") String clusterUrl, + @JsonProperty("instance") Optional instance) { + Utils.checkNotNull(clusterUrl, "clusterUrl"); + Utils.checkNotNull(instance, "instance"); + this.clusterUrl = clusterUrl; + this.instance = instance; + } + + /** + * URL of a cluster to connect to. + */ + public String clusterUrl() { + return clusterUrl; + } + + public Optional instance() { + return instance; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * URL of a cluster to connect to. + */ + public MongoDBAtlas withClusterUrl(String clusterUrl) { + Utils.checkNotNull(clusterUrl, "clusterUrl"); + this.clusterUrl = clusterUrl; + return this; + } + + public MongoDBAtlas withInstance(DestinationMongodbSchemasInstance instance) { + Utils.checkNotNull(instance, "instance"); + this.instance = Optional.ofNullable(instance); + return this; + } + + public MongoDBAtlas withInstance(Optional instance) { + Utils.checkNotNull(instance, "instance"); + this.instance = instance; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MongoDBAtlas other = (MongoDBAtlas) o; + return + java.util.Objects.deepEquals(this.clusterUrl, other.clusterUrl) && + java.util.Objects.deepEquals(this.instance, other.instance); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clusterUrl, + instance); + } + + @Override + public String toString() { + return Utils.toString(MongoDBAtlas.class, + "clusterUrl", clusterUrl, + "instance", instance); + } + + public final static class Builder { + + private String clusterUrl; + + private Optional instance; + + private Builder() { + // force use of static builder() method + } + + /** + * URL of a cluster to connect to. + */ + public Builder clusterUrl(String clusterUrl) { + Utils.checkNotNull(clusterUrl, "clusterUrl"); + this.clusterUrl = clusterUrl; + return this; + } + + public Builder instance(DestinationMongodbSchemasInstance instance) { + Utils.checkNotNull(instance, "instance"); + this.instance = Optional.ofNullable(instance); + return this; + } + + public Builder instance(Optional instance) { + Utils.checkNotNull(instance, "instance"); + this.instance = instance; + return this; + } + + public MongoDBAtlas build() { + if (instance == null) { + instance = _SINGLETON_VALUE_Instance.value(); + } + return new MongoDBAtlas( + clusterUrl, + instance); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Instance = + new LazySingletonValue<>( + "instance", + "\"atlas\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/MongoDbInstanceType.java b/src/main/java/com/airbyte/api/models/shared/MongoDbInstanceType.java new file mode 100644 index 000000000..1a4bee915 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/MongoDbInstanceType.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * MongoDbInstanceType - MongoDb instance to connect to. For MongoDB Atlas and Replica Set TLS connection is used by default. + */ + +@JsonDeserialize(using = MongoDbInstanceType._Deserializer.class) +public class MongoDbInstanceType { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private MongoDbInstanceType(TypedObject value) { + this.value = value; + } + + public static MongoDbInstanceType of(StandaloneMongoDbInstance value) { + Utils.checkNotNull(value, "value"); + return new MongoDbInstanceType(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static MongoDbInstanceType of(ReplicaSet value) { + Utils.checkNotNull(value, "value"); + return new MongoDbInstanceType(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static MongoDbInstanceType of(MongoDBAtlas value) { + Utils.checkNotNull(value, "value"); + return new MongoDbInstanceType(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code StandaloneMongoDbInstance}
    • + *
    • {@code ReplicaSet}
    • + *
    • {@code MongoDBAtlas}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MongoDbInstanceType other = (MongoDbInstanceType) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(MongoDbInstanceType.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(MongoDbInstanceType.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/Mongodb.java b/src/main/java/com/airbyte/api/models/shared/Mongodb.java new file mode 100644 index 000000000..5979b8831 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Mongodb.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Mongodb { + MONGODB("mongodb"); + + @JsonValue + private final String value; + + private Mongodb(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/MongodbInternalPoc.java b/src/main/java/com/airbyte/api/models/shared/MongodbInternalPoc.java new file mode 100644 index 000000000..3fd686cc5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/MongodbInternalPoc.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum MongodbInternalPoc { + MONGODB_INTERNAL_POC("mongodb-internal-poc"); + + @JsonValue + private final String value; + + private MongodbInternalPoc(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/MongodbV2.java b/src/main/java/com/airbyte/api/models/shared/MongodbV2.java new file mode 100644 index 000000000..b3d924260 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/MongodbV2.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum MongodbV2 { + MONGODB_V2("mongodb-v2"); + + @JsonValue + private final String value; + + private MongodbV2(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Mssql.java b/src/main/java/com/airbyte/api/models/shared/Mssql.java new file mode 100644 index 000000000..3480acf7a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Mssql.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Mssql { + MSSQL("mssql"); + + @JsonValue + private final String value; + + private Mssql(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/MyHours.java b/src/main/java/com/airbyte/api/models/shared/MyHours.java new file mode 100644 index 000000000..8d0be8852 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/MyHours.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum MyHours { + MY_HOURS("my-hours"); + + @JsonValue + private final String value; + + private MyHours(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Mysql.java b/src/main/java/com/airbyte/api/models/shared/Mysql.java new file mode 100644 index 000000000..2a4ab152d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Mysql.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Mysql { + MYSQL("mysql"); + + @JsonValue + private final String value; + + private Mysql(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/NamespaceDefinitionEnum.java b/src/main/java/com/airbyte/api/models/shared/NamespaceDefinitionEnum.java new file mode 100644 index 000000000..0455ac346 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/NamespaceDefinitionEnum.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * NamespaceDefinitionEnum - Define the location where the data will be stored in the destination + */ +public enum NamespaceDefinitionEnum { + SOURCE("source"), + DESTINATION("destination"), + CUSTOM_FORMAT("custom_format"); + + @JsonValue + private final String value; + + private NamespaceDefinitionEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/NamespaceDefinitionEnumNoDefault.java b/src/main/java/com/airbyte/api/models/shared/NamespaceDefinitionEnumNoDefault.java new file mode 100644 index 000000000..d70c3e0bb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/NamespaceDefinitionEnumNoDefault.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * NamespaceDefinitionEnumNoDefault - Define the location where the data will be stored in the destination + */ +public enum NamespaceDefinitionEnumNoDefault { + SOURCE("source"), + DESTINATION("destination"), + CUSTOM_FORMAT("custom_format"); + + @JsonValue + private final String value; + + private NamespaceDefinitionEnumNoDefault(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/NativeNetworkEncryptionNNE.java b/src/main/java/com/airbyte/api/models/shared/NativeNetworkEncryptionNNE.java new file mode 100644 index 000000000..d71c34c15 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/NativeNetworkEncryptionNNE.java @@ -0,0 +1,151 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * NativeNetworkEncryptionNNE - The native network encryption gives you the ability to encrypt database connections, without the configuration overhead of TCP/IP and SSL/TLS and without the need to open and listen on different ports. + */ + +public class NativeNetworkEncryptionNNE { + + /** + * This parameter defines what encryption algorithm is used. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("encryption_algorithm") + private Optional encryptionAlgorithm; + + @JsonProperty("encryption_method") + private EncryptionMethod encryptionMethod; + + public NativeNetworkEncryptionNNE( + @JsonProperty("encryption_algorithm") Optional encryptionAlgorithm) { + Utils.checkNotNull(encryptionAlgorithm, "encryptionAlgorithm"); + this.encryptionAlgorithm = encryptionAlgorithm; + this.encryptionMethod = Builder._SINGLETON_VALUE_EncryptionMethod.value(); + } + + /** + * This parameter defines what encryption algorithm is used. + */ + public Optional encryptionAlgorithm() { + return encryptionAlgorithm; + } + + public EncryptionMethod encryptionMethod() { + return encryptionMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * This parameter defines what encryption algorithm is used. + */ + public NativeNetworkEncryptionNNE withEncryptionAlgorithm(EncryptionAlgorithm encryptionAlgorithm) { + Utils.checkNotNull(encryptionAlgorithm, "encryptionAlgorithm"); + this.encryptionAlgorithm = Optional.ofNullable(encryptionAlgorithm); + return this; + } + + /** + * This parameter defines what encryption algorithm is used. + */ + public NativeNetworkEncryptionNNE withEncryptionAlgorithm(Optional encryptionAlgorithm) { + Utils.checkNotNull(encryptionAlgorithm, "encryptionAlgorithm"); + this.encryptionAlgorithm = encryptionAlgorithm; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NativeNetworkEncryptionNNE other = (NativeNetworkEncryptionNNE) o; + return + java.util.Objects.deepEquals(this.encryptionAlgorithm, other.encryptionAlgorithm) && + java.util.Objects.deepEquals(this.encryptionMethod, other.encryptionMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + encryptionAlgorithm, + encryptionMethod); + } + + @Override + public String toString() { + return Utils.toString(NativeNetworkEncryptionNNE.class, + "encryptionAlgorithm", encryptionAlgorithm, + "encryptionMethod", encryptionMethod); + } + + public final static class Builder { + + private Optional encryptionAlgorithm; + + private Builder() { + // force use of static builder() method + } + + /** + * This parameter defines what encryption algorithm is used. + */ + public Builder encryptionAlgorithm(EncryptionAlgorithm encryptionAlgorithm) { + Utils.checkNotNull(encryptionAlgorithm, "encryptionAlgorithm"); + this.encryptionAlgorithm = Optional.ofNullable(encryptionAlgorithm); + return this; + } + + /** + * This parameter defines what encryption algorithm is used. + */ + public Builder encryptionAlgorithm(Optional encryptionAlgorithm) { + Utils.checkNotNull(encryptionAlgorithm, "encryptionAlgorithm"); + this.encryptionAlgorithm = encryptionAlgorithm; + return this; + } + + public NativeNetworkEncryptionNNE build() { + if (encryptionAlgorithm == null) { + encryptionAlgorithm = _SINGLETON_VALUE_EncryptionAlgorithm.value(); + } + return new NativeNetworkEncryptionNNE( + encryptionAlgorithm); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_EncryptionAlgorithm = + new LazySingletonValue<>( + "encryption_algorithm", + "\"AES256\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_EncryptionMethod = + new LazySingletonValue<>( + "encryption_method", + "\"client_nne\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Netsuite.java b/src/main/java/com/airbyte/api/models/shared/Netsuite.java new file mode 100644 index 000000000..90df7ae1b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Netsuite.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Netsuite { + NETSUITE("netsuite"); + + @JsonValue + private final String value; + + private Netsuite(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/NoAuth.java b/src/main/java/com/airbyte/api/models/shared/NoAuth.java new file mode 100644 index 000000000..61b7c534a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/NoAuth.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * NoAuth - Do not authenticate (suitable for locally running test clusters, do not use for clusters with public IP addresses) + */ + +public class NoAuth { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public NoAuth() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NoAuth other = (NoAuth) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(NoAuth.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public NoAuth build() { + return new NoAuth( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"no_auth\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/NoAuthentication.java b/src/main/java/com/airbyte/api/models/shared/NoAuthentication.java new file mode 100644 index 000000000..ac17f3058 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/NoAuthentication.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * NoAuthentication - Do not authenticate (suitable for locally running test clusters, do not use for clusters with public IP addresses) + */ + +public class NoAuthentication { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public NoAuthentication() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NoAuthentication other = (NoAuthentication) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(NoAuthentication.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public NoAuthentication build() { + return new NoAuthentication( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"no_auth\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/NoCompression.java b/src/main/java/com/airbyte/api/models/shared/NoCompression.java new file mode 100644 index 000000000..b077596f6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/NoCompression.java @@ -0,0 +1,113 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class NoCompression { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("codec") + private Optional codec; + + public NoCompression( + @JsonProperty("codec") Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + } + + public Optional codec() { + return codec; + } + + public final static Builder builder() { + return new Builder(); + } + + public NoCompression withCodec(Codec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public NoCompression withCodec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NoCompression other = (NoCompression) o; + return + java.util.Objects.deepEquals(this.codec, other.codec); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + codec); + } + + @Override + public String toString() { + return Utils.toString(NoCompression.class, + "codec", codec); + } + + public final static class Builder { + + private Optional codec; + + private Builder() { + // force use of static builder() method + } + + public Builder codec(Codec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public Builder codec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + public NoCompression build() { + if (codec == null) { + codec = _SINGLETON_VALUE_Codec.value(); + } + return new NoCompression( + codec); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Codec = + new LazySingletonValue<>( + "codec", + "\"no compression\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/NoEncryption.java b/src/main/java/com/airbyte/api/models/shared/NoEncryption.java new file mode 100644 index 000000000..a7a3e5a51 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/NoEncryption.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * NoEncryption - Staging data will be stored in plaintext. + */ + +public class NoEncryption { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("encryption_type") + private Optional encryptionType; + + public NoEncryption() { + + this.encryptionType = Builder._SINGLETON_VALUE_EncryptionType.value(); + } + + public Optional encryptionType() { + return encryptionType; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NoEncryption other = (NoEncryption) o; + return + java.util.Objects.deepEquals(this.encryptionType, other.encryptionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + encryptionType); + } + + @Override + public String toString() { + return Utils.toString(NoEncryption.class, + "encryptionType", encryptionType); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public NoEncryption build() { + return new NoEncryption( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_EncryptionType = + new LazySingletonValue<>( + "encryption_type", + "\"none\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/NoExternalEmbedding.java b/src/main/java/com/airbyte/api/models/shared/NoExternalEmbedding.java new file mode 100644 index 000000000..7b03e78d7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/NoExternalEmbedding.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * NoExternalEmbedding - Do not calculate and pass embeddings to Weaviate. Suitable for clusters with configured vectorizers to calculate embeddings within Weaviate or for classes that should only support regular text search. + */ + +public class NoExternalEmbedding { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public NoExternalEmbedding() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NoExternalEmbedding other = (NoExternalEmbedding) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(NoExternalEmbedding.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public NoExternalEmbedding build() { + return new NoExternalEmbedding( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"no_embedding\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/NoTunnel.java b/src/main/java/com/airbyte/api/models/shared/NoTunnel.java new file mode 100644 index 000000000..314dd8c03 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/NoTunnel.java @@ -0,0 +1,85 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class NoTunnel { + + /** + * No ssh tunnel needed to connect to database + */ + @JsonProperty("tunnel_method") + private TunnelMethod tunnelMethod; + + public NoTunnel() { + + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + } + + /** + * No ssh tunnel needed to connect to database + */ + public TunnelMethod tunnelMethod() { + return tunnelMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NoTunnel other = (NoTunnel) o; + return + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelMethod); + } + + @Override + public String toString() { + return Utils.toString(NoTunnel.class, + "tunnelMethod", tunnelMethod); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public NoTunnel build() { + return new NoTunnel( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"NO_TUNNEL\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/NonBreakingSchemaUpdatesBehaviorEnum.java b/src/main/java/com/airbyte/api/models/shared/NonBreakingSchemaUpdatesBehaviorEnum.java new file mode 100644 index 000000000..4fd4cb018 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/NonBreakingSchemaUpdatesBehaviorEnum.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * NonBreakingSchemaUpdatesBehaviorEnum - Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ +public enum NonBreakingSchemaUpdatesBehaviorEnum { + IGNORE("ignore"), + DISABLE_CONNECTION("disable_connection"), + PROPAGATE_COLUMNS("propagate_columns"), + PROPAGATE_FULLY("propagate_fully"); + + @JsonValue + private final String value; + + private NonBreakingSchemaUpdatesBehaviorEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/NonBreakingSchemaUpdatesBehaviorEnumNoDefault.java b/src/main/java/com/airbyte/api/models/shared/NonBreakingSchemaUpdatesBehaviorEnumNoDefault.java new file mode 100644 index 000000000..4173055fc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/NonBreakingSchemaUpdatesBehaviorEnumNoDefault.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * NonBreakingSchemaUpdatesBehaviorEnumNoDefault - Set how Airbyte handles syncs when it detects a non-breaking schema change in the source + */ +public enum NonBreakingSchemaUpdatesBehaviorEnumNoDefault { + IGNORE("ignore"), + DISABLE_CONNECTION("disable_connection"), + PROPAGATE_COLUMNS("propagate_columns"), + PROPAGATE_FULLY("propagate_fully"); + + @JsonValue + private final String value; + + private NonBreakingSchemaUpdatesBehaviorEnumNoDefault(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/None.java b/src/main/java/com/airbyte/api/models/shared/None.java new file mode 100644 index 000000000..acca1af05 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/None.java @@ -0,0 +1,82 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * None - None. + */ + +public class None { + + @JsonProperty("authorization") + private DestinationMongodbSchemasAuthorization authorization; + + public None() { + + this.authorization = Builder._SINGLETON_VALUE_Authorization.value(); + } + + public DestinationMongodbSchemasAuthorization authorization() { + return authorization; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + None other = (None) o; + return + java.util.Objects.deepEquals(this.authorization, other.authorization); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authorization); + } + + @Override + public String toString() { + return Utils.toString(None.class, + "authorization", authorization); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public None build() { + return new None( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Authorization = + new LazySingletonValue<>( + "authorization", + "\"none\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Normalization.java b/src/main/java/com/airbyte/api/models/shared/Normalization.java new file mode 100644 index 000000000..9fe6754c9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Normalization.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * Normalization - Whether the input JSON data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ +public enum Normalization { + NO_FLATTENING("No flattening"), + ROOT_LEVEL_FLATTENING("Root level flattening"); + + @JsonValue + private final String value; + + private Normalization(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/NormalizationFlattening.java b/src/main/java/com/airbyte/api/models/shared/NormalizationFlattening.java new file mode 100644 index 000000000..b0ef8b224 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/NormalizationFlattening.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * NormalizationFlattening - Whether the input json data should be normalized (flattened) in the output CSV. Please refer to docs for details. + */ +public enum NormalizationFlattening { + NO_FLATTENING("No flattening"), + ROOT_LEVEL_FLATTENING("Root level flattening"); + + @JsonValue + private final String value; + + private NormalizationFlattening(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/NotExpression.java b/src/main/java/com/airbyte/api/models/shared/NotExpression.java new file mode 100644 index 000000000..b4f2a53f2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/NotExpression.java @@ -0,0 +1,125 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * NotExpression - The FilterExpression is NOT of notExpression. + */ + +public class NotExpression { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("expression") + private Optional expression; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filter_type") + private Optional filterType; + + public NotExpression( + @JsonProperty("expression") Optional expression) { + Utils.checkNotNull(expression, "expression"); + this.expression = expression; + this.filterType = Builder._SINGLETON_VALUE_FilterType.value(); + } + + public Optional expression() { + return expression; + } + + public Optional filterType() { + return filterType; + } + + public final static Builder builder() { + return new Builder(); + } + + public NotExpression withExpression(SourceGoogleAnalyticsDataApiSchemasExpression expression) { + Utils.checkNotNull(expression, "expression"); + this.expression = Optional.ofNullable(expression); + return this; + } + + public NotExpression withExpression(Optional expression) { + Utils.checkNotNull(expression, "expression"); + this.expression = expression; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NotExpression other = (NotExpression) o; + return + java.util.Objects.deepEquals(this.expression, other.expression) && + java.util.Objects.deepEquals(this.filterType, other.filterType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + expression, + filterType); + } + + @Override + public String toString() { + return Utils.toString(NotExpression.class, + "expression", expression, + "filterType", filterType); + } + + public final static class Builder { + + private Optional expression = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder expression(SourceGoogleAnalyticsDataApiSchemasExpression expression) { + Utils.checkNotNull(expression, "expression"); + this.expression = Optional.ofNullable(expression); + return this; + } + + public Builder expression(Optional expression) { + Utils.checkNotNull(expression, "expression"); + this.expression = expression; + return this; + } + + public NotExpression build() { + return new NotExpression( + expression); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_FilterType = + new LazySingletonValue<>( + "filter_type", + "\"notExpression\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Notion.java b/src/main/java/com/airbyte/api/models/shared/Notion.java new file mode 100644 index 000000000..221635e84 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Notion.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Notion { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public Notion( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public Notion withCredentials(NotionCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Notion withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Notion other = (Notion) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(Notion.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(NotionCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Notion build() { + return new Notion( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/NotionCredentials.java b/src/main/java/com/airbyte/api/models/shared/NotionCredentials.java new file mode 100644 index 000000000..5d8744116 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/NotionCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class NotionCredentials { + + /** + * The Client ID of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public NotionCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public NotionCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public NotionCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public NotionCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public NotionCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NotionCredentials other = (NotionCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(NotionCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public NotionCredentials build() { + return new NotionCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Nullable.java b/src/main/java/com/airbyte/api/models/shared/Nullable.java new file mode 100644 index 000000000..52e35963f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Nullable.java @@ -0,0 +1,31 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Nullable { + TITLE("title"), + DESCRIPTION("description"), + CONTENT("content"); + + @JsonValue + private final String value; + + private Nullable(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/NumericFilter.java b/src/main/java/com/airbyte/api/models/shared/NumericFilter.java new file mode 100644 index 000000000..e821fbddd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/NumericFilter.java @@ -0,0 +1,133 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class NumericFilter { + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasFilterName filterName; + + @JsonProperty("operation") + private java.util.List operation; + + @JsonProperty("value") + private Value value; + + public NumericFilter( + @JsonProperty("operation") java.util.List operation, + @JsonProperty("value") Value value) { + Utils.checkNotNull(operation, "operation"); + Utils.checkNotNull(value, "value"); + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.operation = operation; + this.value = value; + } + + public SourceGoogleAnalyticsDataApiSchemasFilterName filterName() { + return filterName; + } + + public java.util.List operation() { + return operation; + } + + public Value value() { + return value; + } + + public final static Builder builder() { + return new Builder(); + } + + public NumericFilter withOperation(java.util.List operation) { + Utils.checkNotNull(operation, "operation"); + this.operation = operation; + return this; + } + + public NumericFilter withValue(Value value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NumericFilter other = (NumericFilter) o; + return + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.operation, other.operation) && + java.util.Objects.deepEquals(this.value, other.value); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filterName, + operation, + value); + } + + @Override + public String toString() { + return Utils.toString(NumericFilter.class, + "filterName", filterName, + "operation", operation, + "value", value); + } + + public final static class Builder { + + private java.util.List operation; + + private Value value; + + private Builder() { + // force use of static builder() method + } + + public Builder operation(java.util.List operation) { + Utils.checkNotNull(operation, "operation"); + this.operation = operation; + return this; + } + + public Builder value(Value value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public NumericFilter build() { + return new NumericFilter( + operation, + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"numericFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Nytimes.java b/src/main/java/com/airbyte/api/models/shared/Nytimes.java new file mode 100644 index 000000000..2dd88a031 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Nytimes.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Nytimes { + NYTIMES("nytimes"); + + @JsonValue + private final String value; + + private Nytimes(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/OAuth.java b/src/main/java/com/airbyte/api/models/shared/OAuth.java new file mode 100644 index 000000000..af0b6575a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/OAuth.java @@ -0,0 +1,239 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class OAuth { + + /** + * OAuth access token + */ + @JsonProperty("access_token") + private String accessToken; + + /** + * OAuth Client Id + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * OAuth Client secret + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("option_title") + private Optional optionTitle; + + public OAuth( + @JsonProperty("access_token") String accessToken, + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.accessToken = accessToken; + this.clientId = clientId; + this.clientSecret = clientSecret; + this.optionTitle = Builder._SINGLETON_VALUE_OptionTitle.value(); + } + + /** + * OAuth access token + */ + public String accessToken() { + return accessToken; + } + + /** + * OAuth Client Id + */ + public Optional clientId() { + return clientId; + } + + /** + * OAuth Client secret + */ + public Optional clientSecret() { + return clientSecret; + } + + public Optional optionTitle() { + return optionTitle; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OAuth access token + */ + public OAuth withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * OAuth Client Id + */ + public OAuth withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * OAuth Client Id + */ + public OAuth withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * OAuth Client secret + */ + public OAuth withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * OAuth Client secret + */ + public OAuth withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OAuth other = (OAuth) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.optionTitle, other.optionTitle); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + clientId, + clientSecret, + optionTitle); + } + + @Override + public String toString() { + return Utils.toString(OAuth.class, + "accessToken", accessToken, + "clientId", clientId, + "clientSecret", clientSecret, + "optionTitle", optionTitle); + } + + public final static class Builder { + + private String accessToken; + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * OAuth access token + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * OAuth Client Id + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * OAuth Client Id + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * OAuth Client secret + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * OAuth Client secret + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public OAuth build() { + return new OAuth( + accessToken, + clientId, + clientSecret); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_OptionTitle = + new LazySingletonValue<>( + "option_title", + "\"OAuth Credentials\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/OAuth20.java b/src/main/java/com/airbyte/api/models/shared/OAuth20.java new file mode 100644 index 000000000..2e7d8c8a7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/OAuth20.java @@ -0,0 +1,197 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class OAuth20 { + + @JsonProperty("auth_method") + private SourcePinterestAuthMethod authMethod; + + /** + * The Client ID of your OAuth application + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of your OAuth application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * Refresh Token to obtain new Access Token, when it's expired. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + public OAuth20( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + this.authMethod = Builder._SINGLETON_VALUE_AuthMethod.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + } + + public SourcePinterestAuthMethod authMethod() { + return authMethod; + } + + /** + * The Client ID of your OAuth application + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of your OAuth application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * Refresh Token to obtain new Access Token, when it's expired. + */ + public String refreshToken() { + return refreshToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your OAuth application + */ + public OAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public OAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Refresh Token to obtain new Access Token, when it's expired. + */ + public OAuth20 withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OAuth20 other = (OAuth20) o; + return + java.util.Objects.deepEquals(this.authMethod, other.authMethod) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authMethod, + clientId, + clientSecret, + refreshToken); + } + + @Override + public String toString() { + return Utils.toString(OAuth20.class, + "authMethod", authMethod, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your OAuth application + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Refresh Token to obtain new Access Token, when it's expired. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + public OAuth20 build() { + return new OAuth20( + clientId, + clientSecret, + refreshToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthMethod = + new LazySingletonValue<>( + "auth_method", + "\"oauth2.0\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/OAuth20Credentials.java b/src/main/java/com/airbyte/api/models/shared/OAuth20Credentials.java new file mode 100644 index 000000000..003c0d049 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/OAuth20Credentials.java @@ -0,0 +1,142 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * OAuth20Credentials - OAuth2.0 credentials used to authenticate admin actions (creating/deleting corpora) + */ + +public class OAuth20Credentials { + + /** + * OAuth2.0 client id + */ + @JsonProperty("client_id") + private String clientId; + + /** + * OAuth2.0 client secret + */ + @JsonProperty("client_secret") + private String clientSecret; + + public OAuth20Credentials( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * OAuth2.0 client id + */ + public String clientId() { + return clientId; + } + + /** + * OAuth2.0 client secret + */ + public String clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OAuth2.0 client id + */ + public OAuth20Credentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * OAuth2.0 client secret + */ + public OAuth20Credentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OAuth20Credentials other = (OAuth20Credentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(OAuth20Credentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private Builder() { + // force use of static builder() method + } + + /** + * OAuth2.0 client id + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * OAuth2.0 client secret + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public OAuth20Credentials build() { + return new OAuth20Credentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/OAuth2AccessToken.java b/src/main/java/com/airbyte/api/models/shared/OAuth2AccessToken.java new file mode 100644 index 000000000..719c43eb4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/OAuth2AccessToken.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class OAuth2AccessToken { + + /** + * Also called <a href="https://auth0.com/docs/secure/tokens/access-tokens/get-management-api-access-tokens-for-testing">API Access Token </a> The access token used to call the Auth0 Management API Token. It's a JWT that contains specific grant permissions knowns as scopes. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonProperty("auth_type") + private SourceAuth0SchemasCredentialsAuthenticationMethod authType; + + public OAuth2AccessToken( + @JsonProperty("access_token") String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + } + + /** + * Also called <a href="https://auth0.com/docs/secure/tokens/access-tokens/get-management-api-access-tokens-for-testing">API Access Token </a> The access token used to call the Auth0 Management API Token. It's a JWT that contains specific grant permissions knowns as scopes. + */ + public String accessToken() { + return accessToken; + } + + public SourceAuth0SchemasCredentialsAuthenticationMethod authType() { + return authType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Also called <a href="https://auth0.com/docs/secure/tokens/access-tokens/get-management-api-access-tokens-for-testing">API Access Token </a> The access token used to call the Auth0 Management API Token. It's a JWT that contains specific grant permissions knowns as scopes. + */ + public OAuth2AccessToken withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OAuth2AccessToken other = (OAuth2AccessToken) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authType, other.authType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authType); + } + + @Override + public String toString() { + return Utils.toString(OAuth2AccessToken.class, + "accessToken", accessToken, + "authType", authType); + } + + public final static class Builder { + + private String accessToken; + + private Builder() { + // force use of static builder() method + } + + /** + * Also called <a href="https://auth0.com/docs/secure/tokens/access-tokens/get-management-api-access-tokens-for-testing">API Access Token </a> The access token used to call the Auth0 Management API Token. It's a JWT that contains specific grant permissions knowns as scopes. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + public OAuth2AccessToken build() { + return new OAuth2AccessToken( + accessToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"oauth2_access_token\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/OAuth2ConfidentialApplication.java b/src/main/java/com/airbyte/api/models/shared/OAuth2ConfidentialApplication.java new file mode 100644 index 000000000..ade03a180 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/OAuth2ConfidentialApplication.java @@ -0,0 +1,197 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class OAuth2ConfidentialApplication { + + /** + * The audience for the token, which is your API. You can find this in the Identifier field on your <a href="https://manage.auth0.com/#/apis">API's settings tab</a> + */ + @JsonProperty("audience") + private String audience; + + @JsonProperty("auth_type") + private SourceAuth0SchemasAuthenticationMethod authType; + + /** + * Your application's Client ID. You can find this value on the <a href="https://manage.auth0.com/#/applications">application's settings tab</a> after you login the admin portal. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * Your application's Client Secret. You can find this value on the <a href="https://manage.auth0.com/#/applications">application's settings tab</a> after you login the admin portal. + */ + @JsonProperty("client_secret") + private String clientSecret; + + public OAuth2ConfidentialApplication( + @JsonProperty("audience") String audience, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret) { + Utils.checkNotNull(audience, "audience"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.audience = audience; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The audience for the token, which is your API. You can find this in the Identifier field on your <a href="https://manage.auth0.com/#/apis">API's settings tab</a> + */ + public String audience() { + return audience; + } + + public SourceAuth0SchemasAuthenticationMethod authType() { + return authType; + } + + /** + * Your application's Client ID. You can find this value on the <a href="https://manage.auth0.com/#/applications">application's settings tab</a> after you login the admin portal. + */ + public String clientId() { + return clientId; + } + + /** + * Your application's Client Secret. You can find this value on the <a href="https://manage.auth0.com/#/applications">application's settings tab</a> after you login the admin portal. + */ + public String clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The audience for the token, which is your API. You can find this in the Identifier field on your <a href="https://manage.auth0.com/#/apis">API's settings tab</a> + */ + public OAuth2ConfidentialApplication withAudience(String audience) { + Utils.checkNotNull(audience, "audience"); + this.audience = audience; + return this; + } + + /** + * Your application's Client ID. You can find this value on the <a href="https://manage.auth0.com/#/applications">application's settings tab</a> after you login the admin portal. + */ + public OAuth2ConfidentialApplication withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Your application's Client Secret. You can find this value on the <a href="https://manage.auth0.com/#/applications">application's settings tab</a> after you login the admin portal. + */ + public OAuth2ConfidentialApplication withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OAuth2ConfidentialApplication other = (OAuth2ConfidentialApplication) o; + return + java.util.Objects.deepEquals(this.audience, other.audience) && + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + audience, + authType, + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(OAuth2ConfidentialApplication.class, + "audience", audience, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private String audience; + + private String clientId; + + private String clientSecret; + + private Builder() { + // force use of static builder() method + } + + /** + * The audience for the token, which is your API. You can find this in the Identifier field on your <a href="https://manage.auth0.com/#/apis">API's settings tab</a> + */ + public Builder audience(String audience) { + Utils.checkNotNull(audience, "audience"); + this.audience = audience; + return this; + } + + /** + * Your application's Client ID. You can find this value on the <a href="https://manage.auth0.com/#/applications">application's settings tab</a> after you login the admin portal. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Your application's Client Secret. You can find this value on the <a href="https://manage.auth0.com/#/applications">application's settings tab</a> after you login the admin portal. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public OAuth2ConfidentialApplication build() { + return new OAuth2ConfidentialApplication( + audience, + clientId, + clientSecret); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"oauth2_confidential_application\"", + new TypeReference() {}); + } +} + diff --git a/lib/src/main/java/com/airbyte/api/models/shared/OAuthActorNames.java b/src/main/java/com/airbyte/api/models/shared/OAuthActorNames.java similarity index 80% rename from lib/src/main/java/com/airbyte/api/models/shared/OAuthActorNames.java rename to src/main/java/com/airbyte/api/models/shared/OAuthActorNames.java index ff3bb77ce..38357040e 100644 --- a/lib/src/main/java/com/airbyte/api/models/shared/OAuthActorNames.java +++ b/src/main/java/com/airbyte/api/models/shared/OAuthActorNames.java @@ -4,7 +4,14 @@ package com.airbyte.api.models.shared; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; public enum OAuthActorNames { AIRTABLE("airtable"), @@ -27,6 +34,7 @@ public enum OAuthActorNames { LEVER_HIRING("lever-hiring"), LINKEDIN_ADS("linkedin-ads"), MAILCHIMP("mailchimp"), + MICROSOFT_ONEDRIVE("microsoft-onedrive"), MICROSOFT_SHAREPOINT("microsoft-sharepoint"), MICROSOFT_TEAMS("microsoft-teams"), MONDAY("monday"), @@ -51,9 +59,13 @@ public enum OAuthActorNames { ZENDESK_TALK("zendesk-talk"); @JsonValue - public final String value; + private final String value; private OAuthActorNames(String value) { this.value = value; } + + public String value() { + return value; + } } diff --git a/src/main/java/com/airbyte/api/models/shared/OAuthCredentialsConfiguration.java b/src/main/java/com/airbyte/api/models/shared/OAuthCredentialsConfiguration.java new file mode 100644 index 000000000..8659ab9a7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/OAuthCredentialsConfiguration.java @@ -0,0 +1,395 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * OAuthCredentialsConfiguration - The values required to configure the source. + */ + +@JsonDeserialize(using = OAuthCredentialsConfiguration._Deserializer.class) +public class OAuthCredentialsConfiguration { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private OAuthCredentialsConfiguration(TypedObject value) { + this.value = value; + } + + public static OAuthCredentialsConfiguration of(Airtable value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(AmazonAds value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(AmazonSellerPartner value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Asana value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(BingAds value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(FacebookMarketing value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Github value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Gitlab value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(GoogleAds value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(GoogleAnalyticsDataApi value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(GoogleDrive value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(GoogleSearchConsole value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(GoogleSheets value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Harvest value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Hubspot value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Instagram value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Intercom value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(LeverHiring value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(LinkedinAds value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Mailchimp value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(MicrosoftOnedrive value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(MicrosoftSharepoint value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(MicrosoftTeams value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Monday value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Notion value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Pinterest value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Retently value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Salesforce value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Shopify value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Slack value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Smartsheets value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(SnapchatMarketing value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Snowflake value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Square value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Strava value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Surveymonkey value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(TiktokMarketing value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(java.lang.Object value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(Typeform value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(YoutubeAnalytics value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(ZendeskChat value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(ZendeskSunshine value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(ZendeskSupport value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OAuthCredentialsConfiguration of(ZendeskTalk value) { + Utils.checkNotNull(value, "value"); + return new OAuthCredentialsConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code Airtable}
    • + *
    • {@code AmazonAds}
    • + *
    • {@code AmazonSellerPartner}
    • + *
    • {@code Asana}
    • + *
    • {@code BingAds}
    • + *
    • {@code FacebookMarketing}
    • + *
    • {@code Github}
    • + *
    • {@code Gitlab}
    • + *
    • {@code GoogleAds}
    • + *
    • {@code GoogleAnalyticsDataApi}
    • + *
    • {@code GoogleDrive}
    • + *
    • {@code GoogleSearchConsole}
    • + *
    • {@code GoogleSheets}
    • + *
    • {@code Harvest}
    • + *
    • {@code Hubspot}
    • + *
    • {@code Instagram}
    • + *
    • {@code Intercom}
    • + *
    • {@code LeverHiring}
    • + *
    • {@code LinkedinAds}
    • + *
    • {@code Mailchimp}
    • + *
    • {@code MicrosoftOnedrive}
    • + *
    • {@code MicrosoftSharepoint}
    • + *
    • {@code MicrosoftTeams}
    • + *
    • {@code Monday}
    • + *
    • {@code Notion}
    • + *
    • {@code Pinterest}
    • + *
    • {@code Retently}
    • + *
    • {@code Salesforce}
    • + *
    • {@code Shopify}
    • + *
    • {@code Slack}
    • + *
    • {@code Smartsheets}
    • + *
    • {@code SnapchatMarketing}
    • + *
    • {@code Snowflake}
    • + *
    • {@code Square}
    • + *
    • {@code Strava}
    • + *
    • {@code Surveymonkey}
    • + *
    • {@code TiktokMarketing}
    • + *
    • {@code java.lang.Object}
    • + *
    • {@code Typeform}
    • + *
    • {@code YoutubeAnalytics}
    • + *
    • {@code ZendeskChat}
    • + *
    • {@code ZendeskSunshine}
    • + *
    • {@code ZendeskSupport}
    • + *
    • {@code ZendeskTalk}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OAuthCredentialsConfiguration other = (OAuthCredentialsConfiguration) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(OAuthCredentialsConfiguration.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(OAuthCredentialsConfiguration.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/OAuthInputConfiguration.java b/src/main/java/com/airbyte/api/models/shared/OAuthInputConfiguration.java new file mode 100644 index 000000000..16768bd15 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/OAuthInputConfiguration.java @@ -0,0 +1,64 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * OAuthInputConfiguration - Arbitrary vars to pass for OAuth depending on what the source/destination spec requires. + */ + +public class OAuthInputConfiguration { + + public OAuthInputConfiguration() { + + + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + return true; + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + ); + } + + @Override + public String toString() { + return Utils.toString(OAuthInputConfiguration.class); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public OAuthInputConfiguration build() { + return new OAuthInputConfiguration( + ); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/OauthAuthentication.java b/src/main/java/com/airbyte/api/models/shared/OauthAuthentication.java new file mode 100644 index 000000000..e2f9bb3e4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/OauthAuthentication.java @@ -0,0 +1,197 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class OauthAuthentication { + + @JsonProperty("auth_type") + private SourceSquareAuthType authType; + + /** + * The Square-issued ID of your application + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Square-issued application secret for your application + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * A refresh token generated using the above client ID and secret + */ + @JsonProperty("refresh_token") + private String refreshToken; + + public OauthAuthentication( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + } + + public SourceSquareAuthType authType() { + return authType; + } + + /** + * The Square-issued ID of your application + */ + public String clientId() { + return clientId; + } + + /** + * The Square-issued application secret for your application + */ + public String clientSecret() { + return clientSecret; + } + + /** + * A refresh token generated using the above client ID and secret + */ + public String refreshToken() { + return refreshToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Square-issued ID of your application + */ + public OauthAuthentication withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Square-issued application secret for your application + */ + public OauthAuthentication withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * A refresh token generated using the above client ID and secret + */ + public OauthAuthentication withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OauthAuthentication other = (OauthAuthentication) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + clientId, + clientSecret, + refreshToken); + } + + @Override + public String toString() { + return Utils.toString(OauthAuthentication.class, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private Builder() { + // force use of static builder() method + } + + /** + * The Square-issued ID of your application + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Square-issued application secret for your application + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * A refresh token generated using the above client ID and secret + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + public OauthAuthentication build() { + return new OauthAuthentication( + clientId, + clientSecret, + refreshToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"OAuth\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Okta.java b/src/main/java/com/airbyte/api/models/shared/Okta.java new file mode 100644 index 000000000..8484ca56d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Okta.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Okta { + OKTA("okta"); + + @JsonValue + private final String value; + + private Okta(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Omnisend.java b/src/main/java/com/airbyte/api/models/shared/Omnisend.java new file mode 100644 index 000000000..d16fe5da0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Omnisend.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Omnisend { + OMNISEND("omnisend"); + + @JsonValue + private final String value; + + private Omnisend(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Onesignal.java b/src/main/java/com/airbyte/api/models/shared/Onesignal.java new file mode 100644 index 000000000..940866550 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Onesignal.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Onesignal { + ONESIGNAL("onesignal"); + + @JsonValue + private final String value; + + private Onesignal(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/OpenAI.java b/src/main/java/com/airbyte/api/models/shared/OpenAI.java new file mode 100644 index 000000000..d2005602b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/OpenAI.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * OpenAI - Use the OpenAI API to embed text. This option is using the text-embedding-ada-002 model with 1536 embedding dimensions. + */ + +public class OpenAI { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + @JsonProperty("openai_key") + private String openaiKey; + + public OpenAI( + @JsonProperty("openai_key") String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.openaiKey = openaiKey; + } + + public Optional mode() { + return mode; + } + + public String openaiKey() { + return openaiKey; + } + + public final static Builder builder() { + return new Builder(); + } + + public OpenAI withOpenaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OpenAI other = (OpenAI) o; + return + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.openaiKey, other.openaiKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode, + openaiKey); + } + + @Override + public String toString() { + return Utils.toString(OpenAI.class, + "mode", mode, + "openaiKey", openaiKey); + } + + public final static class Builder { + + private String openaiKey; + + private Builder() { + // force use of static builder() method + } + + public Builder openaiKey(String openaiKey) { + Utils.checkNotNull(openaiKey, "openaiKey"); + this.openaiKey = openaiKey; + return this; + } + + public OpenAI build() { + return new OpenAI( + openaiKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"openai\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/OpenAICompatible.java b/src/main/java/com/airbyte/api/models/shared/OpenAICompatible.java new file mode 100644 index 000000000..cf5cb5e08 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/OpenAICompatible.java @@ -0,0 +1,282 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * OpenAICompatible - Use a service that's compatible with the OpenAI API to embed text. + */ + +public class OpenAICompatible { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("api_key") + private Optional apiKey; + + /** + * The base URL for your OpenAI-compatible service + */ + @JsonProperty("base_url") + private String baseUrl; + + /** + * The number of dimensions the embedding model is generating + */ + @JsonProperty("dimensions") + private long dimensions; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + /** + * The name of the model to use for embedding + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("model_name") + private Optional modelName; + + public OpenAICompatible( + @JsonProperty("api_key") Optional apiKey, + @JsonProperty("base_url") String baseUrl, + @JsonProperty("dimensions") long dimensions, + @JsonProperty("model_name") Optional modelName) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(baseUrl, "baseUrl"); + Utils.checkNotNull(dimensions, "dimensions"); + Utils.checkNotNull(modelName, "modelName"); + this.apiKey = apiKey; + this.baseUrl = baseUrl; + this.dimensions = dimensions; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + this.modelName = modelName; + } + + public Optional apiKey() { + return apiKey; + } + + /** + * The base URL for your OpenAI-compatible service + */ + public String baseUrl() { + return baseUrl; + } + + /** + * The number of dimensions the embedding model is generating + */ + public long dimensions() { + return dimensions; + } + + public Optional mode() { + return mode; + } + + /** + * The name of the model to use for embedding + */ + public Optional modelName() { + return modelName; + } + + public final static Builder builder() { + return new Builder(); + } + + public OpenAICompatible withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = Optional.ofNullable(apiKey); + return this; + } + + public OpenAICompatible withApiKey(Optional apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The base URL for your OpenAI-compatible service + */ + public OpenAICompatible withBaseUrl(String baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = baseUrl; + return this; + } + + /** + * The number of dimensions the embedding model is generating + */ + public OpenAICompatible withDimensions(long dimensions) { + Utils.checkNotNull(dimensions, "dimensions"); + this.dimensions = dimensions; + return this; + } + + /** + * The name of the model to use for embedding + */ + public OpenAICompatible withModelName(String modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = Optional.ofNullable(modelName); + return this; + } + + /** + * The name of the model to use for embedding + */ + public OpenAICompatible withModelName(Optional modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = modelName; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OpenAICompatible other = (OpenAICompatible) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.baseUrl, other.baseUrl) && + java.util.Objects.deepEquals(this.dimensions, other.dimensions) && + java.util.Objects.deepEquals(this.mode, other.mode) && + java.util.Objects.deepEquals(this.modelName, other.modelName); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + baseUrl, + dimensions, + mode, + modelName); + } + + @Override + public String toString() { + return Utils.toString(OpenAICompatible.class, + "apiKey", apiKey, + "baseUrl", baseUrl, + "dimensions", dimensions, + "mode", mode, + "modelName", modelName); + } + + public final static class Builder { + + private Optional apiKey; + + private String baseUrl; + + private Long dimensions; + + private Optional modelName; + + private Builder() { + // force use of static builder() method + } + + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = Optional.ofNullable(apiKey); + return this; + } + + public Builder apiKey(Optional apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The base URL for your OpenAI-compatible service + */ + public Builder baseUrl(String baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = baseUrl; + return this; + } + + /** + * The number of dimensions the embedding model is generating + */ + public Builder dimensions(long dimensions) { + Utils.checkNotNull(dimensions, "dimensions"); + this.dimensions = dimensions; + return this; + } + + /** + * The name of the model to use for embedding + */ + public Builder modelName(String modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = Optional.ofNullable(modelName); + return this; + } + + /** + * The name of the model to use for embedding + */ + public Builder modelName(Optional modelName) { + Utils.checkNotNull(modelName, "modelName"); + this.modelName = modelName; + return this; + } + + public OpenAICompatible build() { + if (apiKey == null) { + apiKey = _SINGLETON_VALUE_ApiKey.value(); + } + if (modelName == null) { + modelName = _SINGLETON_VALUE_ModelName.value(); + } + return new OpenAICompatible( + apiKey, + baseUrl, + dimensions, + modelName); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ApiKey = + new LazySingletonValue<>( + "api_key", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"openai_compatible\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ModelName = + new LazySingletonValue<>( + "model_name", + "\"text-embedding-ada-002\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Operator.java b/src/main/java/com/airbyte/api/models/shared/Operator.java new file mode 100644 index 000000000..8ab921472 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Operator.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * Operator - An Operator that will be used to filter accounts. The Contains predicate has features for matching words, matching inflectional forms of words, searching using wildcard characters, and searching using proximity. The Equals is used to return all rows where account name is equal(=) to the string that you provided + */ +public enum Operator { + CONTAINS("Contains"), + EQUALS_("Equals"); + + @JsonValue + private final String value; + + private Operator(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/OptionTitle.java b/src/main/java/com/airbyte/api/models/shared/OptionTitle.java new file mode 100644 index 000000000..13ba0b7ac --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/OptionTitle.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum OptionTitle { + O_AUTH_CREDENTIALS("OAuth Credentials"); + + @JsonValue + private final String value; + + private OptionTitle(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/OptionsList.java b/src/main/java/com/airbyte/api/models/shared/OptionsList.java new file mode 100644 index 000000000..42fee7a05 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/OptionsList.java @@ -0,0 +1,115 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class OptionsList { + + @JsonProperty("option_name") + private String optionName; + + @JsonProperty("option_value") + private String optionValue; + + public OptionsList( + @JsonProperty("option_name") String optionName, + @JsonProperty("option_value") String optionValue) { + Utils.checkNotNull(optionName, "optionName"); + Utils.checkNotNull(optionValue, "optionValue"); + this.optionName = optionName; + this.optionValue = optionValue; + } + + public String optionName() { + return optionName; + } + + public String optionValue() { + return optionValue; + } + + public final static Builder builder() { + return new Builder(); + } + + public OptionsList withOptionName(String optionName) { + Utils.checkNotNull(optionName, "optionName"); + this.optionName = optionName; + return this; + } + + public OptionsList withOptionValue(String optionValue) { + Utils.checkNotNull(optionValue, "optionValue"); + this.optionValue = optionValue; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OptionsList other = (OptionsList) o; + return + java.util.Objects.deepEquals(this.optionName, other.optionName) && + java.util.Objects.deepEquals(this.optionValue, other.optionValue); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + optionName, + optionValue); + } + + @Override + public String toString() { + return Utils.toString(OptionsList.class, + "optionName", optionName, + "optionValue", optionValue); + } + + public final static class Builder { + + private String optionName; + + private String optionValue; + + private Builder() { + // force use of static builder() method + } + + public Builder optionName(String optionName) { + Utils.checkNotNull(optionName, "optionName"); + this.optionName = optionName; + return this; + } + + public Builder optionValue(String optionValue) { + Utils.checkNotNull(optionValue, "optionValue"); + this.optionValue = optionValue; + return this; + } + + public OptionsList build() { + return new OptionsList( + optionName, + optionValue); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/OrGroup.java b/src/main/java/com/airbyte/api/models/shared/OrGroup.java new file mode 100644 index 000000000..32eca0fc6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/OrGroup.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * OrGroup - The FilterExpressions in orGroup have an OR relationship. + */ + +public class OrGroup { + + @JsonProperty("expressions") + private java.util.List expressions; + + @JsonProperty("filter_type") + private SourceGoogleAnalyticsDataApiFilterType filterType; + + public OrGroup( + @JsonProperty("expressions") java.util.List expressions) { + Utils.checkNotNull(expressions, "expressions"); + this.expressions = expressions; + this.filterType = Builder._SINGLETON_VALUE_FilterType.value(); + } + + public java.util.List expressions() { + return expressions; + } + + public SourceGoogleAnalyticsDataApiFilterType filterType() { + return filterType; + } + + public final static Builder builder() { + return new Builder(); + } + + public OrGroup withExpressions(java.util.List expressions) { + Utils.checkNotNull(expressions, "expressions"); + this.expressions = expressions; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OrGroup other = (OrGroup) o; + return + java.util.Objects.deepEquals(this.expressions, other.expressions) && + java.util.Objects.deepEquals(this.filterType, other.filterType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + expressions, + filterType); + } + + @Override + public String toString() { + return Utils.toString(OrGroup.class, + "expressions", expressions, + "filterType", filterType); + } + + public final static class Builder { + + private java.util.List expressions; + + private Builder() { + // force use of static builder() method + } + + public Builder expressions(java.util.List expressions) { + Utils.checkNotNull(expressions, "expressions"); + this.expressions = expressions; + return this; + } + + public OrGroup build() { + return new OrGroup( + expressions); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterType = + new LazySingletonValue<>( + "filter_type", + "\"orGroup\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Oracle.java b/src/main/java/com/airbyte/api/models/shared/Oracle.java new file mode 100644 index 000000000..e9cde53b1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Oracle.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Oracle { + ORACLE("oracle"); + + @JsonValue + private final String value; + + private Oracle(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Orb.java b/src/main/java/com/airbyte/api/models/shared/Orb.java new file mode 100644 index 000000000..6f5f77613 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Orb.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Orb { + ORB("orb"); + + @JsonValue + private final String value; + + private Orb(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Orbit.java b/src/main/java/com/airbyte/api/models/shared/Orbit.java new file mode 100644 index 000000000..c143b0860 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Orbit.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Orbit { + ORBIT("orbit"); + + @JsonValue + private final String value; + + private Orbit(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/OriginDatacenterOfTheSurveyMonkeyAccount.java b/src/main/java/com/airbyte/api/models/shared/OriginDatacenterOfTheSurveyMonkeyAccount.java new file mode 100644 index 000000000..415a42a9a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/OriginDatacenterOfTheSurveyMonkeyAccount.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * OriginDatacenterOfTheSurveyMonkeyAccount - Depending on the originating datacenter of the SurveyMonkey account, the API access URL may be different. + */ +public enum OriginDatacenterOfTheSurveyMonkeyAccount { + USA("USA"), + EUROPE("Europe"), + CANADA("Canada"); + + @JsonValue + private final String value; + + private OriginDatacenterOfTheSurveyMonkeyAccount(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/OutbrainAmplify.java b/src/main/java/com/airbyte/api/models/shared/OutbrainAmplify.java new file mode 100644 index 000000000..0709e0028 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/OutbrainAmplify.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum OutbrainAmplify { + OUTBRAIN_AMPLIFY("outbrain-amplify"); + + @JsonValue + private final String value; + + private OutbrainAmplify(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/OutputFormat.java b/src/main/java/com/airbyte/api/models/shared/OutputFormat.java new file mode 100644 index 000000000..3d7c07a43 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/OutputFormat.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * OutputFormat - Output data format + */ + +@JsonDeserialize(using = OutputFormat._Deserializer.class) +public class OutputFormat { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private OutputFormat(TypedObject value) { + this.value = value; + } + + public static OutputFormat of(CSVCommaSeparatedValues value) { + Utils.checkNotNull(value, "value"); + return new OutputFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OutputFormat of(DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON value) { + Utils.checkNotNull(value, "value"); + return new OutputFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code CSVCommaSeparatedValues}
    • + *
    • {@code DestinationAzureBlobStorageJSONLinesNewlineDelimitedJSON}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OutputFormat other = (OutputFormat) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(OutputFormat.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(OutputFormat.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/OutputFormatWildcard.java b/src/main/java/com/airbyte/api/models/shared/OutputFormatWildcard.java new file mode 100644 index 000000000..e9d590a66 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/OutputFormatWildcard.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * OutputFormatWildcard - Format of the data output. + */ + +@JsonDeserialize(using = OutputFormatWildcard._Deserializer.class) +public class OutputFormatWildcard { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private OutputFormatWildcard(TypedObject value) { + this.value = value; + } + + public static OutputFormatWildcard of(JSONLinesNewlineDelimitedJSON value) { + Utils.checkNotNull(value, "value"); + return new OutputFormatWildcard(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static OutputFormatWildcard of(ParquetColumnarStorage value) { + Utils.checkNotNull(value, "value"); + return new OutputFormatWildcard(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code JSONLinesNewlineDelimitedJSON}
    • + *
    • {@code ParquetColumnarStorage}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OutputFormatWildcard other = (OutputFormatWildcard) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(OutputFormatWildcard.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(OutputFormatWildcard.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/Outreach.java b/src/main/java/com/airbyte/api/models/shared/Outreach.java new file mode 100644 index 000000000..6d973b679 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Outreach.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Outreach { + OUTREACH("outreach"); + + @JsonValue + private final String value; + + private Outreach(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Parquet.java b/src/main/java/com/airbyte/api/models/shared/Parquet.java new file mode 100644 index 000000000..527f2efa3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Parquet.java @@ -0,0 +1,279 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * Parquet - This connector utilises <a href="https://arrow.apache.org/docs/python/generated/pyarrow.parquet.ParquetFile.html" target="_blank">PyArrow (Apache Arrow)</a> for Parquet parsing. + */ + +public class Parquet { + + /** + * Maximum number of records per batch read from the input files. Batches may be smaller if there aren’t enough rows in the file. This option can help avoid out-of-memory errors if your data is particularly wide. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("batch_size") + private Optional batchSize; + + /** + * Perform read buffering when deserializing individual column chunks. By default every group column will be loaded fully to memory. This option can help avoid out-of-memory errors if your data is particularly wide. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("buffer_size") + private Optional bufferSize; + + /** + * If you only want to sync a subset of the columns from the file(s), add the columns you want here as a comma-delimited list. Leave it empty to sync all columns. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("columns") + private Optional> columns; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + public Parquet( + @JsonProperty("batch_size") Optional batchSize, + @JsonProperty("buffer_size") Optional bufferSize, + @JsonProperty("columns") Optional> columns) { + Utils.checkNotNull(batchSize, "batchSize"); + Utils.checkNotNull(bufferSize, "bufferSize"); + Utils.checkNotNull(columns, "columns"); + this.batchSize = batchSize; + this.bufferSize = bufferSize; + this.columns = columns; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + } + + /** + * Maximum number of records per batch read from the input files. Batches may be smaller if there aren’t enough rows in the file. This option can help avoid out-of-memory errors if your data is particularly wide. + */ + public Optional batchSize() { + return batchSize; + } + + /** + * Perform read buffering when deserializing individual column chunks. By default every group column will be loaded fully to memory. This option can help avoid out-of-memory errors if your data is particularly wide. + */ + public Optional bufferSize() { + return bufferSize; + } + + /** + * If you only want to sync a subset of the columns from the file(s), add the columns you want here as a comma-delimited list. Leave it empty to sync all columns. + */ + public Optional> columns() { + return columns; + } + + public Optional filetype() { + return filetype; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Maximum number of records per batch read from the input files. Batches may be smaller if there aren’t enough rows in the file. This option can help avoid out-of-memory errors if your data is particularly wide. + */ + public Parquet withBatchSize(long batchSize) { + Utils.checkNotNull(batchSize, "batchSize"); + this.batchSize = Optional.ofNullable(batchSize); + return this; + } + + /** + * Maximum number of records per batch read from the input files. Batches may be smaller if there aren’t enough rows in the file. This option can help avoid out-of-memory errors if your data is particularly wide. + */ + public Parquet withBatchSize(Optional batchSize) { + Utils.checkNotNull(batchSize, "batchSize"); + this.batchSize = batchSize; + return this; + } + + /** + * Perform read buffering when deserializing individual column chunks. By default every group column will be loaded fully to memory. This option can help avoid out-of-memory errors if your data is particularly wide. + */ + public Parquet withBufferSize(long bufferSize) { + Utils.checkNotNull(bufferSize, "bufferSize"); + this.bufferSize = Optional.ofNullable(bufferSize); + return this; + } + + /** + * Perform read buffering when deserializing individual column chunks. By default every group column will be loaded fully to memory. This option can help avoid out-of-memory errors if your data is particularly wide. + */ + public Parquet withBufferSize(Optional bufferSize) { + Utils.checkNotNull(bufferSize, "bufferSize"); + this.bufferSize = bufferSize; + return this; + } + + /** + * If you only want to sync a subset of the columns from the file(s), add the columns you want here as a comma-delimited list. Leave it empty to sync all columns. + */ + public Parquet withColumns(java.util.List columns) { + Utils.checkNotNull(columns, "columns"); + this.columns = Optional.ofNullable(columns); + return this; + } + + /** + * If you only want to sync a subset of the columns from the file(s), add the columns you want here as a comma-delimited list. Leave it empty to sync all columns. + */ + public Parquet withColumns(Optional> columns) { + Utils.checkNotNull(columns, "columns"); + this.columns = columns; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Parquet other = (Parquet) o; + return + java.util.Objects.deepEquals(this.batchSize, other.batchSize) && + java.util.Objects.deepEquals(this.bufferSize, other.bufferSize) && + java.util.Objects.deepEquals(this.columns, other.columns) && + java.util.Objects.deepEquals(this.filetype, other.filetype); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + batchSize, + bufferSize, + columns, + filetype); + } + + @Override + public String toString() { + return Utils.toString(Parquet.class, + "batchSize", batchSize, + "bufferSize", bufferSize, + "columns", columns, + "filetype", filetype); + } + + public final static class Builder { + + private Optional batchSize; + + private Optional bufferSize; + + private Optional> columns = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Maximum number of records per batch read from the input files. Batches may be smaller if there aren’t enough rows in the file. This option can help avoid out-of-memory errors if your data is particularly wide. + */ + public Builder batchSize(long batchSize) { + Utils.checkNotNull(batchSize, "batchSize"); + this.batchSize = Optional.ofNullable(batchSize); + return this; + } + + /** + * Maximum number of records per batch read from the input files. Batches may be smaller if there aren’t enough rows in the file. This option can help avoid out-of-memory errors if your data is particularly wide. + */ + public Builder batchSize(Optional batchSize) { + Utils.checkNotNull(batchSize, "batchSize"); + this.batchSize = batchSize; + return this; + } + + /** + * Perform read buffering when deserializing individual column chunks. By default every group column will be loaded fully to memory. This option can help avoid out-of-memory errors if your data is particularly wide. + */ + public Builder bufferSize(long bufferSize) { + Utils.checkNotNull(bufferSize, "bufferSize"); + this.bufferSize = Optional.ofNullable(bufferSize); + return this; + } + + /** + * Perform read buffering when deserializing individual column chunks. By default every group column will be loaded fully to memory. This option can help avoid out-of-memory errors if your data is particularly wide. + */ + public Builder bufferSize(Optional bufferSize) { + Utils.checkNotNull(bufferSize, "bufferSize"); + this.bufferSize = bufferSize; + return this; + } + + /** + * If you only want to sync a subset of the columns from the file(s), add the columns you want here as a comma-delimited list. Leave it empty to sync all columns. + */ + public Builder columns(java.util.List columns) { + Utils.checkNotNull(columns, "columns"); + this.columns = Optional.ofNullable(columns); + return this; + } + + /** + * If you only want to sync a subset of the columns from the file(s), add the columns you want here as a comma-delimited list. Leave it empty to sync all columns. + */ + public Builder columns(Optional> columns) { + Utils.checkNotNull(columns, "columns"); + this.columns = columns; + return this; + } + + public Parquet build() { + if (batchSize == null) { + batchSize = _SINGLETON_VALUE_BatchSize.value(); + } + if (bufferSize == null) { + bufferSize = _SINGLETON_VALUE_BufferSize.value(); + } + return new Parquet( + batchSize, + bufferSize, + columns); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_BatchSize = + new LazySingletonValue<>( + "batch_size", + "65536", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_BufferSize = + new LazySingletonValue<>( + "buffer_size", + "2", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"parquet\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ParquetColumnarStorage.java b/src/main/java/com/airbyte/api/models/shared/ParquetColumnarStorage.java new file mode 100644 index 000000000..572581c92 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ParquetColumnarStorage.java @@ -0,0 +1,181 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ParquetColumnarStorage { + + /** + * The compression algorithm used to compress data. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_codec") + private Optional compressionCodec; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("format_type") + private Optional formatType; + + public ParquetColumnarStorage( + @JsonProperty("compression_codec") Optional compressionCodec, + @JsonProperty("format_type") Optional formatType) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + Utils.checkNotNull(formatType, "formatType"); + this.compressionCodec = compressionCodec; + this.formatType = formatType; + } + + /** + * The compression algorithm used to compress data. + */ + public Optional compressionCodec() { + return compressionCodec; + } + + public Optional formatType() { + return formatType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The compression algorithm used to compress data. + */ + public ParquetColumnarStorage withCompressionCodec(DestinationAwsDatalakeCompressionCodecOptional compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = Optional.ofNullable(compressionCodec); + return this; + } + + /** + * The compression algorithm used to compress data. + */ + public ParquetColumnarStorage withCompressionCodec(Optional compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = compressionCodec; + return this; + } + + public ParquetColumnarStorage withFormatType(DestinationAwsDatalakeFormatTypeWildcard formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public ParquetColumnarStorage withFormatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ParquetColumnarStorage other = (ParquetColumnarStorage) o; + return + java.util.Objects.deepEquals(this.compressionCodec, other.compressionCodec) && + java.util.Objects.deepEquals(this.formatType, other.formatType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + compressionCodec, + formatType); + } + + @Override + public String toString() { + return Utils.toString(ParquetColumnarStorage.class, + "compressionCodec", compressionCodec, + "formatType", formatType); + } + + public final static class Builder { + + private Optional compressionCodec; + + private Optional formatType; + + private Builder() { + // force use of static builder() method + } + + /** + * The compression algorithm used to compress data. + */ + public Builder compressionCodec(DestinationAwsDatalakeCompressionCodecOptional compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = Optional.ofNullable(compressionCodec); + return this; + } + + /** + * The compression algorithm used to compress data. + */ + public Builder compressionCodec(Optional compressionCodec) { + Utils.checkNotNull(compressionCodec, "compressionCodec"); + this.compressionCodec = compressionCodec; + return this; + } + + public Builder formatType(DestinationAwsDatalakeFormatTypeWildcard formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = Optional.ofNullable(formatType); + return this; + } + + public Builder formatType(Optional formatType) { + Utils.checkNotNull(formatType, "formatType"); + this.formatType = formatType; + return this; + } + + public ParquetColumnarStorage build() { + if (compressionCodec == null) { + compressionCodec = _SINGLETON_VALUE_CompressionCodec.value(); + } + if (formatType == null) { + formatType = _SINGLETON_VALUE_FormatType.value(); + } + return new ParquetColumnarStorage( + compressionCodec, + formatType); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionCodec = + new LazySingletonValue<>( + "compression_codec", + "\"SNAPPY\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_FormatType = + new LazySingletonValue<>( + "format_type", + "\"Parquet\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ParquetFormat.java b/src/main/java/com/airbyte/api/models/shared/ParquetFormat.java new file mode 100644 index 000000000..25126be27 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ParquetFormat.java @@ -0,0 +1,149 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ParquetFormat { + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("decimal_as_float") + private Optional decimalAsFloat; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + public ParquetFormat( + @JsonProperty("decimal_as_float") Optional decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = decimalAsFloat; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public Optional decimalAsFloat() { + return decimalAsFloat; + } + + public Optional filetype() { + return filetype; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public ParquetFormat withDecimalAsFloat(boolean decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = Optional.ofNullable(decimalAsFloat); + return this; + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public ParquetFormat withDecimalAsFloat(Optional decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = decimalAsFloat; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ParquetFormat other = (ParquetFormat) o; + return + java.util.Objects.deepEquals(this.decimalAsFloat, other.decimalAsFloat) && + java.util.Objects.deepEquals(this.filetype, other.filetype); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + decimalAsFloat, + filetype); + } + + @Override + public String toString() { + return Utils.toString(ParquetFormat.class, + "decimalAsFloat", decimalAsFloat, + "filetype", filetype); + } + + public final static class Builder { + + private Optional decimalAsFloat; + + private Builder() { + // force use of static builder() method + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public Builder decimalAsFloat(boolean decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = Optional.ofNullable(decimalAsFloat); + return this; + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public Builder decimalAsFloat(Optional decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = decimalAsFloat; + return this; + } + + public ParquetFormat build() { + if (decimalAsFloat == null) { + decimalAsFloat = _SINGLETON_VALUE_DecimalAsFloat.value(); + } + return new ParquetFormat( + decimalAsFloat); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DecimalAsFloat = + new LazySingletonValue<>( + "decimal_as_float", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"parquet\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ParsingStrategy.java b/src/main/java/com/airbyte/api/models/shared/ParsingStrategy.java new file mode 100644 index 000000000..cdc65bc65 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ParsingStrategy.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ParsingStrategy - The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ +public enum ParsingStrategy { + AUTO("auto"), + FAST("fast"), + OCR_ONLY("ocr_only"), + HI_RES("hi_res"); + + @JsonValue + private final String value; + + private ParsingStrategy(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/PasswordAuthentication.java b/src/main/java/com/airbyte/api/models/shared/PasswordAuthentication.java new file mode 100644 index 000000000..3b5ef8daa --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/PasswordAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class PasswordAuthentication { + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + @JsonProperty("tunnel_method") + private DestinationClickhouseSchemasTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + /** + * OS-level password for logging into the jump server host + */ + @JsonProperty("tunnel_user_password") + private String tunnelUserPassword; + + public PasswordAuthentication( + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser, + @JsonProperty("tunnel_user_password") String tunnelUserPassword) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + this.tunnelUserPassword = tunnelUserPassword; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + public DestinationClickhouseSchemasTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host + */ + public String tunnelUser() { + return tunnelUser; + } + + /** + * OS-level password for logging into the jump server host + */ + public String tunnelUserPassword() { + return tunnelUserPassword; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public PasswordAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public PasswordAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public PasswordAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public PasswordAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public PasswordAuthentication withTunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PasswordAuthentication other = (PasswordAuthentication) o; + return + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser) && + java.util.Objects.deepEquals(this.tunnelUserPassword, other.tunnelUserPassword); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + @Override + public String toString() { + return Utils.toString(PasswordAuthentication.class, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser, + "tunnelUserPassword", tunnelUserPassword); + } + + public final static class Builder { + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private String tunnelUserPassword; + + private Builder() { + // force use of static builder() method + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public Builder tunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + public PasswordAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new PasswordAuthentication( + tunnelHost, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_PASSWORD_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/PaypalTransaction.java b/src/main/java/com/airbyte/api/models/shared/PaypalTransaction.java new file mode 100644 index 000000000..141950982 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/PaypalTransaction.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum PaypalTransaction { + PAYPAL_TRANSACTION("paypal-transaction"); + + @JsonValue + private final String value; + + private PaypalTransaction(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Paystack.java b/src/main/java/com/airbyte/api/models/shared/Paystack.java new file mode 100644 index 000000000..34b84d926 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Paystack.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Paystack { + PAYSTACK("paystack"); + + @JsonValue + private final String value; + + private Paystack(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Pendo.java b/src/main/java/com/airbyte/api/models/shared/Pendo.java new file mode 100644 index 000000000..c53f63400 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Pendo.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Pendo { + PENDO("pendo"); + + @JsonValue + private final String value; + + private Pendo(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/PeriodUsedForMostPopularStreams.java b/src/main/java/com/airbyte/api/models/shared/PeriodUsedForMostPopularStreams.java new file mode 100644 index 000000000..645d0b7f8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/PeriodUsedForMostPopularStreams.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * PeriodUsedForMostPopularStreams - Period of time (in days) + */ +public enum PeriodUsedForMostPopularStreams { + ONE(1L), + SEVEN(7L), + THIRTY(30L); + + @JsonValue + private final long value; + + private PeriodUsedForMostPopularStreams(long value) { + this.value = value; + } + + public long value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Persistiq.java b/src/main/java/com/airbyte/api/models/shared/Persistiq.java new file mode 100644 index 000000000..e4b922482 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Persistiq.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Persistiq { + PERSISTIQ("persistiq"); + + @JsonValue + private final String value; + + private Persistiq(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/PersonalAccessToken.java b/src/main/java/com/airbyte/api/models/shared/PersonalAccessToken.java new file mode 100644 index 000000000..4def8989c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/PersonalAccessToken.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class PersonalAccessToken { + + /** + * The Personal Access Token for the Airtable account. See the <a href="https://airtable.com/developers/web/guides/personal-access-tokens">Support Guide</a> for more information on how to obtain this token. + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_method") + private Optional authMethod; + + public PersonalAccessToken( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.authMethod = Builder._SINGLETON_VALUE_AuthMethod.value(); + } + + /** + * The Personal Access Token for the Airtable account. See the <a href="https://airtable.com/developers/web/guides/personal-access-tokens">Support Guide</a> for more information on how to obtain this token. + */ + public String apiKey() { + return apiKey; + } + + public Optional authMethod() { + return authMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Personal Access Token for the Airtable account. See the <a href="https://airtable.com/developers/web/guides/personal-access-tokens">Support Guide</a> for more information on how to obtain this token. + */ + public PersonalAccessToken withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PersonalAccessToken other = (PersonalAccessToken) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.authMethod, other.authMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + authMethod); + } + + @Override + public String toString() { + return Utils.toString(PersonalAccessToken.class, + "apiKey", apiKey, + "authMethod", authMethod); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * The Personal Access Token for the Airtable account. See the <a href="https://airtable.com/developers/web/guides/personal-access-tokens">Support Guide</a> for more information on how to obtain this token. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public PersonalAccessToken build() { + return new PersonalAccessToken( + apiKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthMethod = + new LazySingletonValue<>( + "auth_method", + "\"api_key\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/PexelsApi.java b/src/main/java/com/airbyte/api/models/shared/PexelsApi.java new file mode 100644 index 000000000..8f7e1386a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/PexelsApi.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum PexelsApi { + PEXELS_API("pexels-api"); + + @JsonValue + private final String value; + + private PexelsApi(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Pinecone.java b/src/main/java/com/airbyte/api/models/shared/Pinecone.java new file mode 100644 index 000000000..b1ee25c3a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Pinecone.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Pinecone { + PINECONE("pinecone"); + + @JsonValue + private final String value; + + private Pinecone(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Pinterest.java b/src/main/java/com/airbyte/api/models/shared/Pinterest.java new file mode 100644 index 000000000..6271782d7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Pinterest.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Pinterest { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public Pinterest( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public Pinterest withCredentials(PinterestCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Pinterest withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Pinterest other = (Pinterest) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(Pinterest.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(PinterestCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Pinterest build() { + return new Pinterest( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/PinterestCredentials.java b/src/main/java/com/airbyte/api/models/shared/PinterestCredentials.java new file mode 100644 index 000000000..2e49b4e97 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/PinterestCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class PinterestCredentials { + + /** + * The Client ID of your OAuth application + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your OAuth application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public PinterestCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of your OAuth application + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your OAuth application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your OAuth application + */ + public PinterestCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your OAuth application + */ + public PinterestCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public PinterestCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public PinterestCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PinterestCredentials other = (PinterestCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(PinterestCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your OAuth application + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your OAuth application + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public PinterestCredentials build() { + return new PinterestCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Pipedrive.java b/src/main/java/com/airbyte/api/models/shared/Pipedrive.java new file mode 100644 index 000000000..626b7a49c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Pipedrive.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Pipedrive { + PIPEDRIVE("pipedrive"); + + @JsonValue + private final String value; + + private Pipedrive(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/PivotCategory.java b/src/main/java/com/airbyte/api/models/shared/PivotCategory.java new file mode 100644 index 000000000..59b4a8bcc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/PivotCategory.java @@ -0,0 +1,52 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * PivotCategory - Choose a category to pivot your analytics report around. This selection will organize your data based on the chosen attribute, allowing you to analyze trends and performance from different perspectives. + */ +public enum PivotCategory { + COMPANY("COMPANY"), + ACCOUNT("ACCOUNT"), + SHARE("SHARE"), + CAMPAIGN("CAMPAIGN"), + CREATIVE("CREATIVE"), + CAMPAIGN_GROUP("CAMPAIGN_GROUP"), + CONVERSION("CONVERSION"), + CONVERSATION_NODE("CONVERSATION_NODE"), + CONVERSATION_NODE_OPTION_INDEX("CONVERSATION_NODE_OPTION_INDEX"), + SERVING_LOCATION("SERVING_LOCATION"), + CARD_INDEX("CARD_INDEX"), + MEMBER_COMPANY_SIZE("MEMBER_COMPANY_SIZE"), + MEMBER_INDUSTRY("MEMBER_INDUSTRY"), + MEMBER_SENIORITY("MEMBER_SENIORITY"), + MEMBER_JOB_TITLE("MEMBER_JOB_TITLE"), + MEMBER_JOB_FUNCTION("MEMBER_JOB_FUNCTION"), + MEMBER_COUNTRY_V2("MEMBER_COUNTRY_V2"), + MEMBER_REGION_V2("MEMBER_REGION_V2"), + MEMBER_COMPANY("MEMBER_COMPANY"), + PLACEMENT_NAME("PLACEMENT_NAME"), + IMPRESSION_DEVICE_TYPE("IMPRESSION_DEVICE_TYPE"); + + @JsonValue + private final String value; + + private PivotCategory(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Pocket.java b/src/main/java/com/airbyte/api/models/shared/Pocket.java new file mode 100644 index 000000000..59db909e7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Pocket.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Pocket { + POCKET("pocket"); + + @JsonValue + private final String value; + + private Pocket(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Pokeapi.java b/src/main/java/com/airbyte/api/models/shared/Pokeapi.java new file mode 100644 index 000000000..0856638b1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Pokeapi.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Pokeapi { + POKEAPI("pokeapi"); + + @JsonValue + private final String value; + + private Pokeapi(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/PokemonName.java b/src/main/java/com/airbyte/api/models/shared/PokemonName.java new file mode 100644 index 000000000..404a2cc3c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/PokemonName.java @@ -0,0 +1,929 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * PokemonName - Pokemon requested from the API. + */ +public enum PokemonName { + BULBASAUR("bulbasaur"), + IVYSAUR("ivysaur"), + VENUSAUR("venusaur"), + CHARMANDER("charmander"), + CHARMELEON("charmeleon"), + CHARIZARD("charizard"), + SQUIRTLE("squirtle"), + WARTORTLE("wartortle"), + BLASTOISE("blastoise"), + CATERPIE("caterpie"), + METAPOD("metapod"), + BUTTERFREE("butterfree"), + WEEDLE("weedle"), + KAKUNA("kakuna"), + BEEDRILL("beedrill"), + PIDGEY("pidgey"), + PIDGEOTTO("pidgeotto"), + PIDGEOT("pidgeot"), + RATTATA("rattata"), + RATICATE("raticate"), + SPEAROW("spearow"), + FEAROW("fearow"), + EKANS("ekans"), + ARBOK("arbok"), + PIKACHU("pikachu"), + RAICHU("raichu"), + SANDSHREW("sandshrew"), + SANDSLASH("sandslash"), + NIDORANF("nidoranf"), + NIDORINA("nidorina"), + NIDOQUEEN("nidoqueen"), + NIDORANM("nidoranm"), + NIDORINO("nidorino"), + NIDOKING("nidoking"), + CLEFAIRY("clefairy"), + CLEFABLE("clefable"), + VULPIX("vulpix"), + NINETALES("ninetales"), + JIGGLYPUFF("jigglypuff"), + WIGGLYTUFF("wigglytuff"), + ZUBAT("zubat"), + GOLBAT("golbat"), + ODDISH("oddish"), + GLOOM("gloom"), + VILEPLUME("vileplume"), + PARAS("paras"), + PARASECT("parasect"), + VENONAT("venonat"), + VENOMOTH("venomoth"), + DIGLETT("diglett"), + DUGTRIO("dugtrio"), + MEOWTH("meowth"), + PERSIAN("persian"), + PSYDUCK("psyduck"), + GOLDUCK("golduck"), + MANKEY("mankey"), + PRIMEAPE("primeape"), + GROWLITHE("growlithe"), + ARCANINE("arcanine"), + POLIWAG("poliwag"), + POLIWHIRL("poliwhirl"), + POLIWRATH("poliwrath"), + ABRA("abra"), + KADABRA("kadabra"), + ALAKAZAM("alakazam"), + MACHOP("machop"), + MACHOKE("machoke"), + MACHAMP("machamp"), + BELLSPROUT("bellsprout"), + WEEPINBELL("weepinbell"), + VICTREEBEL("victreebel"), + TENTACOOL("tentacool"), + TENTACRUEL("tentacruel"), + GEODUDE("geodude"), + GRAVELER("graveler"), + GOLEM("golem"), + PONYTA("ponyta"), + RAPIDASH("rapidash"), + SLOWPOKE("slowpoke"), + SLOWBRO("slowbro"), + MAGNEMITE("magnemite"), + MAGNETON("magneton"), + FARFETCHD("farfetchd"), + DODUO("doduo"), + DODRIO("dodrio"), + SEEL("seel"), + DEWGONG("dewgong"), + GRIMER("grimer"), + MUK("muk"), + SHELLDER("shellder"), + CLOYSTER("cloyster"), + GASTLY("gastly"), + HAUNTER("haunter"), + GENGAR("gengar"), + ONIX("onix"), + DROWZEE("drowzee"), + HYPNO("hypno"), + KRABBY("krabby"), + KINGLER("kingler"), + VOLTORB("voltorb"), + ELECTRODE("electrode"), + EXEGGCUTE("exeggcute"), + EXEGGUTOR("exeggutor"), + CUBONE("cubone"), + MAROWAK("marowak"), + HITMONLEE("hitmonlee"), + HITMONCHAN("hitmonchan"), + LICKITUNG("lickitung"), + KOFFING("koffing"), + WEEZING("weezing"), + RHYHORN("rhyhorn"), + RHYDON("rhydon"), + CHANSEY("chansey"), + TANGELA("tangela"), + KANGASKHAN("kangaskhan"), + HORSEA("horsea"), + SEADRA("seadra"), + GOLDEEN("goldeen"), + SEAKING("seaking"), + STARYU("staryu"), + STARMIE("starmie"), + MRMIME("mrmime"), + SCYTHER("scyther"), + JYNX("jynx"), + ELECTABUZZ("electabuzz"), + MAGMAR("magmar"), + PINSIR("pinsir"), + TAUROS("tauros"), + MAGIKARP("magikarp"), + GYARADOS("gyarados"), + LAPRAS("lapras"), + DITTO("ditto"), + EEVEE("eevee"), + VAPOREON("vaporeon"), + JOLTEON("jolteon"), + FLAREON("flareon"), + PORYGON("porygon"), + OMANYTE("omanyte"), + OMASTAR("omastar"), + KABUTO("kabuto"), + KABUTOPS("kabutops"), + AERODACTYL("aerodactyl"), + SNORLAX("snorlax"), + ARTICUNO("articuno"), + ZAPDOS("zapdos"), + MOLTRES("moltres"), + DRATINI("dratini"), + DRAGONAIR("dragonair"), + DRAGONITE("dragonite"), + MEWTWO("mewtwo"), + MEW("mew"), + CHIKORITA("chikorita"), + BAYLEEF("bayleef"), + MEGANIUM("meganium"), + CYNDAQUIL("cyndaquil"), + QUILAVA("quilava"), + TYPHLOSION("typhlosion"), + TOTODILE("totodile"), + CROCONAW("croconaw"), + FERALIGATR("feraligatr"), + SENTRET("sentret"), + FURRET("furret"), + HOOTHOOT("hoothoot"), + NOCTOWL("noctowl"), + LEDYBA("ledyba"), + LEDIAN("ledian"), + SPINARAK("spinarak"), + ARIADOS("ariados"), + CROBAT("crobat"), + CHINCHOU("chinchou"), + LANTURN("lanturn"), + PICHU("pichu"), + CLEFFA("cleffa"), + IGGLYBUFF("igglybuff"), + TOGEPI("togepi"), + TOGETIC("togetic"), + NATU("natu"), + XATU("xatu"), + MAREEP("mareep"), + FLAAFFY("flaaffy"), + AMPHAROS("ampharos"), + BELLOSSOM("bellossom"), + MARILL("marill"), + AZUMARILL("azumarill"), + SUDOWOODO("sudowoodo"), + POLITOED("politoed"), + HOPPIP("hoppip"), + SKIPLOOM("skiploom"), + JUMPLUFF("jumpluff"), + AIPOM("aipom"), + SUNKERN("sunkern"), + SUNFLORA("sunflora"), + YANMA("yanma"), + WOOPER("wooper"), + QUAGSIRE("quagsire"), + ESPEON("espeon"), + UMBREON("umbreon"), + MURKROW("murkrow"), + SLOWKING("slowking"), + MISDREAVUS("misdreavus"), + UNOWN("unown"), + WOBBUFFET("wobbuffet"), + GIRAFARIG("girafarig"), + PINECO("pineco"), + FORRETRESS("forretress"), + DUNSPARCE("dunsparce"), + GLIGAR("gligar"), + STEELIX("steelix"), + SNUBBULL("snubbull"), + GRANBULL("granbull"), + QWILFISH("qwilfish"), + SCIZOR("scizor"), + SHUCKLE("shuckle"), + HERACROSS("heracross"), + SNEASEL("sneasel"), + TEDDIURSA("teddiursa"), + URSARING("ursaring"), + SLUGMA("slugma"), + MAGCARGO("magcargo"), + SWINUB("swinub"), + PILOSWINE("piloswine"), + CORSOLA("corsola"), + REMORAID("remoraid"), + OCTILLERY("octillery"), + DELIBIRD("delibird"), + MANTINE("mantine"), + SKARMORY("skarmory"), + HOUNDOUR("houndour"), + HOUNDOOM("houndoom"), + KINGDRA("kingdra"), + PHANPY("phanpy"), + DONPHAN("donphan"), + PORYGON2("porygon2"), + STANTLER("stantler"), + SMEARGLE("smeargle"), + TYROGUE("tyrogue"), + HITMONTOP("hitmontop"), + SMOOCHUM("smoochum"), + ELEKID("elekid"), + MAGBY("magby"), + MILTANK("miltank"), + BLISSEY("blissey"), + RAIKOU("raikou"), + ENTEI("entei"), + SUICUNE("suicune"), + LARVITAR("larvitar"), + PUPITAR("pupitar"), + TYRANITAR("tyranitar"), + LUGIA("lugia"), + HO_OH("ho-oh"), + CELEBI("celebi"), + TREECKO("treecko"), + GROVYLE("grovyle"), + SCEPTILE("sceptile"), + TORCHIC("torchic"), + COMBUSKEN("combusken"), + BLAZIKEN("blaziken"), + MUDKIP("mudkip"), + MARSHTOMP("marshtomp"), + SWAMPERT("swampert"), + POOCHYENA("poochyena"), + MIGHTYENA("mightyena"), + ZIGZAGOON("zigzagoon"), + LINOONE("linoone"), + WURMPLE("wurmple"), + SILCOON("silcoon"), + BEAUTIFLY("beautifly"), + CASCOON("cascoon"), + DUSTOX("dustox"), + LOTAD("lotad"), + LOMBRE("lombre"), + LUDICOLO("ludicolo"), + SEEDOT("seedot"), + NUZLEAF("nuzleaf"), + SHIFTRY("shiftry"), + TAILLOW("taillow"), + SWELLOW("swellow"), + WINGULL("wingull"), + PELIPPER("pelipper"), + RALTS("ralts"), + KIRLIA("kirlia"), + GARDEVOIR("gardevoir"), + SURSKIT("surskit"), + MASQUERAIN("masquerain"), + SHROOMISH("shroomish"), + BRELOOM("breloom"), + SLAKOTH("slakoth"), + VIGOROTH("vigoroth"), + SLAKING("slaking"), + NINCADA("nincada"), + NINJASK("ninjask"), + SHEDINJA("shedinja"), + WHISMUR("whismur"), + LOUDRED("loudred"), + EXPLOUD("exploud"), + MAKUHITA("makuhita"), + HARIYAMA("hariyama"), + AZURILL("azurill"), + NOSEPASS("nosepass"), + SKITTY("skitty"), + DELCATTY("delcatty"), + SABLEYE("sableye"), + MAWILE("mawile"), + ARON("aron"), + LAIRON("lairon"), + AGGRON("aggron"), + MEDITITE("meditite"), + MEDICHAM("medicham"), + ELECTRIKE("electrike"), + MANECTRIC("manectric"), + PLUSLE("plusle"), + MINUN("minun"), + VOLBEAT("volbeat"), + ILLUMISE("illumise"), + ROSELIA("roselia"), + GULPIN("gulpin"), + SWALOT("swalot"), + CARVANHA("carvanha"), + SHARPEDO("sharpedo"), + WAILMER("wailmer"), + WAILORD("wailord"), + NUMEL("numel"), + CAMERUPT("camerupt"), + TORKOAL("torkoal"), + SPOINK("spoink"), + GRUMPIG("grumpig"), + SPINDA("spinda"), + TRAPINCH("trapinch"), + VIBRAVA("vibrava"), + FLYGON("flygon"), + CACNEA("cacnea"), + CACTURNE("cacturne"), + SWABLU("swablu"), + ALTARIA("altaria"), + ZANGOOSE("zangoose"), + SEVIPER("seviper"), + LUNATONE("lunatone"), + SOLROCK("solrock"), + BARBOACH("barboach"), + WHISCASH("whiscash"), + CORPHISH("corphish"), + CRAWDAUNT("crawdaunt"), + BALTOY("baltoy"), + CLAYDOL("claydol"), + LILEEP("lileep"), + CRADILY("cradily"), + ANORITH("anorith"), + ARMALDO("armaldo"), + FEEBAS("feebas"), + MILOTIC("milotic"), + CASTFORM("castform"), + KECLEON("kecleon"), + SHUPPET("shuppet"), + BANETTE("banette"), + DUSKULL("duskull"), + DUSCLOPS("dusclops"), + TROPIUS("tropius"), + CHIMECHO("chimecho"), + ABSOL("absol"), + WYNAUT("wynaut"), + SNORUNT("snorunt"), + GLALIE("glalie"), + SPHEAL("spheal"), + SEALEO("sealeo"), + WALREIN("walrein"), + CLAMPERL("clamperl"), + HUNTAIL("huntail"), + GOREBYSS("gorebyss"), + RELICANTH("relicanth"), + LUVDISC("luvdisc"), + BAGON("bagon"), + SHELGON("shelgon"), + SALAMENCE("salamence"), + BELDUM("beldum"), + METANG("metang"), + METAGROSS("metagross"), + REGIROCK("regirock"), + REGICE("regice"), + REGISTEEL("registeel"), + LATIAS("latias"), + LATIOS("latios"), + KYOGRE("kyogre"), + GROUDON("groudon"), + RAYQUAZA("rayquaza"), + JIRACHI("jirachi"), + DEOXYS("deoxys"), + TURTWIG("turtwig"), + GROTLE("grotle"), + TORTERRA("torterra"), + CHIMCHAR("chimchar"), + MONFERNO("monferno"), + INFERNAPE("infernape"), + PIPLUP("piplup"), + PRINPLUP("prinplup"), + EMPOLEON("empoleon"), + STARLY("starly"), + STARAVIA("staravia"), + STARAPTOR("staraptor"), + BIDOOF("bidoof"), + BIBAREL("bibarel"), + KRICKETOT("kricketot"), + KRICKETUNE("kricketune"), + SHINX("shinx"), + LUXIO("luxio"), + LUXRAY("luxray"), + BUDEW("budew"), + ROSERADE("roserade"), + CRANIDOS("cranidos"), + RAMPARDOS("rampardos"), + SHIELDON("shieldon"), + BASTIODON("bastiodon"), + BURMY("burmy"), + WORMADAM("wormadam"), + MOTHIM("mothim"), + COMBEE("combee"), + VESPIQUEN("vespiquen"), + PACHIRISU("pachirisu"), + BUIZEL("buizel"), + FLOATZEL("floatzel"), + CHERUBI("cherubi"), + CHERRIM("cherrim"), + SHELLOS("shellos"), + GASTRODON("gastrodon"), + AMBIPOM("ambipom"), + DRIFLOON("drifloon"), + DRIFBLIM("drifblim"), + BUNEARY("buneary"), + LOPUNNY("lopunny"), + MISMAGIUS("mismagius"), + HONCHKROW("honchkrow"), + GLAMEOW("glameow"), + PURUGLY("purugly"), + CHINGLING("chingling"), + STUNKY("stunky"), + SKUNTANK("skuntank"), + BRONZOR("bronzor"), + BRONZONG("bronzong"), + BONSLY("bonsly"), + MIMEJR("mimejr"), + HAPPINY("happiny"), + CHATOT("chatot"), + SPIRITOMB("spiritomb"), + GIBLE("gible"), + GABITE("gabite"), + GARCHOMP("garchomp"), + MUNCHLAX("munchlax"), + RIOLU("riolu"), + LUCARIO("lucario"), + HIPPOPOTAS("hippopotas"), + HIPPOWDON("hippowdon"), + SKORUPI("skorupi"), + DRAPION("drapion"), + CROAGUNK("croagunk"), + TOXICROAK("toxicroak"), + CARNIVINE("carnivine"), + FINNEON("finneon"), + LUMINEON("lumineon"), + MANTYKE("mantyke"), + SNOVER("snover"), + ABOMASNOW("abomasnow"), + WEAVILE("weavile"), + MAGNEZONE("magnezone"), + LICKILICKY("lickilicky"), + RHYPERIOR("rhyperior"), + TANGROWTH("tangrowth"), + ELECTIVIRE("electivire"), + MAGMORTAR("magmortar"), + TOGEKISS("togekiss"), + YANMEGA("yanmega"), + LEAFEON("leafeon"), + GLACEON("glaceon"), + GLISCOR("gliscor"), + MAMOSWINE("mamoswine"), + PORYGON_Z("porygon-z"), + GALLADE("gallade"), + PROBOPASS("probopass"), + DUSKNOIR("dusknoir"), + FROSLASS("froslass"), + ROTOM("rotom"), + UXIE("uxie"), + MESPRIT("mesprit"), + AZELF("azelf"), + DIALGA("dialga"), + PALKIA("palkia"), + HEATRAN("heatran"), + REGIGIGAS("regigigas"), + GIRATINA("giratina"), + CRESSELIA("cresselia"), + PHIONE("phione"), + MANAPHY("manaphy"), + DARKRAI("darkrai"), + SHAYMIN("shaymin"), + ARCEUS("arceus"), + VICTINI("victini"), + SNIVY("snivy"), + SERVINE("servine"), + SERPERIOR("serperior"), + TEPIG("tepig"), + PIGNITE("pignite"), + EMBOAR("emboar"), + OSHAWOTT("oshawott"), + DEWOTT("dewott"), + SAMUROTT("samurott"), + PATRAT("patrat"), + WATCHOG("watchog"), + LILLIPUP("lillipup"), + HERDIER("herdier"), + STOUTLAND("stoutland"), + PURRLOIN("purrloin"), + LIEPARD("liepard"), + PANSAGE("pansage"), + SIMISAGE("simisage"), + PANSEAR("pansear"), + SIMISEAR("simisear"), + PANPOUR("panpour"), + SIMIPOUR("simipour"), + MUNNA("munna"), + MUSHARNA("musharna"), + PIDOVE("pidove"), + TRANQUILL("tranquill"), + UNFEZANT("unfezant"), + BLITZLE("blitzle"), + ZEBSTRIKA("zebstrika"), + ROGGENROLA("roggenrola"), + BOLDORE("boldore"), + GIGALITH("gigalith"), + WOOBAT("woobat"), + SWOOBAT("swoobat"), + DRILBUR("drilbur"), + EXCADRILL("excadrill"), + AUDINO("audino"), + TIMBURR("timburr"), + GURDURR("gurdurr"), + CONKELDURR("conkeldurr"), + TYMPOLE("tympole"), + PALPITOAD("palpitoad"), + SEISMITOAD("seismitoad"), + THROH("throh"), + SAWK("sawk"), + SEWADDLE("sewaddle"), + SWADLOON("swadloon"), + LEAVANNY("leavanny"), + VENIPEDE("venipede"), + WHIRLIPEDE("whirlipede"), + SCOLIPEDE("scolipede"), + COTTONEE("cottonee"), + WHIMSICOTT("whimsicott"), + PETILIL("petilil"), + LILLIGANT("lilligant"), + BASCULIN("basculin"), + SANDILE("sandile"), + KROKOROK("krokorok"), + KROOKODILE("krookodile"), + DARUMAKA("darumaka"), + DARMANITAN("darmanitan"), + MARACTUS("maractus"), + DWEBBLE("dwebble"), + CRUSTLE("crustle"), + SCRAGGY("scraggy"), + SCRAFTY("scrafty"), + SIGILYPH("sigilyph"), + YAMASK("yamask"), + COFAGRIGUS("cofagrigus"), + TIRTOUGA("tirtouga"), + CARRACOSTA("carracosta"), + ARCHEN("archen"), + ARCHEOPS("archeops"), + TRUBBISH("trubbish"), + GARBODOR("garbodor"), + ZORUA("zorua"), + ZOROARK("zoroark"), + MINCCINO("minccino"), + CINCCINO("cinccino"), + GOTHITA("gothita"), + GOTHORITA("gothorita"), + GOTHITELLE("gothitelle"), + SOLOSIS("solosis"), + DUOSION("duosion"), + REUNICLUS("reuniclus"), + DUCKLETT("ducklett"), + SWANNA("swanna"), + VANILLITE("vanillite"), + VANILLISH("vanillish"), + VANILLUXE("vanilluxe"), + DEERLING("deerling"), + SAWSBUCK("sawsbuck"), + EMOLGA("emolga"), + KARRABLAST("karrablast"), + ESCAVALIER("escavalier"), + FOONGUS("foongus"), + AMOONGUSS("amoonguss"), + FRILLISH("frillish"), + JELLICENT("jellicent"), + ALOMOMOLA("alomomola"), + JOLTIK("joltik"), + GALVANTULA("galvantula"), + FERROSEED("ferroseed"), + FERROTHORN("ferrothorn"), + KLINK("klink"), + KLANG("klang"), + KLINKLANG("klinklang"), + TYNAMO("tynamo"), + EELEKTRIK("eelektrik"), + EELEKTROSS("eelektross"), + ELGYEM("elgyem"), + BEHEEYEM("beheeyem"), + LITWICK("litwick"), + LAMPENT("lampent"), + CHANDELURE("chandelure"), + AXEW("axew"), + FRAXURE("fraxure"), + HAXORUS("haxorus"), + CUBCHOO("cubchoo"), + BEARTIC("beartic"), + CRYOGONAL("cryogonal"), + SHELMET("shelmet"), + ACCELGOR("accelgor"), + STUNFISK("stunfisk"), + MIENFOO("mienfoo"), + MIENSHAO("mienshao"), + DRUDDIGON("druddigon"), + GOLETT("golett"), + GOLURK("golurk"), + PAWNIARD("pawniard"), + BISHARP("bisharp"), + BOUFFALANT("bouffalant"), + RUFFLET("rufflet"), + BRAVIARY("braviary"), + VULLABY("vullaby"), + MANDIBUZZ("mandibuzz"), + HEATMOR("heatmor"), + DURANT("durant"), + DEINO("deino"), + ZWEILOUS("zweilous"), + HYDREIGON("hydreigon"), + LARVESTA("larvesta"), + VOLCARONA("volcarona"), + COBALION("cobalion"), + TERRAKION("terrakion"), + VIRIZION("virizion"), + TORNADUS("tornadus"), + THUNDURUS("thundurus"), + RESHIRAM("reshiram"), + ZEKROM("zekrom"), + LANDORUS("landorus"), + KYUREM("kyurem"), + KELDEO("keldeo"), + MELOETTA("meloetta"), + GENESECT("genesect"), + CHESPIN("chespin"), + QUILLADIN("quilladin"), + CHESNAUGHT("chesnaught"), + FENNEKIN("fennekin"), + BRAIXEN("braixen"), + DELPHOX("delphox"), + FROAKIE("froakie"), + FROGADIER("frogadier"), + GRENINJA("greninja"), + BUNNELBY("bunnelby"), + DIGGERSBY("diggersby"), + FLETCHLING("fletchling"), + FLETCHINDER("fletchinder"), + TALONFLAME("talonflame"), + SCATTERBUG("scatterbug"), + SPEWPA("spewpa"), + VIVILLON("vivillon"), + LITLEO("litleo"), + PYROAR("pyroar"), + FLABEBE("flabebe"), + FLOETTE("floette"), + FLORGES("florges"), + SKIDDO("skiddo"), + GOGOAT("gogoat"), + PANCHAM("pancham"), + PANGORO("pangoro"), + FURFROU("furfrou"), + ESPURR("espurr"), + MEOWSTIC("meowstic"), + HONEDGE("honedge"), + DOUBLADE("doublade"), + AEGISLASH("aegislash"), + SPRITZEE("spritzee"), + AROMATISSE("aromatisse"), + SWIRLIX("swirlix"), + SLURPUFF("slurpuff"), + INKAY("inkay"), + MALAMAR("malamar"), + BINACLE("binacle"), + BARBARACLE("barbaracle"), + SKRELP("skrelp"), + DRAGALGE("dragalge"), + CLAUNCHER("clauncher"), + CLAWITZER("clawitzer"), + HELIOPTILE("helioptile"), + HELIOLISK("heliolisk"), + TYRUNT("tyrunt"), + TYRANTRUM("tyrantrum"), + AMAURA("amaura"), + AURORUS("aurorus"), + SYLVEON("sylveon"), + HAWLUCHA("hawlucha"), + DEDENNE("dedenne"), + CARBINK("carbink"), + GOOMY("goomy"), + SLIGGOO("sliggoo"), + GOODRA("goodra"), + KLEFKI("klefki"), + PHANTUMP("phantump"), + TREVENANT("trevenant"), + PUMPKABOO("pumpkaboo"), + GOURGEIST("gourgeist"), + BERGMITE("bergmite"), + AVALUGG("avalugg"), + NOIBAT("noibat"), + NOIVERN("noivern"), + XERNEAS("xerneas"), + YVELTAL("yveltal"), + ZYGARDE("zygarde"), + DIANCIE("diancie"), + HOOPA("hoopa"), + VOLCANION("volcanion"), + ROWLET("rowlet"), + DARTRIX("dartrix"), + DECIDUEYE("decidueye"), + LITTEN("litten"), + TORRACAT("torracat"), + INCINEROAR("incineroar"), + POPPLIO("popplio"), + BRIONNE("brionne"), + PRIMARINA("primarina"), + PIKIPEK("pikipek"), + TRUMBEAK("trumbeak"), + TOUCANNON("toucannon"), + YUNGOOS("yungoos"), + GUMSHOOS("gumshoos"), + GRUBBIN("grubbin"), + CHARJABUG("charjabug"), + VIKAVOLT("vikavolt"), + CRABRAWLER("crabrawler"), + CRABOMINABLE("crabominable"), + ORICORIO("oricorio"), + CUTIEFLY("cutiefly"), + RIBOMBEE("ribombee"), + ROCKRUFF("rockruff"), + LYCANROC("lycanroc"), + WISHIWASHI("wishiwashi"), + MAREANIE("mareanie"), + TOXAPEX("toxapex"), + MUDBRAY("mudbray"), + MUDSDALE("mudsdale"), + DEWPIDER("dewpider"), + ARAQUANID("araquanid"), + FOMANTIS("fomantis"), + LURANTIS("lurantis"), + MORELULL("morelull"), + SHIINOTIC("shiinotic"), + SALANDIT("salandit"), + SALAZZLE("salazzle"), + STUFFUL("stufful"), + BEWEAR("bewear"), + BOUNSWEET("bounsweet"), + STEENEE("steenee"), + TSAREENA("tsareena"), + COMFEY("comfey"), + ORANGURU("oranguru"), + PASSIMIAN("passimian"), + WIMPOD("wimpod"), + GOLISOPOD("golisopod"), + SANDYGAST("sandygast"), + PALOSSAND("palossand"), + PYUKUMUKU("pyukumuku"), + TYPENULL("typenull"), + SILVALLY("silvally"), + MINIOR("minior"), + KOMALA("komala"), + TURTONATOR("turtonator"), + TOGEDEMARU("togedemaru"), + MIMIKYU("mimikyu"), + BRUXISH("bruxish"), + DRAMPA("drampa"), + DHELMISE("dhelmise"), + JANGMO_O("jangmo-o"), + HAKAMO_O("hakamo-o"), + KOMMO_O("kommo-o"), + TAPUKOKO("tapukoko"), + TAPULELE("tapulele"), + TAPUBULU("tapubulu"), + TAPUFINI("tapufini"), + COSMOG("cosmog"), + COSMOEM("cosmoem"), + SOLGALEO("solgaleo"), + LUNALA("lunala"), + NIHILEGO("nihilego"), + BUZZWOLE("buzzwole"), + PHEROMOSA("pheromosa"), + XURKITREE("xurkitree"), + CELESTEELA("celesteela"), + KARTANA("kartana"), + GUZZLORD("guzzlord"), + NECROZMA("necrozma"), + MAGEARNA("magearna"), + MARSHADOW("marshadow"), + POIPOLE("poipole"), + NAGANADEL("naganadel"), + STAKATAKA("stakataka"), + BLACEPHALON("blacephalon"), + ZERAORA("zeraora"), + MELTAN("meltan"), + MELMETAL("melmetal"), + GROOKEY("grookey"), + THWACKEY("thwackey"), + RILLABOOM("rillaboom"), + SCORBUNNY("scorbunny"), + RABOOT("raboot"), + CINDERACE("cinderace"), + SOBBLE("sobble"), + DRIZZILE("drizzile"), + INTELEON("inteleon"), + SKWOVET("skwovet"), + GREEDENT("greedent"), + ROOKIDEE("rookidee"), + CORVISQUIRE("corvisquire"), + CORVIKNIGHT("corviknight"), + BLIPBUG("blipbug"), + DOTTLER("dottler"), + ORBEETLE("orbeetle"), + NICKIT("nickit"), + THIEVUL("thievul"), + GOSSIFLEUR("gossifleur"), + ELDEGOSS("eldegoss"), + WOOLOO("wooloo"), + DUBWOOL("dubwool"), + CHEWTLE("chewtle"), + DREDNAW("drednaw"), + YAMPER("yamper"), + BOLTUND("boltund"), + ROLYCOLY("rolycoly"), + CARKOL("carkol"), + COALOSSAL("coalossal"), + APPLIN("applin"), + FLAPPLE("flapple"), + APPLETUN("appletun"), + SILICOBRA("silicobra"), + SANDACONDA("sandaconda"), + CRAMORANT("cramorant"), + ARROKUDA("arrokuda"), + BARRASKEWDA("barraskewda"), + TOXEL("toxel"), + TOXTRICITY("toxtricity"), + SIZZLIPEDE("sizzlipede"), + CENTISKORCH("centiskorch"), + CLOBBOPUS("clobbopus"), + GRAPPLOCT("grapploct"), + SINISTEA("sinistea"), + POLTEAGEIST("polteageist"), + HATENNA("hatenna"), + HATTREM("hattrem"), + HATTERENE("hatterene"), + IMPIDIMP("impidimp"), + MORGREM("morgrem"), + GRIMMSNARL("grimmsnarl"), + OBSTAGOON("obstagoon"), + PERRSERKER("perrserker"), + CURSOLA("cursola"), + SIRFETCHD("sirfetchd"), + MRRIME("mrrime"), + RUNERIGUS("runerigus"), + MILCERY("milcery"), + ALCREMIE("alcremie"), + FALINKS("falinks"), + PINCURCHIN("pincurchin"), + SNOM("snom"), + FROSMOTH("frosmoth"), + STONJOURNER("stonjourner"), + EISCUE("eiscue"), + INDEEDEE("indeedee"), + MORPEKO("morpeko"), + CUFANT("cufant"), + COPPERAJAH("copperajah"), + DRACOZOLT("dracozolt"), + ARCTOZOLT("arctozolt"), + DRACOVISH("dracovish"), + ARCTOVISH("arctovish"), + DURALUDON("duraludon"), + DREEPY("dreepy"), + DRAKLOAK("drakloak"), + DRAGAPULT("dragapult"), + ZACIAN("zacian"), + ZAMAZENTA("zamazenta"), + ETERNATUS("eternatus"), + KUBFU("kubfu"), + URSHIFU("urshifu"), + ZARUDE("zarude"), + REGIELEKI("regieleki"), + REGIDRAGO("regidrago"), + GLASTRIER("glastrier"), + SPECTRIER("spectrier"), + CALYREX("calyrex"); + + @JsonValue + private final String value; + + private PokemonName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/PolygonStockApi.java b/src/main/java/com/airbyte/api/models/shared/PolygonStockApi.java new file mode 100644 index 000000000..725eafae2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/PolygonStockApi.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum PolygonStockApi { + POLYGON_STOCK_API("polygon-stock-api"); + + @JsonValue + private final String value; + + private PolygonStockApi(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Postgres.java b/src/main/java/com/airbyte/api/models/shared/Postgres.java new file mode 100644 index 000000000..7d95cb059 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Postgres.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Postgres { + POSTGRES("postgres"); + + @JsonValue + private final String value; + + private Postgres(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Posthog.java b/src/main/java/com/airbyte/api/models/shared/Posthog.java new file mode 100644 index 000000000..e6e26b7d1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Posthog.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Posthog { + POSTHOG("posthog"); + + @JsonValue + private final String value; + + private Posthog(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Postmarkapp.java b/src/main/java/com/airbyte/api/models/shared/Postmarkapp.java new file mode 100644 index 000000000..fe8cbf858 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Postmarkapp.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Postmarkapp { + POSTMARKAPP("postmarkapp"); + + @JsonValue + private final String value; + + private Postmarkapp(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Prefer.java b/src/main/java/com/airbyte/api/models/shared/Prefer.java new file mode 100644 index 000000000..13b275a2a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Prefer.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * Prefer - Prefer SSL mode. + */ + +public class Prefer { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public Prefer() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Prefer other = (Prefer) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(Prefer.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public Prefer build() { + return new Prefer( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"prefer\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Preferred.java b/src/main/java/com/airbyte/api/models/shared/Preferred.java new file mode 100644 index 000000000..7e64d9f5d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Preferred.java @@ -0,0 +1,82 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * Preferred - Automatically attempt SSL connection. If the MySQL server does not support SSL, continue with a regular connection. + */ + +public class Preferred { + + @JsonProperty("mode") + private SourceMysqlMode mode; + + public Preferred() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public SourceMysqlMode mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Preferred other = (Preferred) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(Preferred.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public Preferred build() { + return new Preferred( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"preferred\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Prestashop.java b/src/main/java/com/airbyte/api/models/shared/Prestashop.java new file mode 100644 index 000000000..7b078f9cb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Prestashop.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Prestashop { + PRESTASHOP("prestashop"); + + @JsonValue + private final String value; + + private Prestashop(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/PrivateApp.java b/src/main/java/com/airbyte/api/models/shared/PrivateApp.java new file mode 100644 index 000000000..356a7ea07 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/PrivateApp.java @@ -0,0 +1,123 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class PrivateApp { + + /** + * HubSpot Access token. See the <a href="https://developers.hubspot.com/docs/api/private-apps">Hubspot docs</a> if you need help finding this token. + */ + @JsonProperty("access_token") + private String accessToken; + + /** + * Name of the credentials set + */ + @JsonProperty("credentials_title") + private SourceHubspotSchemasAuthType credentialsTitle; + + public PrivateApp( + @JsonProperty("access_token") String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + this.credentialsTitle = Builder._SINGLETON_VALUE_CredentialsTitle.value(); + } + + /** + * HubSpot Access token. See the <a href="https://developers.hubspot.com/docs/api/private-apps">Hubspot docs</a> if you need help finding this token. + */ + public String accessToken() { + return accessToken; + } + + /** + * Name of the credentials set + */ + public SourceHubspotSchemasAuthType credentialsTitle() { + return credentialsTitle; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HubSpot Access token. See the <a href="https://developers.hubspot.com/docs/api/private-apps">Hubspot docs</a> if you need help finding this token. + */ + public PrivateApp withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrivateApp other = (PrivateApp) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.credentialsTitle, other.credentialsTitle); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + credentialsTitle); + } + + @Override + public String toString() { + return Utils.toString(PrivateApp.class, + "accessToken", accessToken, + "credentialsTitle", credentialsTitle); + } + + public final static class Builder { + + private String accessToken; + + private Builder() { + // force use of static builder() method + } + + /** + * HubSpot Access token. See the <a href="https://developers.hubspot.com/docs/api/private-apps">Hubspot docs</a> if you need help finding this token. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + public PrivateApp build() { + return new PrivateApp( + accessToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_CredentialsTitle = + new LazySingletonValue<>( + "credentials_title", + "\"Private App Credentials\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/PrivateToken.java b/src/main/java/com/airbyte/api/models/shared/PrivateToken.java new file mode 100644 index 000000000..bb878a77d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/PrivateToken.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class PrivateToken { + + /** + * Log into your Gitlab account and then generate a personal Access Token. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + public PrivateToken( + @JsonProperty("access_token") String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + } + + /** + * Log into your Gitlab account and then generate a personal Access Token. + */ + public String accessToken() { + return accessToken; + } + + public Optional authType() { + return authType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Log into your Gitlab account and then generate a personal Access Token. + */ + public PrivateToken withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrivateToken other = (PrivateToken) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authType, other.authType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authType); + } + + @Override + public String toString() { + return Utils.toString(PrivateToken.class, + "accessToken", accessToken, + "authType", authType); + } + + public final static class Builder { + + private String accessToken; + + private Builder() { + // force use of static builder() method + } + + /** + * Log into your Gitlab account and then generate a personal Access Token. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + public PrivateToken build() { + return new PrivateToken( + accessToken); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"access_token\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Processing.java b/src/main/java/com/airbyte/api/models/shared/Processing.java new file mode 100644 index 000000000..8b9c39437 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Processing.java @@ -0,0 +1,94 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * Processing - Processing configuration + */ + +@JsonDeserialize(using = Processing._Deserializer.class) +public class Processing { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private Processing(TypedObject value) { + this.value = value; + } + + public static Processing of(Local value) { + Utils.checkNotNull(value, "value"); + return new Processing(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code Local}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Processing other = (Processing) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(Processing.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(Processing.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/ProcessingConfigModel.java b/src/main/java/com/airbyte/api/models/shared/ProcessingConfigModel.java new file mode 100644 index 000000000..5ec43c0c8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ProcessingConfigModel.java @@ -0,0 +1,407 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ProcessingConfigModel { + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("chunk_overlap") + private Optional chunkOverlap; + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + @JsonProperty("chunk_size") + private long chunkSize; + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("field_name_mappings") + private Optional> fieldNameMappings; + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("metadata_fields") + private Optional> metadataFields; + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("text_fields") + private Optional> textFields; + + /** + * Split text fields into chunks based on the specified method. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("text_splitter") + private Optional textSplitter; + + public ProcessingConfigModel( + @JsonProperty("chunk_overlap") Optional chunkOverlap, + @JsonProperty("chunk_size") long chunkSize, + @JsonProperty("field_name_mappings") Optional> fieldNameMappings, + @JsonProperty("metadata_fields") Optional> metadataFields, + @JsonProperty("text_fields") Optional> textFields, + @JsonProperty("text_splitter") Optional textSplitter) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + Utils.checkNotNull(chunkSize, "chunkSize"); + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + Utils.checkNotNull(metadataFields, "metadataFields"); + Utils.checkNotNull(textFields, "textFields"); + Utils.checkNotNull(textSplitter, "textSplitter"); + this.chunkOverlap = chunkOverlap; + this.chunkSize = chunkSize; + this.fieldNameMappings = fieldNameMappings; + this.metadataFields = metadataFields; + this.textFields = textFields; + this.textSplitter = textSplitter; + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public Optional chunkOverlap() { + return chunkOverlap; + } + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + public long chunkSize() { + return chunkSize; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public Optional> fieldNameMappings() { + return fieldNameMappings; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public Optional> metadataFields() { + return metadataFields; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Optional> textFields() { + return textFields; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public Optional textSplitter() { + return textSplitter; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public ProcessingConfigModel withChunkOverlap(long chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = Optional.ofNullable(chunkOverlap); + return this; + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public ProcessingConfigModel withChunkOverlap(Optional chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = chunkOverlap; + return this; + } + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + public ProcessingConfigModel withChunkSize(long chunkSize) { + Utils.checkNotNull(chunkSize, "chunkSize"); + this.chunkSize = chunkSize; + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public ProcessingConfigModel withFieldNameMappings(java.util.List fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = Optional.ofNullable(fieldNameMappings); + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public ProcessingConfigModel withFieldNameMappings(Optional> fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = fieldNameMappings; + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public ProcessingConfigModel withMetadataFields(java.util.List metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = Optional.ofNullable(metadataFields); + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public ProcessingConfigModel withMetadataFields(Optional> metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = metadataFields; + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public ProcessingConfigModel withTextFields(java.util.List textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = Optional.ofNullable(textFields); + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public ProcessingConfigModel withTextFields(Optional> textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = textFields; + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public ProcessingConfigModel withTextSplitter(TextSplitter textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = Optional.ofNullable(textSplitter); + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public ProcessingConfigModel withTextSplitter(Optional textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = textSplitter; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProcessingConfigModel other = (ProcessingConfigModel) o; + return + java.util.Objects.deepEquals(this.chunkOverlap, other.chunkOverlap) && + java.util.Objects.deepEquals(this.chunkSize, other.chunkSize) && + java.util.Objects.deepEquals(this.fieldNameMappings, other.fieldNameMappings) && + java.util.Objects.deepEquals(this.metadataFields, other.metadataFields) && + java.util.Objects.deepEquals(this.textFields, other.textFields) && + java.util.Objects.deepEquals(this.textSplitter, other.textSplitter); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + chunkOverlap, + chunkSize, + fieldNameMappings, + metadataFields, + textFields, + textSplitter); + } + + @Override + public String toString() { + return Utils.toString(ProcessingConfigModel.class, + "chunkOverlap", chunkOverlap, + "chunkSize", chunkSize, + "fieldNameMappings", fieldNameMappings, + "metadataFields", metadataFields, + "textFields", textFields, + "textSplitter", textSplitter); + } + + public final static class Builder { + + private Optional chunkOverlap; + + private Long chunkSize; + + private Optional> fieldNameMappings = Optional.empty(); + + private Optional> metadataFields = Optional.empty(); + + private Optional> textFields = Optional.empty(); + + private Optional textSplitter = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public Builder chunkOverlap(long chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = Optional.ofNullable(chunkOverlap); + return this; + } + + /** + * Size of overlap between chunks in tokens to store in vector store to better capture relevant context + */ + public Builder chunkOverlap(Optional chunkOverlap) { + Utils.checkNotNull(chunkOverlap, "chunkOverlap"); + this.chunkOverlap = chunkOverlap; + return this; + } + + /** + * Size of chunks in tokens to store in vector store (make sure it is not too big for the context if your LLM) + */ + public Builder chunkSize(long chunkSize) { + Utils.checkNotNull(chunkSize, "chunkSize"); + this.chunkSize = chunkSize; + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public Builder fieldNameMappings(java.util.List fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = Optional.ofNullable(fieldNameMappings); + return this; + } + + /** + * List of fields to rename. Not applicable for nested fields, but can be used to rename fields already flattened via dot notation. + */ + public Builder fieldNameMappings(Optional> fieldNameMappings) { + Utils.checkNotNull(fieldNameMappings, "fieldNameMappings"); + this.fieldNameMappings = fieldNameMappings; + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public Builder metadataFields(java.util.List metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = Optional.ofNullable(metadataFields); + return this; + } + + /** + * List of fields in the record that should be stored as metadata. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered metadata fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. When specifying nested paths, all matching values are flattened into an array set to a field named by the path. + */ + public Builder metadataFields(Optional> metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = metadataFields; + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Builder textFields(java.util.List textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = Optional.ofNullable(textFields); + return this; + } + + /** + * List of fields in the record that should be used to calculate the embedding. The field list is applied to all streams in the same way and non-existing fields are ignored. If none are defined, all fields are considered text fields. When specifying text fields, you can access nested fields in the record by using dot notation, e.g. `user.name` will access the `name` field in the `user` object. It's also possible to use wildcards to access all fields in an object, e.g. `users.*.name` will access all `names` fields in all entries of the `users` array. + */ + public Builder textFields(Optional> textFields) { + Utils.checkNotNull(textFields, "textFields"); + this.textFields = textFields; + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public Builder textSplitter(TextSplitter textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = Optional.ofNullable(textSplitter); + return this; + } + + /** + * Split text fields into chunks based on the specified method. + */ + public Builder textSplitter(Optional textSplitter) { + Utils.checkNotNull(textSplitter, "textSplitter"); + this.textSplitter = textSplitter; + return this; + } + + public ProcessingConfigModel build() { + if (chunkOverlap == null) { + chunkOverlap = _SINGLETON_VALUE_ChunkOverlap.value(); + } + return new ProcessingConfigModel( + chunkOverlap, + chunkSize, + fieldNameMappings, + metadataFields, + textFields, + textSplitter); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ChunkOverlap = + new LazySingletonValue<>( + "chunk_overlap", + "0", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ProductCatalog.java b/src/main/java/com/airbyte/api/models/shared/ProductCatalog.java new file mode 100644 index 000000000..27ba48488 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ProductCatalog.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ProductCatalog - Product Catalog version of your Chargebee site. Instructions on how to find your version you may find <a href="https://apidocs.chargebee.com/docs/api?prod_cat_ver=2">here</a> under `API Version` section. If left blank, the product catalog version will be set to 2.0. + */ +public enum ProductCatalog { + ONE0("1.0"), + TWO0("2.0"); + + @JsonValue + private final String value; + + private ProductCatalog(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ProjectSecret.java b/src/main/java/com/airbyte/api/models/shared/ProjectSecret.java new file mode 100644 index 000000000..653898bdd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ProjectSecret.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ProjectSecret { + + /** + * Mixpanel project secret. See the <a href="https://developer.mixpanel.com/reference/project-secret#managing-a-projects-secret">docs</a> for more information on how to obtain this. + */ + @JsonProperty("api_secret") + private String apiSecret; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("option_title") + private Optional optionTitle; + + public ProjectSecret( + @JsonProperty("api_secret") String apiSecret) { + Utils.checkNotNull(apiSecret, "apiSecret"); + this.apiSecret = apiSecret; + this.optionTitle = Builder._SINGLETON_VALUE_OptionTitle.value(); + } + + /** + * Mixpanel project secret. See the <a href="https://developer.mixpanel.com/reference/project-secret#managing-a-projects-secret">docs</a> for more information on how to obtain this. + */ + public String apiSecret() { + return apiSecret; + } + + public Optional optionTitle() { + return optionTitle; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Mixpanel project secret. See the <a href="https://developer.mixpanel.com/reference/project-secret#managing-a-projects-secret">docs</a> for more information on how to obtain this. + */ + public ProjectSecret withApiSecret(String apiSecret) { + Utils.checkNotNull(apiSecret, "apiSecret"); + this.apiSecret = apiSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProjectSecret other = (ProjectSecret) o; + return + java.util.Objects.deepEquals(this.apiSecret, other.apiSecret) && + java.util.Objects.deepEquals(this.optionTitle, other.optionTitle); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiSecret, + optionTitle); + } + + @Override + public String toString() { + return Utils.toString(ProjectSecret.class, + "apiSecret", apiSecret, + "optionTitle", optionTitle); + } + + public final static class Builder { + + private String apiSecret; + + private Builder() { + // force use of static builder() method + } + + /** + * Mixpanel project secret. See the <a href="https://developer.mixpanel.com/reference/project-secret#managing-a-projects-secret">docs</a> for more information on how to obtain this. + */ + public Builder apiSecret(String apiSecret) { + Utils.checkNotNull(apiSecret, "apiSecret"); + this.apiSecret = apiSecret; + return this; + } + + public ProjectSecret build() { + return new ProjectSecret( + apiSecret); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_OptionTitle = + new LazySingletonValue<>( + "option_title", + "\"Project Secret\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Pubsub.java b/src/main/java/com/airbyte/api/models/shared/Pubsub.java new file mode 100644 index 000000000..cdea66d9d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Pubsub.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Pubsub { + PUBSUB("pubsub"); + + @JsonValue + private final String value; + + private Pubsub(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/PunkApi.java b/src/main/java/com/airbyte/api/models/shared/PunkApi.java new file mode 100644 index 000000000..f2a74938c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/PunkApi.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum PunkApi { + PUNK_API("punk-api"); + + @JsonValue + private final String value; + + private PunkApi(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Pypi.java b/src/main/java/com/airbyte/api/models/shared/Pypi.java new file mode 100644 index 000000000..c171d590c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Pypi.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Pypi { + PYPI("pypi"); + + @JsonValue + private final String value; + + private Pypi(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Qdrant.java b/src/main/java/com/airbyte/api/models/shared/Qdrant.java new file mode 100644 index 000000000..c00c816b0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Qdrant.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Qdrant { + QDRANT("qdrant"); + + @JsonValue + private final String value; + + private Qdrant(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Qualaroo.java b/src/main/java/com/airbyte/api/models/shared/Qualaroo.java new file mode 100644 index 000000000..58d0fbe87 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Qualaroo.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Qualaroo { + QUALAROO("qualaroo"); + + @JsonValue + private final String value; + + private Qualaroo(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Quickbooks.java b/src/main/java/com/airbyte/api/models/shared/Quickbooks.java new file mode 100644 index 000000000..9050e1040 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Quickbooks.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Quickbooks { + QUICKBOOKS("quickbooks"); + + @JsonValue + private final String value; + + private Quickbooks(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Railz.java b/src/main/java/com/airbyte/api/models/shared/Railz.java new file mode 100644 index 000000000..4fed3e9a6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Railz.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Railz { + RAILZ("railz"); + + @JsonValue + private final String value; + + private Railz(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ReadChangesUsingBinaryLogCDC.java b/src/main/java/com/airbyte/api/models/shared/ReadChangesUsingBinaryLogCDC.java new file mode 100644 index 000000000..1eaac7715 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ReadChangesUsingBinaryLogCDC.java @@ -0,0 +1,278 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * ReadChangesUsingBinaryLogCDC - <i>Recommended</i> - Incrementally reads new inserts, updates, and deletes using the MySQL <a href="https://docs.airbyte.com/integrations/sources/mysql/#change-data-capture-cdc">binary log</a>. This must be enabled on your database. + */ + +public class ReadChangesUsingBinaryLogCDC { + + /** + * The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 1200 seconds. Read about <a href="https://docs.airbyte.com/integrations/sources/mysql/#change-data-capture-cdc">initial waiting time</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("initial_waiting_seconds") + private Optional initialWaitingSeconds; + + /** + * Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("invalid_cdc_cursor_position_behavior") + private Optional invalidCdcCursorPositionBehavior; + + @JsonProperty("method") + private SourceMysqlMethod method; + + /** + * Enter the configured MySQL server timezone. This should only be done if the configured timezone in your MySQL instance does not conform to IANNA standard. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("server_time_zone") + private Optional serverTimeZone; + + public ReadChangesUsingBinaryLogCDC( + @JsonProperty("initial_waiting_seconds") Optional initialWaitingSeconds, + @JsonProperty("invalid_cdc_cursor_position_behavior") Optional invalidCdcCursorPositionBehavior, + @JsonProperty("server_time_zone") Optional serverTimeZone) { + Utils.checkNotNull(initialWaitingSeconds, "initialWaitingSeconds"); + Utils.checkNotNull(invalidCdcCursorPositionBehavior, "invalidCdcCursorPositionBehavior"); + Utils.checkNotNull(serverTimeZone, "serverTimeZone"); + this.initialWaitingSeconds = initialWaitingSeconds; + this.invalidCdcCursorPositionBehavior = invalidCdcCursorPositionBehavior; + this.method = Builder._SINGLETON_VALUE_Method.value(); + this.serverTimeZone = serverTimeZone; + } + + /** + * The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 1200 seconds. Read about <a href="https://docs.airbyte.com/integrations/sources/mysql/#change-data-capture-cdc">initial waiting time</a>. + */ + public Optional initialWaitingSeconds() { + return initialWaitingSeconds; + } + + /** + * Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ + public Optional invalidCdcCursorPositionBehavior() { + return invalidCdcCursorPositionBehavior; + } + + public SourceMysqlMethod method() { + return method; + } + + /** + * Enter the configured MySQL server timezone. This should only be done if the configured timezone in your MySQL instance does not conform to IANNA standard. + */ + public Optional serverTimeZone() { + return serverTimeZone; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 1200 seconds. Read about <a href="https://docs.airbyte.com/integrations/sources/mysql/#change-data-capture-cdc">initial waiting time</a>. + */ + public ReadChangesUsingBinaryLogCDC withInitialWaitingSeconds(long initialWaitingSeconds) { + Utils.checkNotNull(initialWaitingSeconds, "initialWaitingSeconds"); + this.initialWaitingSeconds = Optional.ofNullable(initialWaitingSeconds); + return this; + } + + /** + * The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 1200 seconds. Read about <a href="https://docs.airbyte.com/integrations/sources/mysql/#change-data-capture-cdc">initial waiting time</a>. + */ + public ReadChangesUsingBinaryLogCDC withInitialWaitingSeconds(Optional initialWaitingSeconds) { + Utils.checkNotNull(initialWaitingSeconds, "initialWaitingSeconds"); + this.initialWaitingSeconds = initialWaitingSeconds; + return this; + } + + /** + * Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ + public ReadChangesUsingBinaryLogCDC withInvalidCdcCursorPositionBehavior(SourceMysqlInvalidCDCPositionBehaviorAdvanced invalidCdcCursorPositionBehavior) { + Utils.checkNotNull(invalidCdcCursorPositionBehavior, "invalidCdcCursorPositionBehavior"); + this.invalidCdcCursorPositionBehavior = Optional.ofNullable(invalidCdcCursorPositionBehavior); + return this; + } + + /** + * Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ + public ReadChangesUsingBinaryLogCDC withInvalidCdcCursorPositionBehavior(Optional invalidCdcCursorPositionBehavior) { + Utils.checkNotNull(invalidCdcCursorPositionBehavior, "invalidCdcCursorPositionBehavior"); + this.invalidCdcCursorPositionBehavior = invalidCdcCursorPositionBehavior; + return this; + } + + /** + * Enter the configured MySQL server timezone. This should only be done if the configured timezone in your MySQL instance does not conform to IANNA standard. + */ + public ReadChangesUsingBinaryLogCDC withServerTimeZone(String serverTimeZone) { + Utils.checkNotNull(serverTimeZone, "serverTimeZone"); + this.serverTimeZone = Optional.ofNullable(serverTimeZone); + return this; + } + + /** + * Enter the configured MySQL server timezone. This should only be done if the configured timezone in your MySQL instance does not conform to IANNA standard. + */ + public ReadChangesUsingBinaryLogCDC withServerTimeZone(Optional serverTimeZone) { + Utils.checkNotNull(serverTimeZone, "serverTimeZone"); + this.serverTimeZone = serverTimeZone; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ReadChangesUsingBinaryLogCDC other = (ReadChangesUsingBinaryLogCDC) o; + return + java.util.Objects.deepEquals(this.initialWaitingSeconds, other.initialWaitingSeconds) && + java.util.Objects.deepEquals(this.invalidCdcCursorPositionBehavior, other.invalidCdcCursorPositionBehavior) && + java.util.Objects.deepEquals(this.method, other.method) && + java.util.Objects.deepEquals(this.serverTimeZone, other.serverTimeZone); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + initialWaitingSeconds, + invalidCdcCursorPositionBehavior, + method, + serverTimeZone); + } + + @Override + public String toString() { + return Utils.toString(ReadChangesUsingBinaryLogCDC.class, + "initialWaitingSeconds", initialWaitingSeconds, + "invalidCdcCursorPositionBehavior", invalidCdcCursorPositionBehavior, + "method", method, + "serverTimeZone", serverTimeZone); + } + + public final static class Builder { + + private Optional initialWaitingSeconds; + + private Optional invalidCdcCursorPositionBehavior; + + private Optional serverTimeZone = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 1200 seconds. Read about <a href="https://docs.airbyte.com/integrations/sources/mysql/#change-data-capture-cdc">initial waiting time</a>. + */ + public Builder initialWaitingSeconds(long initialWaitingSeconds) { + Utils.checkNotNull(initialWaitingSeconds, "initialWaitingSeconds"); + this.initialWaitingSeconds = Optional.ofNullable(initialWaitingSeconds); + return this; + } + + /** + * The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 1200 seconds. Read about <a href="https://docs.airbyte.com/integrations/sources/mysql/#change-data-capture-cdc">initial waiting time</a>. + */ + public Builder initialWaitingSeconds(Optional initialWaitingSeconds) { + Utils.checkNotNull(initialWaitingSeconds, "initialWaitingSeconds"); + this.initialWaitingSeconds = initialWaitingSeconds; + return this; + } + + /** + * Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ + public Builder invalidCdcCursorPositionBehavior(SourceMysqlInvalidCDCPositionBehaviorAdvanced invalidCdcCursorPositionBehavior) { + Utils.checkNotNull(invalidCdcCursorPositionBehavior, "invalidCdcCursorPositionBehavior"); + this.invalidCdcCursorPositionBehavior = Optional.ofNullable(invalidCdcCursorPositionBehavior); + return this; + } + + /** + * Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ + public Builder invalidCdcCursorPositionBehavior(Optional invalidCdcCursorPositionBehavior) { + Utils.checkNotNull(invalidCdcCursorPositionBehavior, "invalidCdcCursorPositionBehavior"); + this.invalidCdcCursorPositionBehavior = invalidCdcCursorPositionBehavior; + return this; + } + + /** + * Enter the configured MySQL server timezone. This should only be done if the configured timezone in your MySQL instance does not conform to IANNA standard. + */ + public Builder serverTimeZone(String serverTimeZone) { + Utils.checkNotNull(serverTimeZone, "serverTimeZone"); + this.serverTimeZone = Optional.ofNullable(serverTimeZone); + return this; + } + + /** + * Enter the configured MySQL server timezone. This should only be done if the configured timezone in your MySQL instance does not conform to IANNA standard. + */ + public Builder serverTimeZone(Optional serverTimeZone) { + Utils.checkNotNull(serverTimeZone, "serverTimeZone"); + this.serverTimeZone = serverTimeZone; + return this; + } + + public ReadChangesUsingBinaryLogCDC build() { + if (initialWaitingSeconds == null) { + initialWaitingSeconds = _SINGLETON_VALUE_InitialWaitingSeconds.value(); + } + if (invalidCdcCursorPositionBehavior == null) { + invalidCdcCursorPositionBehavior = _SINGLETON_VALUE_InvalidCdcCursorPositionBehavior.value(); + } + return new ReadChangesUsingBinaryLogCDC( + initialWaitingSeconds, + invalidCdcCursorPositionBehavior, + serverTimeZone); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_InitialWaitingSeconds = + new LazySingletonValue<>( + "initial_waiting_seconds", + "300", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_InvalidCdcCursorPositionBehavior = + new LazySingletonValue<>( + "invalid_cdc_cursor_position_behavior", + "\"Fail sync\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_Method = + new LazySingletonValue<>( + "method", + "\"CDC\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ReadChangesUsingChangeDataCaptureCDC.java b/src/main/java/com/airbyte/api/models/shared/ReadChangesUsingChangeDataCaptureCDC.java new file mode 100644 index 000000000..6fb581539 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ReadChangesUsingChangeDataCaptureCDC.java @@ -0,0 +1,287 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * ReadChangesUsingChangeDataCaptureCDC - <i>Recommended</i> - Incrementally reads new inserts, updates, and deletes using the SQL Server's <a href="https://docs.airbyte.com/integrations/sources/mssql/#change-data-capture-cdc">change data capture feature</a>. This must be enabled on your database. + */ + +public class ReadChangesUsingChangeDataCaptureCDC { + + /** + * The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 2400 seconds. Read about <a href="https://docs.airbyte.com/integrations/sources/mysql/#change-data-capture-cdc">initial waiting time</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("initial_waiting_seconds") + private Optional initialWaitingSeconds; + + /** + * Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("invalid_cdc_cursor_position_behavior") + private Optional invalidCdcCursorPositionBehavior; + + @JsonProperty("method") + private SourceMssqlMethod method; + + /** + * The size of the internal queue. This may interfere with memory consumption and efficiency of the connector, please be careful. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("queue_size") + private Optional queueSize; + + public ReadChangesUsingChangeDataCaptureCDC( + @JsonProperty("initial_waiting_seconds") Optional initialWaitingSeconds, + @JsonProperty("invalid_cdc_cursor_position_behavior") Optional invalidCdcCursorPositionBehavior, + @JsonProperty("queue_size") Optional queueSize) { + Utils.checkNotNull(initialWaitingSeconds, "initialWaitingSeconds"); + Utils.checkNotNull(invalidCdcCursorPositionBehavior, "invalidCdcCursorPositionBehavior"); + Utils.checkNotNull(queueSize, "queueSize"); + this.initialWaitingSeconds = initialWaitingSeconds; + this.invalidCdcCursorPositionBehavior = invalidCdcCursorPositionBehavior; + this.method = Builder._SINGLETON_VALUE_Method.value(); + this.queueSize = queueSize; + } + + /** + * The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 2400 seconds. Read about <a href="https://docs.airbyte.com/integrations/sources/mysql/#change-data-capture-cdc">initial waiting time</a>. + */ + public Optional initialWaitingSeconds() { + return initialWaitingSeconds; + } + + /** + * Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ + public Optional invalidCdcCursorPositionBehavior() { + return invalidCdcCursorPositionBehavior; + } + + public SourceMssqlMethod method() { + return method; + } + + /** + * The size of the internal queue. This may interfere with memory consumption and efficiency of the connector, please be careful. + */ + public Optional queueSize() { + return queueSize; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 2400 seconds. Read about <a href="https://docs.airbyte.com/integrations/sources/mysql/#change-data-capture-cdc">initial waiting time</a>. + */ + public ReadChangesUsingChangeDataCaptureCDC withInitialWaitingSeconds(long initialWaitingSeconds) { + Utils.checkNotNull(initialWaitingSeconds, "initialWaitingSeconds"); + this.initialWaitingSeconds = Optional.ofNullable(initialWaitingSeconds); + return this; + } + + /** + * The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 2400 seconds. Read about <a href="https://docs.airbyte.com/integrations/sources/mysql/#change-data-capture-cdc">initial waiting time</a>. + */ + public ReadChangesUsingChangeDataCaptureCDC withInitialWaitingSeconds(Optional initialWaitingSeconds) { + Utils.checkNotNull(initialWaitingSeconds, "initialWaitingSeconds"); + this.initialWaitingSeconds = initialWaitingSeconds; + return this; + } + + /** + * Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ + public ReadChangesUsingChangeDataCaptureCDC withInvalidCdcCursorPositionBehavior(SourceMssqlInvalidCDCPositionBehaviorAdvanced invalidCdcCursorPositionBehavior) { + Utils.checkNotNull(invalidCdcCursorPositionBehavior, "invalidCdcCursorPositionBehavior"); + this.invalidCdcCursorPositionBehavior = Optional.ofNullable(invalidCdcCursorPositionBehavior); + return this; + } + + /** + * Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ + public ReadChangesUsingChangeDataCaptureCDC withInvalidCdcCursorPositionBehavior(Optional invalidCdcCursorPositionBehavior) { + Utils.checkNotNull(invalidCdcCursorPositionBehavior, "invalidCdcCursorPositionBehavior"); + this.invalidCdcCursorPositionBehavior = invalidCdcCursorPositionBehavior; + return this; + } + + /** + * The size of the internal queue. This may interfere with memory consumption and efficiency of the connector, please be careful. + */ + public ReadChangesUsingChangeDataCaptureCDC withQueueSize(long queueSize) { + Utils.checkNotNull(queueSize, "queueSize"); + this.queueSize = Optional.ofNullable(queueSize); + return this; + } + + /** + * The size of the internal queue. This may interfere with memory consumption and efficiency of the connector, please be careful. + */ + public ReadChangesUsingChangeDataCaptureCDC withQueueSize(Optional queueSize) { + Utils.checkNotNull(queueSize, "queueSize"); + this.queueSize = queueSize; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ReadChangesUsingChangeDataCaptureCDC other = (ReadChangesUsingChangeDataCaptureCDC) o; + return + java.util.Objects.deepEquals(this.initialWaitingSeconds, other.initialWaitingSeconds) && + java.util.Objects.deepEquals(this.invalidCdcCursorPositionBehavior, other.invalidCdcCursorPositionBehavior) && + java.util.Objects.deepEquals(this.method, other.method) && + java.util.Objects.deepEquals(this.queueSize, other.queueSize); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + initialWaitingSeconds, + invalidCdcCursorPositionBehavior, + method, + queueSize); + } + + @Override + public String toString() { + return Utils.toString(ReadChangesUsingChangeDataCaptureCDC.class, + "initialWaitingSeconds", initialWaitingSeconds, + "invalidCdcCursorPositionBehavior", invalidCdcCursorPositionBehavior, + "method", method, + "queueSize", queueSize); + } + + public final static class Builder { + + private Optional initialWaitingSeconds; + + private Optional invalidCdcCursorPositionBehavior; + + private Optional queueSize; + + private Builder() { + // force use of static builder() method + } + + /** + * The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 2400 seconds. Read about <a href="https://docs.airbyte.com/integrations/sources/mysql/#change-data-capture-cdc">initial waiting time</a>. + */ + public Builder initialWaitingSeconds(long initialWaitingSeconds) { + Utils.checkNotNull(initialWaitingSeconds, "initialWaitingSeconds"); + this.initialWaitingSeconds = Optional.ofNullable(initialWaitingSeconds); + return this; + } + + /** + * The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 2400 seconds. Read about <a href="https://docs.airbyte.com/integrations/sources/mysql/#change-data-capture-cdc">initial waiting time</a>. + */ + public Builder initialWaitingSeconds(Optional initialWaitingSeconds) { + Utils.checkNotNull(initialWaitingSeconds, "initialWaitingSeconds"); + this.initialWaitingSeconds = initialWaitingSeconds; + return this; + } + + /** + * Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ + public Builder invalidCdcCursorPositionBehavior(SourceMssqlInvalidCDCPositionBehaviorAdvanced invalidCdcCursorPositionBehavior) { + Utils.checkNotNull(invalidCdcCursorPositionBehavior, "invalidCdcCursorPositionBehavior"); + this.invalidCdcCursorPositionBehavior = Optional.ofNullable(invalidCdcCursorPositionBehavior); + return this; + } + + /** + * Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ + public Builder invalidCdcCursorPositionBehavior(Optional invalidCdcCursorPositionBehavior) { + Utils.checkNotNull(invalidCdcCursorPositionBehavior, "invalidCdcCursorPositionBehavior"); + this.invalidCdcCursorPositionBehavior = invalidCdcCursorPositionBehavior; + return this; + } + + /** + * The size of the internal queue. This may interfere with memory consumption and efficiency of the connector, please be careful. + */ + public Builder queueSize(long queueSize) { + Utils.checkNotNull(queueSize, "queueSize"); + this.queueSize = Optional.ofNullable(queueSize); + return this; + } + + /** + * The size of the internal queue. This may interfere with memory consumption and efficiency of the connector, please be careful. + */ + public Builder queueSize(Optional queueSize) { + Utils.checkNotNull(queueSize, "queueSize"); + this.queueSize = queueSize; + return this; + } + + public ReadChangesUsingChangeDataCaptureCDC build() { + if (initialWaitingSeconds == null) { + initialWaitingSeconds = _SINGLETON_VALUE_InitialWaitingSeconds.value(); + } + if (invalidCdcCursorPositionBehavior == null) { + invalidCdcCursorPositionBehavior = _SINGLETON_VALUE_InvalidCdcCursorPositionBehavior.value(); + } + if (queueSize == null) { + queueSize = _SINGLETON_VALUE_QueueSize.value(); + } + return new ReadChangesUsingChangeDataCaptureCDC( + initialWaitingSeconds, + invalidCdcCursorPositionBehavior, + queueSize); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_InitialWaitingSeconds = + new LazySingletonValue<>( + "initial_waiting_seconds", + "300", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_InvalidCdcCursorPositionBehavior = + new LazySingletonValue<>( + "invalid_cdc_cursor_position_behavior", + "\"Fail sync\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_Method = + new LazySingletonValue<>( + "method", + "\"CDC\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_QueueSize = + new LazySingletonValue<>( + "queue_size", + "10000", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Recharge.java b/src/main/java/com/airbyte/api/models/shared/Recharge.java new file mode 100644 index 000000000..602a54bc6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Recharge.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Recharge { + RECHARGE("recharge"); + + @JsonValue + private final String value; + + private Recharge(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/RecommendedManagedTables.java b/src/main/java/com/airbyte/api/models/shared/RecommendedManagedTables.java new file mode 100644 index 000000000..fa01616c6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/RecommendedManagedTables.java @@ -0,0 +1,79 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class RecommendedManagedTables { + + @JsonProperty("data_source_type") + private DataSourceType dataSourceType; + + public RecommendedManagedTables() { + + this.dataSourceType = Builder._SINGLETON_VALUE_DataSourceType.value(); + } + + public DataSourceType dataSourceType() { + return dataSourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RecommendedManagedTables other = (RecommendedManagedTables) o; + return + java.util.Objects.deepEquals(this.dataSourceType, other.dataSourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + dataSourceType); + } + + @Override + public String toString() { + return Utils.toString(RecommendedManagedTables.class, + "dataSourceType", dataSourceType); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public RecommendedManagedTables build() { + return new RecommendedManagedTables( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_DataSourceType = + new LazySingletonValue<>( + "data_source_type", + "\"MANAGED_TABLES_STORAGE\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Recreation.java b/src/main/java/com/airbyte/api/models/shared/Recreation.java new file mode 100644 index 000000000..1e20f3a8f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Recreation.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Recreation { + RECREATION("recreation"); + + @JsonValue + private final String value; + + private Recreation(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Recruitee.java b/src/main/java/com/airbyte/api/models/shared/Recruitee.java new file mode 100644 index 000000000..7fbb0317d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Recruitee.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Recruitee { + RECRUITEE("recruitee"); + + @JsonValue + private final String value; + + private Recruitee(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Recurly.java b/src/main/java/com/airbyte/api/models/shared/Recurly.java new file mode 100644 index 000000000..1a00af920 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Recurly.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Recurly { + RECURLY("recurly"); + + @JsonValue + private final String value; + + private Recurly(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Redis.java b/src/main/java/com/airbyte/api/models/shared/Redis.java new file mode 100644 index 000000000..4af79b9c3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Redis.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Redis { + REDIS("redis"); + + @JsonValue + private final String value; + + private Redis(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Redshift.java b/src/main/java/com/airbyte/api/models/shared/Redshift.java new file mode 100644 index 000000000..ff20c61ab --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Redshift.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Redshift { + REDSHIFT("redshift"); + + @JsonValue + private final String value; + + private Redshift(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Region.java b/src/main/java/com/airbyte/api/models/shared/Region.java new file mode 100644 index 000000000..770dffe02 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Region.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * Region - Region to pull data from (EU/NA/FE). See <a href="https://advertising.amazon.com/API/docs/en-us/info/api-overview#api-endpoints">docs</a> for more details. + */ +public enum Region { + NA("NA"), + EU("EU"), + FE("FE"); + + @JsonValue + private final String value; + + private Region(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ReplicaSet.java b/src/main/java/com/airbyte/api/models/shared/ReplicaSet.java new file mode 100644 index 000000000..b0cb32db0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ReplicaSet.java @@ -0,0 +1,212 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ReplicaSet { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("instance") + private Optional instance; + + /** + * A replica set name. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("replica_set") + private Optional replicaSet; + + /** + * The members of a replica set. Please specify `host`:`port` of each member seperated by comma. + */ + @JsonProperty("server_addresses") + private String serverAddresses; + + public ReplicaSet( + @JsonProperty("instance") Optional instance, + @JsonProperty("replica_set") Optional replicaSet, + @JsonProperty("server_addresses") String serverAddresses) { + Utils.checkNotNull(instance, "instance"); + Utils.checkNotNull(replicaSet, "replicaSet"); + Utils.checkNotNull(serverAddresses, "serverAddresses"); + this.instance = instance; + this.replicaSet = replicaSet; + this.serverAddresses = serverAddresses; + } + + public Optional instance() { + return instance; + } + + /** + * A replica set name. + */ + public Optional replicaSet() { + return replicaSet; + } + + /** + * The members of a replica set. Please specify `host`:`port` of each member seperated by comma. + */ + public String serverAddresses() { + return serverAddresses; + } + + public final static Builder builder() { + return new Builder(); + } + + public ReplicaSet withInstance(DestinationMongodbInstance instance) { + Utils.checkNotNull(instance, "instance"); + this.instance = Optional.ofNullable(instance); + return this; + } + + public ReplicaSet withInstance(Optional instance) { + Utils.checkNotNull(instance, "instance"); + this.instance = instance; + return this; + } + + /** + * A replica set name. + */ + public ReplicaSet withReplicaSet(String replicaSet) { + Utils.checkNotNull(replicaSet, "replicaSet"); + this.replicaSet = Optional.ofNullable(replicaSet); + return this; + } + + /** + * A replica set name. + */ + public ReplicaSet withReplicaSet(Optional replicaSet) { + Utils.checkNotNull(replicaSet, "replicaSet"); + this.replicaSet = replicaSet; + return this; + } + + /** + * The members of a replica set. Please specify `host`:`port` of each member seperated by comma. + */ + public ReplicaSet withServerAddresses(String serverAddresses) { + Utils.checkNotNull(serverAddresses, "serverAddresses"); + this.serverAddresses = serverAddresses; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ReplicaSet other = (ReplicaSet) o; + return + java.util.Objects.deepEquals(this.instance, other.instance) && + java.util.Objects.deepEquals(this.replicaSet, other.replicaSet) && + java.util.Objects.deepEquals(this.serverAddresses, other.serverAddresses); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + instance, + replicaSet, + serverAddresses); + } + + @Override + public String toString() { + return Utils.toString(ReplicaSet.class, + "instance", instance, + "replicaSet", replicaSet, + "serverAddresses", serverAddresses); + } + + public final static class Builder { + + private Optional instance; + + private Optional replicaSet = Optional.empty(); + + private String serverAddresses; + + private Builder() { + // force use of static builder() method + } + + public Builder instance(DestinationMongodbInstance instance) { + Utils.checkNotNull(instance, "instance"); + this.instance = Optional.ofNullable(instance); + return this; + } + + public Builder instance(Optional instance) { + Utils.checkNotNull(instance, "instance"); + this.instance = instance; + return this; + } + + /** + * A replica set name. + */ + public Builder replicaSet(String replicaSet) { + Utils.checkNotNull(replicaSet, "replicaSet"); + this.replicaSet = Optional.ofNullable(replicaSet); + return this; + } + + /** + * A replica set name. + */ + public Builder replicaSet(Optional replicaSet) { + Utils.checkNotNull(replicaSet, "replicaSet"); + this.replicaSet = replicaSet; + return this; + } + + /** + * The members of a replica set. Please specify `host`:`port` of each member seperated by comma. + */ + public Builder serverAddresses(String serverAddresses) { + Utils.checkNotNull(serverAddresses, "serverAddresses"); + this.serverAddresses = serverAddresses; + return this; + } + + public ReplicaSet build() { + if (instance == null) { + instance = _SINGLETON_VALUE_Instance.value(); + } + return new ReplicaSet( + instance, + replicaSet, + serverAddresses); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Instance = + new LazySingletonValue<>( + "instance", + "\"replica\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ReportConfig.java b/src/main/java/com/airbyte/api/models/shared/ReportConfig.java new file mode 100644 index 000000000..02056238c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ReportConfig.java @@ -0,0 +1,673 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + +/** + * ReportConfig - Config for custom report + */ + +public class ReportConfig { + + /** + * List of types of attribution for the conversion report + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("attribution_types") + private Optional> attributionTypes; + + /** + * Number of days to use as the conversion attribution window for a pin click action. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("click_window_days") + private Optional clickWindowDays; + + /** + * A list of chosen columns + */ + @JsonProperty("columns") + private java.util.List columns; + + /** + * The date by which the conversion metrics returned from this endpoint will be reported. There are two dates associated with a conversion event: the date that the user interacted with the ad, and the date that the user completed a conversion event.. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("conversion_report_time") + private Optional conversionReportTime; + + /** + * Number of days to use as the conversion attribution window for an engagement action. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("engagement_window_days") + private Optional engagementWindowDays; + + /** + * Chosen granularity for API + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("granularity") + private Optional granularity; + + /** + * Chosen level for API + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("level") + private Optional level; + + /** + * The name value of report + */ + @JsonProperty("name") + private String name; + + /** + * A date in the format YYYY-MM-DD. If you have not set a date, it would be defaulted to latest allowed date by report api (913 days from today). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + /** + * Number of days to use as the conversion attribution window for a view action. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("view_window_days") + private Optional viewWindowDays; + + public ReportConfig( + @JsonProperty("attribution_types") Optional> attributionTypes, + @JsonProperty("click_window_days") Optional clickWindowDays, + @JsonProperty("columns") java.util.List columns, + @JsonProperty("conversion_report_time") Optional conversionReportTime, + @JsonProperty("engagement_window_days") Optional engagementWindowDays, + @JsonProperty("granularity") Optional granularity, + @JsonProperty("level") Optional level, + @JsonProperty("name") String name, + @JsonProperty("start_date") Optional startDate, + @JsonProperty("view_window_days") Optional viewWindowDays) { + Utils.checkNotNull(attributionTypes, "attributionTypes"); + Utils.checkNotNull(clickWindowDays, "clickWindowDays"); + Utils.checkNotNull(columns, "columns"); + Utils.checkNotNull(conversionReportTime, "conversionReportTime"); + Utils.checkNotNull(engagementWindowDays, "engagementWindowDays"); + Utils.checkNotNull(granularity, "granularity"); + Utils.checkNotNull(level, "level"); + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(viewWindowDays, "viewWindowDays"); + this.attributionTypes = attributionTypes; + this.clickWindowDays = clickWindowDays; + this.columns = columns; + this.conversionReportTime = conversionReportTime; + this.engagementWindowDays = engagementWindowDays; + this.granularity = granularity; + this.level = level; + this.name = name; + this.startDate = startDate; + this.viewWindowDays = viewWindowDays; + } + + /** + * List of types of attribution for the conversion report + */ + public Optional> attributionTypes() { + return attributionTypes; + } + + /** + * Number of days to use as the conversion attribution window for a pin click action. + */ + public Optional clickWindowDays() { + return clickWindowDays; + } + + /** + * A list of chosen columns + */ + public java.util.List columns() { + return columns; + } + + /** + * The date by which the conversion metrics returned from this endpoint will be reported. There are two dates associated with a conversion event: the date that the user interacted with the ad, and the date that the user completed a conversion event.. + */ + public Optional conversionReportTime() { + return conversionReportTime; + } + + /** + * Number of days to use as the conversion attribution window for an engagement action. + */ + public Optional engagementWindowDays() { + return engagementWindowDays; + } + + /** + * Chosen granularity for API + */ + public Optional granularity() { + return granularity; + } + + /** + * Chosen level for API + */ + public Optional level() { + return level; + } + + /** + * The name value of report + */ + public String name() { + return name; + } + + /** + * A date in the format YYYY-MM-DD. If you have not set a date, it would be defaulted to latest allowed date by report api (913 days from today). + */ + public Optional startDate() { + return startDate; + } + + /** + * Number of days to use as the conversion attribution window for a view action. + */ + public Optional viewWindowDays() { + return viewWindowDays; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * List of types of attribution for the conversion report + */ + public ReportConfig withAttributionTypes(java.util.List attributionTypes) { + Utils.checkNotNull(attributionTypes, "attributionTypes"); + this.attributionTypes = Optional.ofNullable(attributionTypes); + return this; + } + + /** + * List of types of attribution for the conversion report + */ + public ReportConfig withAttributionTypes(Optional> attributionTypes) { + Utils.checkNotNull(attributionTypes, "attributionTypes"); + this.attributionTypes = attributionTypes; + return this; + } + + /** + * Number of days to use as the conversion attribution window for a pin click action. + */ + public ReportConfig withClickWindowDays(ClickWindowDays clickWindowDays) { + Utils.checkNotNull(clickWindowDays, "clickWindowDays"); + this.clickWindowDays = Optional.ofNullable(clickWindowDays); + return this; + } + + /** + * Number of days to use as the conversion attribution window for a pin click action. + */ + public ReportConfig withClickWindowDays(Optional clickWindowDays) { + Utils.checkNotNull(clickWindowDays, "clickWindowDays"); + this.clickWindowDays = clickWindowDays; + return this; + } + + /** + * A list of chosen columns + */ + public ReportConfig withColumns(java.util.List columns) { + Utils.checkNotNull(columns, "columns"); + this.columns = columns; + return this; + } + + /** + * The date by which the conversion metrics returned from this endpoint will be reported. There are two dates associated with a conversion event: the date that the user interacted with the ad, and the date that the user completed a conversion event.. + */ + public ReportConfig withConversionReportTime(ConversionReportTime conversionReportTime) { + Utils.checkNotNull(conversionReportTime, "conversionReportTime"); + this.conversionReportTime = Optional.ofNullable(conversionReportTime); + return this; + } + + /** + * The date by which the conversion metrics returned from this endpoint will be reported. There are two dates associated with a conversion event: the date that the user interacted with the ad, and the date that the user completed a conversion event.. + */ + public ReportConfig withConversionReportTime(Optional conversionReportTime) { + Utils.checkNotNull(conversionReportTime, "conversionReportTime"); + this.conversionReportTime = conversionReportTime; + return this; + } + + /** + * Number of days to use as the conversion attribution window for an engagement action. + */ + public ReportConfig withEngagementWindowDays(EngagementWindowDays engagementWindowDays) { + Utils.checkNotNull(engagementWindowDays, "engagementWindowDays"); + this.engagementWindowDays = Optional.ofNullable(engagementWindowDays); + return this; + } + + /** + * Number of days to use as the conversion attribution window for an engagement action. + */ + public ReportConfig withEngagementWindowDays(Optional engagementWindowDays) { + Utils.checkNotNull(engagementWindowDays, "engagementWindowDays"); + this.engagementWindowDays = engagementWindowDays; + return this; + } + + /** + * Chosen granularity for API + */ + public ReportConfig withGranularity(Granularity granularity) { + Utils.checkNotNull(granularity, "granularity"); + this.granularity = Optional.ofNullable(granularity); + return this; + } + + /** + * Chosen granularity for API + */ + public ReportConfig withGranularity(Optional granularity) { + Utils.checkNotNull(granularity, "granularity"); + this.granularity = granularity; + return this; + } + + /** + * Chosen level for API + */ + public ReportConfig withLevel(SourcePinterestLevel level) { + Utils.checkNotNull(level, "level"); + this.level = Optional.ofNullable(level); + return this; + } + + /** + * Chosen level for API + */ + public ReportConfig withLevel(Optional level) { + Utils.checkNotNull(level, "level"); + this.level = level; + return this; + } + + /** + * The name value of report + */ + public ReportConfig withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * A date in the format YYYY-MM-DD. If you have not set a date, it would be defaulted to latest allowed date by report api (913 days from today). + */ + public ReportConfig withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * A date in the format YYYY-MM-DD. If you have not set a date, it would be defaulted to latest allowed date by report api (913 days from today). + */ + public ReportConfig withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Number of days to use as the conversion attribution window for a view action. + */ + public ReportConfig withViewWindowDays(ViewWindowDays viewWindowDays) { + Utils.checkNotNull(viewWindowDays, "viewWindowDays"); + this.viewWindowDays = Optional.ofNullable(viewWindowDays); + return this; + } + + /** + * Number of days to use as the conversion attribution window for a view action. + */ + public ReportConfig withViewWindowDays(Optional viewWindowDays) { + Utils.checkNotNull(viewWindowDays, "viewWindowDays"); + this.viewWindowDays = viewWindowDays; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ReportConfig other = (ReportConfig) o; + return + java.util.Objects.deepEquals(this.attributionTypes, other.attributionTypes) && + java.util.Objects.deepEquals(this.clickWindowDays, other.clickWindowDays) && + java.util.Objects.deepEquals(this.columns, other.columns) && + java.util.Objects.deepEquals(this.conversionReportTime, other.conversionReportTime) && + java.util.Objects.deepEquals(this.engagementWindowDays, other.engagementWindowDays) && + java.util.Objects.deepEquals(this.granularity, other.granularity) && + java.util.Objects.deepEquals(this.level, other.level) && + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.viewWindowDays, other.viewWindowDays); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + attributionTypes, + clickWindowDays, + columns, + conversionReportTime, + engagementWindowDays, + granularity, + level, + name, + startDate, + viewWindowDays); + } + + @Override + public String toString() { + return Utils.toString(ReportConfig.class, + "attributionTypes", attributionTypes, + "clickWindowDays", clickWindowDays, + "columns", columns, + "conversionReportTime", conversionReportTime, + "engagementWindowDays", engagementWindowDays, + "granularity", granularity, + "level", level, + "name", name, + "startDate", startDate, + "viewWindowDays", viewWindowDays); + } + + public final static class Builder { + + private Optional> attributionTypes = Optional.empty(); + + private Optional clickWindowDays; + + private java.util.List columns; + + private Optional conversionReportTime; + + private Optional engagementWindowDays; + + private Optional granularity; + + private Optional level; + + private String name; + + private Optional startDate = Optional.empty(); + + private Optional viewWindowDays; + + private Builder() { + // force use of static builder() method + } + + /** + * List of types of attribution for the conversion report + */ + public Builder attributionTypes(java.util.List attributionTypes) { + Utils.checkNotNull(attributionTypes, "attributionTypes"); + this.attributionTypes = Optional.ofNullable(attributionTypes); + return this; + } + + /** + * List of types of attribution for the conversion report + */ + public Builder attributionTypes(Optional> attributionTypes) { + Utils.checkNotNull(attributionTypes, "attributionTypes"); + this.attributionTypes = attributionTypes; + return this; + } + + /** + * Number of days to use as the conversion attribution window for a pin click action. + */ + public Builder clickWindowDays(ClickWindowDays clickWindowDays) { + Utils.checkNotNull(clickWindowDays, "clickWindowDays"); + this.clickWindowDays = Optional.ofNullable(clickWindowDays); + return this; + } + + /** + * Number of days to use as the conversion attribution window for a pin click action. + */ + public Builder clickWindowDays(Optional clickWindowDays) { + Utils.checkNotNull(clickWindowDays, "clickWindowDays"); + this.clickWindowDays = clickWindowDays; + return this; + } + + /** + * A list of chosen columns + */ + public Builder columns(java.util.List columns) { + Utils.checkNotNull(columns, "columns"); + this.columns = columns; + return this; + } + + /** + * The date by which the conversion metrics returned from this endpoint will be reported. There are two dates associated with a conversion event: the date that the user interacted with the ad, and the date that the user completed a conversion event.. + */ + public Builder conversionReportTime(ConversionReportTime conversionReportTime) { + Utils.checkNotNull(conversionReportTime, "conversionReportTime"); + this.conversionReportTime = Optional.ofNullable(conversionReportTime); + return this; + } + + /** + * The date by which the conversion metrics returned from this endpoint will be reported. There are two dates associated with a conversion event: the date that the user interacted with the ad, and the date that the user completed a conversion event.. + */ + public Builder conversionReportTime(Optional conversionReportTime) { + Utils.checkNotNull(conversionReportTime, "conversionReportTime"); + this.conversionReportTime = conversionReportTime; + return this; + } + + /** + * Number of days to use as the conversion attribution window for an engagement action. + */ + public Builder engagementWindowDays(EngagementWindowDays engagementWindowDays) { + Utils.checkNotNull(engagementWindowDays, "engagementWindowDays"); + this.engagementWindowDays = Optional.ofNullable(engagementWindowDays); + return this; + } + + /** + * Number of days to use as the conversion attribution window for an engagement action. + */ + public Builder engagementWindowDays(Optional engagementWindowDays) { + Utils.checkNotNull(engagementWindowDays, "engagementWindowDays"); + this.engagementWindowDays = engagementWindowDays; + return this; + } + + /** + * Chosen granularity for API + */ + public Builder granularity(Granularity granularity) { + Utils.checkNotNull(granularity, "granularity"); + this.granularity = Optional.ofNullable(granularity); + return this; + } + + /** + * Chosen granularity for API + */ + public Builder granularity(Optional granularity) { + Utils.checkNotNull(granularity, "granularity"); + this.granularity = granularity; + return this; + } + + /** + * Chosen level for API + */ + public Builder level(SourcePinterestLevel level) { + Utils.checkNotNull(level, "level"); + this.level = Optional.ofNullable(level); + return this; + } + + /** + * Chosen level for API + */ + public Builder level(Optional level) { + Utils.checkNotNull(level, "level"); + this.level = level; + return this; + } + + /** + * The name value of report + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * A date in the format YYYY-MM-DD. If you have not set a date, it would be defaulted to latest allowed date by report api (913 days from today). + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * A date in the format YYYY-MM-DD. If you have not set a date, it would be defaulted to latest allowed date by report api (913 days from today). + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Number of days to use as the conversion attribution window for a view action. + */ + public Builder viewWindowDays(ViewWindowDays viewWindowDays) { + Utils.checkNotNull(viewWindowDays, "viewWindowDays"); + this.viewWindowDays = Optional.ofNullable(viewWindowDays); + return this; + } + + /** + * Number of days to use as the conversion attribution window for a view action. + */ + public Builder viewWindowDays(Optional viewWindowDays) { + Utils.checkNotNull(viewWindowDays, "viewWindowDays"); + this.viewWindowDays = viewWindowDays; + return this; + } + + public ReportConfig build() { + if (clickWindowDays == null) { + clickWindowDays = _SINGLETON_VALUE_ClickWindowDays.value(); + } + if (conversionReportTime == null) { + conversionReportTime = _SINGLETON_VALUE_ConversionReportTime.value(); + } + if (engagementWindowDays == null) { + engagementWindowDays = _SINGLETON_VALUE_EngagementWindowDays.value(); + } + if (granularity == null) { + granularity = _SINGLETON_VALUE_Granularity.value(); + } + if (level == null) { + level = _SINGLETON_VALUE_Level.value(); + } + if (viewWindowDays == null) { + viewWindowDays = _SINGLETON_VALUE_ViewWindowDays.value(); + } + return new ReportConfig( + attributionTypes, + clickWindowDays, + columns, + conversionReportTime, + engagementWindowDays, + granularity, + level, + name, + startDate, + viewWindowDays); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ClickWindowDays = + new LazySingletonValue<>( + "click_window_days", + "30", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ConversionReportTime = + new LazySingletonValue<>( + "conversion_report_time", + "\"TIME_OF_AD_ACTION\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_EngagementWindowDays = + new LazySingletonValue<>( + "engagement_window_days", + "[30]", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Granularity = + new LazySingletonValue<>( + "granularity", + "\"TOTAL\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Level = + new LazySingletonValue<>( + "level", + "\"ADVERTISER\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ViewWindowDays = + new LazySingletonValue<>( + "view_window_days", + "[30]", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ReportOptions.java b/src/main/java/com/airbyte/api/models/shared/ReportOptions.java new file mode 100644 index 000000000..f4c537b66 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ReportOptions.java @@ -0,0 +1,127 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class ReportOptions { + + /** + * List of options + */ + @JsonProperty("options_list") + private java.util.List optionsList; + + @JsonProperty("stream_name") + private StreamName streamName; + + public ReportOptions( + @JsonProperty("options_list") java.util.List optionsList, + @JsonProperty("stream_name") StreamName streamName) { + Utils.checkNotNull(optionsList, "optionsList"); + Utils.checkNotNull(streamName, "streamName"); + this.optionsList = optionsList; + this.streamName = streamName; + } + + /** + * List of options + */ + public java.util.List optionsList() { + return optionsList; + } + + public StreamName streamName() { + return streamName; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * List of options + */ + public ReportOptions withOptionsList(java.util.List optionsList) { + Utils.checkNotNull(optionsList, "optionsList"); + this.optionsList = optionsList; + return this; + } + + public ReportOptions withStreamName(StreamName streamName) { + Utils.checkNotNull(streamName, "streamName"); + this.streamName = streamName; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ReportOptions other = (ReportOptions) o; + return + java.util.Objects.deepEquals(this.optionsList, other.optionsList) && + java.util.Objects.deepEquals(this.streamName, other.streamName); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + optionsList, + streamName); + } + + @Override + public String toString() { + return Utils.toString(ReportOptions.class, + "optionsList", optionsList, + "streamName", streamName); + } + + public final static class Builder { + + private java.util.List optionsList; + + private StreamName streamName; + + private Builder() { + // force use of static builder() method + } + + /** + * List of options + */ + public Builder optionsList(java.util.List optionsList) { + Utils.checkNotNull(optionsList, "optionsList"); + this.optionsList = optionsList; + return this; + } + + public Builder streamName(StreamName streamName) { + Utils.checkNotNull(streamName, "streamName"); + this.streamName = streamName; + return this; + } + + public ReportOptions build() { + return new ReportOptions( + optionsList, + streamName); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ReportRecordTypes.java b/src/main/java/com/airbyte/api/models/shared/ReportRecordTypes.java new file mode 100644 index 000000000..0e30e2431 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ReportRecordTypes.java @@ -0,0 +1,36 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum ReportRecordTypes { + AD_GROUPS("adGroups"), + ASINS("asins"), + ASINS_KEYWORDS("asins_keywords"), + ASINS_TARGETS("asins_targets"), + CAMPAIGNS("campaigns"), + KEYWORDS("keywords"), + PRODUCT_ADS("productAds"), + TARGETS("targets"); + + @JsonValue + private final String value; + + private ReportRecordTypes(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ReportingDataObject.java b/src/main/java/com/airbyte/api/models/shared/ReportingDataObject.java new file mode 100644 index 000000000..7c8ef0b5c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ReportingDataObject.java @@ -0,0 +1,65 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ReportingDataObject - The name of the the object derives from the ReportRequest object. You can find it in Bing Ads Api docs - Reporting API - Reporting Data Objects. + */ +public enum ReportingDataObject { + ACCOUNT_PERFORMANCE_REPORT_REQUEST("AccountPerformanceReportRequest"), + AD_DYNAMIC_TEXT_PERFORMANCE_REPORT_REQUEST("AdDynamicTextPerformanceReportRequest"), + AD_EXTENSION_BY_AD_REPORT_REQUEST("AdExtensionByAdReportRequest"), + AD_EXTENSION_BY_KEYWORD_REPORT_REQUEST("AdExtensionByKeywordReportRequest"), + AD_EXTENSION_DETAIL_REPORT_REQUEST("AdExtensionDetailReportRequest"), + AD_GROUP_PERFORMANCE_REPORT_REQUEST("AdGroupPerformanceReportRequest"), + AD_PERFORMANCE_REPORT_REQUEST("AdPerformanceReportRequest"), + AGE_GENDER_AUDIENCE_REPORT_REQUEST("AgeGenderAudienceReportRequest"), + AUDIENCE_PERFORMANCE_REPORT_REQUEST("AudiencePerformanceReportRequest"), + CALL_DETAIL_REPORT_REQUEST("CallDetailReportRequest"), + CAMPAIGN_PERFORMANCE_REPORT_REQUEST("CampaignPerformanceReportRequest"), + CONVERSION_PERFORMANCE_REPORT_REQUEST("ConversionPerformanceReportRequest"), + DESTINATION_URL_PERFORMANCE_REPORT_REQUEST("DestinationUrlPerformanceReportRequest"), + DSA_AUTO_TARGET_PERFORMANCE_REPORT_REQUEST("DSAAutoTargetPerformanceReportRequest"), + DSA_CATEGORY_PERFORMANCE_REPORT_REQUEST("DSACategoryPerformanceReportRequest"), + DSA_SEARCH_QUERY_PERFORMANCE_REPORT_REQUEST("DSASearchQueryPerformanceReportRequest"), + GEOGRAPHIC_PERFORMANCE_REPORT_REQUEST("GeographicPerformanceReportRequest"), + GOALS_AND_FUNNELS_REPORT_REQUEST("GoalsAndFunnelsReportRequest"), + HOTEL_DIMENSION_PERFORMANCE_REPORT_REQUEST("HotelDimensionPerformanceReportRequest"), + HOTEL_GROUP_PERFORMANCE_REPORT_REQUEST("HotelGroupPerformanceReportRequest"), + KEYWORD_PERFORMANCE_REPORT_REQUEST("KeywordPerformanceReportRequest"), + NEGATIVE_KEYWORD_CONFLICT_REPORT_REQUEST("NegativeKeywordConflictReportRequest"), + PRODUCT_DIMENSION_PERFORMANCE_REPORT_REQUEST("ProductDimensionPerformanceReportRequest"), + PRODUCT_MATCH_COUNT_REPORT_REQUEST("ProductMatchCountReportRequest"), + PRODUCT_NEGATIVE_KEYWORD_CONFLICT_REPORT_REQUEST("ProductNegativeKeywordConflictReportRequest"), + PRODUCT_PARTITION_PERFORMANCE_REPORT_REQUEST("ProductPartitionPerformanceReportRequest"), + PRODUCT_PARTITION_UNIT_PERFORMANCE_REPORT_REQUEST("ProductPartitionUnitPerformanceReportRequest"), + PRODUCT_SEARCH_QUERY_PERFORMANCE_REPORT_REQUEST("ProductSearchQueryPerformanceReportRequest"), + PROFESSIONAL_DEMOGRAPHICS_AUDIENCE_REPORT_REQUEST("ProfessionalDemographicsAudienceReportRequest"), + PUBLISHER_USAGE_PERFORMANCE_REPORT_REQUEST("PublisherUsagePerformanceReportRequest"), + SEARCH_CAMPAIGN_CHANGE_HISTORY_REPORT_REQUEST("SearchCampaignChangeHistoryReportRequest"), + SEARCH_QUERY_PERFORMANCE_REPORT_REQUEST("SearchQueryPerformanceReportRequest"), + SHARE_OF_VOICE_REPORT_REQUEST("ShareOfVoiceReportRequest"), + USER_LOCATION_PERFORMANCE_REPORT_REQUEST("UserLocationPerformanceReportRequest"); + + @JsonValue + private final String value; + + private ReportingDataObject(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Require.java b/src/main/java/com/airbyte/api/models/shared/Require.java new file mode 100644 index 000000000..3cdc2b51a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Require.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * Require - Require SSL mode. + */ + +public class Require { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public Require() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Require other = (Require) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(Require.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public Require build() { + return new Require( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"require\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Required.java b/src/main/java/com/airbyte/api/models/shared/Required.java new file mode 100644 index 000000000..eef3d3186 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Required.java @@ -0,0 +1,82 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * Required - Always connect with SSL. If the MySQL server doesn’t support SSL, the connection will not be established. Certificate Authority (CA) and Hostname are not verified. + */ + +public class Required { + + @JsonProperty("mode") + private SourceMysqlSchemasMode mode; + + public Required() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public SourceMysqlSchemasMode mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Required other = (Required) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(Required.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public Required build() { + return new Required( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"required\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Retently.java b/src/main/java/com/airbyte/api/models/shared/Retently.java new file mode 100644 index 000000000..3eba9aa70 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Retently.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Retently { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public Retently( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public Retently withCredentials(RetentlyCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Retently withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Retently other = (Retently) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(Retently.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(RetentlyCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Retently build() { + return new Retently( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/RetentlyCredentials.java b/src/main/java/com/airbyte/api/models/shared/RetentlyCredentials.java new file mode 100644 index 000000000..b4a5fd0b5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/RetentlyCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class RetentlyCredentials { + + /** + * The Client ID of your Retently developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your Retently developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public RetentlyCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of your Retently developer application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your Retently developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your Retently developer application. + */ + public RetentlyCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Retently developer application. + */ + public RetentlyCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Retently developer application. + */ + public RetentlyCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Retently developer application. + */ + public RetentlyCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RetentlyCredentials other = (RetentlyCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(RetentlyCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your Retently developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Retently developer application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Retently developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Retently developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public RetentlyCredentials build() { + return new RetentlyCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/RkiCovid.java b/src/main/java/com/airbyte/api/models/shared/RkiCovid.java new file mode 100644 index 000000000..e6dcd4849 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/RkiCovid.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum RkiCovid { + RKI_COVID("rki-covid"); + + @JsonValue + private final String value; + + private RkiCovid(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Rss.java b/src/main/java/com/airbyte/api/models/shared/Rss.java new file mode 100644 index 000000000..a0f1165cb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Rss.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Rss { + RSS("rss"); + + @JsonValue + private final String value; + + private Rss(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/S3.java b/src/main/java/com/airbyte/api/models/shared/S3.java new file mode 100644 index 000000000..5ac8d3f9e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/S3.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum S3 { + S3("s3"); + + @JsonValue + private final String value; + + private S3(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/S3AmazonWebServices.java b/src/main/java/com/airbyte/api/models/shared/S3AmazonWebServices.java new file mode 100644 index 000000000..c5241e01f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/S3AmazonWebServices.java @@ -0,0 +1,559 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + +/** + * S3AmazonWebServices - Deprecated and will be removed soon. Please do not use this field anymore and use bucket, aws_access_key_id, aws_secret_access_key and endpoint instead. Use this to load files from S3 or S3-compatible services + */ + +public class S3AmazonWebServices { + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("aws_access_key_id") + private Optional awsAccessKeyId; + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("aws_secret_access_key") + private Optional awsSecretAccessKey; + + /** + * Name of the S3 bucket where the file(s) exist. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("bucket") + private Optional bucket; + + /** + * Endpoint to an S3 compatible service. Leave empty to use AWS. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("endpoint") + private Optional endpoint; + + /** + * By providing a path-like prefix (e.g. myFolder/thisTable/) under which all the relevant files sit, we can optimize finding these in S3. This is optional but recommended if your bucket contains many folders/files which you don't need to replicate. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("path_prefix") + private Optional pathPrefix; + + /** + * AWS region where the S3 bucket is located. If not provided, the region will be determined automatically. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("region_name") + private Optional regionName; + + /** + * Specifies the Amazon Resource Name (ARN) of an IAM role that you want to use to perform operations requested using this profile. Set the External ID to the Airbyte workspace ID, which can be found in the URL of this page. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("role_arn") + private Optional roleArn; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any file modified before this date will not be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public S3AmazonWebServices( + @JsonProperty("aws_access_key_id") Optional awsAccessKeyId, + @JsonProperty("aws_secret_access_key") Optional awsSecretAccessKey, + @JsonProperty("bucket") Optional bucket, + @JsonProperty("endpoint") Optional endpoint, + @JsonProperty("path_prefix") Optional pathPrefix, + @JsonProperty("region_name") Optional regionName, + @JsonProperty("role_arn") Optional roleArn, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(awsAccessKeyId, "awsAccessKeyId"); + Utils.checkNotNull(awsSecretAccessKey, "awsSecretAccessKey"); + Utils.checkNotNull(bucket, "bucket"); + Utils.checkNotNull(endpoint, "endpoint"); + Utils.checkNotNull(pathPrefix, "pathPrefix"); + Utils.checkNotNull(regionName, "regionName"); + Utils.checkNotNull(roleArn, "roleArn"); + Utils.checkNotNull(startDate, "startDate"); + this.awsAccessKeyId = awsAccessKeyId; + this.awsSecretAccessKey = awsSecretAccessKey; + this.bucket = bucket; + this.endpoint = endpoint; + this.pathPrefix = pathPrefix; + this.regionName = regionName; + this.roleArn = roleArn; + this.startDate = startDate; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public Optional awsAccessKeyId() { + return awsAccessKeyId; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public Optional awsSecretAccessKey() { + return awsSecretAccessKey; + } + + /** + * Name of the S3 bucket where the file(s) exist. + */ + public Optional bucket() { + return bucket; + } + + /** + * Endpoint to an S3 compatible service. Leave empty to use AWS. + */ + public Optional endpoint() { + return endpoint; + } + + /** + * By providing a path-like prefix (e.g. myFolder/thisTable/) under which all the relevant files sit, we can optimize finding these in S3. This is optional but recommended if your bucket contains many folders/files which you don't need to replicate. + */ + public Optional pathPrefix() { + return pathPrefix; + } + + /** + * AWS region where the S3 bucket is located. If not provided, the region will be determined automatically. + */ + public Optional regionName() { + return regionName; + } + + /** + * Specifies the Amazon Resource Name (ARN) of an IAM role that you want to use to perform operations requested using this profile. Set the External ID to the Airbyte workspace ID, which can be found in the URL of this page. + */ + public Optional roleArn() { + return roleArn; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any file modified before this date will not be replicated. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public S3AmazonWebServices withAwsAccessKeyId(String awsAccessKeyId) { + Utils.checkNotNull(awsAccessKeyId, "awsAccessKeyId"); + this.awsAccessKeyId = Optional.ofNullable(awsAccessKeyId); + return this; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public S3AmazonWebServices withAwsAccessKeyId(Optional awsAccessKeyId) { + Utils.checkNotNull(awsAccessKeyId, "awsAccessKeyId"); + this.awsAccessKeyId = awsAccessKeyId; + return this; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public S3AmazonWebServices withAwsSecretAccessKey(String awsSecretAccessKey) { + Utils.checkNotNull(awsSecretAccessKey, "awsSecretAccessKey"); + this.awsSecretAccessKey = Optional.ofNullable(awsSecretAccessKey); + return this; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public S3AmazonWebServices withAwsSecretAccessKey(Optional awsSecretAccessKey) { + Utils.checkNotNull(awsSecretAccessKey, "awsSecretAccessKey"); + this.awsSecretAccessKey = awsSecretAccessKey; + return this; + } + + /** + * Name of the S3 bucket where the file(s) exist. + */ + public S3AmazonWebServices withBucket(String bucket) { + Utils.checkNotNull(bucket, "bucket"); + this.bucket = Optional.ofNullable(bucket); + return this; + } + + /** + * Name of the S3 bucket where the file(s) exist. + */ + public S3AmazonWebServices withBucket(Optional bucket) { + Utils.checkNotNull(bucket, "bucket"); + this.bucket = bucket; + return this; + } + + /** + * Endpoint to an S3 compatible service. Leave empty to use AWS. + */ + public S3AmazonWebServices withEndpoint(String endpoint) { + Utils.checkNotNull(endpoint, "endpoint"); + this.endpoint = Optional.ofNullable(endpoint); + return this; + } + + /** + * Endpoint to an S3 compatible service. Leave empty to use AWS. + */ + public S3AmazonWebServices withEndpoint(Optional endpoint) { + Utils.checkNotNull(endpoint, "endpoint"); + this.endpoint = endpoint; + return this; + } + + /** + * By providing a path-like prefix (e.g. myFolder/thisTable/) under which all the relevant files sit, we can optimize finding these in S3. This is optional but recommended if your bucket contains many folders/files which you don't need to replicate. + */ + public S3AmazonWebServices withPathPrefix(String pathPrefix) { + Utils.checkNotNull(pathPrefix, "pathPrefix"); + this.pathPrefix = Optional.ofNullable(pathPrefix); + return this; + } + + /** + * By providing a path-like prefix (e.g. myFolder/thisTable/) under which all the relevant files sit, we can optimize finding these in S3. This is optional but recommended if your bucket contains many folders/files which you don't need to replicate. + */ + public S3AmazonWebServices withPathPrefix(Optional pathPrefix) { + Utils.checkNotNull(pathPrefix, "pathPrefix"); + this.pathPrefix = pathPrefix; + return this; + } + + /** + * AWS region where the S3 bucket is located. If not provided, the region will be determined automatically. + */ + public S3AmazonWebServices withRegionName(String regionName) { + Utils.checkNotNull(regionName, "regionName"); + this.regionName = Optional.ofNullable(regionName); + return this; + } + + /** + * AWS region where the S3 bucket is located. If not provided, the region will be determined automatically. + */ + public S3AmazonWebServices withRegionName(Optional regionName) { + Utils.checkNotNull(regionName, "regionName"); + this.regionName = regionName; + return this; + } + + /** + * Specifies the Amazon Resource Name (ARN) of an IAM role that you want to use to perform operations requested using this profile. Set the External ID to the Airbyte workspace ID, which can be found in the URL of this page. + */ + public S3AmazonWebServices withRoleArn(String roleArn) { + Utils.checkNotNull(roleArn, "roleArn"); + this.roleArn = Optional.ofNullable(roleArn); + return this; + } + + /** + * Specifies the Amazon Resource Name (ARN) of an IAM role that you want to use to perform operations requested using this profile. Set the External ID to the Airbyte workspace ID, which can be found in the URL of this page. + */ + public S3AmazonWebServices withRoleArn(Optional roleArn) { + Utils.checkNotNull(roleArn, "roleArn"); + this.roleArn = roleArn; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any file modified before this date will not be replicated. + */ + public S3AmazonWebServices withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any file modified before this date will not be replicated. + */ + public S3AmazonWebServices withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + S3AmazonWebServices other = (S3AmazonWebServices) o; + return + java.util.Objects.deepEquals(this.awsAccessKeyId, other.awsAccessKeyId) && + java.util.Objects.deepEquals(this.awsSecretAccessKey, other.awsSecretAccessKey) && + java.util.Objects.deepEquals(this.bucket, other.bucket) && + java.util.Objects.deepEquals(this.endpoint, other.endpoint) && + java.util.Objects.deepEquals(this.pathPrefix, other.pathPrefix) && + java.util.Objects.deepEquals(this.regionName, other.regionName) && + java.util.Objects.deepEquals(this.roleArn, other.roleArn) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + awsAccessKeyId, + awsSecretAccessKey, + bucket, + endpoint, + pathPrefix, + regionName, + roleArn, + startDate); + } + + @Override + public String toString() { + return Utils.toString(S3AmazonWebServices.class, + "awsAccessKeyId", awsAccessKeyId, + "awsSecretAccessKey", awsSecretAccessKey, + "bucket", bucket, + "endpoint", endpoint, + "pathPrefix", pathPrefix, + "regionName", regionName, + "roleArn", roleArn, + "startDate", startDate); + } + + public final static class Builder { + + private Optional awsAccessKeyId = Optional.empty(); + + private Optional awsSecretAccessKey = Optional.empty(); + + private Optional bucket = Optional.empty(); + + private Optional endpoint; + + private Optional pathPrefix; + + private Optional regionName = Optional.empty(); + + private Optional roleArn = Optional.empty(); + + private Optional startDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public Builder awsAccessKeyId(String awsAccessKeyId) { + Utils.checkNotNull(awsAccessKeyId, "awsAccessKeyId"); + this.awsAccessKeyId = Optional.ofNullable(awsAccessKeyId); + return this; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public Builder awsAccessKeyId(Optional awsAccessKeyId) { + Utils.checkNotNull(awsAccessKeyId, "awsAccessKeyId"); + this.awsAccessKeyId = awsAccessKeyId; + return this; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public Builder awsSecretAccessKey(String awsSecretAccessKey) { + Utils.checkNotNull(awsSecretAccessKey, "awsSecretAccessKey"); + this.awsSecretAccessKey = Optional.ofNullable(awsSecretAccessKey); + return this; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public Builder awsSecretAccessKey(Optional awsSecretAccessKey) { + Utils.checkNotNull(awsSecretAccessKey, "awsSecretAccessKey"); + this.awsSecretAccessKey = awsSecretAccessKey; + return this; + } + + /** + * Name of the S3 bucket where the file(s) exist. + */ + public Builder bucket(String bucket) { + Utils.checkNotNull(bucket, "bucket"); + this.bucket = Optional.ofNullable(bucket); + return this; + } + + /** + * Name of the S3 bucket where the file(s) exist. + */ + public Builder bucket(Optional bucket) { + Utils.checkNotNull(bucket, "bucket"); + this.bucket = bucket; + return this; + } + + /** + * Endpoint to an S3 compatible service. Leave empty to use AWS. + */ + public Builder endpoint(String endpoint) { + Utils.checkNotNull(endpoint, "endpoint"); + this.endpoint = Optional.ofNullable(endpoint); + return this; + } + + /** + * Endpoint to an S3 compatible service. Leave empty to use AWS. + */ + public Builder endpoint(Optional endpoint) { + Utils.checkNotNull(endpoint, "endpoint"); + this.endpoint = endpoint; + return this; + } + + /** + * By providing a path-like prefix (e.g. myFolder/thisTable/) under which all the relevant files sit, we can optimize finding these in S3. This is optional but recommended if your bucket contains many folders/files which you don't need to replicate. + */ + public Builder pathPrefix(String pathPrefix) { + Utils.checkNotNull(pathPrefix, "pathPrefix"); + this.pathPrefix = Optional.ofNullable(pathPrefix); + return this; + } + + /** + * By providing a path-like prefix (e.g. myFolder/thisTable/) under which all the relevant files sit, we can optimize finding these in S3. This is optional but recommended if your bucket contains many folders/files which you don't need to replicate. + */ + public Builder pathPrefix(Optional pathPrefix) { + Utils.checkNotNull(pathPrefix, "pathPrefix"); + this.pathPrefix = pathPrefix; + return this; + } + + /** + * AWS region where the S3 bucket is located. If not provided, the region will be determined automatically. + */ + public Builder regionName(String regionName) { + Utils.checkNotNull(regionName, "regionName"); + this.regionName = Optional.ofNullable(regionName); + return this; + } + + /** + * AWS region where the S3 bucket is located. If not provided, the region will be determined automatically. + */ + public Builder regionName(Optional regionName) { + Utils.checkNotNull(regionName, "regionName"); + this.regionName = regionName; + return this; + } + + /** + * Specifies the Amazon Resource Name (ARN) of an IAM role that you want to use to perform operations requested using this profile. Set the External ID to the Airbyte workspace ID, which can be found in the URL of this page. + */ + public Builder roleArn(String roleArn) { + Utils.checkNotNull(roleArn, "roleArn"); + this.roleArn = Optional.ofNullable(roleArn); + return this; + } + + /** + * Specifies the Amazon Resource Name (ARN) of an IAM role that you want to use to perform operations requested using this profile. Set the External ID to the Airbyte workspace ID, which can be found in the URL of this page. + */ + public Builder roleArn(Optional roleArn) { + Utils.checkNotNull(roleArn, "roleArn"); + this.roleArn = roleArn; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any file modified before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any file modified before this date will not be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public S3AmazonWebServices build() { + if (endpoint == null) { + endpoint = _SINGLETON_VALUE_Endpoint.value(); + } + if (pathPrefix == null) { + pathPrefix = _SINGLETON_VALUE_PathPrefix.value(); + } + return new S3AmazonWebServices( + awsAccessKeyId, + awsSecretAccessKey, + bucket, + endpoint, + pathPrefix, + regionName, + roleArn, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Endpoint = + new LazySingletonValue<>( + "endpoint", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_PathPrefix = + new LazySingletonValue<>( + "path_prefix", + "\"\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/S3BucketRegion.java b/src/main/java/com/airbyte/api/models/shared/S3BucketRegion.java new file mode 100644 index 000000000..0cde24078 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/S3BucketRegion.java @@ -0,0 +1,65 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * S3BucketRegion - The region of the S3 bucket. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions">here</a> for all region codes. + */ +public enum S3BucketRegion { + UNKNOWN(""), + AF_SOUTH1("af-south-1"), + AP_EAST1("ap-east-1"), + AP_NORTHEAST1("ap-northeast-1"), + AP_NORTHEAST2("ap-northeast-2"), + AP_NORTHEAST3("ap-northeast-3"), + AP_SOUTH1("ap-south-1"), + AP_SOUTH2("ap-south-2"), + AP_SOUTHEAST1("ap-southeast-1"), + AP_SOUTHEAST2("ap-southeast-2"), + AP_SOUTHEAST3("ap-southeast-3"), + AP_SOUTHEAST4("ap-southeast-4"), + CA_CENTRAL1("ca-central-1"), + CA_WEST1("ca-west-1"), + CN_NORTH1("cn-north-1"), + CN_NORTHWEST1("cn-northwest-1"), + EU_CENTRAL1("eu-central-1"), + EU_CENTRAL2("eu-central-2"), + EU_NORTH1("eu-north-1"), + EU_SOUTH1("eu-south-1"), + EU_SOUTH2("eu-south-2"), + EU_WEST1("eu-west-1"), + EU_WEST2("eu-west-2"), + EU_WEST3("eu-west-3"), + IL_CENTRAL1("il-central-1"), + ME_CENTRAL1("me-central-1"), + ME_SOUTH1("me-south-1"), + SA_EAST1("sa-east-1"), + US_EAST1("us-east-1"), + US_EAST2("us-east-2"), + US_GOV_EAST1("us-gov-east-1"), + US_GOV_WEST1("us-gov-west-1"), + US_WEST1("us-west-1"), + US_WEST2("us-west-2"); + + @JsonValue + private final String value; + + private S3BucketRegion(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/S3Glue.java b/src/main/java/com/airbyte/api/models/shared/S3Glue.java new file mode 100644 index 000000000..8231df7ed --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/S3Glue.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum S3Glue { + S3_GLUE("s3-glue"); + + @JsonValue + private final String value; + + private S3Glue(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SCPSecureCopyProtocol.java b/src/main/java/com/airbyte/api/models/shared/SCPSecureCopyProtocol.java new file mode 100644 index 000000000..5f84d5037 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SCPSecureCopyProtocol.java @@ -0,0 +1,227 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SCPSecureCopyProtocol { + + @JsonProperty("host") + private String host; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("password") + private Optional password; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + @JsonProperty("storage") + private SourceFileSchemasProviderStorageProvider6Storage storage; + + @JsonProperty("user") + private String user; + + public SCPSecureCopyProtocol( + @JsonProperty("host") String host, + @JsonProperty("password") Optional password, + @JsonProperty("port") Optional port, + @JsonProperty("user") String user) { + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(user, "user"); + this.host = host; + this.password = password; + this.port = port; + this.storage = Builder._SINGLETON_VALUE_Storage.value(); + this.user = user; + } + + public String host() { + return host; + } + + public Optional password() { + return password; + } + + public Optional port() { + return port; + } + + public SourceFileSchemasProviderStorageProvider6Storage storage() { + return storage; + } + + public String user() { + return user; + } + + public final static Builder builder() { + return new Builder(); + } + + public SCPSecureCopyProtocol withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + public SCPSecureCopyProtocol withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + public SCPSecureCopyProtocol withPassword(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + public SCPSecureCopyProtocol withPort(String port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + public SCPSecureCopyProtocol withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + public SCPSecureCopyProtocol withUser(String user) { + Utils.checkNotNull(user, "user"); + this.user = user; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SCPSecureCopyProtocol other = (SCPSecureCopyProtocol) o; + return + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.storage, other.storage) && + java.util.Objects.deepEquals(this.user, other.user); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + host, + password, + port, + storage, + user); + } + + @Override + public String toString() { + return Utils.toString(SCPSecureCopyProtocol.class, + "host", host, + "password", password, + "port", port, + "storage", storage, + "user", user); + } + + public final static class Builder { + + private String host; + + private Optional password = Optional.empty(); + + private Optional port; + + private String user; + + private Builder() { + // force use of static builder() method + } + + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + public Builder password(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + public Builder port(String port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + public Builder user(String user) { + Utils.checkNotNull(user, "user"); + this.user = user; + return this; + } + + public SCPSecureCopyProtocol build() { + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + return new SCPSecureCopyProtocol( + host, + password, + port, + user); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "\"22\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_Storage = + new LazySingletonValue<>( + "storage", + "\"SCP\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SFTPSecureFileTransferProtocol.java b/src/main/java/com/airbyte/api/models/shared/SFTPSecureFileTransferProtocol.java new file mode 100644 index 000000000..d49858090 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SFTPSecureFileTransferProtocol.java @@ -0,0 +1,227 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SFTPSecureFileTransferProtocol { + + @JsonProperty("host") + private String host; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("password") + private Optional password; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + @JsonProperty("storage") + private SourceFileSchemasProviderStorageProvider7Storage storage; + + @JsonProperty("user") + private String user; + + public SFTPSecureFileTransferProtocol( + @JsonProperty("host") String host, + @JsonProperty("password") Optional password, + @JsonProperty("port") Optional port, + @JsonProperty("user") String user) { + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(user, "user"); + this.host = host; + this.password = password; + this.port = port; + this.storage = Builder._SINGLETON_VALUE_Storage.value(); + this.user = user; + } + + public String host() { + return host; + } + + public Optional password() { + return password; + } + + public Optional port() { + return port; + } + + public SourceFileSchemasProviderStorageProvider7Storage storage() { + return storage; + } + + public String user() { + return user; + } + + public final static Builder builder() { + return new Builder(); + } + + public SFTPSecureFileTransferProtocol withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + public SFTPSecureFileTransferProtocol withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + public SFTPSecureFileTransferProtocol withPassword(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + public SFTPSecureFileTransferProtocol withPort(String port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + public SFTPSecureFileTransferProtocol withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + public SFTPSecureFileTransferProtocol withUser(String user) { + Utils.checkNotNull(user, "user"); + this.user = user; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SFTPSecureFileTransferProtocol other = (SFTPSecureFileTransferProtocol) o; + return + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.storage, other.storage) && + java.util.Objects.deepEquals(this.user, other.user); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + host, + password, + port, + storage, + user); + } + + @Override + public String toString() { + return Utils.toString(SFTPSecureFileTransferProtocol.class, + "host", host, + "password", password, + "port", port, + "storage", storage, + "user", user); + } + + public final static class Builder { + + private String host; + + private Optional password = Optional.empty(); + + private Optional port; + + private String user; + + private Builder() { + // force use of static builder() method + } + + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + public Builder password(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + public Builder port(String port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + public Builder user(String user) { + Utils.checkNotNull(user, "user"); + this.user = user; + return this; + } + + public SFTPSecureFileTransferProtocol build() { + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + return new SFTPSecureFileTransferProtocol( + host, + password, + port, + user); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "\"22\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_Storage = + new LazySingletonValue<>( + "storage", + "\"SFTP\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SSHKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SSHKeyAuthentication.java new file mode 100644 index 000000000..d8d33bfd0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SSHKeyAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SSHKeyAuthentication { + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + @JsonProperty("ssh_key") + private String sshKey; + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + @JsonProperty("tunnel_method") + private DestinationClickhouseTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host. + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + public SSHKeyAuthentication( + @JsonProperty("ssh_key") String sshKey, + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser) { + Utils.checkNotNull(sshKey, "sshKey"); + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.sshKey = sshKey; + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public String sshKey() { + return sshKey; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + public DestinationClickhouseTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host. + */ + public String tunnelUser() { + return tunnelUser; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public SSHKeyAuthentication withSshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public SSHKeyAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SSHKeyAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SSHKeyAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public SSHKeyAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SSHKeyAuthentication other = (SSHKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.sshKey, other.sshKey) && + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sshKey, + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser); + } + + @Override + public String toString() { + return Utils.toString(SSHKeyAuthentication.class, + "sshKey", sshKey, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser); + } + + public final static class Builder { + + private String sshKey; + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private Builder() { + // force use of static builder() method + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public Builder sshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + public SSHKeyAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new SSHKeyAuthentication( + sshKey, + tunnelHost, + tunnelPort, + tunnelUser); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_KEY_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SSHSecureShell.java b/src/main/java/com/airbyte/api/models/shared/SSHSecureShell.java new file mode 100644 index 000000000..7144b7865 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SSHSecureShell.java @@ -0,0 +1,227 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SSHSecureShell { + + @JsonProperty("host") + private String host; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("password") + private Optional password; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + @JsonProperty("storage") + private SourceFileSchemasProviderStorageProviderStorage storage; + + @JsonProperty("user") + private String user; + + public SSHSecureShell( + @JsonProperty("host") String host, + @JsonProperty("password") Optional password, + @JsonProperty("port") Optional port, + @JsonProperty("user") String user) { + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(user, "user"); + this.host = host; + this.password = password; + this.port = port; + this.storage = Builder._SINGLETON_VALUE_Storage.value(); + this.user = user; + } + + public String host() { + return host; + } + + public Optional password() { + return password; + } + + public Optional port() { + return port; + } + + public SourceFileSchemasProviderStorageProviderStorage storage() { + return storage; + } + + public String user() { + return user; + } + + public final static Builder builder() { + return new Builder(); + } + + public SSHSecureShell withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + public SSHSecureShell withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + public SSHSecureShell withPassword(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + public SSHSecureShell withPort(String port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + public SSHSecureShell withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + public SSHSecureShell withUser(String user) { + Utils.checkNotNull(user, "user"); + this.user = user; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SSHSecureShell other = (SSHSecureShell) o; + return + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.storage, other.storage) && + java.util.Objects.deepEquals(this.user, other.user); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + host, + password, + port, + storage, + user); + } + + @Override + public String toString() { + return Utils.toString(SSHSecureShell.class, + "host", host, + "password", password, + "port", port, + "storage", storage, + "user", user); + } + + public final static class Builder { + + private String host; + + private Optional password = Optional.empty(); + + private Optional port; + + private String user; + + private Builder() { + // force use of static builder() method + } + + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + public Builder password(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + public Builder port(String port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + public Builder user(String user) { + Utils.checkNotNull(user, "user"); + this.user = user; + return this; + } + + public SSHSecureShell build() { + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + return new SSHSecureShell( + host, + password, + port, + user); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "\"22\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_Storage = + new LazySingletonValue<>( + "storage", + "\"SSH\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SSHTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SSHTunnelMethod.java new file mode 100644 index 000000000..5c5c3be3e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SSHTunnelMethod.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SSHTunnelMethod - Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + +@JsonDeserialize(using = SSHTunnelMethod._Deserializer.class) +public class SSHTunnelMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SSHTunnelMethod(TypedObject value) { + this.value = value; + } + + public static SSHTunnelMethod of(NoTunnel value) { + Utils.checkNotNull(value, "value"); + return new SSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SSHTunnelMethod of(SSHKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SSHTunnelMethod of(PasswordAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code NoTunnel}
    • + *
    • {@code SSHKeyAuthentication}
    • + *
    • {@code PasswordAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SSHTunnelMethod other = (SSHTunnelMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SSHTunnelMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SSHTunnelMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SSLMethod.java b/src/main/java/com/airbyte/api/models/shared/SSLMethod.java new file mode 100644 index 000000000..26af2430b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SSLMethod.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SSLMethod - The encryption method which is used to communicate with the database. + */ + +@JsonDeserialize(using = SSLMethod._Deserializer.class) +public class SSLMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SSLMethod(TypedObject value) { + this.value = value; + } + + public static SSLMethod of(EncryptedTrustServerCertificate value) { + Utils.checkNotNull(value, "value"); + return new SSLMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SSLMethod of(EncryptedVerifyCertificate value) { + Utils.checkNotNull(value, "value"); + return new SSLMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code EncryptedTrustServerCertificate}
    • + *
    • {@code EncryptedVerifyCertificate}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SSLMethod other = (SSLMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SSLMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SSLMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SSLModes.java b/src/main/java/com/airbyte/api/models/shared/SSLModes.java new file mode 100644 index 000000000..9c946dd4b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SSLModes.java @@ -0,0 +1,136 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SSLModes - SSL connection modes. + * <b>disable</b> - Chose this mode to disable encryption of communication between Airbyte and destination database + * <b>allow</b> - Chose this mode to enable encryption only when required by the source database + * <b>prefer</b> - Chose this mode to allow unencrypted connection only if the source database does not support encryption + * <b>require</b> - Chose this mode to always require encryption. If the source database server does not support encryption, connection will fail + * <b>verify-ca</b> - Chose this mode to always require encryption and to verify that the source database server has a valid SSL certificate + * <b>verify-full</b> - This is the most secure mode. Chose this mode to always require encryption and to verify the identity of the source database server + * See more information - <a href="https://jdbc.postgresql.org/documentation/head/ssl-client.html"> in the docs</a>. + */ + +@JsonDeserialize(using = SSLModes._Deserializer.class) +public class SSLModes { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SSLModes(TypedObject value) { + this.value = value; + } + + public static SSLModes of(Disable value) { + Utils.checkNotNull(value, "value"); + return new SSLModes(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SSLModes of(Allow value) { + Utils.checkNotNull(value, "value"); + return new SSLModes(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SSLModes of(Prefer value) { + Utils.checkNotNull(value, "value"); + return new SSLModes(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SSLModes of(Require value) { + Utils.checkNotNull(value, "value"); + return new SSLModes(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SSLModes of(VerifyCa value) { + Utils.checkNotNull(value, "value"); + return new SSLModes(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SSLModes of(VerifyFull value) { + Utils.checkNotNull(value, "value"); + return new SSLModes(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code Disable}
    • + *
    • {@code Allow}
    • + *
    • {@code Prefer}
    • + *
    • {@code Require}
    • + *
    • {@code VerifyCa}
    • + *
    • {@code VerifyFull}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SSLModes other = (SSLModes) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SSLModes.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SSLModes.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/Salesforce.java b/src/main/java/com/airbyte/api/models/shared/Salesforce.java new file mode 100644 index 000000000..aa7ae3571 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Salesforce.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Salesforce { + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client ID</a> + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client secret</a> + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public Salesforce( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client ID</a> + */ + public Optional clientId() { + return clientId; + } + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client secret</a> + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client ID</a> + */ + public Salesforce withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client ID</a> + */ + public Salesforce withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client secret</a> + */ + public Salesforce withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client secret</a> + */ + public Salesforce withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Salesforce other = (Salesforce) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(Salesforce.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client ID</a> + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client ID</a> + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client secret</a> + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client secret</a> + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public Salesforce build() { + return new Salesforce( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Salesloft.java b/src/main/java/com/airbyte/api/models/shared/Salesloft.java new file mode 100644 index 000000000..f05e2bf09 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Salesloft.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Salesloft { + SALESLOFT("salesloft"); + + @JsonValue + private final String value; + + private Salesloft(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SandboxAccessToken.java b/src/main/java/com/airbyte/api/models/shared/SandboxAccessToken.java new file mode 100644 index 000000000..5bddf324b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SandboxAccessToken.java @@ -0,0 +1,161 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SandboxAccessToken { + + /** + * The long-term authorized access token. + */ + @JsonProperty("access_token") + private String accessToken; + + /** + * The Advertiser ID which generated for the developer's Sandbox application. + */ + @JsonProperty("advertiser_id") + private String advertiserId; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + public SandboxAccessToken( + @JsonProperty("access_token") String accessToken, + @JsonProperty("advertiser_id") String advertiserId) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(advertiserId, "advertiserId"); + this.accessToken = accessToken; + this.advertiserId = advertiserId; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + } + + /** + * The long-term authorized access token. + */ + public String accessToken() { + return accessToken; + } + + /** + * The Advertiser ID which generated for the developer's Sandbox application. + */ + public String advertiserId() { + return advertiserId; + } + + public Optional authType() { + return authType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The long-term authorized access token. + */ + public SandboxAccessToken withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Advertiser ID which generated for the developer's Sandbox application. + */ + public SandboxAccessToken withAdvertiserId(String advertiserId) { + Utils.checkNotNull(advertiserId, "advertiserId"); + this.advertiserId = advertiserId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SandboxAccessToken other = (SandboxAccessToken) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.advertiserId, other.advertiserId) && + java.util.Objects.deepEquals(this.authType, other.authType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + advertiserId, + authType); + } + + @Override + public String toString() { + return Utils.toString(SandboxAccessToken.class, + "accessToken", accessToken, + "advertiserId", advertiserId, + "authType", authType); + } + + public final static class Builder { + + private String accessToken; + + private String advertiserId; + + private Builder() { + // force use of static builder() method + } + + /** + * The long-term authorized access token. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Advertiser ID which generated for the developer's Sandbox application. + */ + public Builder advertiserId(String advertiserId) { + Utils.checkNotNull(advertiserId, "advertiserId"); + this.advertiserId = advertiserId; + return this; + } + + public SandboxAccessToken build() { + return new SandboxAccessToken( + accessToken, + advertiserId); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"sandbox_access_token\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SapFieldglass.java b/src/main/java/com/airbyte/api/models/shared/SapFieldglass.java new file mode 100644 index 000000000..7ab1d7298 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SapFieldglass.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SapFieldglass { + SAP_FIELDGLASS("sap-fieldglass"); + + @JsonValue + private final String value; + + private SapFieldglass(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ScanChangesWithUserDefinedCursor.java b/src/main/java/com/airbyte/api/models/shared/ScanChangesWithUserDefinedCursor.java new file mode 100644 index 000000000..03ff3b6a6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ScanChangesWithUserDefinedCursor.java @@ -0,0 +1,82 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ScanChangesWithUserDefinedCursor - Incrementally detects new inserts and updates using the <a href="https://docs.airbyte.com/understanding-airbyte/connections/incremental-append/#user-defined-cursor">cursor column</a> chosen when configuring a connection (e.g. created_at, updated_at). + */ + +public class ScanChangesWithUserDefinedCursor { + + @JsonProperty("method") + private SourceMssqlSchemasMethod method; + + public ScanChangesWithUserDefinedCursor() { + + this.method = Builder._SINGLETON_VALUE_Method.value(); + } + + public SourceMssqlSchemasMethod method() { + return method; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ScanChangesWithUserDefinedCursor other = (ScanChangesWithUserDefinedCursor) o; + return + java.util.Objects.deepEquals(this.method, other.method); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + method); + } + + @Override + public String toString() { + return Utils.toString(ScanChangesWithUserDefinedCursor.class, + "method", method); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public ScanChangesWithUserDefinedCursor build() { + return new ScanChangesWithUserDefinedCursor( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Method = + new LazySingletonValue<>( + "method", + "\"STANDARD\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ScheduleTypeEnum.java b/src/main/java/com/airbyte/api/models/shared/ScheduleTypeEnum.java new file mode 100644 index 000000000..bb96c40fd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ScheduleTypeEnum.java @@ -0,0 +1,30 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum ScheduleTypeEnum { + MANUAL("manual"), + CRON("cron"); + + @JsonValue + private final String value; + + private ScheduleTypeEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ScheduleTypeWithBasicEnum.java b/src/main/java/com/airbyte/api/models/shared/ScheduleTypeWithBasicEnum.java new file mode 100644 index 000000000..0d69f9c07 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ScheduleTypeWithBasicEnum.java @@ -0,0 +1,31 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum ScheduleTypeWithBasicEnum { + MANUAL("manual"), + CRON("cron"), + BASIC("basic"); + + @JsonValue + private final String value; + + private ScheduleTypeWithBasicEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SchemeBasicAuth.java b/src/main/java/com/airbyte/api/models/shared/SchemeBasicAuth.java new file mode 100644 index 000000000..52406c012 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SchemeBasicAuth.java @@ -0,0 +1,116 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SchemeBasicAuth { + + @SpeakeasyMetadata("security:name=password") + private String password; + + @SpeakeasyMetadata("security:name=username") + private String username; + + public SchemeBasicAuth( + String password, + String username) { + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(username, "username"); + this.password = password; + this.username = username; + } + + public String password() { + return password; + } + + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + public SchemeBasicAuth withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + public SchemeBasicAuth withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SchemeBasicAuth other = (SchemeBasicAuth) o; + return + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + password, + username); + } + + @Override + public String toString() { + return Utils.toString(SchemeBasicAuth.class, + "password", password, + "username", username); + } + + public final static class Builder { + + private String password; + + private String username; + + private Builder() { + // force use of static builder() method + } + + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public SchemeBasicAuth build() { + return new SchemeBasicAuth( + password, + username); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SearchCriteria.java b/src/main/java/com/airbyte/api/models/shared/SearchCriteria.java new file mode 100644 index 000000000..87aab0e4d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SearchCriteria.java @@ -0,0 +1,36 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SearchCriteria { + STARTS_WITH("starts with"), + ENDS_WITH("ends with"), + CONTAINS("contains"), + EXACTS("exacts"), + STARTS_NOT_WITH("starts not with"), + ENDS_NOT_WITH("ends not with"), + NOT_CONTAINS("not contains"), + NOT_EXACTS("not exacts"); + + @JsonValue + private final String value; + + private SearchCriteria(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SearchScope.java b/src/main/java/com/airbyte/api/models/shared/SearchScope.java new file mode 100644 index 000000000..0538dc183 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SearchScope.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SearchScope - Specifies the location(s) to search for files. Valid options are 'ACCESSIBLE_DRIVES' to search in the selected OneDrive drive, 'SHARED_ITEMS' for shared items the user has access to, and 'ALL' to search both. + */ +public enum SearchScope { + ACCESSIBLE_DRIVES("ACCESSIBLE_DRIVES"), + SHARED_ITEMS("SHARED_ITEMS"), + ALL("ALL"); + + @JsonValue + private final String value; + + private SearchScope(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Secoda.java b/src/main/java/com/airbyte/api/models/shared/Secoda.java new file mode 100644 index 000000000..b500a4307 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Secoda.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Secoda { + SECODA("secoda"); + + @JsonValue + private final String value; + + private Secoda(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Security.java b/src/main/java/com/airbyte/api/models/shared/Security.java new file mode 100644 index 000000000..7fe06b9a4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Security.java @@ -0,0 +1,140 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.SpeakeasyMetadata; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Security { + + @SpeakeasyMetadata("security:scheme=true,type=http,subtype=basic") + private Optional basicAuth; + + @SpeakeasyMetadata("security:scheme=true,type=http,subtype=bearer,name=Authorization") + private Optional bearerAuth; + + public Security( + Optional basicAuth, + Optional bearerAuth) { + Utils.checkNotNull(basicAuth, "basicAuth"); + Utils.checkNotNull(bearerAuth, "bearerAuth"); + this.basicAuth = basicAuth; + this.bearerAuth = bearerAuth; + } + + public Optional basicAuth() { + return basicAuth; + } + + public Optional bearerAuth() { + return bearerAuth; + } + + public final static Builder builder() { + return new Builder(); + } + + public Security withBasicAuth(SchemeBasicAuth basicAuth) { + Utils.checkNotNull(basicAuth, "basicAuth"); + this.basicAuth = Optional.ofNullable(basicAuth); + return this; + } + + public Security withBasicAuth(Optional basicAuth) { + Utils.checkNotNull(basicAuth, "basicAuth"); + this.basicAuth = basicAuth; + return this; + } + + public Security withBearerAuth(String bearerAuth) { + Utils.checkNotNull(bearerAuth, "bearerAuth"); + this.bearerAuth = Optional.ofNullable(bearerAuth); + return this; + } + + public Security withBearerAuth(Optional bearerAuth) { + Utils.checkNotNull(bearerAuth, "bearerAuth"); + this.bearerAuth = bearerAuth; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Security other = (Security) o; + return + java.util.Objects.deepEquals(this.basicAuth, other.basicAuth) && + java.util.Objects.deepEquals(this.bearerAuth, other.bearerAuth); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + basicAuth, + bearerAuth); + } + + @Override + public String toString() { + return Utils.toString(Security.class, + "basicAuth", basicAuth, + "bearerAuth", bearerAuth); + } + + public final static class Builder { + + private Optional basicAuth = Optional.empty(); + + private Optional bearerAuth = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder basicAuth(SchemeBasicAuth basicAuth) { + Utils.checkNotNull(basicAuth, "basicAuth"); + this.basicAuth = Optional.ofNullable(basicAuth); + return this; + } + + public Builder basicAuth(Optional basicAuth) { + Utils.checkNotNull(basicAuth, "basicAuth"); + this.basicAuth = basicAuth; + return this; + } + + public Builder bearerAuth(String bearerAuth) { + Utils.checkNotNull(bearerAuth, "bearerAuth"); + this.bearerAuth = Optional.ofNullable(bearerAuth); + return this; + } + + public Builder bearerAuth(Optional bearerAuth) { + Utils.checkNotNull(bearerAuth, "bearerAuth"); + this.bearerAuth = bearerAuth; + return this; + } + + public Security build() { + return new Security( + basicAuth, + bearerAuth); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Sendgrid.java b/src/main/java/com/airbyte/api/models/shared/Sendgrid.java new file mode 100644 index 000000000..4bc5ce481 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Sendgrid.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Sendgrid { + SENDGRID("sendgrid"); + + @JsonValue + private final String value; + + private Sendgrid(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Sendinblue.java b/src/main/java/com/airbyte/api/models/shared/Sendinblue.java new file mode 100644 index 000000000..fdbba5357 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Sendinblue.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Sendinblue { + SENDINBLUE("sendinblue"); + + @JsonValue + private final String value; + + private Sendinblue(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Senseforce.java b/src/main/java/com/airbyte/api/models/shared/Senseforce.java new file mode 100644 index 000000000..c2e7c40a2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Senseforce.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Senseforce { + SENSEFORCE("senseforce"); + + @JsonValue + private final String value; + + private Senseforce(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Sentry.java b/src/main/java/com/airbyte/api/models/shared/Sentry.java new file mode 100644 index 000000000..810cafaef --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Sentry.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Sentry { + SENTRY("sentry"); + + @JsonValue + private final String value; + + private Sentry(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SerializationLibrary.java b/src/main/java/com/airbyte/api/models/shared/SerializationLibrary.java new file mode 100644 index 000000000..1bbe12557 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SerializationLibrary.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SerializationLibrary - The library that your query engine will use for reading and writing data in your lake. + */ +public enum SerializationLibrary { + ORG_OPENX_DATA_JSONSERDE_JSON_SER_DE("org.openx.data.jsonserde.JsonSerDe"), + ORG_APACHE_HIVE_HCATALOG_DATA_JSON_SER_DE("org.apache.hive.hcatalog.data.JsonSerDe"); + + @JsonValue + private final String value; + + private SerializationLibrary(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ServiceAccount.java b/src/main/java/com/airbyte/api/models/shared/ServiceAccount.java new file mode 100644 index 000000000..f5790adf6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ServiceAccount.java @@ -0,0 +1,201 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ServiceAccount { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("option_title") + private Optional optionTitle; + + /** + * Your project ID number. See the <a href="https://help.mixpanel.com/hc/en-us/articles/115004490503-Project-Settings#project-id">docs</a> for more information on how to obtain this. + */ + @JsonProperty("project_id") + private long projectId; + + /** + * Mixpanel Service Account Secret. See the <a href="https://developer.mixpanel.com/reference/service-accounts">docs</a> for more information on how to obtain this. + */ + @JsonProperty("secret") + private String secret; + + /** + * Mixpanel Service Account Username. See the <a href="https://developer.mixpanel.com/reference/service-accounts">docs</a> for more information on how to obtain this. + */ + @JsonProperty("username") + private String username; + + public ServiceAccount( + @JsonProperty("project_id") long projectId, + @JsonProperty("secret") String secret, + @JsonProperty("username") String username) { + Utils.checkNotNull(projectId, "projectId"); + Utils.checkNotNull(secret, "secret"); + Utils.checkNotNull(username, "username"); + this.optionTitle = Builder._SINGLETON_VALUE_OptionTitle.value(); + this.projectId = projectId; + this.secret = secret; + this.username = username; + } + + public Optional optionTitle() { + return optionTitle; + } + + /** + * Your project ID number. See the <a href="https://help.mixpanel.com/hc/en-us/articles/115004490503-Project-Settings#project-id">docs</a> for more information on how to obtain this. + */ + public long projectId() { + return projectId; + } + + /** + * Mixpanel Service Account Secret. See the <a href="https://developer.mixpanel.com/reference/service-accounts">docs</a> for more information on how to obtain this. + */ + public String secret() { + return secret; + } + + /** + * Mixpanel Service Account Username. See the <a href="https://developer.mixpanel.com/reference/service-accounts">docs</a> for more information on how to obtain this. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your project ID number. See the <a href="https://help.mixpanel.com/hc/en-us/articles/115004490503-Project-Settings#project-id">docs</a> for more information on how to obtain this. + */ + public ServiceAccount withProjectId(long projectId) { + Utils.checkNotNull(projectId, "projectId"); + this.projectId = projectId; + return this; + } + + /** + * Mixpanel Service Account Secret. See the <a href="https://developer.mixpanel.com/reference/service-accounts">docs</a> for more information on how to obtain this. + */ + public ServiceAccount withSecret(String secret) { + Utils.checkNotNull(secret, "secret"); + this.secret = secret; + return this; + } + + /** + * Mixpanel Service Account Username. See the <a href="https://developer.mixpanel.com/reference/service-accounts">docs</a> for more information on how to obtain this. + */ + public ServiceAccount withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ServiceAccount other = (ServiceAccount) o; + return + java.util.Objects.deepEquals(this.optionTitle, other.optionTitle) && + java.util.Objects.deepEquals(this.projectId, other.projectId) && + java.util.Objects.deepEquals(this.secret, other.secret) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + optionTitle, + projectId, + secret, + username); + } + + @Override + public String toString() { + return Utils.toString(ServiceAccount.class, + "optionTitle", optionTitle, + "projectId", projectId, + "secret", secret, + "username", username); + } + + public final static class Builder { + + private Long projectId; + + private String secret; + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Your project ID number. See the <a href="https://help.mixpanel.com/hc/en-us/articles/115004490503-Project-Settings#project-id">docs</a> for more information on how to obtain this. + */ + public Builder projectId(long projectId) { + Utils.checkNotNull(projectId, "projectId"); + this.projectId = projectId; + return this; + } + + /** + * Mixpanel Service Account Secret. See the <a href="https://developer.mixpanel.com/reference/service-accounts">docs</a> for more information on how to obtain this. + */ + public Builder secret(String secret) { + Utils.checkNotNull(secret, "secret"); + this.secret = secret; + return this; + } + + /** + * Mixpanel Service Account Username. See the <a href="https://developer.mixpanel.com/reference/service-accounts">docs</a> for more information on how to obtain this. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public ServiceAccount build() { + return new ServiceAccount( + projectId, + secret, + username); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_OptionTitle = + new LazySingletonValue<>( + "option_title", + "\"Service Account\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ServiceAccountKey.java b/src/main/java/com/airbyte/api/models/shared/ServiceAccountKey.java new file mode 100644 index 000000000..27a29fa15 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ServiceAccountKey.java @@ -0,0 +1,170 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * ServiceAccountKey - For these scenario user should obtain service account's credentials from the Google API Console and provide delegated email. + */ + +public class ServiceAccountKey { + + /** + * The contents of the JSON service account key. See the <a href="https://developers.google.com/admin-sdk/directory/v1/guides/delegation">docs</a> for more information on how to generate this key. + */ + @JsonProperty("credentials_json") + private String credentialsJson; + + /** + * Authentication Scenario + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials_title") + private Optional credentialsTitle; + + /** + * The email of the user, which has permissions to access the Google Workspace Admin APIs. + */ + @JsonProperty("email") + private String email; + + public ServiceAccountKey( + @JsonProperty("credentials_json") String credentialsJson, + @JsonProperty("email") String email) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + Utils.checkNotNull(email, "email"); + this.credentialsJson = credentialsJson; + this.credentialsTitle = Builder._SINGLETON_VALUE_CredentialsTitle.value(); + this.email = email; + } + + /** + * The contents of the JSON service account key. See the <a href="https://developers.google.com/admin-sdk/directory/v1/guides/delegation">docs</a> for more information on how to generate this key. + */ + public String credentialsJson() { + return credentialsJson; + } + + /** + * Authentication Scenario + */ + public Optional credentialsTitle() { + return credentialsTitle; + } + + /** + * The email of the user, which has permissions to access the Google Workspace Admin APIs. + */ + public String email() { + return email; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The contents of the JSON service account key. See the <a href="https://developers.google.com/admin-sdk/directory/v1/guides/delegation">docs</a> for more information on how to generate this key. + */ + public ServiceAccountKey withCredentialsJson(String credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.credentialsJson = credentialsJson; + return this; + } + + /** + * The email of the user, which has permissions to access the Google Workspace Admin APIs. + */ + public ServiceAccountKey withEmail(String email) { + Utils.checkNotNull(email, "email"); + this.email = email; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ServiceAccountKey other = (ServiceAccountKey) o; + return + java.util.Objects.deepEquals(this.credentialsJson, other.credentialsJson) && + java.util.Objects.deepEquals(this.credentialsTitle, other.credentialsTitle) && + java.util.Objects.deepEquals(this.email, other.email); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentialsJson, + credentialsTitle, + email); + } + + @Override + public String toString() { + return Utils.toString(ServiceAccountKey.class, + "credentialsJson", credentialsJson, + "credentialsTitle", credentialsTitle, + "email", email); + } + + public final static class Builder { + + private String credentialsJson; + + private String email; + + private Builder() { + // force use of static builder() method + } + + /** + * The contents of the JSON service account key. See the <a href="https://developers.google.com/admin-sdk/directory/v1/guides/delegation">docs</a> for more information on how to generate this key. + */ + public Builder credentialsJson(String credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.credentialsJson = credentialsJson; + return this; + } + + /** + * The email of the user, which has permissions to access the Google Workspace Admin APIs. + */ + public Builder email(String email) { + Utils.checkNotNull(email, "email"); + this.email = email; + return this; + } + + public ServiceAccountKey build() { + return new ServiceAccountKey( + credentialsJson, + email); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CredentialsTitle = + new LazySingletonValue<>( + "credentials_title", + "\"Service accounts\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ServiceAccountKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/ServiceAccountKeyAuthentication.java new file mode 100644 index 000000000..b94a7dbf2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ServiceAccountKeyAuthentication.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ServiceAccountKeyAuthentication { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * The JSON key linked to the service account used for authorization. For steps on obtaining this key, refer to <a href="https://docs.airbyte.com/integrations/sources/google-analytics-data-api/#setup-guide">the setup guide</a>. + */ + @JsonProperty("credentials_json") + private String credentialsJson; + + public ServiceAccountKeyAuthentication( + @JsonProperty("credentials_json") String credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.credentialsJson = credentialsJson; + } + + public Optional authType() { + return authType; + } + + /** + * The JSON key linked to the service account used for authorization. For steps on obtaining this key, refer to <a href="https://docs.airbyte.com/integrations/sources/google-analytics-data-api/#setup-guide">the setup guide</a>. + */ + public String credentialsJson() { + return credentialsJson; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The JSON key linked to the service account used for authorization. For steps on obtaining this key, refer to <a href="https://docs.airbyte.com/integrations/sources/google-analytics-data-api/#setup-guide">the setup guide</a>. + */ + public ServiceAccountKeyAuthentication withCredentialsJson(String credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.credentialsJson = credentialsJson; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ServiceAccountKeyAuthentication other = (ServiceAccountKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.credentialsJson, other.credentialsJson); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + credentialsJson); + } + + @Override + public String toString() { + return Utils.toString(ServiceAccountKeyAuthentication.class, + "authType", authType, + "credentialsJson", credentialsJson); + } + + public final static class Builder { + + private String credentialsJson; + + private Builder() { + // force use of static builder() method + } + + /** + * The JSON key linked to the service account used for authorization. For steps on obtaining this key, refer to <a href="https://docs.airbyte.com/integrations/sources/google-analytics-data-api/#setup-guide">the setup guide</a>. + */ + public Builder credentialsJson(String credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.credentialsJson = credentialsJson; + return this; + } + + public ServiceAccountKeyAuthentication build() { + return new ServiceAccountKeyAuthentication( + credentialsJson); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Service\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ServiceKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/ServiceKeyAuthentication.java new file mode 100644 index 000000000..adfaea78c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ServiceKeyAuthentication.java @@ -0,0 +1,245 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * ServiceKeyAuthentication - ServiceCredentials class for service key authentication. + * This class is structured similarly to OAuthCredentials but for a different authentication method. + */ + +public class ServiceKeyAuthentication { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * Client ID of your Microsoft developer application + */ + @JsonProperty("client_id") + private String clientId; + + /** + * Client Secret of your Microsoft developer application + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * Tenant ID of the Microsoft OneDrive user + */ + @JsonProperty("tenant_id") + private String tenantId; + + /** + * Special characters such as a period, comma, space, and the at sign (@) are converted to underscores (_). More details: https://learn.microsoft.com/en-us/sharepoint/list-onedrive-urls + */ + @JsonProperty("user_principal_name") + private String userPrincipalName; + + public ServiceKeyAuthentication( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("tenant_id") String tenantId, + @JsonProperty("user_principal_name") String userPrincipalName) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(tenantId, "tenantId"); + Utils.checkNotNull(userPrincipalName, "userPrincipalName"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.tenantId = tenantId; + this.userPrincipalName = userPrincipalName; + } + + public Optional authType() { + return authType; + } + + /** + * Client ID of your Microsoft developer application + */ + public String clientId() { + return clientId; + } + + /** + * Client Secret of your Microsoft developer application + */ + public String clientSecret() { + return clientSecret; + } + + /** + * Tenant ID of the Microsoft OneDrive user + */ + public String tenantId() { + return tenantId; + } + + /** + * Special characters such as a period, comma, space, and the at sign (@) are converted to underscores (_). More details: https://learn.microsoft.com/en-us/sharepoint/list-onedrive-urls + */ + public String userPrincipalName() { + return userPrincipalName; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Client ID of your Microsoft developer application + */ + public ServiceKeyAuthentication withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret of your Microsoft developer application + */ + public ServiceKeyAuthentication withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Tenant ID of the Microsoft OneDrive user + */ + public ServiceKeyAuthentication withTenantId(String tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = tenantId; + return this; + } + + /** + * Special characters such as a period, comma, space, and the at sign (@) are converted to underscores (_). More details: https://learn.microsoft.com/en-us/sharepoint/list-onedrive-urls + */ + public ServiceKeyAuthentication withUserPrincipalName(String userPrincipalName) { + Utils.checkNotNull(userPrincipalName, "userPrincipalName"); + this.userPrincipalName = userPrincipalName; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ServiceKeyAuthentication other = (ServiceKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.tenantId, other.tenantId) && + java.util.Objects.deepEquals(this.userPrincipalName, other.userPrincipalName); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + clientId, + clientSecret, + tenantId, + userPrincipalName); + } + + @Override + public String toString() { + return Utils.toString(ServiceKeyAuthentication.class, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "tenantId", tenantId, + "userPrincipalName", userPrincipalName); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String tenantId; + + private String userPrincipalName; + + private Builder() { + // force use of static builder() method + } + + /** + * Client ID of your Microsoft developer application + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret of your Microsoft developer application + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Tenant ID of the Microsoft OneDrive user + */ + public Builder tenantId(String tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = tenantId; + return this; + } + + /** + * Special characters such as a period, comma, space, and the at sign (@) are converted to underscores (_). More details: https://learn.microsoft.com/en-us/sharepoint/list-onedrive-urls + */ + public Builder userPrincipalName(String userPrincipalName) { + Utils.checkNotNull(userPrincipalName, "userPrincipalName"); + this.userPrincipalName = userPrincipalName; + return this; + } + + public ServiceKeyAuthentication build() { + return new ServiceKeyAuthentication( + clientId, + clientSecret, + tenantId, + userPrincipalName); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Service\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ServiceName.java b/src/main/java/com/airbyte/api/models/shared/ServiceName.java new file mode 100644 index 000000000..169a7904e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ServiceName.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * ServiceName - Use service name + */ + +public class ServiceName { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("connection_type") + private Optional connectionType; + + @JsonProperty("service_name") + private String serviceName; + + public ServiceName( + @JsonProperty("service_name") String serviceName) { + Utils.checkNotNull(serviceName, "serviceName"); + this.connectionType = Builder._SINGLETON_VALUE_ConnectionType.value(); + this.serviceName = serviceName; + } + + public Optional connectionType() { + return connectionType; + } + + public String serviceName() { + return serviceName; + } + + public final static Builder builder() { + return new Builder(); + } + + public ServiceName withServiceName(String serviceName) { + Utils.checkNotNull(serviceName, "serviceName"); + this.serviceName = serviceName; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ServiceName other = (ServiceName) o; + return + java.util.Objects.deepEquals(this.connectionType, other.connectionType) && + java.util.Objects.deepEquals(this.serviceName, other.serviceName); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + connectionType, + serviceName); + } + + @Override + public String toString() { + return Utils.toString(ServiceName.class, + "connectionType", connectionType, + "serviceName", serviceName); + } + + public final static class Builder { + + private String serviceName; + + private Builder() { + // force use of static builder() method + } + + public Builder serviceName(String serviceName) { + Utils.checkNotNull(serviceName, "serviceName"); + this.serviceName = serviceName; + return this; + } + + public ServiceName build() { + return new ServiceName( + serviceName); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ConnectionType = + new LazySingletonValue<>( + "connection_type", + "\"service_name\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Sftp.java b/src/main/java/com/airbyte/api/models/shared/Sftp.java new file mode 100644 index 000000000..bf445bfc4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Sftp.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Sftp { + SFTP("sftp"); + + @JsonValue + private final String value; + + private Sftp(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SftpBulk.java b/src/main/java/com/airbyte/api/models/shared/SftpBulk.java new file mode 100644 index 000000000..a4d9c0158 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SftpBulk.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SftpBulk { + SFTP_BULK("sftp-bulk"); + + @JsonValue + private final String value; + + private SftpBulk(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SftpJson.java b/src/main/java/com/airbyte/api/models/shared/SftpJson.java new file mode 100644 index 000000000..8b72f9ccd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SftpJson.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SftpJson { + SFTP_JSON("sftp-json"); + + @JsonValue + private final String value; + + private SftpJson(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ShareTypeUsedForMostPopularSharedStream.java b/src/main/java/com/airbyte/api/models/shared/ShareTypeUsedForMostPopularSharedStream.java new file mode 100644 index 000000000..a31deb6c7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ShareTypeUsedForMostPopularSharedStream.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ShareTypeUsedForMostPopularSharedStream - Share Type + */ +public enum ShareTypeUsedForMostPopularSharedStream { + FACEBOOK("facebook"); + + @JsonValue + private final String value; + + private ShareTypeUsedForMostPopularSharedStream(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Shopify.java b/src/main/java/com/airbyte/api/models/shared/Shopify.java new file mode 100644 index 000000000..27be3ebde --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Shopify.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Shopify { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public Shopify( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public Shopify withCredentials(ShopifyCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Shopify withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Shopify other = (Shopify) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(Shopify.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(ShopifyCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Shopify build() { + return new Shopify( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ShopifyAuthorizationMethod.java b/src/main/java/com/airbyte/api/models/shared/ShopifyAuthorizationMethod.java new file mode 100644 index 000000000..9306a5992 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ShopifyAuthorizationMethod.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * ShopifyAuthorizationMethod - The authorization method to use to retrieve data from Shopify + */ + +@JsonDeserialize(using = ShopifyAuthorizationMethod._Deserializer.class) +public class ShopifyAuthorizationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private ShopifyAuthorizationMethod(TypedObject value) { + this.value = value; + } + + public static ShopifyAuthorizationMethod of(SourceShopifyOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new ShopifyAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static ShopifyAuthorizationMethod of(APIPassword value) { + Utils.checkNotNull(value, "value"); + return new ShopifyAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceShopifyOAuth20}
    • + *
    • {@code APIPassword}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ShopifyAuthorizationMethod other = (ShopifyAuthorizationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(ShopifyAuthorizationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(ShopifyAuthorizationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/ShopifyCredentials.java b/src/main/java/com/airbyte/api/models/shared/ShopifyCredentials.java new file mode 100644 index 000000000..0a50f04c6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ShopifyCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ShopifyCredentials { + + /** + * The Client ID of the Shopify developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of the Shopify developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public ShopifyCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of the Shopify developer application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of the Shopify developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of the Shopify developer application. + */ + public ShopifyCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of the Shopify developer application. + */ + public ShopifyCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of the Shopify developer application. + */ + public ShopifyCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of the Shopify developer application. + */ + public ShopifyCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ShopifyCredentials other = (ShopifyCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(ShopifyCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of the Shopify developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of the Shopify developer application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of the Shopify developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of the Shopify developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public ShopifyCredentials build() { + return new ShopifyCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Shortio.java b/src/main/java/com/airbyte/api/models/shared/Shortio.java new file mode 100644 index 000000000..cff16b999 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Shortio.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Shortio { + SHORTIO("shortio"); + + @JsonValue + private final String value; + + private Shortio(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SignInViaGoogleOAuth.java b/src/main/java/com/airbyte/api/models/shared/SignInViaGoogleOAuth.java new file mode 100644 index 000000000..2870cc513 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SignInViaGoogleOAuth.java @@ -0,0 +1,210 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SignInViaGoogleOAuth - For these scenario user only needs to give permission to read Google Directory data. + */ + +public class SignInViaGoogleOAuth { + + /** + * The Client ID of the developer application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of the developer application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * Authentication Scenario + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials_title") + private Optional credentialsTitle; + + /** + * The Token for obtaining a new access token. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + public SignInViaGoogleOAuth( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.credentialsTitle = Builder._SINGLETON_VALUE_CredentialsTitle.value(); + this.refreshToken = refreshToken; + } + + /** + * The Client ID of the developer application. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of the developer application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * Authentication Scenario + */ + public Optional credentialsTitle() { + return credentialsTitle; + } + + /** + * The Token for obtaining a new access token. + */ + public String refreshToken() { + return refreshToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of the developer application. + */ + public SignInViaGoogleOAuth withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of the developer application. + */ + public SignInViaGoogleOAuth withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The Token for obtaining a new access token. + */ + public SignInViaGoogleOAuth withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignInViaGoogleOAuth other = (SignInViaGoogleOAuth) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.credentialsTitle, other.credentialsTitle) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret, + credentialsTitle, + refreshToken); + } + + @Override + public String toString() { + return Utils.toString(SignInViaGoogleOAuth.class, + "clientId", clientId, + "clientSecret", clientSecret, + "credentialsTitle", credentialsTitle, + "refreshToken", refreshToken); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of the developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of the developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The Token for obtaining a new access token. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + public SignInViaGoogleOAuth build() { + return new SignInViaGoogleOAuth( + clientId, + clientSecret, + refreshToken); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CredentialsTitle = + new LazySingletonValue<>( + "credentials_title", + "\"Web server app\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SignInViaSlackOAuth.java b/src/main/java/com/airbyte/api/models/shared/SignInViaSlackOAuth.java new file mode 100644 index 000000000..e649e9d73 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SignInViaSlackOAuth.java @@ -0,0 +1,197 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SignInViaSlackOAuth { + + /** + * Slack access_token. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help generating the token. + */ + @JsonProperty("access_token") + private String accessToken; + + /** + * Slack client_id. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this id. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * Slack client_secret. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this secret. + */ + @JsonProperty("client_secret") + private String clientSecret; + + @JsonProperty("option_title") + private SourceSlackOptionTitle optionTitle; + + public SignInViaSlackOAuth( + @JsonProperty("access_token") String accessToken, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.accessToken = accessToken; + this.clientId = clientId; + this.clientSecret = clientSecret; + this.optionTitle = Builder._SINGLETON_VALUE_OptionTitle.value(); + } + + /** + * Slack access_token. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help generating the token. + */ + public String accessToken() { + return accessToken; + } + + /** + * Slack client_id. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this id. + */ + public String clientId() { + return clientId; + } + + /** + * Slack client_secret. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this secret. + */ + public String clientSecret() { + return clientSecret; + } + + public SourceSlackOptionTitle optionTitle() { + return optionTitle; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Slack access_token. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help generating the token. + */ + public SignInViaSlackOAuth withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * Slack client_id. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this id. + */ + public SignInViaSlackOAuth withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Slack client_secret. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this secret. + */ + public SignInViaSlackOAuth withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignInViaSlackOAuth other = (SignInViaSlackOAuth) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.optionTitle, other.optionTitle); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + clientId, + clientSecret, + optionTitle); + } + + @Override + public String toString() { + return Utils.toString(SignInViaSlackOAuth.class, + "accessToken", accessToken, + "clientId", clientId, + "clientSecret", clientSecret, + "optionTitle", optionTitle); + } + + public final static class Builder { + + private String accessToken; + + private String clientId; + + private String clientSecret; + + private Builder() { + // force use of static builder() method + } + + /** + * Slack access_token. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help generating the token. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * Slack client_id. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this id. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Slack client_secret. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this secret. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public SignInViaSlackOAuth build() { + return new SignInViaSlackOAuth( + accessToken, + clientId, + clientSecret); + } + + private static final LazySingletonValue _SINGLETON_VALUE_OptionTitle = + new LazySingletonValue<>( + "option_title", + "\"Default OAuth2.0 authorization\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Silent.java b/src/main/java/com/airbyte/api/models/shared/Silent.java new file mode 100644 index 000000000..ed6c193fa --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Silent.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Silent { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("test_destination_type") + private Optional testDestinationType; + + public Silent() { + + this.testDestinationType = Builder._SINGLETON_VALUE_TestDestinationType.value(); + } + + public Optional testDestinationType() { + return testDestinationType; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Silent other = (Silent) o; + return + java.util.Objects.deepEquals(this.testDestinationType, other.testDestinationType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + testDestinationType); + } + + @Override + public String toString() { + return Utils.toString(Silent.class, + "testDestinationType", testDestinationType); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public Silent build() { + return new Silent( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_TestDestinationType = + new LazySingletonValue<>( + "test_destination_type", + "\"SILENT\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SingleStoreAccessToken.java b/src/main/java/com/airbyte/api/models/shared/SingleStoreAccessToken.java new file mode 100644 index 000000000..1dbb91b10 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SingleStoreAccessToken.java @@ -0,0 +1,157 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SingleStoreAccessToken { + + /** + * Access Token for making authenticated requests. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonProperty("auth_type") + private SourceCartSchemasAuthType authType; + + /** + * The name of Cart.com Online Store. All API URLs start with https://[mystorename.com]/api/v1/, where [mystorename.com] is the domain name of your store. + */ + @JsonProperty("store_name") + private String storeName; + + public SingleStoreAccessToken( + @JsonProperty("access_token") String accessToken, + @JsonProperty("store_name") String storeName) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(storeName, "storeName"); + this.accessToken = accessToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.storeName = storeName; + } + + /** + * Access Token for making authenticated requests. + */ + public String accessToken() { + return accessToken; + } + + public SourceCartSchemasAuthType authType() { + return authType; + } + + /** + * The name of Cart.com Online Store. All API URLs start with https://[mystorename.com]/api/v1/, where [mystorename.com] is the domain name of your store. + */ + public String storeName() { + return storeName; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Access Token for making authenticated requests. + */ + public SingleStoreAccessToken withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The name of Cart.com Online Store. All API URLs start with https://[mystorename.com]/api/v1/, where [mystorename.com] is the domain name of your store. + */ + public SingleStoreAccessToken withStoreName(String storeName) { + Utils.checkNotNull(storeName, "storeName"); + this.storeName = storeName; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SingleStoreAccessToken other = (SingleStoreAccessToken) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.storeName, other.storeName); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authType, + storeName); + } + + @Override + public String toString() { + return Utils.toString(SingleStoreAccessToken.class, + "accessToken", accessToken, + "authType", authType, + "storeName", storeName); + } + + public final static class Builder { + + private String accessToken; + + private String storeName; + + private Builder() { + // force use of static builder() method + } + + /** + * Access Token for making authenticated requests. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The name of Cart.com Online Store. All API URLs start with https://[mystorename.com]/api/v1/, where [mystorename.com] is the domain name of your store. + */ + public Builder storeName(String storeName) { + Utils.checkNotNull(storeName, "storeName"); + this.storeName = storeName; + return this; + } + + public SingleStoreAccessToken build() { + return new SingleStoreAccessToken( + accessToken, + storeName); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"SINGLE_STORE_ACCESS_TOKEN\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Slack.java b/src/main/java/com/airbyte/api/models/shared/Slack.java new file mode 100644 index 000000000..5b91027a7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Slack.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Slack { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public Slack( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public Slack withCredentials(SlackCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Slack withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Slack other = (Slack) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(Slack.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(SlackCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Slack build() { + return new Slack( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SlackCredentials.java b/src/main/java/com/airbyte/api/models/shared/SlackCredentials.java new file mode 100644 index 000000000..25824abc0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SlackCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SlackCredentials { + + /** + * Slack client_id. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this id. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * Slack client_secret. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this secret. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public SlackCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * Slack client_id. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this id. + */ + public Optional clientId() { + return clientId; + } + + /** + * Slack client_secret. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this secret. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Slack client_id. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this id. + */ + public SlackCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Slack client_id. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this id. + */ + public SlackCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Slack client_secret. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this secret. + */ + public SlackCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Slack client_secret. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this secret. + */ + public SlackCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SlackCredentials other = (SlackCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(SlackCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Slack client_id. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this id. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Slack client_id. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this id. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Slack client_secret. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this secret. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Slack client_secret. See our <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> if you need help finding this secret. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public SlackCredentials build() { + return new SlackCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Smaily.java b/src/main/java/com/airbyte/api/models/shared/Smaily.java new file mode 100644 index 000000000..68562c41c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Smaily.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Smaily { + SMAILY("smaily"); + + @JsonValue + private final String value; + + private Smaily(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Smartengage.java b/src/main/java/com/airbyte/api/models/shared/Smartengage.java new file mode 100644 index 000000000..5ce8984d4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Smartengage.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Smartengage { + SMARTENGAGE("smartengage"); + + @JsonValue + private final String value; + + private Smartengage(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Smartsheets.java b/src/main/java/com/airbyte/api/models/shared/Smartsheets.java new file mode 100644 index 000000000..9feefbdd8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Smartsheets.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Smartsheets { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public Smartsheets( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public Smartsheets withCredentials(SmartsheetsCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Smartsheets withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Smartsheets other = (Smartsheets) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(Smartsheets.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(SmartsheetsCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Smartsheets build() { + return new Smartsheets( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SmartsheetsCredentials.java b/src/main/java/com/airbyte/api/models/shared/SmartsheetsCredentials.java new file mode 100644 index 000000000..523212a44 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SmartsheetsCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SmartsheetsCredentials { + + /** + * The API ID of the SmartSheets developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The API Secret the SmartSheets developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public SmartsheetsCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The API ID of the SmartSheets developer application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The API Secret the SmartSheets developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The API ID of the SmartSheets developer application. + */ + public SmartsheetsCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The API ID of the SmartSheets developer application. + */ + public SmartsheetsCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The API Secret the SmartSheets developer application. + */ + public SmartsheetsCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The API Secret the SmartSheets developer application. + */ + public SmartsheetsCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SmartsheetsCredentials other = (SmartsheetsCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(SmartsheetsCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The API ID of the SmartSheets developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The API ID of the SmartSheets developer application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The API Secret the SmartSheets developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The API Secret the SmartSheets developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public SmartsheetsCredentials build() { + return new SmartsheetsCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SnapchatMarketing.java b/src/main/java/com/airbyte/api/models/shared/SnapchatMarketing.java new file mode 100644 index 000000000..8bd530281 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SnapchatMarketing.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SnapchatMarketing { + + /** + * The Client ID of your Snapchat developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your Snapchat developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public SnapchatMarketing( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of your Snapchat developer application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your Snapchat developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your Snapchat developer application. + */ + public SnapchatMarketing withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Snapchat developer application. + */ + public SnapchatMarketing withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Snapchat developer application. + */ + public SnapchatMarketing withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Snapchat developer application. + */ + public SnapchatMarketing withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SnapchatMarketing other = (SnapchatMarketing) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(SnapchatMarketing.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your Snapchat developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Snapchat developer application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Snapchat developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Snapchat developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public SnapchatMarketing build() { + return new SnapchatMarketing( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Snappy.java b/src/main/java/com/airbyte/api/models/shared/Snappy.java new file mode 100644 index 000000000..40f08d329 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Snappy.java @@ -0,0 +1,113 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Snappy { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("codec") + private Optional codec; + + public Snappy( + @JsonProperty("codec") Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + } + + public Optional codec() { + return codec; + } + + public final static Builder builder() { + return new Builder(); + } + + public Snappy withCodec(DestinationGcsSchemasFormatOutputFormat1Codec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public Snappy withCodec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Snappy other = (Snappy) o; + return + java.util.Objects.deepEquals(this.codec, other.codec); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + codec); + } + + @Override + public String toString() { + return Utils.toString(Snappy.class, + "codec", codec); + } + + public final static class Builder { + + private Optional codec; + + private Builder() { + // force use of static builder() method + } + + public Builder codec(DestinationGcsSchemasFormatOutputFormat1Codec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public Builder codec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + public Snappy build() { + if (codec == null) { + codec = _SINGLETON_VALUE_Codec.value(); + } + return new Snappy( + codec); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Codec = + new LazySingletonValue<>( + "codec", + "\"snappy\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Snowflake.java b/src/main/java/com/airbyte/api/models/shared/Snowflake.java new file mode 100644 index 000000000..5f006b751 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Snowflake.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Snowflake { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public Snowflake( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public Snowflake withCredentials(SnowflakeCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Snowflake withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Snowflake other = (Snowflake) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(Snowflake.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(SnowflakeCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Snowflake build() { + return new Snowflake( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SnowflakeCredentials.java b/src/main/java/com/airbyte/api/models/shared/SnowflakeCredentials.java new file mode 100644 index 000000000..e0cff0892 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SnowflakeCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SnowflakeCredentials { + + /** + * The Client ID of your Snowflake developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your Snowflake developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public SnowflakeCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of your Snowflake developer application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your Snowflake developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your Snowflake developer application. + */ + public SnowflakeCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Snowflake developer application. + */ + public SnowflakeCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Snowflake developer application. + */ + public SnowflakeCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Snowflake developer application. + */ + public SnowflakeCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SnowflakeCredentials other = (SnowflakeCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(SnowflakeCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your Snowflake developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Snowflake developer application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Snowflake developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Snowflake developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public SnowflakeCredentials build() { + return new SnowflakeCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SonarCloud.java b/src/main/java/com/airbyte/api/models/shared/SonarCloud.java new file mode 100644 index 000000000..fc9c259ba --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SonarCloud.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SonarCloud { + SONAR_CLOUD("sonar-cloud"); + + @JsonValue + private final String value; + + private SonarCloud(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SortBy.java b/src/main/java/com/airbyte/api/models/shared/SortBy.java new file mode 100644 index 000000000..084fe810a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SortBy.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SortBy - This parameter allows you to choose with which type of sorting the articles should be returned. Two values are possible: + * - publishedAt = sort by publication date, the articles with the most recent publication date are returned first + * - relevance = sort by best match to keywords, the articles with the best match are returned first + */ +public enum SortBy { + PUBLISHED_AT("publishedAt"), + RELEVANCE("relevance"); + + @JsonValue + private final String value; + + private SortBy(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAha.java b/src/main/java/com/airbyte/api/models/shared/SourceAha.java new file mode 100644 index 000000000..abb51195e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAha.java @@ -0,0 +1,157 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceAha { + + /** + * API Key + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private Aha sourceType; + + /** + * URL + */ + @JsonProperty("url") + private String url; + + public SourceAha( + @JsonProperty("api_key") String apiKey, + @JsonProperty("url") String url) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(url, "url"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.url = url; + } + + /** + * API Key + */ + public String apiKey() { + return apiKey; + } + + public Aha sourceType() { + return sourceType; + } + + /** + * URL + */ + public String url() { + return url; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Key + */ + public SourceAha withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * URL + */ + public SourceAha withUrl(String url) { + Utils.checkNotNull(url, "url"); + this.url = url; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceAha other = (SourceAha) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.url, other.url); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType, + url); + } + + @Override + public String toString() { + return Utils.toString(SourceAha.class, + "apiKey", apiKey, + "sourceType", sourceType, + "url", url); + } + + public final static class Builder { + + private String apiKey; + + private String url; + + private Builder() { + // force use of static builder() method + } + + /** + * API Key + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * URL + */ + public Builder url(String url) { + Utils.checkNotNull(url, "url"); + this.url = url; + return this; + } + + public SourceAha build() { + return new SourceAha( + apiKey, + url); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"aha\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAircall.java b/src/main/java/com/airbyte/api/models/shared/SourceAircall.java new file mode 100644 index 000000000..bf49b2e9c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAircall.java @@ -0,0 +1,200 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; + + +public class SourceAircall { + + /** + * App ID found at settings https://dashboard.aircall.io/integrations/api-keys + */ + @JsonProperty("api_id") + private String apiId; + + /** + * App token found at settings (Ref- https://dashboard.aircall.io/integrations/api-keys) + */ + @JsonProperty("api_token") + private String apiToken; + + @JsonProperty("sourceType") + private Aircall sourceType; + + /** + * Date time filter for incremental filter, Specify which date to extract from. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + public SourceAircall( + @JsonProperty("api_id") String apiId, + @JsonProperty("api_token") String apiToken, + @JsonProperty("start_date") OffsetDateTime startDate) { + Utils.checkNotNull(apiId, "apiId"); + Utils.checkNotNull(apiToken, "apiToken"); + Utils.checkNotNull(startDate, "startDate"); + this.apiId = apiId; + this.apiToken = apiToken; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * App ID found at settings https://dashboard.aircall.io/integrations/api-keys + */ + public String apiId() { + return apiId; + } + + /** + * App token found at settings (Ref- https://dashboard.aircall.io/integrations/api-keys) + */ + public String apiToken() { + return apiToken; + } + + public Aircall sourceType() { + return sourceType; + } + + /** + * Date time filter for incremental filter, Specify which date to extract from. + */ + public OffsetDateTime startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * App ID found at settings https://dashboard.aircall.io/integrations/api-keys + */ + public SourceAircall withApiId(String apiId) { + Utils.checkNotNull(apiId, "apiId"); + this.apiId = apiId; + return this; + } + + /** + * App token found at settings (Ref- https://dashboard.aircall.io/integrations/api-keys) + */ + public SourceAircall withApiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + /** + * Date time filter for incremental filter, Specify which date to extract from. + */ + public SourceAircall withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceAircall other = (SourceAircall) o; + return + java.util.Objects.deepEquals(this.apiId, other.apiId) && + java.util.Objects.deepEquals(this.apiToken, other.apiToken) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiId, + apiToken, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceAircall.class, + "apiId", apiId, + "apiToken", apiToken, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String apiId; + + private String apiToken; + + private OffsetDateTime startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * App ID found at settings https://dashboard.aircall.io/integrations/api-keys + */ + public Builder apiId(String apiId) { + Utils.checkNotNull(apiId, "apiId"); + this.apiId = apiId; + return this; + } + + /** + * App token found at settings (Ref- https://dashboard.aircall.io/integrations/api-keys) + */ + public Builder apiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + /** + * Date time filter for incremental filter, Specify which date to extract from. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceAircall build() { + return new SourceAircall( + apiId, + apiToken, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"aircall\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAirtable.java b/src/main/java/com/airbyte/api/models/shared/SourceAirtable.java new file mode 100644 index 000000000..d53918dc7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAirtable.java @@ -0,0 +1,122 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceAirtable { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sourceType") + private Optional sourceType; + + public SourceAirtable( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + public Optional credentials() { + return credentials; + } + + public Optional sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceAirtable withCredentials(SourceAirtableAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public SourceAirtable withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceAirtable other = (SourceAirtable) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceAirtable.class, + "credentials", credentials, + "sourceType", sourceType); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(SourceAirtableAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public SourceAirtable build() { + return new SourceAirtable( + credentials); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"airtable\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAirtableAirtable.java b/src/main/java/com/airbyte/api/models/shared/SourceAirtableAirtable.java new file mode 100644 index 000000000..a1d7ce3e7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAirtableAirtable.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAirtableAirtable { + AIRTABLE("airtable"); + + @JsonValue + private final String value; + + private SourceAirtableAirtable(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAirtableAuthMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceAirtableAuthMethod.java new file mode 100644 index 000000000..9b8546fb2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAirtableAuthMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAirtableAuthMethod { + API_KEY("api_key"); + + @JsonValue + private final String value; + + private SourceAirtableAuthMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAirtableAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceAirtableAuthentication.java new file mode 100644 index 000000000..f72e1fd01 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAirtableAuthentication.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceAirtableAuthentication._Deserializer.class) +public class SourceAirtableAuthentication { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceAirtableAuthentication(TypedObject value) { + this.value = value; + } + + public static SourceAirtableAuthentication of(SourceAirtableOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new SourceAirtableAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceAirtableAuthentication of(PersonalAccessToken value) { + Utils.checkNotNull(value, "value"); + return new SourceAirtableAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceAirtableOAuth20}
    • + *
    • {@code PersonalAccessToken}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceAirtableAuthentication other = (SourceAirtableAuthentication) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceAirtableAuthentication.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceAirtableAuthentication.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAirtableOAuth20.java b/src/main/java/com/airbyte/api/models/shared/SourceAirtableOAuth20.java new file mode 100644 index 000000000..96fb5ff4c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAirtableOAuth20.java @@ -0,0 +1,322 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceAirtableOAuth20 { + + /** + * Access Token for making authenticated requests. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("access_token") + private Optional accessToken; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_method") + private Optional authMethod; + + /** + * The client ID of the Airtable developer application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The client secret the Airtable developer application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * The key to refresh the expired access token. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + /** + * The date-time when the access token should be refreshed. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("token_expiry_date") + private Optional tokenExpiryDate; + + public SourceAirtableOAuth20( + @JsonProperty("access_token") Optional accessToken, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("token_expiry_date") Optional tokenExpiryDate) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.accessToken = accessToken; + this.authMethod = Builder._SINGLETON_VALUE_AuthMethod.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + this.tokenExpiryDate = tokenExpiryDate; + } + + /** + * Access Token for making authenticated requests. + */ + public Optional accessToken() { + return accessToken; + } + + public Optional authMethod() { + return authMethod; + } + + /** + * The client ID of the Airtable developer application. + */ + public String clientId() { + return clientId; + } + + /** + * The client secret the Airtable developer application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * The key to refresh the expired access token. + */ + public String refreshToken() { + return refreshToken; + } + + /** + * The date-time when the access token should be refreshed. + */ + public Optional tokenExpiryDate() { + return tokenExpiryDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Access Token for making authenticated requests. + */ + public SourceAirtableOAuth20 withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = Optional.ofNullable(accessToken); + return this; + } + + /** + * Access Token for making authenticated requests. + */ + public SourceAirtableOAuth20 withAccessToken(Optional accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The client ID of the Airtable developer application. + */ + public SourceAirtableOAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret the Airtable developer application. + */ + public SourceAirtableOAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The key to refresh the expired access token. + */ + public SourceAirtableOAuth20 withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * The date-time when the access token should be refreshed. + */ + public SourceAirtableOAuth20 withTokenExpiryDate(OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.tokenExpiryDate = Optional.ofNullable(tokenExpiryDate); + return this; + } + + /** + * The date-time when the access token should be refreshed. + */ + public SourceAirtableOAuth20 withTokenExpiryDate(Optional tokenExpiryDate) { + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.tokenExpiryDate = tokenExpiryDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceAirtableOAuth20 other = (SourceAirtableOAuth20) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authMethod, other.authMethod) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.tokenExpiryDate, other.tokenExpiryDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authMethod, + clientId, + clientSecret, + refreshToken, + tokenExpiryDate); + } + + @Override + public String toString() { + return Utils.toString(SourceAirtableOAuth20.class, + "accessToken", accessToken, + "authMethod", authMethod, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken, + "tokenExpiryDate", tokenExpiryDate); + } + + public final static class Builder { + + private Optional accessToken = Optional.empty(); + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private Optional tokenExpiryDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Access Token for making authenticated requests. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = Optional.ofNullable(accessToken); + return this; + } + + /** + * Access Token for making authenticated requests. + */ + public Builder accessToken(Optional accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The client ID of the Airtable developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret the Airtable developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The key to refresh the expired access token. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * The date-time when the access token should be refreshed. + */ + public Builder tokenExpiryDate(OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.tokenExpiryDate = Optional.ofNullable(tokenExpiryDate); + return this; + } + + /** + * The date-time when the access token should be refreshed. + */ + public Builder tokenExpiryDate(Optional tokenExpiryDate) { + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.tokenExpiryDate = tokenExpiryDate; + return this; + } + + public SourceAirtableOAuth20 build() { + return new SourceAirtableOAuth20( + accessToken, + clientId, + clientSecret, + refreshToken, + tokenExpiryDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthMethod = + new LazySingletonValue<>( + "auth_method", + "\"oauth2.0\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAirtableSchemasAuthMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceAirtableSchemasAuthMethod.java new file mode 100644 index 000000000..f974ca873 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAirtableSchemasAuthMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAirtableSchemasAuthMethod { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private SourceAirtableSchemasAuthMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAmazonAds.java b/src/main/java/com/airbyte/api/models/shared/SourceAmazonAds.java new file mode 100644 index 000000000..8507d0472 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAmazonAds.java @@ -0,0 +1,650 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceAmazonAds { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * The client ID of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The client secret of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * The amount of days to go back in time to get the updated data from Amazon Ads + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("look_back_window") + private Optional lookBackWindow; + + /** + * Marketplace IDs you want to fetch data for. Note: If Profile IDs are also selected, profiles will be selected if they match the Profile ID OR the Marketplace ID. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("marketplace_ids") + private Optional> marketplaceIds; + + /** + * Profile IDs you want to fetch data for. See <a href="https://advertising.amazon.com/API/docs/en-us/concepts/authorization/profiles">docs</a> for more details. Note: If Marketplace IDs are also selected, profiles will be selected if they match the Profile ID OR the Marketplace ID. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("profiles") + private Optional> profiles; + + /** + * Amazon Ads refresh token. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens">docs</a> for more information on how to obtain this token. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + /** + * Region to pull data from (EU/NA/FE). See <a href="https://advertising.amazon.com/API/docs/en-us/info/api-overview#api-endpoints">docs</a> for more details. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("region") + private Optional region; + + /** + * Optional configuration which accepts an array of string of record types. Leave blank for default behaviour to pull all report types. Use this config option only if you want to pull specific report type(s). See <a href="https://advertising.amazon.com/API/docs/en-us/reporting/v2/report-types">docs</a> for more details + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("report_record_types") + private Optional> reportRecordTypes; + + @JsonProperty("sourceType") + private SourceAmazonAdsAmazonAds sourceType; + + /** + * The Start date for collecting reports, should not be more than 60 days in the past. In YYYY-MM-DD format + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + /** + * Reflects the state of the Display, Product, and Brand Campaign streams as enabled, paused, or archived. If you do not populate this field, it will be ignored completely. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("state_filter") + private Optional> stateFilter; + + public SourceAmazonAds( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("look_back_window") Optional lookBackWindow, + @JsonProperty("marketplace_ids") Optional> marketplaceIds, + @JsonProperty("profiles") Optional> profiles, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("region") Optional region, + @JsonProperty("report_record_types") Optional> reportRecordTypes, + @JsonProperty("start_date") Optional startDate, + @JsonProperty("state_filter") Optional> stateFilter) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(lookBackWindow, "lookBackWindow"); + Utils.checkNotNull(marketplaceIds, "marketplaceIds"); + Utils.checkNotNull(profiles, "profiles"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(region, "region"); + Utils.checkNotNull(reportRecordTypes, "reportRecordTypes"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(stateFilter, "stateFilter"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.lookBackWindow = lookBackWindow; + this.marketplaceIds = marketplaceIds; + this.profiles = profiles; + this.refreshToken = refreshToken; + this.region = region; + this.reportRecordTypes = reportRecordTypes; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.stateFilter = stateFilter; + } + + public Optional authType() { + return authType; + } + + /** + * The client ID of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + public String clientId() { + return clientId; + } + + /** + * The client secret of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * The amount of days to go back in time to get the updated data from Amazon Ads + */ + public Optional lookBackWindow() { + return lookBackWindow; + } + + /** + * Marketplace IDs you want to fetch data for. Note: If Profile IDs are also selected, profiles will be selected if they match the Profile ID OR the Marketplace ID. + */ + public Optional> marketplaceIds() { + return marketplaceIds; + } + + /** + * Profile IDs you want to fetch data for. See <a href="https://advertising.amazon.com/API/docs/en-us/concepts/authorization/profiles">docs</a> for more details. Note: If Marketplace IDs are also selected, profiles will be selected if they match the Profile ID OR the Marketplace ID. + */ + public Optional> profiles() { + return profiles; + } + + /** + * Amazon Ads refresh token. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens">docs</a> for more information on how to obtain this token. + */ + public String refreshToken() { + return refreshToken; + } + + /** + * Region to pull data from (EU/NA/FE). See <a href="https://advertising.amazon.com/API/docs/en-us/info/api-overview#api-endpoints">docs</a> for more details. + */ + public Optional region() { + return region; + } + + /** + * Optional configuration which accepts an array of string of record types. Leave blank for default behaviour to pull all report types. Use this config option only if you want to pull specific report type(s). See <a href="https://advertising.amazon.com/API/docs/en-us/reporting/v2/report-types">docs</a> for more details + */ + public Optional> reportRecordTypes() { + return reportRecordTypes; + } + + public SourceAmazonAdsAmazonAds sourceType() { + return sourceType; + } + + /** + * The Start date for collecting reports, should not be more than 60 days in the past. In YYYY-MM-DD format + */ + public Optional startDate() { + return startDate; + } + + /** + * Reflects the state of the Display, Product, and Brand Campaign streams as enabled, paused, or archived. If you do not populate this field, it will be ignored completely. + */ + public Optional> stateFilter() { + return stateFilter; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The client ID of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + public SourceAmazonAds withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + public SourceAmazonAds withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The amount of days to go back in time to get the updated data from Amazon Ads + */ + public SourceAmazonAds withLookBackWindow(long lookBackWindow) { + Utils.checkNotNull(lookBackWindow, "lookBackWindow"); + this.lookBackWindow = Optional.ofNullable(lookBackWindow); + return this; + } + + /** + * The amount of days to go back in time to get the updated data from Amazon Ads + */ + public SourceAmazonAds withLookBackWindow(Optional lookBackWindow) { + Utils.checkNotNull(lookBackWindow, "lookBackWindow"); + this.lookBackWindow = lookBackWindow; + return this; + } + + /** + * Marketplace IDs you want to fetch data for. Note: If Profile IDs are also selected, profiles will be selected if they match the Profile ID OR the Marketplace ID. + */ + public SourceAmazonAds withMarketplaceIds(java.util.List marketplaceIds) { + Utils.checkNotNull(marketplaceIds, "marketplaceIds"); + this.marketplaceIds = Optional.ofNullable(marketplaceIds); + return this; + } + + /** + * Marketplace IDs you want to fetch data for. Note: If Profile IDs are also selected, profiles will be selected if they match the Profile ID OR the Marketplace ID. + */ + public SourceAmazonAds withMarketplaceIds(Optional> marketplaceIds) { + Utils.checkNotNull(marketplaceIds, "marketplaceIds"); + this.marketplaceIds = marketplaceIds; + return this; + } + + /** + * Profile IDs you want to fetch data for. See <a href="https://advertising.amazon.com/API/docs/en-us/concepts/authorization/profiles">docs</a> for more details. Note: If Marketplace IDs are also selected, profiles will be selected if they match the Profile ID OR the Marketplace ID. + */ + public SourceAmazonAds withProfiles(java.util.List profiles) { + Utils.checkNotNull(profiles, "profiles"); + this.profiles = Optional.ofNullable(profiles); + return this; + } + + /** + * Profile IDs you want to fetch data for. See <a href="https://advertising.amazon.com/API/docs/en-us/concepts/authorization/profiles">docs</a> for more details. Note: If Marketplace IDs are also selected, profiles will be selected if they match the Profile ID OR the Marketplace ID. + */ + public SourceAmazonAds withProfiles(Optional> profiles) { + Utils.checkNotNull(profiles, "profiles"); + this.profiles = profiles; + return this; + } + + /** + * Amazon Ads refresh token. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens">docs</a> for more information on how to obtain this token. + */ + public SourceAmazonAds withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * Region to pull data from (EU/NA/FE). See <a href="https://advertising.amazon.com/API/docs/en-us/info/api-overview#api-endpoints">docs</a> for more details. + */ + public SourceAmazonAds withRegion(Region region) { + Utils.checkNotNull(region, "region"); + this.region = Optional.ofNullable(region); + return this; + } + + /** + * Region to pull data from (EU/NA/FE). See <a href="https://advertising.amazon.com/API/docs/en-us/info/api-overview#api-endpoints">docs</a> for more details. + */ + public SourceAmazonAds withRegion(Optional region) { + Utils.checkNotNull(region, "region"); + this.region = region; + return this; + } + + /** + * Optional configuration which accepts an array of string of record types. Leave blank for default behaviour to pull all report types. Use this config option only if you want to pull specific report type(s). See <a href="https://advertising.amazon.com/API/docs/en-us/reporting/v2/report-types">docs</a> for more details + */ + public SourceAmazonAds withReportRecordTypes(java.util.List reportRecordTypes) { + Utils.checkNotNull(reportRecordTypes, "reportRecordTypes"); + this.reportRecordTypes = Optional.ofNullable(reportRecordTypes); + return this; + } + + /** + * Optional configuration which accepts an array of string of record types. Leave blank for default behaviour to pull all report types. Use this config option only if you want to pull specific report type(s). See <a href="https://advertising.amazon.com/API/docs/en-us/reporting/v2/report-types">docs</a> for more details + */ + public SourceAmazonAds withReportRecordTypes(Optional> reportRecordTypes) { + Utils.checkNotNull(reportRecordTypes, "reportRecordTypes"); + this.reportRecordTypes = reportRecordTypes; + return this; + } + + /** + * The Start date for collecting reports, should not be more than 60 days in the past. In YYYY-MM-DD format + */ + public SourceAmazonAds withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The Start date for collecting reports, should not be more than 60 days in the past. In YYYY-MM-DD format + */ + public SourceAmazonAds withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Reflects the state of the Display, Product, and Brand Campaign streams as enabled, paused, or archived. If you do not populate this field, it will be ignored completely. + */ + public SourceAmazonAds withStateFilter(java.util.List stateFilter) { + Utils.checkNotNull(stateFilter, "stateFilter"); + this.stateFilter = Optional.ofNullable(stateFilter); + return this; + } + + /** + * Reflects the state of the Display, Product, and Brand Campaign streams as enabled, paused, or archived. If you do not populate this field, it will be ignored completely. + */ + public SourceAmazonAds withStateFilter(Optional> stateFilter) { + Utils.checkNotNull(stateFilter, "stateFilter"); + this.stateFilter = stateFilter; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceAmazonAds other = (SourceAmazonAds) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.lookBackWindow, other.lookBackWindow) && + java.util.Objects.deepEquals(this.marketplaceIds, other.marketplaceIds) && + java.util.Objects.deepEquals(this.profiles, other.profiles) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.region, other.region) && + java.util.Objects.deepEquals(this.reportRecordTypes, other.reportRecordTypes) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.stateFilter, other.stateFilter); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + clientId, + clientSecret, + lookBackWindow, + marketplaceIds, + profiles, + refreshToken, + region, + reportRecordTypes, + sourceType, + startDate, + stateFilter); + } + + @Override + public String toString() { + return Utils.toString(SourceAmazonAds.class, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "lookBackWindow", lookBackWindow, + "marketplaceIds", marketplaceIds, + "profiles", profiles, + "refreshToken", refreshToken, + "region", region, + "reportRecordTypes", reportRecordTypes, + "sourceType", sourceType, + "startDate", startDate, + "stateFilter", stateFilter); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private Optional lookBackWindow; + + private Optional> marketplaceIds = Optional.empty(); + + private Optional> profiles = Optional.empty(); + + private String refreshToken; + + private Optional region; + + private Optional> reportRecordTypes = Optional.empty(); + + private Optional startDate = Optional.empty(); + + private Optional> stateFilter = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The client ID of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret of your Amazon Ads developer application. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens#retrieve-your-client-id-and-client-secret">docs</a> for more information. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The amount of days to go back in time to get the updated data from Amazon Ads + */ + public Builder lookBackWindow(long lookBackWindow) { + Utils.checkNotNull(lookBackWindow, "lookBackWindow"); + this.lookBackWindow = Optional.ofNullable(lookBackWindow); + return this; + } + + /** + * The amount of days to go back in time to get the updated data from Amazon Ads + */ + public Builder lookBackWindow(Optional lookBackWindow) { + Utils.checkNotNull(lookBackWindow, "lookBackWindow"); + this.lookBackWindow = lookBackWindow; + return this; + } + + /** + * Marketplace IDs you want to fetch data for. Note: If Profile IDs are also selected, profiles will be selected if they match the Profile ID OR the Marketplace ID. + */ + public Builder marketplaceIds(java.util.List marketplaceIds) { + Utils.checkNotNull(marketplaceIds, "marketplaceIds"); + this.marketplaceIds = Optional.ofNullable(marketplaceIds); + return this; + } + + /** + * Marketplace IDs you want to fetch data for. Note: If Profile IDs are also selected, profiles will be selected if they match the Profile ID OR the Marketplace ID. + */ + public Builder marketplaceIds(Optional> marketplaceIds) { + Utils.checkNotNull(marketplaceIds, "marketplaceIds"); + this.marketplaceIds = marketplaceIds; + return this; + } + + /** + * Profile IDs you want to fetch data for. See <a href="https://advertising.amazon.com/API/docs/en-us/concepts/authorization/profiles">docs</a> for more details. Note: If Marketplace IDs are also selected, profiles will be selected if they match the Profile ID OR the Marketplace ID. + */ + public Builder profiles(java.util.List profiles) { + Utils.checkNotNull(profiles, "profiles"); + this.profiles = Optional.ofNullable(profiles); + return this; + } + + /** + * Profile IDs you want to fetch data for. See <a href="https://advertising.amazon.com/API/docs/en-us/concepts/authorization/profiles">docs</a> for more details. Note: If Marketplace IDs are also selected, profiles will be selected if they match the Profile ID OR the Marketplace ID. + */ + public Builder profiles(Optional> profiles) { + Utils.checkNotNull(profiles, "profiles"); + this.profiles = profiles; + return this; + } + + /** + * Amazon Ads refresh token. See the <a href="https://advertising.amazon.com/API/docs/en-us/get-started/generate-api-tokens">docs</a> for more information on how to obtain this token. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * Region to pull data from (EU/NA/FE). See <a href="https://advertising.amazon.com/API/docs/en-us/info/api-overview#api-endpoints">docs</a> for more details. + */ + public Builder region(Region region) { + Utils.checkNotNull(region, "region"); + this.region = Optional.ofNullable(region); + return this; + } + + /** + * Region to pull data from (EU/NA/FE). See <a href="https://advertising.amazon.com/API/docs/en-us/info/api-overview#api-endpoints">docs</a> for more details. + */ + public Builder region(Optional region) { + Utils.checkNotNull(region, "region"); + this.region = region; + return this; + } + + /** + * Optional configuration which accepts an array of string of record types. Leave blank for default behaviour to pull all report types. Use this config option only if you want to pull specific report type(s). See <a href="https://advertising.amazon.com/API/docs/en-us/reporting/v2/report-types">docs</a> for more details + */ + public Builder reportRecordTypes(java.util.List reportRecordTypes) { + Utils.checkNotNull(reportRecordTypes, "reportRecordTypes"); + this.reportRecordTypes = Optional.ofNullable(reportRecordTypes); + return this; + } + + /** + * Optional configuration which accepts an array of string of record types. Leave blank for default behaviour to pull all report types. Use this config option only if you want to pull specific report type(s). See <a href="https://advertising.amazon.com/API/docs/en-us/reporting/v2/report-types">docs</a> for more details + */ + public Builder reportRecordTypes(Optional> reportRecordTypes) { + Utils.checkNotNull(reportRecordTypes, "reportRecordTypes"); + this.reportRecordTypes = reportRecordTypes; + return this; + } + + /** + * The Start date for collecting reports, should not be more than 60 days in the past. In YYYY-MM-DD format + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The Start date for collecting reports, should not be more than 60 days in the past. In YYYY-MM-DD format + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Reflects the state of the Display, Product, and Brand Campaign streams as enabled, paused, or archived. If you do not populate this field, it will be ignored completely. + */ + public Builder stateFilter(java.util.List stateFilter) { + Utils.checkNotNull(stateFilter, "stateFilter"); + this.stateFilter = Optional.ofNullable(stateFilter); + return this; + } + + /** + * Reflects the state of the Display, Product, and Brand Campaign streams as enabled, paused, or archived. If you do not populate this field, it will be ignored completely. + */ + public Builder stateFilter(Optional> stateFilter) { + Utils.checkNotNull(stateFilter, "stateFilter"); + this.stateFilter = stateFilter; + return this; + } + + public SourceAmazonAds build() { + if (lookBackWindow == null) { + lookBackWindow = _SINGLETON_VALUE_LookBackWindow.value(); + } + if (region == null) { + region = _SINGLETON_VALUE_Region.value(); + } + return new SourceAmazonAds( + clientId, + clientSecret, + lookBackWindow, + marketplaceIds, + profiles, + refreshToken, + region, + reportRecordTypes, + startDate, + stateFilter); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"oauth2.0\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_LookBackWindow = + new LazySingletonValue<>( + "look_back_window", + "3", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Region = + new LazySingletonValue<>( + "region", + "\"NA\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"amazon-ads\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAmazonAdsAmazonAds.java b/src/main/java/com/airbyte/api/models/shared/SourceAmazonAdsAmazonAds.java new file mode 100644 index 000000000..ebd300350 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAmazonAdsAmazonAds.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAmazonAdsAmazonAds { + AMAZON_ADS("amazon-ads"); + + @JsonValue + private final String value; + + private SourceAmazonAdsAmazonAds(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAmazonAdsAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceAmazonAdsAuthType.java new file mode 100644 index 000000000..8060bbd90 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAmazonAdsAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAmazonAdsAuthType { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private SourceAmazonAdsAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAmazonSellerPartner.java b/src/main/java/com/airbyte/api/models/shared/SourceAmazonSellerPartner.java new file mode 100644 index 000000000..c07dd93dd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAmazonSellerPartner.java @@ -0,0 +1,670 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceAmazonSellerPartner { + + /** + * Type of the Account you're going to authorize the Airbyte application by + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("account_type") + private Optional accountType; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * Select the AWS Environment. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("aws_environment") + private Optional awsEnvironment; + + /** + * Your Login with Amazon Client ID. + */ + @JsonProperty("lwa_app_id") + private String lwaAppId; + + /** + * Your Login with Amazon Client Secret. + */ + @JsonProperty("lwa_client_secret") + private String lwaClientSecret; + + /** + * For syncs spanning a large date range, this option is used to request data in a smaller fixed window to improve sync reliability. This time window can be configured granularly by day. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("period_in_days") + private Optional periodInDays; + + /** + * The Refresh Token obtained via OAuth flow authorization. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + /** + * Select the AWS Region. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("region") + private Optional region; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data after this date will not be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("replication_end_date") + private Optional replicationEndDate; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. If start date is not provided, the date 2 years ago from today will be used. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("replication_start_date") + private Optional replicationStartDate; + + /** + * Additional information passed to reports. This varies by report type. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("report_options_list") + private Optional> reportOptionsList; + + @JsonProperty("sourceType") + private SourceAmazonSellerPartnerAmazonSellerPartner sourceType; + + public SourceAmazonSellerPartner( + @JsonProperty("account_type") Optional accountType, + @JsonProperty("aws_environment") Optional awsEnvironment, + @JsonProperty("lwa_app_id") String lwaAppId, + @JsonProperty("lwa_client_secret") String lwaClientSecret, + @JsonProperty("period_in_days") Optional periodInDays, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("region") Optional region, + @JsonProperty("replication_end_date") Optional replicationEndDate, + @JsonProperty("replication_start_date") Optional replicationStartDate, + @JsonProperty("report_options_list") Optional> reportOptionsList) { + Utils.checkNotNull(accountType, "accountType"); + Utils.checkNotNull(awsEnvironment, "awsEnvironment"); + Utils.checkNotNull(lwaAppId, "lwaAppId"); + Utils.checkNotNull(lwaClientSecret, "lwaClientSecret"); + Utils.checkNotNull(periodInDays, "periodInDays"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(region, "region"); + Utils.checkNotNull(replicationEndDate, "replicationEndDate"); + Utils.checkNotNull(replicationStartDate, "replicationStartDate"); + Utils.checkNotNull(reportOptionsList, "reportOptionsList"); + this.accountType = accountType; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.awsEnvironment = awsEnvironment; + this.lwaAppId = lwaAppId; + this.lwaClientSecret = lwaClientSecret; + this.periodInDays = periodInDays; + this.refreshToken = refreshToken; + this.region = region; + this.replicationEndDate = replicationEndDate; + this.replicationStartDate = replicationStartDate; + this.reportOptionsList = reportOptionsList; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Type of the Account you're going to authorize the Airbyte application by + */ + public Optional accountType() { + return accountType; + } + + public Optional authType() { + return authType; + } + + /** + * Select the AWS Environment. + */ + public Optional awsEnvironment() { + return awsEnvironment; + } + + /** + * Your Login with Amazon Client ID. + */ + public String lwaAppId() { + return lwaAppId; + } + + /** + * Your Login with Amazon Client Secret. + */ + public String lwaClientSecret() { + return lwaClientSecret; + } + + /** + * For syncs spanning a large date range, this option is used to request data in a smaller fixed window to improve sync reliability. This time window can be configured granularly by day. + */ + public Optional periodInDays() { + return periodInDays; + } + + /** + * The Refresh Token obtained via OAuth flow authorization. + */ + public String refreshToken() { + return refreshToken; + } + + /** + * Select the AWS Region. + */ + public Optional region() { + return region; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data after this date will not be replicated. + */ + public Optional replicationEndDate() { + return replicationEndDate; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. If start date is not provided, the date 2 years ago from today will be used. + */ + public Optional replicationStartDate() { + return replicationStartDate; + } + + /** + * Additional information passed to reports. This varies by report type. + */ + public Optional> reportOptionsList() { + return reportOptionsList; + } + + public SourceAmazonSellerPartnerAmazonSellerPartner sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Type of the Account you're going to authorize the Airbyte application by + */ + public SourceAmazonSellerPartner withAccountType(AWSSellerPartnerAccountType accountType) { + Utils.checkNotNull(accountType, "accountType"); + this.accountType = Optional.ofNullable(accountType); + return this; + } + + /** + * Type of the Account you're going to authorize the Airbyte application by + */ + public SourceAmazonSellerPartner withAccountType(Optional accountType) { + Utils.checkNotNull(accountType, "accountType"); + this.accountType = accountType; + return this; + } + + /** + * Select the AWS Environment. + */ + public SourceAmazonSellerPartner withAwsEnvironment(AWSEnvironment awsEnvironment) { + Utils.checkNotNull(awsEnvironment, "awsEnvironment"); + this.awsEnvironment = Optional.ofNullable(awsEnvironment); + return this; + } + + /** + * Select the AWS Environment. + */ + public SourceAmazonSellerPartner withAwsEnvironment(Optional awsEnvironment) { + Utils.checkNotNull(awsEnvironment, "awsEnvironment"); + this.awsEnvironment = awsEnvironment; + return this; + } + + /** + * Your Login with Amazon Client ID. + */ + public SourceAmazonSellerPartner withLwaAppId(String lwaAppId) { + Utils.checkNotNull(lwaAppId, "lwaAppId"); + this.lwaAppId = lwaAppId; + return this; + } + + /** + * Your Login with Amazon Client Secret. + */ + public SourceAmazonSellerPartner withLwaClientSecret(String lwaClientSecret) { + Utils.checkNotNull(lwaClientSecret, "lwaClientSecret"); + this.lwaClientSecret = lwaClientSecret; + return this; + } + + /** + * For syncs spanning a large date range, this option is used to request data in a smaller fixed window to improve sync reliability. This time window can be configured granularly by day. + */ + public SourceAmazonSellerPartner withPeriodInDays(long periodInDays) { + Utils.checkNotNull(periodInDays, "periodInDays"); + this.periodInDays = Optional.ofNullable(periodInDays); + return this; + } + + /** + * For syncs spanning a large date range, this option is used to request data in a smaller fixed window to improve sync reliability. This time window can be configured granularly by day. + */ + public SourceAmazonSellerPartner withPeriodInDays(Optional periodInDays) { + Utils.checkNotNull(periodInDays, "periodInDays"); + this.periodInDays = periodInDays; + return this; + } + + /** + * The Refresh Token obtained via OAuth flow authorization. + */ + public SourceAmazonSellerPartner withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * Select the AWS Region. + */ + public SourceAmazonSellerPartner withRegion(AWSRegion region) { + Utils.checkNotNull(region, "region"); + this.region = Optional.ofNullable(region); + return this; + } + + /** + * Select the AWS Region. + */ + public SourceAmazonSellerPartner withRegion(Optional region) { + Utils.checkNotNull(region, "region"); + this.region = region; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data after this date will not be replicated. + */ + public SourceAmazonSellerPartner withReplicationEndDate(OffsetDateTime replicationEndDate) { + Utils.checkNotNull(replicationEndDate, "replicationEndDate"); + this.replicationEndDate = Optional.ofNullable(replicationEndDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data after this date will not be replicated. + */ + public SourceAmazonSellerPartner withReplicationEndDate(Optional replicationEndDate) { + Utils.checkNotNull(replicationEndDate, "replicationEndDate"); + this.replicationEndDate = replicationEndDate; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. If start date is not provided, the date 2 years ago from today will be used. + */ + public SourceAmazonSellerPartner withReplicationStartDate(OffsetDateTime replicationStartDate) { + Utils.checkNotNull(replicationStartDate, "replicationStartDate"); + this.replicationStartDate = Optional.ofNullable(replicationStartDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. If start date is not provided, the date 2 years ago from today will be used. + */ + public SourceAmazonSellerPartner withReplicationStartDate(Optional replicationStartDate) { + Utils.checkNotNull(replicationStartDate, "replicationStartDate"); + this.replicationStartDate = replicationStartDate; + return this; + } + + /** + * Additional information passed to reports. This varies by report type. + */ + public SourceAmazonSellerPartner withReportOptionsList(java.util.List reportOptionsList) { + Utils.checkNotNull(reportOptionsList, "reportOptionsList"); + this.reportOptionsList = Optional.ofNullable(reportOptionsList); + return this; + } + + /** + * Additional information passed to reports. This varies by report type. + */ + public SourceAmazonSellerPartner withReportOptionsList(Optional> reportOptionsList) { + Utils.checkNotNull(reportOptionsList, "reportOptionsList"); + this.reportOptionsList = reportOptionsList; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceAmazonSellerPartner other = (SourceAmazonSellerPartner) o; + return + java.util.Objects.deepEquals(this.accountType, other.accountType) && + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.awsEnvironment, other.awsEnvironment) && + java.util.Objects.deepEquals(this.lwaAppId, other.lwaAppId) && + java.util.Objects.deepEquals(this.lwaClientSecret, other.lwaClientSecret) && + java.util.Objects.deepEquals(this.periodInDays, other.periodInDays) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.region, other.region) && + java.util.Objects.deepEquals(this.replicationEndDate, other.replicationEndDate) && + java.util.Objects.deepEquals(this.replicationStartDate, other.replicationStartDate) && + java.util.Objects.deepEquals(this.reportOptionsList, other.reportOptionsList) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accountType, + authType, + awsEnvironment, + lwaAppId, + lwaClientSecret, + periodInDays, + refreshToken, + region, + replicationEndDate, + replicationStartDate, + reportOptionsList, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceAmazonSellerPartner.class, + "accountType", accountType, + "authType", authType, + "awsEnvironment", awsEnvironment, + "lwaAppId", lwaAppId, + "lwaClientSecret", lwaClientSecret, + "periodInDays", periodInDays, + "refreshToken", refreshToken, + "region", region, + "replicationEndDate", replicationEndDate, + "replicationStartDate", replicationStartDate, + "reportOptionsList", reportOptionsList, + "sourceType", sourceType); + } + + public final static class Builder { + + private Optional accountType; + + private Optional awsEnvironment; + + private String lwaAppId; + + private String lwaClientSecret; + + private Optional periodInDays; + + private String refreshToken; + + private Optional region; + + private Optional replicationEndDate = Optional.empty(); + + private Optional replicationStartDate = Optional.empty(); + + private Optional> reportOptionsList = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Type of the Account you're going to authorize the Airbyte application by + */ + public Builder accountType(AWSSellerPartnerAccountType accountType) { + Utils.checkNotNull(accountType, "accountType"); + this.accountType = Optional.ofNullable(accountType); + return this; + } + + /** + * Type of the Account you're going to authorize the Airbyte application by + */ + public Builder accountType(Optional accountType) { + Utils.checkNotNull(accountType, "accountType"); + this.accountType = accountType; + return this; + } + + /** + * Select the AWS Environment. + */ + public Builder awsEnvironment(AWSEnvironment awsEnvironment) { + Utils.checkNotNull(awsEnvironment, "awsEnvironment"); + this.awsEnvironment = Optional.ofNullable(awsEnvironment); + return this; + } + + /** + * Select the AWS Environment. + */ + public Builder awsEnvironment(Optional awsEnvironment) { + Utils.checkNotNull(awsEnvironment, "awsEnvironment"); + this.awsEnvironment = awsEnvironment; + return this; + } + + /** + * Your Login with Amazon Client ID. + */ + public Builder lwaAppId(String lwaAppId) { + Utils.checkNotNull(lwaAppId, "lwaAppId"); + this.lwaAppId = lwaAppId; + return this; + } + + /** + * Your Login with Amazon Client Secret. + */ + public Builder lwaClientSecret(String lwaClientSecret) { + Utils.checkNotNull(lwaClientSecret, "lwaClientSecret"); + this.lwaClientSecret = lwaClientSecret; + return this; + } + + /** + * For syncs spanning a large date range, this option is used to request data in a smaller fixed window to improve sync reliability. This time window can be configured granularly by day. + */ + public Builder periodInDays(long periodInDays) { + Utils.checkNotNull(periodInDays, "periodInDays"); + this.periodInDays = Optional.ofNullable(periodInDays); + return this; + } + + /** + * For syncs spanning a large date range, this option is used to request data in a smaller fixed window to improve sync reliability. This time window can be configured granularly by day. + */ + public Builder periodInDays(Optional periodInDays) { + Utils.checkNotNull(periodInDays, "periodInDays"); + this.periodInDays = periodInDays; + return this; + } + + /** + * The Refresh Token obtained via OAuth flow authorization. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * Select the AWS Region. + */ + public Builder region(AWSRegion region) { + Utils.checkNotNull(region, "region"); + this.region = Optional.ofNullable(region); + return this; + } + + /** + * Select the AWS Region. + */ + public Builder region(Optional region) { + Utils.checkNotNull(region, "region"); + this.region = region; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data after this date will not be replicated. + */ + public Builder replicationEndDate(OffsetDateTime replicationEndDate) { + Utils.checkNotNull(replicationEndDate, "replicationEndDate"); + this.replicationEndDate = Optional.ofNullable(replicationEndDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data after this date will not be replicated. + */ + public Builder replicationEndDate(Optional replicationEndDate) { + Utils.checkNotNull(replicationEndDate, "replicationEndDate"); + this.replicationEndDate = replicationEndDate; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. If start date is not provided, the date 2 years ago from today will be used. + */ + public Builder replicationStartDate(OffsetDateTime replicationStartDate) { + Utils.checkNotNull(replicationStartDate, "replicationStartDate"); + this.replicationStartDate = Optional.ofNullable(replicationStartDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. If start date is not provided, the date 2 years ago from today will be used. + */ + public Builder replicationStartDate(Optional replicationStartDate) { + Utils.checkNotNull(replicationStartDate, "replicationStartDate"); + this.replicationStartDate = replicationStartDate; + return this; + } + + /** + * Additional information passed to reports. This varies by report type. + */ + public Builder reportOptionsList(java.util.List reportOptionsList) { + Utils.checkNotNull(reportOptionsList, "reportOptionsList"); + this.reportOptionsList = Optional.ofNullable(reportOptionsList); + return this; + } + + /** + * Additional information passed to reports. This varies by report type. + */ + public Builder reportOptionsList(Optional> reportOptionsList) { + Utils.checkNotNull(reportOptionsList, "reportOptionsList"); + this.reportOptionsList = reportOptionsList; + return this; + } + + public SourceAmazonSellerPartner build() { + if (accountType == null) { + accountType = _SINGLETON_VALUE_AccountType.value(); + } + if (awsEnvironment == null) { + awsEnvironment = _SINGLETON_VALUE_AwsEnvironment.value(); + } + if (periodInDays == null) { + periodInDays = _SINGLETON_VALUE_PeriodInDays.value(); + } + if (region == null) { + region = _SINGLETON_VALUE_Region.value(); + } + return new SourceAmazonSellerPartner( + accountType, + awsEnvironment, + lwaAppId, + lwaClientSecret, + periodInDays, + refreshToken, + region, + replicationEndDate, + replicationStartDate, + reportOptionsList); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AccountType = + new LazySingletonValue<>( + "account_type", + "\"Seller\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"oauth2.0\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_AwsEnvironment = + new LazySingletonValue<>( + "aws_environment", + "\"PRODUCTION\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_PeriodInDays = + new LazySingletonValue<>( + "period_in_days", + "90", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Region = + new LazySingletonValue<>( + "region", + "\"US\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"amazon-seller-partner\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAmazonSellerPartnerAmazonSellerPartner.java b/src/main/java/com/airbyte/api/models/shared/SourceAmazonSellerPartnerAmazonSellerPartner.java new file mode 100644 index 000000000..5b6dfa30a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAmazonSellerPartnerAmazonSellerPartner.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAmazonSellerPartnerAmazonSellerPartner { + AMAZON_SELLER_PARTNER("amazon-seller-partner"); + + @JsonValue + private final String value; + + private SourceAmazonSellerPartnerAmazonSellerPartner(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAmazonSellerPartnerAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceAmazonSellerPartnerAuthType.java new file mode 100644 index 000000000..ee5c1ed63 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAmazonSellerPartnerAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAmazonSellerPartnerAuthType { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private SourceAmazonSellerPartnerAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAmazonSqs.java b/src/main/java/com/airbyte/api/models/shared/SourceAmazonSqs.java new file mode 100644 index 000000000..bf1d30ae2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAmazonSqs.java @@ -0,0 +1,582 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceAmazonSqs { + + /** + * The Access Key ID of the AWS IAM Role to use for pulling messages + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("access_key") + private Optional accessKey; + + /** + * Comma separated list of Mesage Attribute names to return + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("attributes_to_return") + private Optional attributesToReturn; + + /** + * If Enabled, messages will be deleted from the SQS Queue after being read. If Disabled, messages are left in the queue and can be read more than once. WARNING: Enabling this option can result in data loss in cases of failure, use with caution, see documentation for more detail. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("delete_messages") + private Optional deleteMessages; + + /** + * Max amount of messages to get in one batch (10 max) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("max_batch_size") + private Optional maxBatchSize; + + /** + * Max amount of time in seconds to wait for messages in a single poll (20 max) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("max_wait_time") + private Optional maxWaitTime; + + /** + * URL of the SQS Queue + */ + @JsonProperty("queue_url") + private String queueUrl; + + /** + * AWS Region of the SQS Queue + */ + @JsonProperty("region") + private SourceAmazonSqsAWSRegion region; + + /** + * The Secret Key of the AWS IAM Role to use for pulling messages + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("secret_key") + private Optional secretKey; + + @JsonProperty("sourceType") + private AmazonSqs sourceType; + + /** + * Modify the Visibility Timeout of the individual message from the Queue's default (seconds). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("visibility_timeout") + private Optional visibilityTimeout; + + public SourceAmazonSqs( + @JsonProperty("access_key") Optional accessKey, + @JsonProperty("attributes_to_return") Optional attributesToReturn, + @JsonProperty("delete_messages") Optional deleteMessages, + @JsonProperty("max_batch_size") Optional maxBatchSize, + @JsonProperty("max_wait_time") Optional maxWaitTime, + @JsonProperty("queue_url") String queueUrl, + @JsonProperty("region") SourceAmazonSqsAWSRegion region, + @JsonProperty("secret_key") Optional secretKey, + @JsonProperty("visibility_timeout") Optional visibilityTimeout) { + Utils.checkNotNull(accessKey, "accessKey"); + Utils.checkNotNull(attributesToReturn, "attributesToReturn"); + Utils.checkNotNull(deleteMessages, "deleteMessages"); + Utils.checkNotNull(maxBatchSize, "maxBatchSize"); + Utils.checkNotNull(maxWaitTime, "maxWaitTime"); + Utils.checkNotNull(queueUrl, "queueUrl"); + Utils.checkNotNull(region, "region"); + Utils.checkNotNull(secretKey, "secretKey"); + Utils.checkNotNull(visibilityTimeout, "visibilityTimeout"); + this.accessKey = accessKey; + this.attributesToReturn = attributesToReturn; + this.deleteMessages = deleteMessages; + this.maxBatchSize = maxBatchSize; + this.maxWaitTime = maxWaitTime; + this.queueUrl = queueUrl; + this.region = region; + this.secretKey = secretKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.visibilityTimeout = visibilityTimeout; + } + + /** + * The Access Key ID of the AWS IAM Role to use for pulling messages + */ + public Optional accessKey() { + return accessKey; + } + + /** + * Comma separated list of Mesage Attribute names to return + */ + public Optional attributesToReturn() { + return attributesToReturn; + } + + /** + * If Enabled, messages will be deleted from the SQS Queue after being read. If Disabled, messages are left in the queue and can be read more than once. WARNING: Enabling this option can result in data loss in cases of failure, use with caution, see documentation for more detail. + */ + public Optional deleteMessages() { + return deleteMessages; + } + + /** + * Max amount of messages to get in one batch (10 max) + */ + public Optional maxBatchSize() { + return maxBatchSize; + } + + /** + * Max amount of time in seconds to wait for messages in a single poll (20 max) + */ + public Optional maxWaitTime() { + return maxWaitTime; + } + + /** + * URL of the SQS Queue + */ + public String queueUrl() { + return queueUrl; + } + + /** + * AWS Region of the SQS Queue + */ + public SourceAmazonSqsAWSRegion region() { + return region; + } + + /** + * The Secret Key of the AWS IAM Role to use for pulling messages + */ + public Optional secretKey() { + return secretKey; + } + + public AmazonSqs sourceType() { + return sourceType; + } + + /** + * Modify the Visibility Timeout of the individual message from the Queue's default (seconds). + */ + public Optional visibilityTimeout() { + return visibilityTimeout; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Access Key ID of the AWS IAM Role to use for pulling messages + */ + public SourceAmazonSqs withAccessKey(String accessKey) { + Utils.checkNotNull(accessKey, "accessKey"); + this.accessKey = Optional.ofNullable(accessKey); + return this; + } + + /** + * The Access Key ID of the AWS IAM Role to use for pulling messages + */ + public SourceAmazonSqs withAccessKey(Optional accessKey) { + Utils.checkNotNull(accessKey, "accessKey"); + this.accessKey = accessKey; + return this; + } + + /** + * Comma separated list of Mesage Attribute names to return + */ + public SourceAmazonSqs withAttributesToReturn(String attributesToReturn) { + Utils.checkNotNull(attributesToReturn, "attributesToReturn"); + this.attributesToReturn = Optional.ofNullable(attributesToReturn); + return this; + } + + /** + * Comma separated list of Mesage Attribute names to return + */ + public SourceAmazonSqs withAttributesToReturn(Optional attributesToReturn) { + Utils.checkNotNull(attributesToReturn, "attributesToReturn"); + this.attributesToReturn = attributesToReturn; + return this; + } + + /** + * If Enabled, messages will be deleted from the SQS Queue after being read. If Disabled, messages are left in the queue and can be read more than once. WARNING: Enabling this option can result in data loss in cases of failure, use with caution, see documentation for more detail. + */ + public SourceAmazonSqs withDeleteMessages(boolean deleteMessages) { + Utils.checkNotNull(deleteMessages, "deleteMessages"); + this.deleteMessages = Optional.ofNullable(deleteMessages); + return this; + } + + /** + * If Enabled, messages will be deleted from the SQS Queue after being read. If Disabled, messages are left in the queue and can be read more than once. WARNING: Enabling this option can result in data loss in cases of failure, use with caution, see documentation for more detail. + */ + public SourceAmazonSqs withDeleteMessages(Optional deleteMessages) { + Utils.checkNotNull(deleteMessages, "deleteMessages"); + this.deleteMessages = deleteMessages; + return this; + } + + /** + * Max amount of messages to get in one batch (10 max) + */ + public SourceAmazonSqs withMaxBatchSize(long maxBatchSize) { + Utils.checkNotNull(maxBatchSize, "maxBatchSize"); + this.maxBatchSize = Optional.ofNullable(maxBatchSize); + return this; + } + + /** + * Max amount of messages to get in one batch (10 max) + */ + public SourceAmazonSqs withMaxBatchSize(Optional maxBatchSize) { + Utils.checkNotNull(maxBatchSize, "maxBatchSize"); + this.maxBatchSize = maxBatchSize; + return this; + } + + /** + * Max amount of time in seconds to wait for messages in a single poll (20 max) + */ + public SourceAmazonSqs withMaxWaitTime(long maxWaitTime) { + Utils.checkNotNull(maxWaitTime, "maxWaitTime"); + this.maxWaitTime = Optional.ofNullable(maxWaitTime); + return this; + } + + /** + * Max amount of time in seconds to wait for messages in a single poll (20 max) + */ + public SourceAmazonSqs withMaxWaitTime(Optional maxWaitTime) { + Utils.checkNotNull(maxWaitTime, "maxWaitTime"); + this.maxWaitTime = maxWaitTime; + return this; + } + + /** + * URL of the SQS Queue + */ + public SourceAmazonSqs withQueueUrl(String queueUrl) { + Utils.checkNotNull(queueUrl, "queueUrl"); + this.queueUrl = queueUrl; + return this; + } + + /** + * AWS Region of the SQS Queue + */ + public SourceAmazonSqs withRegion(SourceAmazonSqsAWSRegion region) { + Utils.checkNotNull(region, "region"); + this.region = region; + return this; + } + + /** + * The Secret Key of the AWS IAM Role to use for pulling messages + */ + public SourceAmazonSqs withSecretKey(String secretKey) { + Utils.checkNotNull(secretKey, "secretKey"); + this.secretKey = Optional.ofNullable(secretKey); + return this; + } + + /** + * The Secret Key of the AWS IAM Role to use for pulling messages + */ + public SourceAmazonSqs withSecretKey(Optional secretKey) { + Utils.checkNotNull(secretKey, "secretKey"); + this.secretKey = secretKey; + return this; + } + + /** + * Modify the Visibility Timeout of the individual message from the Queue's default (seconds). + */ + public SourceAmazonSqs withVisibilityTimeout(long visibilityTimeout) { + Utils.checkNotNull(visibilityTimeout, "visibilityTimeout"); + this.visibilityTimeout = Optional.ofNullable(visibilityTimeout); + return this; + } + + /** + * Modify the Visibility Timeout of the individual message from the Queue's default (seconds). + */ + public SourceAmazonSqs withVisibilityTimeout(Optional visibilityTimeout) { + Utils.checkNotNull(visibilityTimeout, "visibilityTimeout"); + this.visibilityTimeout = visibilityTimeout; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceAmazonSqs other = (SourceAmazonSqs) o; + return + java.util.Objects.deepEquals(this.accessKey, other.accessKey) && + java.util.Objects.deepEquals(this.attributesToReturn, other.attributesToReturn) && + java.util.Objects.deepEquals(this.deleteMessages, other.deleteMessages) && + java.util.Objects.deepEquals(this.maxBatchSize, other.maxBatchSize) && + java.util.Objects.deepEquals(this.maxWaitTime, other.maxWaitTime) && + java.util.Objects.deepEquals(this.queueUrl, other.queueUrl) && + java.util.Objects.deepEquals(this.region, other.region) && + java.util.Objects.deepEquals(this.secretKey, other.secretKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.visibilityTimeout, other.visibilityTimeout); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessKey, + attributesToReturn, + deleteMessages, + maxBatchSize, + maxWaitTime, + queueUrl, + region, + secretKey, + sourceType, + visibilityTimeout); + } + + @Override + public String toString() { + return Utils.toString(SourceAmazonSqs.class, + "accessKey", accessKey, + "attributesToReturn", attributesToReturn, + "deleteMessages", deleteMessages, + "maxBatchSize", maxBatchSize, + "maxWaitTime", maxWaitTime, + "queueUrl", queueUrl, + "region", region, + "secretKey", secretKey, + "sourceType", sourceType, + "visibilityTimeout", visibilityTimeout); + } + + public final static class Builder { + + private Optional accessKey = Optional.empty(); + + private Optional attributesToReturn = Optional.empty(); + + private Optional deleteMessages; + + private Optional maxBatchSize = Optional.empty(); + + private Optional maxWaitTime = Optional.empty(); + + private String queueUrl; + + private SourceAmazonSqsAWSRegion region; + + private Optional secretKey = Optional.empty(); + + private Optional visibilityTimeout = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Access Key ID of the AWS IAM Role to use for pulling messages + */ + public Builder accessKey(String accessKey) { + Utils.checkNotNull(accessKey, "accessKey"); + this.accessKey = Optional.ofNullable(accessKey); + return this; + } + + /** + * The Access Key ID of the AWS IAM Role to use for pulling messages + */ + public Builder accessKey(Optional accessKey) { + Utils.checkNotNull(accessKey, "accessKey"); + this.accessKey = accessKey; + return this; + } + + /** + * Comma separated list of Mesage Attribute names to return + */ + public Builder attributesToReturn(String attributesToReturn) { + Utils.checkNotNull(attributesToReturn, "attributesToReturn"); + this.attributesToReturn = Optional.ofNullable(attributesToReturn); + return this; + } + + /** + * Comma separated list of Mesage Attribute names to return + */ + public Builder attributesToReturn(Optional attributesToReturn) { + Utils.checkNotNull(attributesToReturn, "attributesToReturn"); + this.attributesToReturn = attributesToReturn; + return this; + } + + /** + * If Enabled, messages will be deleted from the SQS Queue after being read. If Disabled, messages are left in the queue and can be read more than once. WARNING: Enabling this option can result in data loss in cases of failure, use with caution, see documentation for more detail. + */ + public Builder deleteMessages(boolean deleteMessages) { + Utils.checkNotNull(deleteMessages, "deleteMessages"); + this.deleteMessages = Optional.ofNullable(deleteMessages); + return this; + } + + /** + * If Enabled, messages will be deleted from the SQS Queue after being read. If Disabled, messages are left in the queue and can be read more than once. WARNING: Enabling this option can result in data loss in cases of failure, use with caution, see documentation for more detail. + */ + public Builder deleteMessages(Optional deleteMessages) { + Utils.checkNotNull(deleteMessages, "deleteMessages"); + this.deleteMessages = deleteMessages; + return this; + } + + /** + * Max amount of messages to get in one batch (10 max) + */ + public Builder maxBatchSize(long maxBatchSize) { + Utils.checkNotNull(maxBatchSize, "maxBatchSize"); + this.maxBatchSize = Optional.ofNullable(maxBatchSize); + return this; + } + + /** + * Max amount of messages to get in one batch (10 max) + */ + public Builder maxBatchSize(Optional maxBatchSize) { + Utils.checkNotNull(maxBatchSize, "maxBatchSize"); + this.maxBatchSize = maxBatchSize; + return this; + } + + /** + * Max amount of time in seconds to wait for messages in a single poll (20 max) + */ + public Builder maxWaitTime(long maxWaitTime) { + Utils.checkNotNull(maxWaitTime, "maxWaitTime"); + this.maxWaitTime = Optional.ofNullable(maxWaitTime); + return this; + } + + /** + * Max amount of time in seconds to wait for messages in a single poll (20 max) + */ + public Builder maxWaitTime(Optional maxWaitTime) { + Utils.checkNotNull(maxWaitTime, "maxWaitTime"); + this.maxWaitTime = maxWaitTime; + return this; + } + + /** + * URL of the SQS Queue + */ + public Builder queueUrl(String queueUrl) { + Utils.checkNotNull(queueUrl, "queueUrl"); + this.queueUrl = queueUrl; + return this; + } + + /** + * AWS Region of the SQS Queue + */ + public Builder region(SourceAmazonSqsAWSRegion region) { + Utils.checkNotNull(region, "region"); + this.region = region; + return this; + } + + /** + * The Secret Key of the AWS IAM Role to use for pulling messages + */ + public Builder secretKey(String secretKey) { + Utils.checkNotNull(secretKey, "secretKey"); + this.secretKey = Optional.ofNullable(secretKey); + return this; + } + + /** + * The Secret Key of the AWS IAM Role to use for pulling messages + */ + public Builder secretKey(Optional secretKey) { + Utils.checkNotNull(secretKey, "secretKey"); + this.secretKey = secretKey; + return this; + } + + /** + * Modify the Visibility Timeout of the individual message from the Queue's default (seconds). + */ + public Builder visibilityTimeout(long visibilityTimeout) { + Utils.checkNotNull(visibilityTimeout, "visibilityTimeout"); + this.visibilityTimeout = Optional.ofNullable(visibilityTimeout); + return this; + } + + /** + * Modify the Visibility Timeout of the individual message from the Queue's default (seconds). + */ + public Builder visibilityTimeout(Optional visibilityTimeout) { + Utils.checkNotNull(visibilityTimeout, "visibilityTimeout"); + this.visibilityTimeout = visibilityTimeout; + return this; + } + + public SourceAmazonSqs build() { + if (deleteMessages == null) { + deleteMessages = _SINGLETON_VALUE_DeleteMessages.value(); + } + return new SourceAmazonSqs( + accessKey, + attributesToReturn, + deleteMessages, + maxBatchSize, + maxWaitTime, + queueUrl, + region, + secretKey, + visibilityTimeout); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DeleteMessages = + new LazySingletonValue<>( + "delete_messages", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"amazon-sqs\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAmazonSqsAWSRegion.java b/src/main/java/com/airbyte/api/models/shared/SourceAmazonSqsAWSRegion.java new file mode 100644 index 000000000..b8f5320b0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAmazonSqsAWSRegion.java @@ -0,0 +1,64 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceAmazonSqsAWSRegion - AWS Region of the SQS Queue + */ +public enum SourceAmazonSqsAWSRegion { + AF_SOUTH1("af-south-1"), + AP_EAST1("ap-east-1"), + AP_NORTHEAST1("ap-northeast-1"), + AP_NORTHEAST2("ap-northeast-2"), + AP_NORTHEAST3("ap-northeast-3"), + AP_SOUTH1("ap-south-1"), + AP_SOUTH2("ap-south-2"), + AP_SOUTHEAST1("ap-southeast-1"), + AP_SOUTHEAST2("ap-southeast-2"), + AP_SOUTHEAST3("ap-southeast-3"), + AP_SOUTHEAST4("ap-southeast-4"), + CA_CENTRAL1("ca-central-1"), + CA_WEST1("ca-west-1"), + CN_NORTH1("cn-north-1"), + CN_NORTHWEST1("cn-northwest-1"), + EU_CENTRAL1("eu-central-1"), + EU_CENTRAL2("eu-central-2"), + EU_NORTH1("eu-north-1"), + EU_SOUTH1("eu-south-1"), + EU_SOUTH2("eu-south-2"), + EU_WEST1("eu-west-1"), + EU_WEST2("eu-west-2"), + EU_WEST3("eu-west-3"), + IL_CENTRAL1("il-central-1"), + ME_CENTRAL1("me-central-1"), + ME_SOUTH1("me-south-1"), + SA_EAST1("sa-east-1"), + US_EAST1("us-east-1"), + US_EAST2("us-east-2"), + US_GOV_EAST1("us-gov-east-1"), + US_GOV_WEST1("us-gov-west-1"), + US_WEST1("us-west-1"), + US_WEST2("us-west-2"); + + @JsonValue + private final String value; + + private SourceAmazonSqsAWSRegion(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAmplitude.java b/src/main/java/com/airbyte/api/models/shared/SourceAmplitude.java new file mode 100644 index 000000000..4b0d6554f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAmplitude.java @@ -0,0 +1,339 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceAmplitude { + + /** + * Amplitude API Key. See the <a href="https://docs.airbyte.com/integrations/sources/amplitude#setup-guide">setup guide</a> for more information on how to obtain this key. + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * Amplitude data region server + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("data_region") + private Optional dataRegion; + + /** + * According to <a href="https://www.docs.developers.amplitude.com/analytics/apis/export-api/#considerations">Considerations</a> too big time range in request can cause a timeout error. In this case, set shorter time interval in hours. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("request_time_range") + private Optional requestTimeRange; + + /** + * Amplitude Secret Key. See the <a href="https://docs.airbyte.com/integrations/sources/amplitude#setup-guide">setup guide</a> for more information on how to obtain this key. + */ + @JsonProperty("secret_key") + private String secretKey; + + @JsonProperty("sourceType") + private Amplitude sourceType; + + /** + * UTC date and time in the format 2021-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + public SourceAmplitude( + @JsonProperty("api_key") String apiKey, + @JsonProperty("data_region") Optional dataRegion, + @JsonProperty("request_time_range") Optional requestTimeRange, + @JsonProperty("secret_key") String secretKey, + @JsonProperty("start_date") OffsetDateTime startDate) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(dataRegion, "dataRegion"); + Utils.checkNotNull(requestTimeRange, "requestTimeRange"); + Utils.checkNotNull(secretKey, "secretKey"); + Utils.checkNotNull(startDate, "startDate"); + this.apiKey = apiKey; + this.dataRegion = dataRegion; + this.requestTimeRange = requestTimeRange; + this.secretKey = secretKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Amplitude API Key. See the <a href="https://docs.airbyte.com/integrations/sources/amplitude#setup-guide">setup guide</a> for more information on how to obtain this key. + */ + public String apiKey() { + return apiKey; + } + + /** + * Amplitude data region server + */ + public Optional dataRegion() { + return dataRegion; + } + + /** + * According to <a href="https://www.docs.developers.amplitude.com/analytics/apis/export-api/#considerations">Considerations</a> too big time range in request can cause a timeout error. In this case, set shorter time interval in hours. + */ + public Optional requestTimeRange() { + return requestTimeRange; + } + + /** + * Amplitude Secret Key. See the <a href="https://docs.airbyte.com/integrations/sources/amplitude#setup-guide">setup guide</a> for more information on how to obtain this key. + */ + public String secretKey() { + return secretKey; + } + + public Amplitude sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2021-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Amplitude API Key. See the <a href="https://docs.airbyte.com/integrations/sources/amplitude#setup-guide">setup guide</a> for more information on how to obtain this key. + */ + public SourceAmplitude withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Amplitude data region server + */ + public SourceAmplitude withDataRegion(DataRegion dataRegion) { + Utils.checkNotNull(dataRegion, "dataRegion"); + this.dataRegion = Optional.ofNullable(dataRegion); + return this; + } + + /** + * Amplitude data region server + */ + public SourceAmplitude withDataRegion(Optional dataRegion) { + Utils.checkNotNull(dataRegion, "dataRegion"); + this.dataRegion = dataRegion; + return this; + } + + /** + * According to <a href="https://www.docs.developers.amplitude.com/analytics/apis/export-api/#considerations">Considerations</a> too big time range in request can cause a timeout error. In this case, set shorter time interval in hours. + */ + public SourceAmplitude withRequestTimeRange(long requestTimeRange) { + Utils.checkNotNull(requestTimeRange, "requestTimeRange"); + this.requestTimeRange = Optional.ofNullable(requestTimeRange); + return this; + } + + /** + * According to <a href="https://www.docs.developers.amplitude.com/analytics/apis/export-api/#considerations">Considerations</a> too big time range in request can cause a timeout error. In this case, set shorter time interval in hours. + */ + public SourceAmplitude withRequestTimeRange(Optional requestTimeRange) { + Utils.checkNotNull(requestTimeRange, "requestTimeRange"); + this.requestTimeRange = requestTimeRange; + return this; + } + + /** + * Amplitude Secret Key. See the <a href="https://docs.airbyte.com/integrations/sources/amplitude#setup-guide">setup guide</a> for more information on how to obtain this key. + */ + public SourceAmplitude withSecretKey(String secretKey) { + Utils.checkNotNull(secretKey, "secretKey"); + this.secretKey = secretKey; + return this; + } + + /** + * UTC date and time in the format 2021-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public SourceAmplitude withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceAmplitude other = (SourceAmplitude) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.dataRegion, other.dataRegion) && + java.util.Objects.deepEquals(this.requestTimeRange, other.requestTimeRange) && + java.util.Objects.deepEquals(this.secretKey, other.secretKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + dataRegion, + requestTimeRange, + secretKey, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceAmplitude.class, + "apiKey", apiKey, + "dataRegion", dataRegion, + "requestTimeRange", requestTimeRange, + "secretKey", secretKey, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String apiKey; + + private Optional dataRegion; + + private Optional requestTimeRange; + + private String secretKey; + + private OffsetDateTime startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Amplitude API Key. See the <a href="https://docs.airbyte.com/integrations/sources/amplitude#setup-guide">setup guide</a> for more information on how to obtain this key. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Amplitude data region server + */ + public Builder dataRegion(DataRegion dataRegion) { + Utils.checkNotNull(dataRegion, "dataRegion"); + this.dataRegion = Optional.ofNullable(dataRegion); + return this; + } + + /** + * Amplitude data region server + */ + public Builder dataRegion(Optional dataRegion) { + Utils.checkNotNull(dataRegion, "dataRegion"); + this.dataRegion = dataRegion; + return this; + } + + /** + * According to <a href="https://www.docs.developers.amplitude.com/analytics/apis/export-api/#considerations">Considerations</a> too big time range in request can cause a timeout error. In this case, set shorter time interval in hours. + */ + public Builder requestTimeRange(long requestTimeRange) { + Utils.checkNotNull(requestTimeRange, "requestTimeRange"); + this.requestTimeRange = Optional.ofNullable(requestTimeRange); + return this; + } + + /** + * According to <a href="https://www.docs.developers.amplitude.com/analytics/apis/export-api/#considerations">Considerations</a> too big time range in request can cause a timeout error. In this case, set shorter time interval in hours. + */ + public Builder requestTimeRange(Optional requestTimeRange) { + Utils.checkNotNull(requestTimeRange, "requestTimeRange"); + this.requestTimeRange = requestTimeRange; + return this; + } + + /** + * Amplitude Secret Key. See the <a href="https://docs.airbyte.com/integrations/sources/amplitude#setup-guide">setup guide</a> for more information on how to obtain this key. + */ + public Builder secretKey(String secretKey) { + Utils.checkNotNull(secretKey, "secretKey"); + this.secretKey = secretKey; + return this; + } + + /** + * UTC date and time in the format 2021-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceAmplitude build() { + if (dataRegion == null) { + dataRegion = _SINGLETON_VALUE_DataRegion.value(); + } + if (requestTimeRange == null) { + requestTimeRange = _SINGLETON_VALUE_RequestTimeRange.value(); + } + return new SourceAmplitude( + apiKey, + dataRegion, + requestTimeRange, + secretKey, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DataRegion = + new LazySingletonValue<>( + "data_region", + "\"Standard Server\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_RequestTimeRange = + new LazySingletonValue<>( + "request_time_range", + "24", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"amplitude\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceApifyDataset.java b/src/main/java/com/airbyte/api/models/shared/SourceApifyDataset.java new file mode 100644 index 000000000..0259c537f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceApifyDataset.java @@ -0,0 +1,157 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceApifyDataset { + + /** + * ID of the dataset you would like to load to Airbyte. In Apify Console, you can view your datasets in the <a href="https://console.apify.com/storage/datasets">Storage section under the Datasets tab</a> after you login. See the <a href="https://docs.apify.com/platform/storage/dataset">Apify Docs</a> for more information. + */ + @JsonProperty("dataset_id") + private String datasetId; + + @JsonProperty("sourceType") + private ApifyDataset sourceType; + + /** + * Personal API token of your Apify account. In Apify Console, you can find your API token in the <a href="https://console.apify.com/account/integrations">Settings section under the Integrations tab</a> after you login. See the <a href="https://docs.apify.com/platform/integrations/api#api-token">Apify Docs</a> for more information. + */ + @JsonProperty("token") + private String token; + + public SourceApifyDataset( + @JsonProperty("dataset_id") String datasetId, + @JsonProperty("token") String token) { + Utils.checkNotNull(datasetId, "datasetId"); + Utils.checkNotNull(token, "token"); + this.datasetId = datasetId; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.token = token; + } + + /** + * ID of the dataset you would like to load to Airbyte. In Apify Console, you can view your datasets in the <a href="https://console.apify.com/storage/datasets">Storage section under the Datasets tab</a> after you login. See the <a href="https://docs.apify.com/platform/storage/dataset">Apify Docs</a> for more information. + */ + public String datasetId() { + return datasetId; + } + + public ApifyDataset sourceType() { + return sourceType; + } + + /** + * Personal API token of your Apify account. In Apify Console, you can find your API token in the <a href="https://console.apify.com/account/integrations">Settings section under the Integrations tab</a> after you login. See the <a href="https://docs.apify.com/platform/integrations/api#api-token">Apify Docs</a> for more information. + */ + public String token() { + return token; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * ID of the dataset you would like to load to Airbyte. In Apify Console, you can view your datasets in the <a href="https://console.apify.com/storage/datasets">Storage section under the Datasets tab</a> after you login. See the <a href="https://docs.apify.com/platform/storage/dataset">Apify Docs</a> for more information. + */ + public SourceApifyDataset withDatasetId(String datasetId) { + Utils.checkNotNull(datasetId, "datasetId"); + this.datasetId = datasetId; + return this; + } + + /** + * Personal API token of your Apify account. In Apify Console, you can find your API token in the <a href="https://console.apify.com/account/integrations">Settings section under the Integrations tab</a> after you login. See the <a href="https://docs.apify.com/platform/integrations/api#api-token">Apify Docs</a> for more information. + */ + public SourceApifyDataset withToken(String token) { + Utils.checkNotNull(token, "token"); + this.token = token; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceApifyDataset other = (SourceApifyDataset) o; + return + java.util.Objects.deepEquals(this.datasetId, other.datasetId) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.token, other.token); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + datasetId, + sourceType, + token); + } + + @Override + public String toString() { + return Utils.toString(SourceApifyDataset.class, + "datasetId", datasetId, + "sourceType", sourceType, + "token", token); + } + + public final static class Builder { + + private String datasetId; + + private String token; + + private Builder() { + // force use of static builder() method + } + + /** + * ID of the dataset you would like to load to Airbyte. In Apify Console, you can view your datasets in the <a href="https://console.apify.com/storage/datasets">Storage section under the Datasets tab</a> after you login. See the <a href="https://docs.apify.com/platform/storage/dataset">Apify Docs</a> for more information. + */ + public Builder datasetId(String datasetId) { + Utils.checkNotNull(datasetId, "datasetId"); + this.datasetId = datasetId; + return this; + } + + /** + * Personal API token of your Apify account. In Apify Console, you can find your API token in the <a href="https://console.apify.com/account/integrations">Settings section under the Integrations tab</a> after you login. See the <a href="https://docs.apify.com/platform/integrations/api#api-token">Apify Docs</a> for more information. + */ + public Builder token(String token) { + Utils.checkNotNull(token, "token"); + this.token = token; + return this; + } + + public SourceApifyDataset build() { + return new SourceApifyDataset( + datasetId, + token); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"apify-dataset\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAppfollow.java b/src/main/java/com/airbyte/api/models/shared/SourceAppfollow.java new file mode 100644 index 000000000..abda0569d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAppfollow.java @@ -0,0 +1,139 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceAppfollow { + + /** + * API Key provided by Appfollow + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("api_secret") + private Optional apiSecret; + + @JsonProperty("sourceType") + private Appfollow sourceType; + + public SourceAppfollow( + @JsonProperty("api_secret") Optional apiSecret) { + Utils.checkNotNull(apiSecret, "apiSecret"); + this.apiSecret = apiSecret; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * API Key provided by Appfollow + */ + public Optional apiSecret() { + return apiSecret; + } + + public Appfollow sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Key provided by Appfollow + */ + public SourceAppfollow withApiSecret(String apiSecret) { + Utils.checkNotNull(apiSecret, "apiSecret"); + this.apiSecret = Optional.ofNullable(apiSecret); + return this; + } + + /** + * API Key provided by Appfollow + */ + public SourceAppfollow withApiSecret(Optional apiSecret) { + Utils.checkNotNull(apiSecret, "apiSecret"); + this.apiSecret = apiSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceAppfollow other = (SourceAppfollow) o; + return + java.util.Objects.deepEquals(this.apiSecret, other.apiSecret) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiSecret, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceAppfollow.class, + "apiSecret", apiSecret, + "sourceType", sourceType); + } + + public final static class Builder { + + private Optional apiSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * API Key provided by Appfollow + */ + public Builder apiSecret(String apiSecret) { + Utils.checkNotNull(apiSecret, "apiSecret"); + this.apiSecret = Optional.ofNullable(apiSecret); + return this; + } + + /** + * API Key provided by Appfollow + */ + public Builder apiSecret(Optional apiSecret) { + Utils.checkNotNull(apiSecret, "apiSecret"); + this.apiSecret = apiSecret; + return this; + } + + public SourceAppfollow build() { + return new SourceAppfollow( + apiSecret); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"appfollow\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAsana.java b/src/main/java/com/airbyte/api/models/shared/SourceAsana.java new file mode 100644 index 000000000..148c2b09c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAsana.java @@ -0,0 +1,258 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceAsana { + + /** + * Choose how to authenticate to Github + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + /** + * Globally unique identifiers for the organization exports + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("organization_export_ids") + private Optional> organizationExportIds; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sourceType") + private Optional sourceType; + + /** + * This flag is used for testing purposes for certain streams that return a lot of data. This flag is not meant to be enabled for prod. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("test_mode") + private Optional testMode; + + public SourceAsana( + @JsonProperty("credentials") Optional credentials, + @JsonProperty("organization_export_ids") Optional> organizationExportIds, + @JsonProperty("test_mode") Optional testMode) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(organizationExportIds, "organizationExportIds"); + Utils.checkNotNull(testMode, "testMode"); + this.credentials = credentials; + this.organizationExportIds = organizationExportIds; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.testMode = testMode; + } + + /** + * Choose how to authenticate to Github + */ + public Optional credentials() { + return credentials; + } + + /** + * Globally unique identifiers for the organization exports + */ + public Optional> organizationExportIds() { + return organizationExportIds; + } + + public Optional sourceType() { + return sourceType; + } + + /** + * This flag is used for testing purposes for certain streams that return a lot of data. This flag is not meant to be enabled for prod. + */ + public Optional testMode() { + return testMode; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Choose how to authenticate to Github + */ + public SourceAsana withCredentials(AuthenticationMechanism credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Choose how to authenticate to Github + */ + public SourceAsana withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Globally unique identifiers for the organization exports + */ + public SourceAsana withOrganizationExportIds(java.util.List organizationExportIds) { + Utils.checkNotNull(organizationExportIds, "organizationExportIds"); + this.organizationExportIds = Optional.ofNullable(organizationExportIds); + return this; + } + + /** + * Globally unique identifiers for the organization exports + */ + public SourceAsana withOrganizationExportIds(Optional> organizationExportIds) { + Utils.checkNotNull(organizationExportIds, "organizationExportIds"); + this.organizationExportIds = organizationExportIds; + return this; + } + + /** + * This flag is used for testing purposes for certain streams that return a lot of data. This flag is not meant to be enabled for prod. + */ + public SourceAsana withTestMode(boolean testMode) { + Utils.checkNotNull(testMode, "testMode"); + this.testMode = Optional.ofNullable(testMode); + return this; + } + + /** + * This flag is used for testing purposes for certain streams that return a lot of data. This flag is not meant to be enabled for prod. + */ + public SourceAsana withTestMode(Optional testMode) { + Utils.checkNotNull(testMode, "testMode"); + this.testMode = testMode; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceAsana other = (SourceAsana) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.organizationExportIds, other.organizationExportIds) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.testMode, other.testMode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + organizationExportIds, + sourceType, + testMode); + } + + @Override + public String toString() { + return Utils.toString(SourceAsana.class, + "credentials", credentials, + "organizationExportIds", organizationExportIds, + "sourceType", sourceType, + "testMode", testMode); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Optional> organizationExportIds = Optional.empty(); + + private Optional testMode = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Choose how to authenticate to Github + */ + public Builder credentials(AuthenticationMechanism credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Choose how to authenticate to Github + */ + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Globally unique identifiers for the organization exports + */ + public Builder organizationExportIds(java.util.List organizationExportIds) { + Utils.checkNotNull(organizationExportIds, "organizationExportIds"); + this.organizationExportIds = Optional.ofNullable(organizationExportIds); + return this; + } + + /** + * Globally unique identifiers for the organization exports + */ + public Builder organizationExportIds(Optional> organizationExportIds) { + Utils.checkNotNull(organizationExportIds, "organizationExportIds"); + this.organizationExportIds = organizationExportIds; + return this; + } + + /** + * This flag is used for testing purposes for certain streams that return a lot of data. This flag is not meant to be enabled for prod. + */ + public Builder testMode(boolean testMode) { + Utils.checkNotNull(testMode, "testMode"); + this.testMode = Optional.ofNullable(testMode); + return this; + } + + /** + * This flag is used for testing purposes for certain streams that return a lot of data. This flag is not meant to be enabled for prod. + */ + public Builder testMode(Optional testMode) { + Utils.checkNotNull(testMode, "testMode"); + this.testMode = testMode; + return this; + } + + public SourceAsana build() { + return new SourceAsana( + credentials, + organizationExportIds, + testMode); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"asana\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAsanaAsana.java b/src/main/java/com/airbyte/api/models/shared/SourceAsanaAsana.java new file mode 100644 index 000000000..1ca4f2e0d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAsanaAsana.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAsanaAsana { + ASANA("asana"); + + @JsonValue + private final String value; + + private SourceAsanaAsana(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAsanaCredentialsTitle.java b/src/main/java/com/airbyte/api/models/shared/SourceAsanaCredentialsTitle.java new file mode 100644 index 000000000..3d2cf0b76 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAsanaCredentialsTitle.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceAsanaCredentialsTitle - OAuth Credentials + */ +public enum SourceAsanaCredentialsTitle { + O_AUTH_CREDENTIALS("OAuth Credentials"); + + @JsonValue + private final String value; + + private SourceAsanaCredentialsTitle(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAsanaSchemasCredentialsTitle.java b/src/main/java/com/airbyte/api/models/shared/SourceAsanaSchemasCredentialsTitle.java new file mode 100644 index 000000000..8f3b5aa8b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAsanaSchemasCredentialsTitle.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceAsanaSchemasCredentialsTitle - PAT Credentials + */ +public enum SourceAsanaSchemasCredentialsTitle { + PAT_CREDENTIALS("PAT Credentials"); + + @JsonValue + private final String value; + + private SourceAsanaSchemasCredentialsTitle(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAuth0.java b/src/main/java/com/airbyte/api/models/shared/SourceAuth0.java new file mode 100644 index 000000000..0504b34aa --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAuth0.java @@ -0,0 +1,216 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceAuth0 { + + /** + * The Authentication API is served over HTTPS. All URLs referenced in the documentation have the following base `https://YOUR_DOMAIN` + */ + @JsonProperty("base_url") + private String baseUrl; + + @JsonProperty("credentials") + private SourceAuth0AuthenticationMethod credentials; + + @JsonProperty("sourceType") + private Auth0 sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceAuth0( + @JsonProperty("base_url") String baseUrl, + @JsonProperty("credentials") SourceAuth0AuthenticationMethod credentials, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(baseUrl, "baseUrl"); + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(startDate, "startDate"); + this.baseUrl = baseUrl; + this.credentials = credentials; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * The Authentication API is served over HTTPS. All URLs referenced in the documentation have the following base `https://YOUR_DOMAIN` + */ + public String baseUrl() { + return baseUrl; + } + + public SourceAuth0AuthenticationMethod credentials() { + return credentials; + } + + public Auth0 sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Authentication API is served over HTTPS. All URLs referenced in the documentation have the following base `https://YOUR_DOMAIN` + */ + public SourceAuth0 withBaseUrl(String baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = baseUrl; + return this; + } + + public SourceAuth0 withCredentials(SourceAuth0AuthenticationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public SourceAuth0 withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public SourceAuth0 withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceAuth0 other = (SourceAuth0) o; + return + java.util.Objects.deepEquals(this.baseUrl, other.baseUrl) && + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + baseUrl, + credentials, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceAuth0.class, + "baseUrl", baseUrl, + "credentials", credentials, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String baseUrl; + + private SourceAuth0AuthenticationMethod credentials; + + private Optional startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * The Authentication API is served over HTTPS. All URLs referenced in the documentation have the following base `https://YOUR_DOMAIN` + */ + public Builder baseUrl(String baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = baseUrl; + return this; + } + + public Builder credentials(SourceAuth0AuthenticationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceAuth0 build() { + if (startDate == null) { + startDate = _SINGLETON_VALUE_StartDate.value(); + } + return new SourceAuth0( + baseUrl, + credentials, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"auth0\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_StartDate = + new LazySingletonValue<>( + "start_date", + "\"2023-08-05T00:43:59.244Z\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAuth0AuthenticationMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceAuth0AuthenticationMethod.java new file mode 100644 index 000000000..999a1501e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAuth0AuthenticationMethod.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceAuth0AuthenticationMethod._Deserializer.class) +public class SourceAuth0AuthenticationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceAuth0AuthenticationMethod(TypedObject value) { + this.value = value; + } + + public static SourceAuth0AuthenticationMethod of(OAuth2ConfidentialApplication value) { + Utils.checkNotNull(value, "value"); + return new SourceAuth0AuthenticationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceAuth0AuthenticationMethod of(OAuth2AccessToken value) { + Utils.checkNotNull(value, "value"); + return new SourceAuth0AuthenticationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code OAuth2ConfidentialApplication}
    • + *
    • {@code OAuth2AccessToken}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceAuth0AuthenticationMethod other = (SourceAuth0AuthenticationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceAuth0AuthenticationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceAuth0AuthenticationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAuth0SchemasAuthenticationMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceAuth0SchemasAuthenticationMethod.java new file mode 100644 index 000000000..ede9c6409 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAuth0SchemasAuthenticationMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAuth0SchemasAuthenticationMethod { + OAUTH2_CONFIDENTIAL_APPLICATION("oauth2_confidential_application"); + + @JsonValue + private final String value; + + private SourceAuth0SchemasAuthenticationMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAuth0SchemasCredentialsAuthenticationMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceAuth0SchemasCredentialsAuthenticationMethod.java new file mode 100644 index 000000000..a6f791191 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAuth0SchemasCredentialsAuthenticationMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAuth0SchemasCredentialsAuthenticationMethod { + OAUTH2_ACCESS_TOKEN("oauth2_access_token"); + + @JsonValue + private final String value; + + private SourceAuth0SchemasCredentialsAuthenticationMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAwsCloudtrail.java b/src/main/java/com/airbyte/api/models/shared/SourceAwsCloudtrail.java new file mode 100644 index 000000000..4d3c517e0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAwsCloudtrail.java @@ -0,0 +1,269 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceAwsCloudtrail { + + /** + * AWS CloudTrail Access Key ID. See the <a href="https://docs.airbyte.com/integrations/sources/aws-cloudtrail">docs</a> for more information on how to obtain this key. + */ + @JsonProperty("aws_key_id") + private String awsKeyId; + + /** + * The default AWS Region to use, for example, us-west-1 or us-west-2. When specifying a Region inline during client initialization, this property is named region_name. + */ + @JsonProperty("aws_region_name") + private String awsRegionName; + + /** + * AWS CloudTrail Access Key ID. See the <a href="https://docs.airbyte.com/integrations/sources/aws-cloudtrail">docs</a> for more information on how to obtain this key. + */ + @JsonProperty("aws_secret_key") + private String awsSecretKey; + + @JsonProperty("sourceType") + private AwsCloudtrail sourceType; + + /** + * The date you would like to replicate data. Data in AWS CloudTrail is available for last 90 days only. Format: YYYY-MM-DD. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceAwsCloudtrail( + @JsonProperty("aws_key_id") String awsKeyId, + @JsonProperty("aws_region_name") String awsRegionName, + @JsonProperty("aws_secret_key") String awsSecretKey, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(awsKeyId, "awsKeyId"); + Utils.checkNotNull(awsRegionName, "awsRegionName"); + Utils.checkNotNull(awsSecretKey, "awsSecretKey"); + Utils.checkNotNull(startDate, "startDate"); + this.awsKeyId = awsKeyId; + this.awsRegionName = awsRegionName; + this.awsSecretKey = awsSecretKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * AWS CloudTrail Access Key ID. See the <a href="https://docs.airbyte.com/integrations/sources/aws-cloudtrail">docs</a> for more information on how to obtain this key. + */ + public String awsKeyId() { + return awsKeyId; + } + + /** + * The default AWS Region to use, for example, us-west-1 or us-west-2. When specifying a Region inline during client initialization, this property is named region_name. + */ + public String awsRegionName() { + return awsRegionName; + } + + /** + * AWS CloudTrail Access Key ID. See the <a href="https://docs.airbyte.com/integrations/sources/aws-cloudtrail">docs</a> for more information on how to obtain this key. + */ + public String awsSecretKey() { + return awsSecretKey; + } + + public AwsCloudtrail sourceType() { + return sourceType; + } + + /** + * The date you would like to replicate data. Data in AWS CloudTrail is available for last 90 days only. Format: YYYY-MM-DD. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * AWS CloudTrail Access Key ID. See the <a href="https://docs.airbyte.com/integrations/sources/aws-cloudtrail">docs</a> for more information on how to obtain this key. + */ + public SourceAwsCloudtrail withAwsKeyId(String awsKeyId) { + Utils.checkNotNull(awsKeyId, "awsKeyId"); + this.awsKeyId = awsKeyId; + return this; + } + + /** + * The default AWS Region to use, for example, us-west-1 or us-west-2. When specifying a Region inline during client initialization, this property is named region_name. + */ + public SourceAwsCloudtrail withAwsRegionName(String awsRegionName) { + Utils.checkNotNull(awsRegionName, "awsRegionName"); + this.awsRegionName = awsRegionName; + return this; + } + + /** + * AWS CloudTrail Access Key ID. See the <a href="https://docs.airbyte.com/integrations/sources/aws-cloudtrail">docs</a> for more information on how to obtain this key. + */ + public SourceAwsCloudtrail withAwsSecretKey(String awsSecretKey) { + Utils.checkNotNull(awsSecretKey, "awsSecretKey"); + this.awsSecretKey = awsSecretKey; + return this; + } + + /** + * The date you would like to replicate data. Data in AWS CloudTrail is available for last 90 days only. Format: YYYY-MM-DD. + */ + public SourceAwsCloudtrail withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date you would like to replicate data. Data in AWS CloudTrail is available for last 90 days only. Format: YYYY-MM-DD. + */ + public SourceAwsCloudtrail withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceAwsCloudtrail other = (SourceAwsCloudtrail) o; + return + java.util.Objects.deepEquals(this.awsKeyId, other.awsKeyId) && + java.util.Objects.deepEquals(this.awsRegionName, other.awsRegionName) && + java.util.Objects.deepEquals(this.awsSecretKey, other.awsSecretKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + awsKeyId, + awsRegionName, + awsSecretKey, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceAwsCloudtrail.class, + "awsKeyId", awsKeyId, + "awsRegionName", awsRegionName, + "awsSecretKey", awsSecretKey, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String awsKeyId; + + private String awsRegionName; + + private String awsSecretKey; + + private Optional startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * AWS CloudTrail Access Key ID. See the <a href="https://docs.airbyte.com/integrations/sources/aws-cloudtrail">docs</a> for more information on how to obtain this key. + */ + public Builder awsKeyId(String awsKeyId) { + Utils.checkNotNull(awsKeyId, "awsKeyId"); + this.awsKeyId = awsKeyId; + return this; + } + + /** + * The default AWS Region to use, for example, us-west-1 or us-west-2. When specifying a Region inline during client initialization, this property is named region_name. + */ + public Builder awsRegionName(String awsRegionName) { + Utils.checkNotNull(awsRegionName, "awsRegionName"); + this.awsRegionName = awsRegionName; + return this; + } + + /** + * AWS CloudTrail Access Key ID. See the <a href="https://docs.airbyte.com/integrations/sources/aws-cloudtrail">docs</a> for more information on how to obtain this key. + */ + public Builder awsSecretKey(String awsSecretKey) { + Utils.checkNotNull(awsSecretKey, "awsSecretKey"); + this.awsSecretKey = awsSecretKey; + return this; + } + + /** + * The date you would like to replicate data. Data in AWS CloudTrail is available for last 90 days only. Format: YYYY-MM-DD. + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date you would like to replicate data. Data in AWS CloudTrail is available for last 90 days only. Format: YYYY-MM-DD. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceAwsCloudtrail build() { + if (startDate == null) { + startDate = _SINGLETON_VALUE_StartDate.value(); + } + return new SourceAwsCloudtrail( + awsKeyId, + awsRegionName, + awsSecretKey, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"aws-cloudtrail\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_StartDate = + new LazySingletonValue<>( + "start_date", + "\"1970-01-01\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorage.java b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorage.java new file mode 100644 index 000000000..22e7ed157 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorage.java @@ -0,0 +1,365 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + +/** + * SourceAzureBlobStorage - NOTE: When this Spec is changed, legacy_config_transformer.py must also be modified to uptake the changes + * because it is responsible for converting legacy Azure Blob Storage v0 configs into v1 configs using the File-Based CDK. + */ + +public class SourceAzureBlobStorage { + + /** + * The Azure blob storage account key. + */ + @JsonProperty("azure_blob_storage_account_key") + private String azureBlobStorageAccountKey; + + /** + * The account's name of the Azure Blob Storage. + */ + @JsonProperty("azure_blob_storage_account_name") + private String azureBlobStorageAccountName; + + /** + * The name of the Azure blob storage container. + */ + @JsonProperty("azure_blob_storage_container_name") + private String azureBlobStorageContainerName; + + /** + * This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("azure_blob_storage_endpoint") + private Optional azureBlobStorageEndpoint; + + @JsonProperty("sourceType") + private SourceAzureBlobStorageAzureBlobStorage sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + @JsonProperty("streams") + private java.util.List streams; + + public SourceAzureBlobStorage( + @JsonProperty("azure_blob_storage_account_key") String azureBlobStorageAccountKey, + @JsonProperty("azure_blob_storage_account_name") String azureBlobStorageAccountName, + @JsonProperty("azure_blob_storage_container_name") String azureBlobStorageContainerName, + @JsonProperty("azure_blob_storage_endpoint") Optional azureBlobStorageEndpoint, + @JsonProperty("start_date") Optional startDate, + @JsonProperty("streams") java.util.List streams) { + Utils.checkNotNull(azureBlobStorageAccountKey, "azureBlobStorageAccountKey"); + Utils.checkNotNull(azureBlobStorageAccountName, "azureBlobStorageAccountName"); + Utils.checkNotNull(azureBlobStorageContainerName, "azureBlobStorageContainerName"); + Utils.checkNotNull(azureBlobStorageEndpoint, "azureBlobStorageEndpoint"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(streams, "streams"); + this.azureBlobStorageAccountKey = azureBlobStorageAccountKey; + this.azureBlobStorageAccountName = azureBlobStorageAccountName; + this.azureBlobStorageContainerName = azureBlobStorageContainerName; + this.azureBlobStorageEndpoint = azureBlobStorageEndpoint; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.streams = streams; + } + + /** + * The Azure blob storage account key. + */ + public String azureBlobStorageAccountKey() { + return azureBlobStorageAccountKey; + } + + /** + * The account's name of the Azure Blob Storage. + */ + public String azureBlobStorageAccountName() { + return azureBlobStorageAccountName; + } + + /** + * The name of the Azure blob storage container. + */ + public String azureBlobStorageContainerName() { + return azureBlobStorageContainerName; + } + + /** + * This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. + */ + public Optional azureBlobStorageEndpoint() { + return azureBlobStorageEndpoint; + } + + public SourceAzureBlobStorageAzureBlobStorage sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public Optional startDate() { + return startDate; + } + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + public java.util.List streams() { + return streams; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Azure blob storage account key. + */ + public SourceAzureBlobStorage withAzureBlobStorageAccountKey(String azureBlobStorageAccountKey) { + Utils.checkNotNull(azureBlobStorageAccountKey, "azureBlobStorageAccountKey"); + this.azureBlobStorageAccountKey = azureBlobStorageAccountKey; + return this; + } + + /** + * The account's name of the Azure Blob Storage. + */ + public SourceAzureBlobStorage withAzureBlobStorageAccountName(String azureBlobStorageAccountName) { + Utils.checkNotNull(azureBlobStorageAccountName, "azureBlobStorageAccountName"); + this.azureBlobStorageAccountName = azureBlobStorageAccountName; + return this; + } + + /** + * The name of the Azure blob storage container. + */ + public SourceAzureBlobStorage withAzureBlobStorageContainerName(String azureBlobStorageContainerName) { + Utils.checkNotNull(azureBlobStorageContainerName, "azureBlobStorageContainerName"); + this.azureBlobStorageContainerName = azureBlobStorageContainerName; + return this; + } + + /** + * This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. + */ + public SourceAzureBlobStorage withAzureBlobStorageEndpoint(String azureBlobStorageEndpoint) { + Utils.checkNotNull(azureBlobStorageEndpoint, "azureBlobStorageEndpoint"); + this.azureBlobStorageEndpoint = Optional.ofNullable(azureBlobStorageEndpoint); + return this; + } + + /** + * This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. + */ + public SourceAzureBlobStorage withAzureBlobStorageEndpoint(Optional azureBlobStorageEndpoint) { + Utils.checkNotNull(azureBlobStorageEndpoint, "azureBlobStorageEndpoint"); + this.azureBlobStorageEndpoint = azureBlobStorageEndpoint; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public SourceAzureBlobStorage withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public SourceAzureBlobStorage withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + public SourceAzureBlobStorage withStreams(java.util.List streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = streams; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceAzureBlobStorage other = (SourceAzureBlobStorage) o; + return + java.util.Objects.deepEquals(this.azureBlobStorageAccountKey, other.azureBlobStorageAccountKey) && + java.util.Objects.deepEquals(this.azureBlobStorageAccountName, other.azureBlobStorageAccountName) && + java.util.Objects.deepEquals(this.azureBlobStorageContainerName, other.azureBlobStorageContainerName) && + java.util.Objects.deepEquals(this.azureBlobStorageEndpoint, other.azureBlobStorageEndpoint) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.streams, other.streams); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + azureBlobStorageAccountKey, + azureBlobStorageAccountName, + azureBlobStorageContainerName, + azureBlobStorageEndpoint, + sourceType, + startDate, + streams); + } + + @Override + public String toString() { + return Utils.toString(SourceAzureBlobStorage.class, + "azureBlobStorageAccountKey", azureBlobStorageAccountKey, + "azureBlobStorageAccountName", azureBlobStorageAccountName, + "azureBlobStorageContainerName", azureBlobStorageContainerName, + "azureBlobStorageEndpoint", azureBlobStorageEndpoint, + "sourceType", sourceType, + "startDate", startDate, + "streams", streams); + } + + public final static class Builder { + + private String azureBlobStorageAccountKey; + + private String azureBlobStorageAccountName; + + private String azureBlobStorageContainerName; + + private Optional azureBlobStorageEndpoint = Optional.empty(); + + private Optional startDate = Optional.empty(); + + private java.util.List streams; + + private Builder() { + // force use of static builder() method + } + + /** + * The Azure blob storage account key. + */ + public Builder azureBlobStorageAccountKey(String azureBlobStorageAccountKey) { + Utils.checkNotNull(azureBlobStorageAccountKey, "azureBlobStorageAccountKey"); + this.azureBlobStorageAccountKey = azureBlobStorageAccountKey; + return this; + } + + /** + * The account's name of the Azure Blob Storage. + */ + public Builder azureBlobStorageAccountName(String azureBlobStorageAccountName) { + Utils.checkNotNull(azureBlobStorageAccountName, "azureBlobStorageAccountName"); + this.azureBlobStorageAccountName = azureBlobStorageAccountName; + return this; + } + + /** + * The name of the Azure blob storage container. + */ + public Builder azureBlobStorageContainerName(String azureBlobStorageContainerName) { + Utils.checkNotNull(azureBlobStorageContainerName, "azureBlobStorageContainerName"); + this.azureBlobStorageContainerName = azureBlobStorageContainerName; + return this; + } + + /** + * This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. + */ + public Builder azureBlobStorageEndpoint(String azureBlobStorageEndpoint) { + Utils.checkNotNull(azureBlobStorageEndpoint, "azureBlobStorageEndpoint"); + this.azureBlobStorageEndpoint = Optional.ofNullable(azureBlobStorageEndpoint); + return this; + } + + /** + * This is Azure Blob Storage endpoint domain name. Leave default value (or leave it empty if run container from command line) to use Microsoft native from example. + */ + public Builder azureBlobStorageEndpoint(Optional azureBlobStorageEndpoint) { + Utils.checkNotNull(azureBlobStorageEndpoint, "azureBlobStorageEndpoint"); + this.azureBlobStorageEndpoint = azureBlobStorageEndpoint; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + public Builder streams(java.util.List streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = streams; + return this; + } + + public SourceAzureBlobStorage build() { + return new SourceAzureBlobStorage( + azureBlobStorageAccountKey, + azureBlobStorageAccountName, + azureBlobStorageContainerName, + azureBlobStorageEndpoint, + startDate, + streams); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"azure-blob-storage\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageAzureBlobStorage.java b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageAzureBlobStorage.java new file mode 100644 index 000000000..f77966b66 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageAzureBlobStorage.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAzureBlobStorageAzureBlobStorage { + AZURE_BLOB_STORAGE("azure-blob-storage"); + + @JsonValue + private final String value; + + private SourceAzureBlobStorageAzureBlobStorage(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageFiletype.java new file mode 100644 index 000000000..6346d0847 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAzureBlobStorageFiletype { + CSV("csv"); + + @JsonValue + private final String value; + + private SourceAzureBlobStorageFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageHeaderDefinitionType.java b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageHeaderDefinitionType.java new file mode 100644 index 000000000..cf8e8af66 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageHeaderDefinitionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAzureBlobStorageHeaderDefinitionType { + AUTOGENERATED("Autogenerated"); + + @JsonValue + private final String value; + + private SourceAzureBlobStorageHeaderDefinitionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageMode.java b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageMode.java new file mode 100644 index 000000000..ba0dfc621 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAzureBlobStorageMode { + LOCAL("local"); + + @JsonValue + private final String value; + + private SourceAzureBlobStorageMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasFiletype.java new file mode 100644 index 000000000..c8e7b7d5b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAzureBlobStorageSchemasFiletype { + JSONL("jsonl"); + + @JsonValue + private final String value; + + private SourceAzureBlobStorageSchemasFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasHeaderDefinitionType.java b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasHeaderDefinitionType.java new file mode 100644 index 000000000..0cfcc9ccc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasHeaderDefinitionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAzureBlobStorageSchemasHeaderDefinitionType { + USER_PROVIDED("User Provided"); + + @JsonValue + private final String value; + + private SourceAzureBlobStorageSchemasHeaderDefinitionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasStreamsFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasStreamsFiletype.java new file mode 100644 index 000000000..c360c31e2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasStreamsFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAzureBlobStorageSchemasStreamsFiletype { + PARQUET("parquet"); + + @JsonValue + private final String value; + + private SourceAzureBlobStorageSchemasStreamsFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasStreamsFormatFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasStreamsFormatFiletype.java new file mode 100644 index 000000000..ff6c77eeb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasStreamsFormatFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAzureBlobStorageSchemasStreamsFormatFiletype { + UNSTRUCTURED("unstructured"); + + @JsonValue + private final String value; + + private SourceAzureBlobStorageSchemasStreamsFormatFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasStreamsFormatFormatFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasStreamsFormatFormatFiletype.java new file mode 100644 index 000000000..7d6369e5c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAzureBlobStorageSchemasStreamsFormatFormatFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceAzureBlobStorageSchemasStreamsFormatFormatFiletype { + AVRO("avro"); + + @JsonValue + private final String value; + + private SourceAzureBlobStorageSchemasStreamsFormatFormatFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceAzureTable.java b/src/main/java/com/airbyte/api/models/shared/SourceAzureTable.java new file mode 100644 index 000000000..f3058d094 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceAzureTable.java @@ -0,0 +1,228 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceAzureTable { + + @JsonProperty("sourceType") + private AzureTable sourceType; + + /** + * Azure Table Storage Access Key. See the <a href="https://docs.airbyte.com/integrations/sources/azure-table">docs</a> for more information on how to obtain this key. + */ + @JsonProperty("storage_access_key") + private String storageAccessKey; + + /** + * The name of your storage account. + */ + @JsonProperty("storage_account_name") + private String storageAccountName; + + /** + * Azure Table Storage service account URL suffix. See the <a href="https://docs.airbyte.com/integrations/sources/azure-table">docs</a> for more information on how to obtain endpoint suffix + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("storage_endpoint_suffix") + private Optional storageEndpointSuffix; + + public SourceAzureTable( + @JsonProperty("storage_access_key") String storageAccessKey, + @JsonProperty("storage_account_name") String storageAccountName, + @JsonProperty("storage_endpoint_suffix") Optional storageEndpointSuffix) { + Utils.checkNotNull(storageAccessKey, "storageAccessKey"); + Utils.checkNotNull(storageAccountName, "storageAccountName"); + Utils.checkNotNull(storageEndpointSuffix, "storageEndpointSuffix"); + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.storageAccessKey = storageAccessKey; + this.storageAccountName = storageAccountName; + this.storageEndpointSuffix = storageEndpointSuffix; + } + + public AzureTable sourceType() { + return sourceType; + } + + /** + * Azure Table Storage Access Key. See the <a href="https://docs.airbyte.com/integrations/sources/azure-table">docs</a> for more information on how to obtain this key. + */ + public String storageAccessKey() { + return storageAccessKey; + } + + /** + * The name of your storage account. + */ + public String storageAccountName() { + return storageAccountName; + } + + /** + * Azure Table Storage service account URL suffix. See the <a href="https://docs.airbyte.com/integrations/sources/azure-table">docs</a> for more information on how to obtain endpoint suffix + */ + public Optional storageEndpointSuffix() { + return storageEndpointSuffix; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Azure Table Storage Access Key. See the <a href="https://docs.airbyte.com/integrations/sources/azure-table">docs</a> for more information on how to obtain this key. + */ + public SourceAzureTable withStorageAccessKey(String storageAccessKey) { + Utils.checkNotNull(storageAccessKey, "storageAccessKey"); + this.storageAccessKey = storageAccessKey; + return this; + } + + /** + * The name of your storage account. + */ + public SourceAzureTable withStorageAccountName(String storageAccountName) { + Utils.checkNotNull(storageAccountName, "storageAccountName"); + this.storageAccountName = storageAccountName; + return this; + } + + /** + * Azure Table Storage service account URL suffix. See the <a href="https://docs.airbyte.com/integrations/sources/azure-table">docs</a> for more information on how to obtain endpoint suffix + */ + public SourceAzureTable withStorageEndpointSuffix(String storageEndpointSuffix) { + Utils.checkNotNull(storageEndpointSuffix, "storageEndpointSuffix"); + this.storageEndpointSuffix = Optional.ofNullable(storageEndpointSuffix); + return this; + } + + /** + * Azure Table Storage service account URL suffix. See the <a href="https://docs.airbyte.com/integrations/sources/azure-table">docs</a> for more information on how to obtain endpoint suffix + */ + public SourceAzureTable withStorageEndpointSuffix(Optional storageEndpointSuffix) { + Utils.checkNotNull(storageEndpointSuffix, "storageEndpointSuffix"); + this.storageEndpointSuffix = storageEndpointSuffix; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceAzureTable other = (SourceAzureTable) o; + return + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.storageAccessKey, other.storageAccessKey) && + java.util.Objects.deepEquals(this.storageAccountName, other.storageAccountName) && + java.util.Objects.deepEquals(this.storageEndpointSuffix, other.storageEndpointSuffix); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sourceType, + storageAccessKey, + storageAccountName, + storageEndpointSuffix); + } + + @Override + public String toString() { + return Utils.toString(SourceAzureTable.class, + "sourceType", sourceType, + "storageAccessKey", storageAccessKey, + "storageAccountName", storageAccountName, + "storageEndpointSuffix", storageEndpointSuffix); + } + + public final static class Builder { + + private String storageAccessKey; + + private String storageAccountName; + + private Optional storageEndpointSuffix; + + private Builder() { + // force use of static builder() method + } + + /** + * Azure Table Storage Access Key. See the <a href="https://docs.airbyte.com/integrations/sources/azure-table">docs</a> for more information on how to obtain this key. + */ + public Builder storageAccessKey(String storageAccessKey) { + Utils.checkNotNull(storageAccessKey, "storageAccessKey"); + this.storageAccessKey = storageAccessKey; + return this; + } + + /** + * The name of your storage account. + */ + public Builder storageAccountName(String storageAccountName) { + Utils.checkNotNull(storageAccountName, "storageAccountName"); + this.storageAccountName = storageAccountName; + return this; + } + + /** + * Azure Table Storage service account URL suffix. See the <a href="https://docs.airbyte.com/integrations/sources/azure-table">docs</a> for more information on how to obtain endpoint suffix + */ + public Builder storageEndpointSuffix(String storageEndpointSuffix) { + Utils.checkNotNull(storageEndpointSuffix, "storageEndpointSuffix"); + this.storageEndpointSuffix = Optional.ofNullable(storageEndpointSuffix); + return this; + } + + /** + * Azure Table Storage service account URL suffix. See the <a href="https://docs.airbyte.com/integrations/sources/azure-table">docs</a> for more information on how to obtain endpoint suffix + */ + public Builder storageEndpointSuffix(Optional storageEndpointSuffix) { + Utils.checkNotNull(storageEndpointSuffix, "storageEndpointSuffix"); + this.storageEndpointSuffix = storageEndpointSuffix; + return this; + } + + public SourceAzureTable build() { + if (storageEndpointSuffix == null) { + storageEndpointSuffix = _SINGLETON_VALUE_StorageEndpointSuffix.value(); + } + return new SourceAzureTable( + storageAccessKey, + storageAccountName, + storageEndpointSuffix); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"azure-table\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_StorageEndpointSuffix = + new LazySingletonValue<>( + "storage_endpoint_suffix", + "\"core.windows.net\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceBambooHr.java b/src/main/java/com/airbyte/api/models/shared/SourceBambooHr.java new file mode 100644 index 000000000..dce4bc633 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceBambooHr.java @@ -0,0 +1,296 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceBambooHr { + + /** + * Api key of bamboo hr + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * Comma-separated list of fields to include in custom reports. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("custom_reports_fields") + private Optional customReportsFields; + + /** + * If true, the custom reports endpoint will include the default fields defined here: https://documentation.bamboohr.com/docs/list-of-field-names. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("custom_reports_include_default_fields") + private Optional customReportsIncludeDefaultFields; + + @JsonProperty("sourceType") + private BambooHr sourceType; + + /** + * Sub Domain of bamboo hr + */ + @JsonProperty("subdomain") + private String subdomain; + + public SourceBambooHr( + @JsonProperty("api_key") String apiKey, + @JsonProperty("custom_reports_fields") Optional customReportsFields, + @JsonProperty("custom_reports_include_default_fields") Optional customReportsIncludeDefaultFields, + @JsonProperty("subdomain") String subdomain) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(customReportsFields, "customReportsFields"); + Utils.checkNotNull(customReportsIncludeDefaultFields, "customReportsIncludeDefaultFields"); + Utils.checkNotNull(subdomain, "subdomain"); + this.apiKey = apiKey; + this.customReportsFields = customReportsFields; + this.customReportsIncludeDefaultFields = customReportsIncludeDefaultFields; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.subdomain = subdomain; + } + + /** + * Api key of bamboo hr + */ + public String apiKey() { + return apiKey; + } + + /** + * Comma-separated list of fields to include in custom reports. + */ + public Optional customReportsFields() { + return customReportsFields; + } + + /** + * If true, the custom reports endpoint will include the default fields defined here: https://documentation.bamboohr.com/docs/list-of-field-names. + */ + public Optional customReportsIncludeDefaultFields() { + return customReportsIncludeDefaultFields; + } + + public BambooHr sourceType() { + return sourceType; + } + + /** + * Sub Domain of bamboo hr + */ + public String subdomain() { + return subdomain; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Api key of bamboo hr + */ + public SourceBambooHr withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Comma-separated list of fields to include in custom reports. + */ + public SourceBambooHr withCustomReportsFields(String customReportsFields) { + Utils.checkNotNull(customReportsFields, "customReportsFields"); + this.customReportsFields = Optional.ofNullable(customReportsFields); + return this; + } + + /** + * Comma-separated list of fields to include in custom reports. + */ + public SourceBambooHr withCustomReportsFields(Optional customReportsFields) { + Utils.checkNotNull(customReportsFields, "customReportsFields"); + this.customReportsFields = customReportsFields; + return this; + } + + /** + * If true, the custom reports endpoint will include the default fields defined here: https://documentation.bamboohr.com/docs/list-of-field-names. + */ + public SourceBambooHr withCustomReportsIncludeDefaultFields(boolean customReportsIncludeDefaultFields) { + Utils.checkNotNull(customReportsIncludeDefaultFields, "customReportsIncludeDefaultFields"); + this.customReportsIncludeDefaultFields = Optional.ofNullable(customReportsIncludeDefaultFields); + return this; + } + + /** + * If true, the custom reports endpoint will include the default fields defined here: https://documentation.bamboohr.com/docs/list-of-field-names. + */ + public SourceBambooHr withCustomReportsIncludeDefaultFields(Optional customReportsIncludeDefaultFields) { + Utils.checkNotNull(customReportsIncludeDefaultFields, "customReportsIncludeDefaultFields"); + this.customReportsIncludeDefaultFields = customReportsIncludeDefaultFields; + return this; + } + + /** + * Sub Domain of bamboo hr + */ + public SourceBambooHr withSubdomain(String subdomain) { + Utils.checkNotNull(subdomain, "subdomain"); + this.subdomain = subdomain; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceBambooHr other = (SourceBambooHr) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.customReportsFields, other.customReportsFields) && + java.util.Objects.deepEquals(this.customReportsIncludeDefaultFields, other.customReportsIncludeDefaultFields) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.subdomain, other.subdomain); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + customReportsFields, + customReportsIncludeDefaultFields, + sourceType, + subdomain); + } + + @Override + public String toString() { + return Utils.toString(SourceBambooHr.class, + "apiKey", apiKey, + "customReportsFields", customReportsFields, + "customReportsIncludeDefaultFields", customReportsIncludeDefaultFields, + "sourceType", sourceType, + "subdomain", subdomain); + } + + public final static class Builder { + + private String apiKey; + + private Optional customReportsFields; + + private Optional customReportsIncludeDefaultFields; + + private String subdomain; + + private Builder() { + // force use of static builder() method + } + + /** + * Api key of bamboo hr + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Comma-separated list of fields to include in custom reports. + */ + public Builder customReportsFields(String customReportsFields) { + Utils.checkNotNull(customReportsFields, "customReportsFields"); + this.customReportsFields = Optional.ofNullable(customReportsFields); + return this; + } + + /** + * Comma-separated list of fields to include in custom reports. + */ + public Builder customReportsFields(Optional customReportsFields) { + Utils.checkNotNull(customReportsFields, "customReportsFields"); + this.customReportsFields = customReportsFields; + return this; + } + + /** + * If true, the custom reports endpoint will include the default fields defined here: https://documentation.bamboohr.com/docs/list-of-field-names. + */ + public Builder customReportsIncludeDefaultFields(boolean customReportsIncludeDefaultFields) { + Utils.checkNotNull(customReportsIncludeDefaultFields, "customReportsIncludeDefaultFields"); + this.customReportsIncludeDefaultFields = Optional.ofNullable(customReportsIncludeDefaultFields); + return this; + } + + /** + * If true, the custom reports endpoint will include the default fields defined here: https://documentation.bamboohr.com/docs/list-of-field-names. + */ + public Builder customReportsIncludeDefaultFields(Optional customReportsIncludeDefaultFields) { + Utils.checkNotNull(customReportsIncludeDefaultFields, "customReportsIncludeDefaultFields"); + this.customReportsIncludeDefaultFields = customReportsIncludeDefaultFields; + return this; + } + + /** + * Sub Domain of bamboo hr + */ + public Builder subdomain(String subdomain) { + Utils.checkNotNull(subdomain, "subdomain"); + this.subdomain = subdomain; + return this; + } + + public SourceBambooHr build() { + if (customReportsFields == null) { + customReportsFields = _SINGLETON_VALUE_CustomReportsFields.value(); + } + if (customReportsIncludeDefaultFields == null) { + customReportsIncludeDefaultFields = _SINGLETON_VALUE_CustomReportsIncludeDefaultFields.value(); + } + return new SourceBambooHr( + apiKey, + customReportsFields, + customReportsIncludeDefaultFields, + subdomain); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_CustomReportsFields = + new LazySingletonValue<>( + "custom_reports_fields", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_CustomReportsIncludeDefaultFields = + new LazySingletonValue<>( + "custom_reports_include_default_fields", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"bamboo-hr\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceBigquery.java b/src/main/java/com/airbyte/api/models/shared/SourceBigquery.java new file mode 100644 index 000000000..028ae91c4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceBigquery.java @@ -0,0 +1,219 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceBigquery { + + /** + * The contents of your Service Account Key JSON file. See the <a href="https://docs.airbyte.com/integrations/sources/bigquery#setup-the-bigquery-source-in-airbyte">docs</a> for more information on how to obtain this key. + */ + @JsonProperty("credentials_json") + private String credentialsJson; + + /** + * The dataset ID to search for tables and views. If you are only loading data from one dataset, setting this option could result in much faster schema discovery. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("dataset_id") + private Optional datasetId; + + /** + * The GCP project ID for the project containing the target BigQuery dataset. + */ + @JsonProperty("project_id") + private String projectId; + + @JsonProperty("sourceType") + private SourceBigqueryBigquery sourceType; + + public SourceBigquery( + @JsonProperty("credentials_json") String credentialsJson, + @JsonProperty("dataset_id") Optional datasetId, + @JsonProperty("project_id") String projectId) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + Utils.checkNotNull(datasetId, "datasetId"); + Utils.checkNotNull(projectId, "projectId"); + this.credentialsJson = credentialsJson; + this.datasetId = datasetId; + this.projectId = projectId; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * The contents of your Service Account Key JSON file. See the <a href="https://docs.airbyte.com/integrations/sources/bigquery#setup-the-bigquery-source-in-airbyte">docs</a> for more information on how to obtain this key. + */ + public String credentialsJson() { + return credentialsJson; + } + + /** + * The dataset ID to search for tables and views. If you are only loading data from one dataset, setting this option could result in much faster schema discovery. + */ + public Optional datasetId() { + return datasetId; + } + + /** + * The GCP project ID for the project containing the target BigQuery dataset. + */ + public String projectId() { + return projectId; + } + + public SourceBigqueryBigquery sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The contents of your Service Account Key JSON file. See the <a href="https://docs.airbyte.com/integrations/sources/bigquery#setup-the-bigquery-source-in-airbyte">docs</a> for more information on how to obtain this key. + */ + public SourceBigquery withCredentialsJson(String credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.credentialsJson = credentialsJson; + return this; + } + + /** + * The dataset ID to search for tables and views. If you are only loading data from one dataset, setting this option could result in much faster schema discovery. + */ + public SourceBigquery withDatasetId(String datasetId) { + Utils.checkNotNull(datasetId, "datasetId"); + this.datasetId = Optional.ofNullable(datasetId); + return this; + } + + /** + * The dataset ID to search for tables and views. If you are only loading data from one dataset, setting this option could result in much faster schema discovery. + */ + public SourceBigquery withDatasetId(Optional datasetId) { + Utils.checkNotNull(datasetId, "datasetId"); + this.datasetId = datasetId; + return this; + } + + /** + * The GCP project ID for the project containing the target BigQuery dataset. + */ + public SourceBigquery withProjectId(String projectId) { + Utils.checkNotNull(projectId, "projectId"); + this.projectId = projectId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceBigquery other = (SourceBigquery) o; + return + java.util.Objects.deepEquals(this.credentialsJson, other.credentialsJson) && + java.util.Objects.deepEquals(this.datasetId, other.datasetId) && + java.util.Objects.deepEquals(this.projectId, other.projectId) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentialsJson, + datasetId, + projectId, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceBigquery.class, + "credentialsJson", credentialsJson, + "datasetId", datasetId, + "projectId", projectId, + "sourceType", sourceType); + } + + public final static class Builder { + + private String credentialsJson; + + private Optional datasetId = Optional.empty(); + + private String projectId; + + private Builder() { + // force use of static builder() method + } + + /** + * The contents of your Service Account Key JSON file. See the <a href="https://docs.airbyte.com/integrations/sources/bigquery#setup-the-bigquery-source-in-airbyte">docs</a> for more information on how to obtain this key. + */ + public Builder credentialsJson(String credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.credentialsJson = credentialsJson; + return this; + } + + /** + * The dataset ID to search for tables and views. If you are only loading data from one dataset, setting this option could result in much faster schema discovery. + */ + public Builder datasetId(String datasetId) { + Utils.checkNotNull(datasetId, "datasetId"); + this.datasetId = Optional.ofNullable(datasetId); + return this; + } + + /** + * The dataset ID to search for tables and views. If you are only loading data from one dataset, setting this option could result in much faster schema discovery. + */ + public Builder datasetId(Optional datasetId) { + Utils.checkNotNull(datasetId, "datasetId"); + this.datasetId = datasetId; + return this; + } + + /** + * The GCP project ID for the project containing the target BigQuery dataset. + */ + public Builder projectId(String projectId) { + Utils.checkNotNull(projectId, "projectId"); + this.projectId = projectId; + return this; + } + + public SourceBigquery build() { + return new SourceBigquery( + credentialsJson, + datasetId, + projectId); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"bigquery\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceBigqueryBigquery.java b/src/main/java/com/airbyte/api/models/shared/SourceBigqueryBigquery.java new file mode 100644 index 000000000..dd6015f27 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceBigqueryBigquery.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceBigqueryBigquery { + BIGQUERY("bigquery"); + + @JsonValue + private final String value; + + private SourceBigqueryBigquery(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceBingAds.java b/src/main/java/com/airbyte/api/models/shared/SourceBingAds.java new file mode 100644 index 000000000..2a649b12c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceBingAds.java @@ -0,0 +1,600 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceBingAds { + + /** + * Predicates that will be used to sync data by specific accounts. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("account_names") + private Optional> accountNames; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_method") + private Optional authMethod; + + /** + * The Client ID of your Microsoft Advertising developer application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of your Microsoft Advertising developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + /** + * You can add your Custom Bing Ads report by creating one. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("custom_reports") + private Optional> customReports; + + /** + * Developer token associated with user. See more info <a href="https://docs.microsoft.com/en-us/advertising/guides/get-started?view=bingads-13#get-developer-token"> in the docs</a>. + */ + @JsonProperty("developer_token") + private String developerToken; + + /** + * Also known as attribution or conversion window. How far into the past to look for records (in days). If your conversion window has an hours/minutes granularity, round it up to the number of days exceeding. Used only for performance report streams in incremental mode without specified Reports Start Date. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lookback_window") + private Optional lookbackWindow; + + /** + * Refresh Token to renew the expired Access Token. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + /** + * The start date from which to begin replicating report data. Any data generated before this date will not be replicated in reports. This is a UTC date in YYYY-MM-DD format. If not set, data from previous and current calendar year will be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("reports_start_date") + private Optional reportsStartDate; + + @JsonProperty("sourceType") + private SourceBingAdsBingAds sourceType; + + /** + * The Tenant ID of your Microsoft Advertising developer application. Set this to "common" unless you know you need a different value. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tenant_id") + private Optional tenantId; + + public SourceBingAds( + @JsonProperty("account_names") Optional> accountNames, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") Optional clientSecret, + @JsonProperty("custom_reports") Optional> customReports, + @JsonProperty("developer_token") String developerToken, + @JsonProperty("lookback_window") Optional lookbackWindow, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("reports_start_date") Optional reportsStartDate, + @JsonProperty("tenant_id") Optional tenantId) { + Utils.checkNotNull(accountNames, "accountNames"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(customReports, "customReports"); + Utils.checkNotNull(developerToken, "developerToken"); + Utils.checkNotNull(lookbackWindow, "lookbackWindow"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(reportsStartDate, "reportsStartDate"); + Utils.checkNotNull(tenantId, "tenantId"); + this.accountNames = accountNames; + this.authMethod = Builder._SINGLETON_VALUE_AuthMethod.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.customReports = customReports; + this.developerToken = developerToken; + this.lookbackWindow = lookbackWindow; + this.refreshToken = refreshToken; + this.reportsStartDate = reportsStartDate; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.tenantId = tenantId; + } + + /** + * Predicates that will be used to sync data by specific accounts. + */ + public Optional> accountNames() { + return accountNames; + } + + public Optional authMethod() { + return authMethod; + } + + /** + * The Client ID of your Microsoft Advertising developer application. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of your Microsoft Advertising developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + /** + * You can add your Custom Bing Ads report by creating one. + */ + public Optional> customReports() { + return customReports; + } + + /** + * Developer token associated with user. See more info <a href="https://docs.microsoft.com/en-us/advertising/guides/get-started?view=bingads-13#get-developer-token"> in the docs</a>. + */ + public String developerToken() { + return developerToken; + } + + /** + * Also known as attribution or conversion window. How far into the past to look for records (in days). If your conversion window has an hours/minutes granularity, round it up to the number of days exceeding. Used only for performance report streams in incremental mode without specified Reports Start Date. + */ + public Optional lookbackWindow() { + return lookbackWindow; + } + + /** + * Refresh Token to renew the expired Access Token. + */ + public String refreshToken() { + return refreshToken; + } + + /** + * The start date from which to begin replicating report data. Any data generated before this date will not be replicated in reports. This is a UTC date in YYYY-MM-DD format. If not set, data from previous and current calendar year will be replicated. + */ + public Optional reportsStartDate() { + return reportsStartDate; + } + + public SourceBingAdsBingAds sourceType() { + return sourceType; + } + + /** + * The Tenant ID of your Microsoft Advertising developer application. Set this to "common" unless you know you need a different value. + */ + public Optional tenantId() { + return tenantId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Predicates that will be used to sync data by specific accounts. + */ + public SourceBingAds withAccountNames(java.util.List accountNames) { + Utils.checkNotNull(accountNames, "accountNames"); + this.accountNames = Optional.ofNullable(accountNames); + return this; + } + + /** + * Predicates that will be used to sync data by specific accounts. + */ + public SourceBingAds withAccountNames(Optional> accountNames) { + Utils.checkNotNull(accountNames, "accountNames"); + this.accountNames = accountNames; + return this; + } + + /** + * The Client ID of your Microsoft Advertising developer application. + */ + public SourceBingAds withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Microsoft Advertising developer application. + */ + public SourceBingAds withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Microsoft Advertising developer application. + */ + public SourceBingAds withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * You can add your Custom Bing Ads report by creating one. + */ + public SourceBingAds withCustomReports(java.util.List customReports) { + Utils.checkNotNull(customReports, "customReports"); + this.customReports = Optional.ofNullable(customReports); + return this; + } + + /** + * You can add your Custom Bing Ads report by creating one. + */ + public SourceBingAds withCustomReports(Optional> customReports) { + Utils.checkNotNull(customReports, "customReports"); + this.customReports = customReports; + return this; + } + + /** + * Developer token associated with user. See more info <a href="https://docs.microsoft.com/en-us/advertising/guides/get-started?view=bingads-13#get-developer-token"> in the docs</a>. + */ + public SourceBingAds withDeveloperToken(String developerToken) { + Utils.checkNotNull(developerToken, "developerToken"); + this.developerToken = developerToken; + return this; + } + + /** + * Also known as attribution or conversion window. How far into the past to look for records (in days). If your conversion window has an hours/minutes granularity, round it up to the number of days exceeding. Used only for performance report streams in incremental mode without specified Reports Start Date. + */ + public SourceBingAds withLookbackWindow(long lookbackWindow) { + Utils.checkNotNull(lookbackWindow, "lookbackWindow"); + this.lookbackWindow = Optional.ofNullable(lookbackWindow); + return this; + } + + /** + * Also known as attribution or conversion window. How far into the past to look for records (in days). If your conversion window has an hours/minutes granularity, round it up to the number of days exceeding. Used only for performance report streams in incremental mode without specified Reports Start Date. + */ + public SourceBingAds withLookbackWindow(Optional lookbackWindow) { + Utils.checkNotNull(lookbackWindow, "lookbackWindow"); + this.lookbackWindow = lookbackWindow; + return this; + } + + /** + * Refresh Token to renew the expired Access Token. + */ + public SourceBingAds withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * The start date from which to begin replicating report data. Any data generated before this date will not be replicated in reports. This is a UTC date in YYYY-MM-DD format. If not set, data from previous and current calendar year will be replicated. + */ + public SourceBingAds withReportsStartDate(LocalDate reportsStartDate) { + Utils.checkNotNull(reportsStartDate, "reportsStartDate"); + this.reportsStartDate = Optional.ofNullable(reportsStartDate); + return this; + } + + /** + * The start date from which to begin replicating report data. Any data generated before this date will not be replicated in reports. This is a UTC date in YYYY-MM-DD format. If not set, data from previous and current calendar year will be replicated. + */ + public SourceBingAds withReportsStartDate(Optional reportsStartDate) { + Utils.checkNotNull(reportsStartDate, "reportsStartDate"); + this.reportsStartDate = reportsStartDate; + return this; + } + + /** + * The Tenant ID of your Microsoft Advertising developer application. Set this to "common" unless you know you need a different value. + */ + public SourceBingAds withTenantId(String tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = Optional.ofNullable(tenantId); + return this; + } + + /** + * The Tenant ID of your Microsoft Advertising developer application. Set this to "common" unless you know you need a different value. + */ + public SourceBingAds withTenantId(Optional tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = tenantId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceBingAds other = (SourceBingAds) o; + return + java.util.Objects.deepEquals(this.accountNames, other.accountNames) && + java.util.Objects.deepEquals(this.authMethod, other.authMethod) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.customReports, other.customReports) && + java.util.Objects.deepEquals(this.developerToken, other.developerToken) && + java.util.Objects.deepEquals(this.lookbackWindow, other.lookbackWindow) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.reportsStartDate, other.reportsStartDate) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.tenantId, other.tenantId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accountNames, + authMethod, + clientId, + clientSecret, + customReports, + developerToken, + lookbackWindow, + refreshToken, + reportsStartDate, + sourceType, + tenantId); + } + + @Override + public String toString() { + return Utils.toString(SourceBingAds.class, + "accountNames", accountNames, + "authMethod", authMethod, + "clientId", clientId, + "clientSecret", clientSecret, + "customReports", customReports, + "developerToken", developerToken, + "lookbackWindow", lookbackWindow, + "refreshToken", refreshToken, + "reportsStartDate", reportsStartDate, + "sourceType", sourceType, + "tenantId", tenantId); + } + + public final static class Builder { + + private Optional> accountNames = Optional.empty(); + + private String clientId; + + private Optional clientSecret; + + private Optional> customReports = Optional.empty(); + + private String developerToken; + + private Optional lookbackWindow; + + private String refreshToken; + + private Optional reportsStartDate = Optional.empty(); + + private Optional tenantId; + + private Builder() { + // force use of static builder() method + } + + /** + * Predicates that will be used to sync data by specific accounts. + */ + public Builder accountNames(java.util.List accountNames) { + Utils.checkNotNull(accountNames, "accountNames"); + this.accountNames = Optional.ofNullable(accountNames); + return this; + } + + /** + * Predicates that will be used to sync data by specific accounts. + */ + public Builder accountNames(Optional> accountNames) { + Utils.checkNotNull(accountNames, "accountNames"); + this.accountNames = accountNames; + return this; + } + + /** + * The Client ID of your Microsoft Advertising developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Microsoft Advertising developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Microsoft Advertising developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * You can add your Custom Bing Ads report by creating one. + */ + public Builder customReports(java.util.List customReports) { + Utils.checkNotNull(customReports, "customReports"); + this.customReports = Optional.ofNullable(customReports); + return this; + } + + /** + * You can add your Custom Bing Ads report by creating one. + */ + public Builder customReports(Optional> customReports) { + Utils.checkNotNull(customReports, "customReports"); + this.customReports = customReports; + return this; + } + + /** + * Developer token associated with user. See more info <a href="https://docs.microsoft.com/en-us/advertising/guides/get-started?view=bingads-13#get-developer-token"> in the docs</a>. + */ + public Builder developerToken(String developerToken) { + Utils.checkNotNull(developerToken, "developerToken"); + this.developerToken = developerToken; + return this; + } + + /** + * Also known as attribution or conversion window. How far into the past to look for records (in days). If your conversion window has an hours/minutes granularity, round it up to the number of days exceeding. Used only for performance report streams in incremental mode without specified Reports Start Date. + */ + public Builder lookbackWindow(long lookbackWindow) { + Utils.checkNotNull(lookbackWindow, "lookbackWindow"); + this.lookbackWindow = Optional.ofNullable(lookbackWindow); + return this; + } + + /** + * Also known as attribution or conversion window. How far into the past to look for records (in days). If your conversion window has an hours/minutes granularity, round it up to the number of days exceeding. Used only for performance report streams in incremental mode without specified Reports Start Date. + */ + public Builder lookbackWindow(Optional lookbackWindow) { + Utils.checkNotNull(lookbackWindow, "lookbackWindow"); + this.lookbackWindow = lookbackWindow; + return this; + } + + /** + * Refresh Token to renew the expired Access Token. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * The start date from which to begin replicating report data. Any data generated before this date will not be replicated in reports. This is a UTC date in YYYY-MM-DD format. If not set, data from previous and current calendar year will be replicated. + */ + public Builder reportsStartDate(LocalDate reportsStartDate) { + Utils.checkNotNull(reportsStartDate, "reportsStartDate"); + this.reportsStartDate = Optional.ofNullable(reportsStartDate); + return this; + } + + /** + * The start date from which to begin replicating report data. Any data generated before this date will not be replicated in reports. This is a UTC date in YYYY-MM-DD format. If not set, data from previous and current calendar year will be replicated. + */ + public Builder reportsStartDate(Optional reportsStartDate) { + Utils.checkNotNull(reportsStartDate, "reportsStartDate"); + this.reportsStartDate = reportsStartDate; + return this; + } + + /** + * The Tenant ID of your Microsoft Advertising developer application. Set this to "common" unless you know you need a different value. + */ + public Builder tenantId(String tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = Optional.ofNullable(tenantId); + return this; + } + + /** + * The Tenant ID of your Microsoft Advertising developer application. Set this to "common" unless you know you need a different value. + */ + public Builder tenantId(Optional tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = tenantId; + return this; + } + + public SourceBingAds build() { + if (clientSecret == null) { + clientSecret = _SINGLETON_VALUE_ClientSecret.value(); + } + if (lookbackWindow == null) { + lookbackWindow = _SINGLETON_VALUE_LookbackWindow.value(); + } + if (tenantId == null) { + tenantId = _SINGLETON_VALUE_TenantId.value(); + } + return new SourceBingAds( + accountNames, + clientId, + clientSecret, + customReports, + developerToken, + lookbackWindow, + refreshToken, + reportsStartDate, + tenantId); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthMethod = + new LazySingletonValue<>( + "auth_method", + "\"oauth2.0\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ClientSecret = + new LazySingletonValue<>( + "client_secret", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_LookbackWindow = + new LazySingletonValue<>( + "lookback_window", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"bing-ads\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TenantId = + new LazySingletonValue<>( + "tenant_id", + "\"common\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceBingAdsBingAds.java b/src/main/java/com/airbyte/api/models/shared/SourceBingAdsBingAds.java new file mode 100644 index 000000000..3c6b4d709 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceBingAdsBingAds.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceBingAdsBingAds { + BING_ADS("bing-ads"); + + @JsonValue + private final String value; + + private SourceBingAdsBingAds(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceBraintree.java b/src/main/java/com/airbyte/api/models/shared/SourceBraintree.java new file mode 100644 index 000000000..82b3cdf60 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceBraintree.java @@ -0,0 +1,302 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceBraintree { + + /** + * Environment specifies where the data will come from. + */ + @JsonProperty("environment") + private SourceBraintreeEnvironment environment; + + /** + * The unique identifier for your entire gateway account. See the <a href="https://docs.airbyte.com/integrations/sources/braintree">docs</a> for more information on how to obtain this ID. + */ + @JsonProperty("merchant_id") + private String merchantId; + + /** + * Braintree Private Key. See the <a href="https://docs.airbyte.com/integrations/sources/braintree">docs</a> for more information on how to obtain this key. + */ + @JsonProperty("private_key") + private String privateKey; + + /** + * Braintree Public Key. See the <a href="https://docs.airbyte.com/integrations/sources/braintree">docs</a> for more information on how to obtain this key. + */ + @JsonProperty("public_key") + private String publicKey; + + @JsonProperty("sourceType") + private Braintree sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceBraintree( + @JsonProperty("environment") SourceBraintreeEnvironment environment, + @JsonProperty("merchant_id") String merchantId, + @JsonProperty("private_key") String privateKey, + @JsonProperty("public_key") String publicKey, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(environment, "environment"); + Utils.checkNotNull(merchantId, "merchantId"); + Utils.checkNotNull(privateKey, "privateKey"); + Utils.checkNotNull(publicKey, "publicKey"); + Utils.checkNotNull(startDate, "startDate"); + this.environment = environment; + this.merchantId = merchantId; + this.privateKey = privateKey; + this.publicKey = publicKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Environment specifies where the data will come from. + */ + public SourceBraintreeEnvironment environment() { + return environment; + } + + /** + * The unique identifier for your entire gateway account. See the <a href="https://docs.airbyte.com/integrations/sources/braintree">docs</a> for more information on how to obtain this ID. + */ + public String merchantId() { + return merchantId; + } + + /** + * Braintree Private Key. See the <a href="https://docs.airbyte.com/integrations/sources/braintree">docs</a> for more information on how to obtain this key. + */ + public String privateKey() { + return privateKey; + } + + /** + * Braintree Public Key. See the <a href="https://docs.airbyte.com/integrations/sources/braintree">docs</a> for more information on how to obtain this key. + */ + public String publicKey() { + return publicKey; + } + + public Braintree sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Environment specifies where the data will come from. + */ + public SourceBraintree withEnvironment(SourceBraintreeEnvironment environment) { + Utils.checkNotNull(environment, "environment"); + this.environment = environment; + return this; + } + + /** + * The unique identifier for your entire gateway account. See the <a href="https://docs.airbyte.com/integrations/sources/braintree">docs</a> for more information on how to obtain this ID. + */ + public SourceBraintree withMerchantId(String merchantId) { + Utils.checkNotNull(merchantId, "merchantId"); + this.merchantId = merchantId; + return this; + } + + /** + * Braintree Private Key. See the <a href="https://docs.airbyte.com/integrations/sources/braintree">docs</a> for more information on how to obtain this key. + */ + public SourceBraintree withPrivateKey(String privateKey) { + Utils.checkNotNull(privateKey, "privateKey"); + this.privateKey = privateKey; + return this; + } + + /** + * Braintree Public Key. See the <a href="https://docs.airbyte.com/integrations/sources/braintree">docs</a> for more information on how to obtain this key. + */ + public SourceBraintree withPublicKey(String publicKey) { + Utils.checkNotNull(publicKey, "publicKey"); + this.publicKey = publicKey; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public SourceBraintree withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public SourceBraintree withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceBraintree other = (SourceBraintree) o; + return + java.util.Objects.deepEquals(this.environment, other.environment) && + java.util.Objects.deepEquals(this.merchantId, other.merchantId) && + java.util.Objects.deepEquals(this.privateKey, other.privateKey) && + java.util.Objects.deepEquals(this.publicKey, other.publicKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + environment, + merchantId, + privateKey, + publicKey, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceBraintree.class, + "environment", environment, + "merchantId", merchantId, + "privateKey", privateKey, + "publicKey", publicKey, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private SourceBraintreeEnvironment environment; + + private String merchantId; + + private String privateKey; + + private String publicKey; + + private Optional startDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Environment specifies where the data will come from. + */ + public Builder environment(SourceBraintreeEnvironment environment) { + Utils.checkNotNull(environment, "environment"); + this.environment = environment; + return this; + } + + /** + * The unique identifier for your entire gateway account. See the <a href="https://docs.airbyte.com/integrations/sources/braintree">docs</a> for more information on how to obtain this ID. + */ + public Builder merchantId(String merchantId) { + Utils.checkNotNull(merchantId, "merchantId"); + this.merchantId = merchantId; + return this; + } + + /** + * Braintree Private Key. See the <a href="https://docs.airbyte.com/integrations/sources/braintree">docs</a> for more information on how to obtain this key. + */ + public Builder privateKey(String privateKey) { + Utils.checkNotNull(privateKey, "privateKey"); + this.privateKey = privateKey; + return this; + } + + /** + * Braintree Public Key. See the <a href="https://docs.airbyte.com/integrations/sources/braintree">docs</a> for more information on how to obtain this key. + */ + public Builder publicKey(String publicKey) { + Utils.checkNotNull(publicKey, "publicKey"); + this.publicKey = publicKey; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceBraintree build() { + return new SourceBraintree( + environment, + merchantId, + privateKey, + publicKey, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"braintree\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceBraintreeEnvironment.java b/src/main/java/com/airbyte/api/models/shared/SourceBraintreeEnvironment.java new file mode 100644 index 000000000..06a300f7a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceBraintreeEnvironment.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceBraintreeEnvironment - Environment specifies where the data will come from. + */ +public enum SourceBraintreeEnvironment { + DEVELOPMENT("Development"), + SANDBOX("Sandbox"), + QA("Qa"), + PRODUCTION("Production"); + + @JsonValue + private final String value; + + private SourceBraintreeEnvironment(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceBraze.java b/src/main/java/com/airbyte/api/models/shared/SourceBraze.java new file mode 100644 index 000000000..d98af7052 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceBraze.java @@ -0,0 +1,198 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; + + +public class SourceBraze { + + /** + * Braze REST API key + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private Braze sourceType; + + /** + * Rows after this date will be synced + */ + @JsonProperty("start_date") + private LocalDate startDate; + + /** + * Braze REST API endpoint + */ + @JsonProperty("url") + private String url; + + public SourceBraze( + @JsonProperty("api_key") String apiKey, + @JsonProperty("start_date") LocalDate startDate, + @JsonProperty("url") String url) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(url, "url"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.url = url; + } + + /** + * Braze REST API key + */ + public String apiKey() { + return apiKey; + } + + public Braze sourceType() { + return sourceType; + } + + /** + * Rows after this date will be synced + */ + public LocalDate startDate() { + return startDate; + } + + /** + * Braze REST API endpoint + */ + public String url() { + return url; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Braze REST API key + */ + public SourceBraze withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Rows after this date will be synced + */ + public SourceBraze withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Braze REST API endpoint + */ + public SourceBraze withUrl(String url) { + Utils.checkNotNull(url, "url"); + this.url = url; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceBraze other = (SourceBraze) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.url, other.url); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType, + startDate, + url); + } + + @Override + public String toString() { + return Utils.toString(SourceBraze.class, + "apiKey", apiKey, + "sourceType", sourceType, + "startDate", startDate, + "url", url); + } + + public final static class Builder { + + private String apiKey; + + private LocalDate startDate; + + private String url; + + private Builder() { + // force use of static builder() method + } + + /** + * Braze REST API key + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Rows after this date will be synced + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Braze REST API endpoint + */ + public Builder url(String url) { + Utils.checkNotNull(url, "url"); + this.url = url; + return this; + } + + public SourceBraze build() { + return new SourceBraze( + apiKey, + startDate, + url); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"braze\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceCart.java b/src/main/java/com/airbyte/api/models/shared/SourceCart.java new file mode 100644 index 000000000..3cb54be0b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceCart.java @@ -0,0 +1,161 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceCart { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + @JsonProperty("sourceType") + private Cart sourceType; + + /** + * The date from which you'd like to replicate the data + */ + @JsonProperty("start_date") + private String startDate; + + public SourceCart( + @JsonProperty("credentials") Optional credentials, + @JsonProperty("start_date") String startDate) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(startDate, "startDate"); + this.credentials = credentials; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + public Optional credentials() { + return credentials; + } + + public Cart sourceType() { + return sourceType; + } + + /** + * The date from which you'd like to replicate the data + */ + public String startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceCart withCredentials(SourceCartAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public SourceCart withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The date from which you'd like to replicate the data + */ + public SourceCart withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceCart other = (SourceCart) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceCart.class, + "credentials", credentials, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private String startDate; + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(SourceCartAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The date from which you'd like to replicate the data + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceCart build() { + return new SourceCart( + credentials, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"cart\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceCartAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceCartAuthType.java new file mode 100644 index 000000000..aac109e1b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceCartAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceCartAuthType { + CENTRAL_API_ROUTER("CENTRAL_API_ROUTER"); + + @JsonValue + private final String value; + + private SourceCartAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceCartAuthorizationMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceCartAuthorizationMethod.java new file mode 100644 index 000000000..57b1248f1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceCartAuthorizationMethod.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceCartAuthorizationMethod._Deserializer.class) +public class SourceCartAuthorizationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceCartAuthorizationMethod(TypedObject value) { + this.value = value; + } + + public static SourceCartAuthorizationMethod of(CentralAPIRouter value) { + Utils.checkNotNull(value, "value"); + return new SourceCartAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceCartAuthorizationMethod of(SingleStoreAccessToken value) { + Utils.checkNotNull(value, "value"); + return new SourceCartAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code CentralAPIRouter}
    • + *
    • {@code SingleStoreAccessToken}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceCartAuthorizationMethod other = (SourceCartAuthorizationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceCartAuthorizationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceCartAuthorizationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceCartSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceCartSchemasAuthType.java new file mode 100644 index 000000000..a2e9030b5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceCartSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceCartSchemasAuthType { + SINGLE_STORE_ACCESS_TOKEN("SINGLE_STORE_ACCESS_TOKEN"); + + @JsonValue + private final String value; + + private SourceCartSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceChargebee.java b/src/main/java/com/airbyte/api/models/shared/SourceChargebee.java new file mode 100644 index 000000000..f75c46caf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceChargebee.java @@ -0,0 +1,271 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceChargebee { + + /** + * Product Catalog version of your Chargebee site. Instructions on how to find your version you may find <a href="https://apidocs.chargebee.com/docs/api?prod_cat_ver=2">here</a> under `API Version` section. If left blank, the product catalog version will be set to 2.0. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("product_catalog") + private Optional productCatalog; + + /** + * The site prefix for your Chargebee instance. + */ + @JsonProperty("site") + private String site; + + /** + * Chargebee API Key. See the <a href="https://docs.airbyte.com/integrations/sources/chargebee">docs</a> for more information on how to obtain this key. + */ + @JsonProperty("site_api_key") + private String siteApiKey; + + @JsonProperty("sourceType") + private Chargebee sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000Z. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + public SourceChargebee( + @JsonProperty("product_catalog") Optional productCatalog, + @JsonProperty("site") String site, + @JsonProperty("site_api_key") String siteApiKey, + @JsonProperty("start_date") OffsetDateTime startDate) { + Utils.checkNotNull(productCatalog, "productCatalog"); + Utils.checkNotNull(site, "site"); + Utils.checkNotNull(siteApiKey, "siteApiKey"); + Utils.checkNotNull(startDate, "startDate"); + this.productCatalog = productCatalog; + this.site = site; + this.siteApiKey = siteApiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Product Catalog version of your Chargebee site. Instructions on how to find your version you may find <a href="https://apidocs.chargebee.com/docs/api?prod_cat_ver=2">here</a> under `API Version` section. If left blank, the product catalog version will be set to 2.0. + */ + public Optional productCatalog() { + return productCatalog; + } + + /** + * The site prefix for your Chargebee instance. + */ + public String site() { + return site; + } + + /** + * Chargebee API Key. See the <a href="https://docs.airbyte.com/integrations/sources/chargebee">docs</a> for more information on how to obtain this key. + */ + public String siteApiKey() { + return siteApiKey; + } + + public Chargebee sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000Z. Any data before this date will not be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Product Catalog version of your Chargebee site. Instructions on how to find your version you may find <a href="https://apidocs.chargebee.com/docs/api?prod_cat_ver=2">here</a> under `API Version` section. If left blank, the product catalog version will be set to 2.0. + */ + public SourceChargebee withProductCatalog(ProductCatalog productCatalog) { + Utils.checkNotNull(productCatalog, "productCatalog"); + this.productCatalog = Optional.ofNullable(productCatalog); + return this; + } + + /** + * Product Catalog version of your Chargebee site. Instructions on how to find your version you may find <a href="https://apidocs.chargebee.com/docs/api?prod_cat_ver=2">here</a> under `API Version` section. If left blank, the product catalog version will be set to 2.0. + */ + public SourceChargebee withProductCatalog(Optional productCatalog) { + Utils.checkNotNull(productCatalog, "productCatalog"); + this.productCatalog = productCatalog; + return this; + } + + /** + * The site prefix for your Chargebee instance. + */ + public SourceChargebee withSite(String site) { + Utils.checkNotNull(site, "site"); + this.site = site; + return this; + } + + /** + * Chargebee API Key. See the <a href="https://docs.airbyte.com/integrations/sources/chargebee">docs</a> for more information on how to obtain this key. + */ + public SourceChargebee withSiteApiKey(String siteApiKey) { + Utils.checkNotNull(siteApiKey, "siteApiKey"); + this.siteApiKey = siteApiKey; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000Z. Any data before this date will not be replicated. + */ + public SourceChargebee withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceChargebee other = (SourceChargebee) o; + return + java.util.Objects.deepEquals(this.productCatalog, other.productCatalog) && + java.util.Objects.deepEquals(this.site, other.site) && + java.util.Objects.deepEquals(this.siteApiKey, other.siteApiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + productCatalog, + site, + siteApiKey, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceChargebee.class, + "productCatalog", productCatalog, + "site", site, + "siteApiKey", siteApiKey, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private Optional productCatalog; + + private String site; + + private String siteApiKey; + + private OffsetDateTime startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Product Catalog version of your Chargebee site. Instructions on how to find your version you may find <a href="https://apidocs.chargebee.com/docs/api?prod_cat_ver=2">here</a> under `API Version` section. If left blank, the product catalog version will be set to 2.0. + */ + public Builder productCatalog(ProductCatalog productCatalog) { + Utils.checkNotNull(productCatalog, "productCatalog"); + this.productCatalog = Optional.ofNullable(productCatalog); + return this; + } + + /** + * Product Catalog version of your Chargebee site. Instructions on how to find your version you may find <a href="https://apidocs.chargebee.com/docs/api?prod_cat_ver=2">here</a> under `API Version` section. If left blank, the product catalog version will be set to 2.0. + */ + public Builder productCatalog(Optional productCatalog) { + Utils.checkNotNull(productCatalog, "productCatalog"); + this.productCatalog = productCatalog; + return this; + } + + /** + * The site prefix for your Chargebee instance. + */ + public Builder site(String site) { + Utils.checkNotNull(site, "site"); + this.site = site; + return this; + } + + /** + * Chargebee API Key. See the <a href="https://docs.airbyte.com/integrations/sources/chargebee">docs</a> for more information on how to obtain this key. + */ + public Builder siteApiKey(String siteApiKey) { + Utils.checkNotNull(siteApiKey, "siteApiKey"); + this.siteApiKey = siteApiKey; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000Z. Any data before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceChargebee build() { + if (productCatalog == null) { + productCatalog = _SINGLETON_VALUE_ProductCatalog.value(); + } + return new SourceChargebee( + productCatalog, + site, + siteApiKey, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ProductCatalog = + new LazySingletonValue<>( + "product_catalog", + "\"2.0\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"chargebee\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceChartmogul.java b/src/main/java/com/airbyte/api/models/shared/SourceChartmogul.java new file mode 100644 index 000000000..4366b3e3e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceChartmogul.java @@ -0,0 +1,160 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; + + +public class SourceChartmogul { + + /** + * Your Chartmogul API key. See <a href="https://help.chartmogul.com/hc/en-us/articles/4407796325906-Creating-and-Managing-API-keys#creating-an-api-key"> the docs </a> for info on how to obtain this. + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private Chartmogul sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. When feasible, any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + public SourceChartmogul( + @JsonProperty("api_key") String apiKey, + @JsonProperty("start_date") OffsetDateTime startDate) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(startDate, "startDate"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Your Chartmogul API key. See <a href="https://help.chartmogul.com/hc/en-us/articles/4407796325906-Creating-and-Managing-API-keys#creating-an-api-key"> the docs </a> for info on how to obtain this. + */ + public String apiKey() { + return apiKey; + } + + public Chartmogul sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. When feasible, any data before this date will not be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your Chartmogul API key. See <a href="https://help.chartmogul.com/hc/en-us/articles/4407796325906-Creating-and-Managing-API-keys#creating-an-api-key"> the docs </a> for info on how to obtain this. + */ + public SourceChartmogul withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. When feasible, any data before this date will not be replicated. + */ + public SourceChartmogul withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceChartmogul other = (SourceChartmogul) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceChartmogul.class, + "apiKey", apiKey, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String apiKey; + + private OffsetDateTime startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Your Chartmogul API key. See <a href="https://help.chartmogul.com/hc/en-us/articles/4407796325906-Creating-and-Managing-API-keys#creating-an-api-key"> the docs </a> for info on how to obtain this. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. When feasible, any data before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceChartmogul build() { + return new SourceChartmogul( + apiKey, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"chartmogul\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceClickhouse.java b/src/main/java/com/airbyte/api/models/shared/SourceClickhouse.java new file mode 100644 index 000000000..c368f34e2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceClickhouse.java @@ -0,0 +1,445 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceClickhouse { + + /** + * The name of the database. + */ + @JsonProperty("database") + private String database; + + /** + * The host endpoint of the Clickhouse cluster. + */ + @JsonProperty("host") + private String host; + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (Eg. key1=value1&key2=value2&key3=value3). For more information read about <a href="https://jdbc.postgresql.org/documentation/head/connect.html">JDBC URL parameters</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("jdbc_url_params") + private Optional jdbcUrlParams; + + /** + * The password associated with this username. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("password") + private Optional password; + + /** + * The port of the database. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + @JsonProperty("sourceType") + private SourceClickhouseClickhouse sourceType; + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_method") + private Optional tunnelMethod; + + /** + * The username which is used to access the database. + */ + @JsonProperty("username") + private String username; + + public SourceClickhouse( + @JsonProperty("database") String database, + @JsonProperty("host") String host, + @JsonProperty("jdbc_url_params") Optional jdbcUrlParams, + @JsonProperty("password") Optional password, + @JsonProperty("port") Optional port, + @JsonProperty("tunnel_method") Optional tunnelMethod, + @JsonProperty("username") String username) { + Utils.checkNotNull(database, "database"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + Utils.checkNotNull(username, "username"); + this.database = database; + this.host = host; + this.jdbcUrlParams = jdbcUrlParams; + this.password = password; + this.port = port; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.tunnelMethod = tunnelMethod; + this.username = username; + } + + /** + * The name of the database. + */ + public String database() { + return database; + } + + /** + * The host endpoint of the Clickhouse cluster. + */ + public String host() { + return host; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (Eg. key1=value1&key2=value2&key3=value3). For more information read about <a href="https://jdbc.postgresql.org/documentation/head/connect.html">JDBC URL parameters</a>. + */ + public Optional jdbcUrlParams() { + return jdbcUrlParams; + } + + /** + * The password associated with this username. + */ + public Optional password() { + return password; + } + + /** + * The port of the database. + */ + public Optional port() { + return port; + } + + public SourceClickhouseClickhouse sourceType() { + return sourceType; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Optional tunnelMethod() { + return tunnelMethod; + } + + /** + * The username which is used to access the database. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The name of the database. + */ + public SourceClickhouse withDatabase(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * The host endpoint of the Clickhouse cluster. + */ + public SourceClickhouse withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (Eg. key1=value1&key2=value2&key3=value3). For more information read about <a href="https://jdbc.postgresql.org/documentation/head/connect.html">JDBC URL parameters</a>. + */ + public SourceClickhouse withJdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (Eg. key1=value1&key2=value2&key3=value3). For more information read about <a href="https://jdbc.postgresql.org/documentation/head/connect.html">JDBC URL parameters</a>. + */ + public SourceClickhouse withJdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * The password associated with this username. + */ + public SourceClickhouse withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * The password associated with this username. + */ + public SourceClickhouse withPassword(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * The port of the database. + */ + public SourceClickhouse withPort(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * The port of the database. + */ + public SourceClickhouse withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public SourceClickhouse withTunnelMethod(SourceClickhouseSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public SourceClickhouse withTunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * The username which is used to access the database. + */ + public SourceClickhouse withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceClickhouse other = (SourceClickhouse) o; + return + java.util.Objects.deepEquals(this.database, other.database) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.jdbcUrlParams, other.jdbcUrlParams) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + database, + host, + jdbcUrlParams, + password, + port, + sourceType, + tunnelMethod, + username); + } + + @Override + public String toString() { + return Utils.toString(SourceClickhouse.class, + "database", database, + "host", host, + "jdbcUrlParams", jdbcUrlParams, + "password", password, + "port", port, + "sourceType", sourceType, + "tunnelMethod", tunnelMethod, + "username", username); + } + + public final static class Builder { + + private String database; + + private String host; + + private Optional jdbcUrlParams = Optional.empty(); + + private Optional password = Optional.empty(); + + private Optional port; + + private Optional tunnelMethod = Optional.empty(); + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * The name of the database. + */ + public Builder database(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * The host endpoint of the Clickhouse cluster. + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (Eg. key1=value1&key2=value2&key3=value3). For more information read about <a href="https://jdbc.postgresql.org/documentation/head/connect.html">JDBC URL parameters</a>. + */ + public Builder jdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (Eg. key1=value1&key2=value2&key3=value3). For more information read about <a href="https://jdbc.postgresql.org/documentation/head/connect.html">JDBC URL parameters</a>. + */ + public Builder jdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * The password associated with this username. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * The password associated with this username. + */ + public Builder password(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * The port of the database. + */ + public Builder port(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * The port of the database. + */ + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(SourceClickhouseSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * The username which is used to access the database. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public SourceClickhouse build() { + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + return new SourceClickhouse( + database, + host, + jdbcUrlParams, + password, + port, + tunnelMethod, + username); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "8123", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"clickhouse\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceClickhouseClickhouse.java b/src/main/java/com/airbyte/api/models/shared/SourceClickhouseClickhouse.java new file mode 100644 index 000000000..2ed826ce5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceClickhouseClickhouse.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceClickhouseClickhouse { + CLICKHOUSE("clickhouse"); + + @JsonValue + private final String value; + + private SourceClickhouseClickhouse(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceClickhouseNoTunnel.java b/src/main/java/com/airbyte/api/models/shared/SourceClickhouseNoTunnel.java new file mode 100644 index 000000000..dca0c2fc9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceClickhouseNoTunnel.java @@ -0,0 +1,85 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceClickhouseNoTunnel { + + /** + * No ssh tunnel needed to connect to database + */ + @JsonProperty("tunnel_method") + private SourceClickhouseTunnelMethod tunnelMethod; + + public SourceClickhouseNoTunnel() { + + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + } + + /** + * No ssh tunnel needed to connect to database + */ + public SourceClickhouseTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceClickhouseNoTunnel other = (SourceClickhouseNoTunnel) o; + return + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelMethod); + } + + @Override + public String toString() { + return Utils.toString(SourceClickhouseNoTunnel.class, + "tunnelMethod", tunnelMethod); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceClickhouseNoTunnel build() { + return new SourceClickhouseNoTunnel( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"NO_TUNNEL\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceClickhousePasswordAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceClickhousePasswordAuthentication.java new file mode 100644 index 000000000..e28374950 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceClickhousePasswordAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceClickhousePasswordAuthentication { + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + @JsonProperty("tunnel_method") + private SourceClickhouseSchemasTunnelMethodTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + /** + * OS-level password for logging into the jump server host + */ + @JsonProperty("tunnel_user_password") + private String tunnelUserPassword; + + public SourceClickhousePasswordAuthentication( + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser, + @JsonProperty("tunnel_user_password") String tunnelUserPassword) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + this.tunnelUserPassword = tunnelUserPassword; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + public SourceClickhouseSchemasTunnelMethodTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host + */ + public String tunnelUser() { + return tunnelUser; + } + + /** + * OS-level password for logging into the jump server host + */ + public String tunnelUserPassword() { + return tunnelUserPassword; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public SourceClickhousePasswordAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourceClickhousePasswordAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourceClickhousePasswordAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public SourceClickhousePasswordAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public SourceClickhousePasswordAuthentication withTunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceClickhousePasswordAuthentication other = (SourceClickhousePasswordAuthentication) o; + return + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser) && + java.util.Objects.deepEquals(this.tunnelUserPassword, other.tunnelUserPassword); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + @Override + public String toString() { + return Utils.toString(SourceClickhousePasswordAuthentication.class, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser, + "tunnelUserPassword", tunnelUserPassword); + } + + public final static class Builder { + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private String tunnelUserPassword; + + private Builder() { + // force use of static builder() method + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public Builder tunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + public SourceClickhousePasswordAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new SourceClickhousePasswordAuthentication( + tunnelHost, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_PASSWORD_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceClickhouseSSHKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceClickhouseSSHKeyAuthentication.java new file mode 100644 index 000000000..15ae65e88 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceClickhouseSSHKeyAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceClickhouseSSHKeyAuthentication { + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + @JsonProperty("ssh_key") + private String sshKey; + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + @JsonProperty("tunnel_method") + private SourceClickhouseSchemasTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host. + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + public SourceClickhouseSSHKeyAuthentication( + @JsonProperty("ssh_key") String sshKey, + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser) { + Utils.checkNotNull(sshKey, "sshKey"); + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.sshKey = sshKey; + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public String sshKey() { + return sshKey; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + public SourceClickhouseSchemasTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host. + */ + public String tunnelUser() { + return tunnelUser; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public SourceClickhouseSSHKeyAuthentication withSshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public SourceClickhouseSSHKeyAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourceClickhouseSSHKeyAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourceClickhouseSSHKeyAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public SourceClickhouseSSHKeyAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceClickhouseSSHKeyAuthentication other = (SourceClickhouseSSHKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.sshKey, other.sshKey) && + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sshKey, + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser); + } + + @Override + public String toString() { + return Utils.toString(SourceClickhouseSSHKeyAuthentication.class, + "sshKey", sshKey, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser); + } + + public final static class Builder { + + private String sshKey; + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private Builder() { + // force use of static builder() method + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public Builder sshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + public SourceClickhouseSSHKeyAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new SourceClickhouseSSHKeyAuthentication( + sshKey, + tunnelHost, + tunnelPort, + tunnelUser); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_KEY_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceClickhouseSSHTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceClickhouseSSHTunnelMethod.java new file mode 100644 index 000000000..8688b15da --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceClickhouseSSHTunnelMethod.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceClickhouseSSHTunnelMethod - Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + +@JsonDeserialize(using = SourceClickhouseSSHTunnelMethod._Deserializer.class) +public class SourceClickhouseSSHTunnelMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceClickhouseSSHTunnelMethod(TypedObject value) { + this.value = value; + } + + public static SourceClickhouseSSHTunnelMethod of(SourceClickhouseNoTunnel value) { + Utils.checkNotNull(value, "value"); + return new SourceClickhouseSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceClickhouseSSHTunnelMethod of(SourceClickhouseSSHKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourceClickhouseSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceClickhouseSSHTunnelMethod of(SourceClickhousePasswordAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourceClickhouseSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceClickhouseNoTunnel}
    • + *
    • {@code SourceClickhouseSSHKeyAuthentication}
    • + *
    • {@code SourceClickhousePasswordAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceClickhouseSSHTunnelMethod other = (SourceClickhouseSSHTunnelMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceClickhouseSSHTunnelMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceClickhouseSSHTunnelMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceClickhouseSchemasTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceClickhouseSchemasTunnelMethod.java new file mode 100644 index 000000000..d8a240e60 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceClickhouseSchemasTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceClickhouseSchemasTunnelMethod - Connect through a jump server tunnel host using username and ssh key + */ +public enum SourceClickhouseSchemasTunnelMethod { + SSH_KEY_AUTH("SSH_KEY_AUTH"); + + @JsonValue + private final String value; + + private SourceClickhouseSchemasTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceClickhouseSchemasTunnelMethodTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceClickhouseSchemasTunnelMethodTunnelMethod.java new file mode 100644 index 000000000..62b67200c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceClickhouseSchemasTunnelMethodTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceClickhouseSchemasTunnelMethodTunnelMethod - Connect through a jump server tunnel host using username and password authentication + */ +public enum SourceClickhouseSchemasTunnelMethodTunnelMethod { + SSH_PASSWORD_AUTH("SSH_PASSWORD_AUTH"); + + @JsonValue + private final String value; + + private SourceClickhouseSchemasTunnelMethodTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceClickhouseTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceClickhouseTunnelMethod.java new file mode 100644 index 000000000..0bb4c403d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceClickhouseTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceClickhouseTunnelMethod - No ssh tunnel needed to connect to database + */ +public enum SourceClickhouseTunnelMethod { + NO_TUNNEL("NO_TUNNEL"); + + @JsonValue + private final String value; + + private SourceClickhouseTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceClickupApi.java b/src/main/java/com/airbyte/api/models/shared/SourceClickupApi.java new file mode 100644 index 000000000..eb6d905d0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceClickupApi.java @@ -0,0 +1,424 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceClickupApi { + + /** + * Every ClickUp API call required authentication. This field is your personal API token. See <a href="https://clickup.com/api/developer-portal/authentication/#personal-token">here</a>. + */ + @JsonProperty("api_token") + private String apiToken; + + /** + * The ID of your folder in your space. Retrieve it from the `/space/{space_id}/folder` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetFolders/">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("folder_id") + private Optional folderId; + + /** + * Include or exclude closed tasks. By default, they are excluded. See <a https://clickup.com/api/clickupreference/operation/GetTasks/#!in=query&path=include_closed&t=request">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("include_closed_tasks") + private Optional includeClosedTasks; + + /** + * The ID of your list in your folder. Retrieve it from the `/folder/{folder_id}/list` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetLists/">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("list_id") + private Optional listId; + + @JsonProperty("sourceType") + private ClickupApi sourceType; + + /** + * The ID of your space in your workspace. Retrieve it from the `/team/{team_id}/space` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetSpaces/">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("space_id") + private Optional spaceId; + + /** + * The ID of your team in ClickUp. Retrieve it from the `/team` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetAuthorizedTeams/">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("team_id") + private Optional teamId; + + public SourceClickupApi( + @JsonProperty("api_token") String apiToken, + @JsonProperty("folder_id") Optional folderId, + @JsonProperty("include_closed_tasks") Optional includeClosedTasks, + @JsonProperty("list_id") Optional listId, + @JsonProperty("space_id") Optional spaceId, + @JsonProperty("team_id") Optional teamId) { + Utils.checkNotNull(apiToken, "apiToken"); + Utils.checkNotNull(folderId, "folderId"); + Utils.checkNotNull(includeClosedTasks, "includeClosedTasks"); + Utils.checkNotNull(listId, "listId"); + Utils.checkNotNull(spaceId, "spaceId"); + Utils.checkNotNull(teamId, "teamId"); + this.apiToken = apiToken; + this.folderId = folderId; + this.includeClosedTasks = includeClosedTasks; + this.listId = listId; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.spaceId = spaceId; + this.teamId = teamId; + } + + /** + * Every ClickUp API call required authentication. This field is your personal API token. See <a href="https://clickup.com/api/developer-portal/authentication/#personal-token">here</a>. + */ + public String apiToken() { + return apiToken; + } + + /** + * The ID of your folder in your space. Retrieve it from the `/space/{space_id}/folder` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetFolders/">here</a>. + */ + public Optional folderId() { + return folderId; + } + + /** + * Include or exclude closed tasks. By default, they are excluded. See <a https://clickup.com/api/clickupreference/operation/GetTasks/#!in=query&path=include_closed&t=request">here</a>. + */ + public Optional includeClosedTasks() { + return includeClosedTasks; + } + + /** + * The ID of your list in your folder. Retrieve it from the `/folder/{folder_id}/list` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetLists/">here</a>. + */ + public Optional listId() { + return listId; + } + + public ClickupApi sourceType() { + return sourceType; + } + + /** + * The ID of your space in your workspace. Retrieve it from the `/team/{team_id}/space` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetSpaces/">here</a>. + */ + public Optional spaceId() { + return spaceId; + } + + /** + * The ID of your team in ClickUp. Retrieve it from the `/team` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetAuthorizedTeams/">here</a>. + */ + public Optional teamId() { + return teamId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Every ClickUp API call required authentication. This field is your personal API token. See <a href="https://clickup.com/api/developer-portal/authentication/#personal-token">here</a>. + */ + public SourceClickupApi withApiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + /** + * The ID of your folder in your space. Retrieve it from the `/space/{space_id}/folder` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetFolders/">here</a>. + */ + public SourceClickupApi withFolderId(String folderId) { + Utils.checkNotNull(folderId, "folderId"); + this.folderId = Optional.ofNullable(folderId); + return this; + } + + /** + * The ID of your folder in your space. Retrieve it from the `/space/{space_id}/folder` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetFolders/">here</a>. + */ + public SourceClickupApi withFolderId(Optional folderId) { + Utils.checkNotNull(folderId, "folderId"); + this.folderId = folderId; + return this; + } + + /** + * Include or exclude closed tasks. By default, they are excluded. See <a https://clickup.com/api/clickupreference/operation/GetTasks/#!in=query&path=include_closed&t=request">here</a>. + */ + public SourceClickupApi withIncludeClosedTasks(boolean includeClosedTasks) { + Utils.checkNotNull(includeClosedTasks, "includeClosedTasks"); + this.includeClosedTasks = Optional.ofNullable(includeClosedTasks); + return this; + } + + /** + * Include or exclude closed tasks. By default, they are excluded. See <a https://clickup.com/api/clickupreference/operation/GetTasks/#!in=query&path=include_closed&t=request">here</a>. + */ + public SourceClickupApi withIncludeClosedTasks(Optional includeClosedTasks) { + Utils.checkNotNull(includeClosedTasks, "includeClosedTasks"); + this.includeClosedTasks = includeClosedTasks; + return this; + } + + /** + * The ID of your list in your folder. Retrieve it from the `/folder/{folder_id}/list` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetLists/">here</a>. + */ + public SourceClickupApi withListId(String listId) { + Utils.checkNotNull(listId, "listId"); + this.listId = Optional.ofNullable(listId); + return this; + } + + /** + * The ID of your list in your folder. Retrieve it from the `/folder/{folder_id}/list` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetLists/">here</a>. + */ + public SourceClickupApi withListId(Optional listId) { + Utils.checkNotNull(listId, "listId"); + this.listId = listId; + return this; + } + + /** + * The ID of your space in your workspace. Retrieve it from the `/team/{team_id}/space` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetSpaces/">here</a>. + */ + public SourceClickupApi withSpaceId(String spaceId) { + Utils.checkNotNull(spaceId, "spaceId"); + this.spaceId = Optional.ofNullable(spaceId); + return this; + } + + /** + * The ID of your space in your workspace. Retrieve it from the `/team/{team_id}/space` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetSpaces/">here</a>. + */ + public SourceClickupApi withSpaceId(Optional spaceId) { + Utils.checkNotNull(spaceId, "spaceId"); + this.spaceId = spaceId; + return this; + } + + /** + * The ID of your team in ClickUp. Retrieve it from the `/team` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetAuthorizedTeams/">here</a>. + */ + public SourceClickupApi withTeamId(String teamId) { + Utils.checkNotNull(teamId, "teamId"); + this.teamId = Optional.ofNullable(teamId); + return this; + } + + /** + * The ID of your team in ClickUp. Retrieve it from the `/team` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetAuthorizedTeams/">here</a>. + */ + public SourceClickupApi withTeamId(Optional teamId) { + Utils.checkNotNull(teamId, "teamId"); + this.teamId = teamId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceClickupApi other = (SourceClickupApi) o; + return + java.util.Objects.deepEquals(this.apiToken, other.apiToken) && + java.util.Objects.deepEquals(this.folderId, other.folderId) && + java.util.Objects.deepEquals(this.includeClosedTasks, other.includeClosedTasks) && + java.util.Objects.deepEquals(this.listId, other.listId) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.spaceId, other.spaceId) && + java.util.Objects.deepEquals(this.teamId, other.teamId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiToken, + folderId, + includeClosedTasks, + listId, + sourceType, + spaceId, + teamId); + } + + @Override + public String toString() { + return Utils.toString(SourceClickupApi.class, + "apiToken", apiToken, + "folderId", folderId, + "includeClosedTasks", includeClosedTasks, + "listId", listId, + "sourceType", sourceType, + "spaceId", spaceId, + "teamId", teamId); + } + + public final static class Builder { + + private String apiToken; + + private Optional folderId = Optional.empty(); + + private Optional includeClosedTasks; + + private Optional listId = Optional.empty(); + + private Optional spaceId = Optional.empty(); + + private Optional teamId = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Every ClickUp API call required authentication. This field is your personal API token. See <a href="https://clickup.com/api/developer-portal/authentication/#personal-token">here</a>. + */ + public Builder apiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + /** + * The ID of your folder in your space. Retrieve it from the `/space/{space_id}/folder` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetFolders/">here</a>. + */ + public Builder folderId(String folderId) { + Utils.checkNotNull(folderId, "folderId"); + this.folderId = Optional.ofNullable(folderId); + return this; + } + + /** + * The ID of your folder in your space. Retrieve it from the `/space/{space_id}/folder` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetFolders/">here</a>. + */ + public Builder folderId(Optional folderId) { + Utils.checkNotNull(folderId, "folderId"); + this.folderId = folderId; + return this; + } + + /** + * Include or exclude closed tasks. By default, they are excluded. See <a https://clickup.com/api/clickupreference/operation/GetTasks/#!in=query&path=include_closed&t=request">here</a>. + */ + public Builder includeClosedTasks(boolean includeClosedTasks) { + Utils.checkNotNull(includeClosedTasks, "includeClosedTasks"); + this.includeClosedTasks = Optional.ofNullable(includeClosedTasks); + return this; + } + + /** + * Include or exclude closed tasks. By default, they are excluded. See <a https://clickup.com/api/clickupreference/operation/GetTasks/#!in=query&path=include_closed&t=request">here</a>. + */ + public Builder includeClosedTasks(Optional includeClosedTasks) { + Utils.checkNotNull(includeClosedTasks, "includeClosedTasks"); + this.includeClosedTasks = includeClosedTasks; + return this; + } + + /** + * The ID of your list in your folder. Retrieve it from the `/folder/{folder_id}/list` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetLists/">here</a>. + */ + public Builder listId(String listId) { + Utils.checkNotNull(listId, "listId"); + this.listId = Optional.ofNullable(listId); + return this; + } + + /** + * The ID of your list in your folder. Retrieve it from the `/folder/{folder_id}/list` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetLists/">here</a>. + */ + public Builder listId(Optional listId) { + Utils.checkNotNull(listId, "listId"); + this.listId = listId; + return this; + } + + /** + * The ID of your space in your workspace. Retrieve it from the `/team/{team_id}/space` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetSpaces/">here</a>. + */ + public Builder spaceId(String spaceId) { + Utils.checkNotNull(spaceId, "spaceId"); + this.spaceId = Optional.ofNullable(spaceId); + return this; + } + + /** + * The ID of your space in your workspace. Retrieve it from the `/team/{team_id}/space` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetSpaces/">here</a>. + */ + public Builder spaceId(Optional spaceId) { + Utils.checkNotNull(spaceId, "spaceId"); + this.spaceId = spaceId; + return this; + } + + /** + * The ID of your team in ClickUp. Retrieve it from the `/team` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetAuthorizedTeams/">here</a>. + */ + public Builder teamId(String teamId) { + Utils.checkNotNull(teamId, "teamId"); + this.teamId = Optional.ofNullable(teamId); + return this; + } + + /** + * The ID of your team in ClickUp. Retrieve it from the `/team` of the ClickUp API. See <a href="https://clickup.com/api/clickupreference/operation/GetAuthorizedTeams/">here</a>. + */ + public Builder teamId(Optional teamId) { + Utils.checkNotNull(teamId, "teamId"); + this.teamId = teamId; + return this; + } + + public SourceClickupApi build() { + if (includeClosedTasks == null) { + includeClosedTasks = _SINGLETON_VALUE_IncludeClosedTasks.value(); + } + return new SourceClickupApi( + apiToken, + folderId, + includeClosedTasks, + listId, + spaceId, + teamId); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_IncludeClosedTasks = + new LazySingletonValue<>( + "include_closed_tasks", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"clickup-api\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceClockify.java b/src/main/java/com/airbyte/api/models/shared/SourceClockify.java new file mode 100644 index 000000000..014d77a80 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceClockify.java @@ -0,0 +1,228 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceClockify { + + /** + * You can get your api access_key <a href="https://app.clockify.me/user/settings">here</a> This API is Case Sensitive. + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * The URL for the Clockify API. This should only need to be modified if connecting to an enterprise version of Clockify. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("api_url") + private Optional apiUrl; + + @JsonProperty("sourceType") + private Clockify sourceType; + + /** + * WorkSpace Id + */ + @JsonProperty("workspace_id") + private String workspaceId; + + public SourceClockify( + @JsonProperty("api_key") String apiKey, + @JsonProperty("api_url") Optional apiUrl, + @JsonProperty("workspace_id") String workspaceId) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(apiUrl, "apiUrl"); + Utils.checkNotNull(workspaceId, "workspaceId"); + this.apiKey = apiKey; + this.apiUrl = apiUrl; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.workspaceId = workspaceId; + } + + /** + * You can get your api access_key <a href="https://app.clockify.me/user/settings">here</a> This API is Case Sensitive. + */ + public String apiKey() { + return apiKey; + } + + /** + * The URL for the Clockify API. This should only need to be modified if connecting to an enterprise version of Clockify. + */ + public Optional apiUrl() { + return apiUrl; + } + + public Clockify sourceType() { + return sourceType; + } + + /** + * WorkSpace Id + */ + public String workspaceId() { + return workspaceId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * You can get your api access_key <a href="https://app.clockify.me/user/settings">here</a> This API is Case Sensitive. + */ + public SourceClockify withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The URL for the Clockify API. This should only need to be modified if connecting to an enterprise version of Clockify. + */ + public SourceClockify withApiUrl(String apiUrl) { + Utils.checkNotNull(apiUrl, "apiUrl"); + this.apiUrl = Optional.ofNullable(apiUrl); + return this; + } + + /** + * The URL for the Clockify API. This should only need to be modified if connecting to an enterprise version of Clockify. + */ + public SourceClockify withApiUrl(Optional apiUrl) { + Utils.checkNotNull(apiUrl, "apiUrl"); + this.apiUrl = apiUrl; + return this; + } + + /** + * WorkSpace Id + */ + public SourceClockify withWorkspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceClockify other = (SourceClockify) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.apiUrl, other.apiUrl) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.workspaceId, other.workspaceId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + apiUrl, + sourceType, + workspaceId); + } + + @Override + public String toString() { + return Utils.toString(SourceClockify.class, + "apiKey", apiKey, + "apiUrl", apiUrl, + "sourceType", sourceType, + "workspaceId", workspaceId); + } + + public final static class Builder { + + private String apiKey; + + private Optional apiUrl; + + private String workspaceId; + + private Builder() { + // force use of static builder() method + } + + /** + * You can get your api access_key <a href="https://app.clockify.me/user/settings">here</a> This API is Case Sensitive. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The URL for the Clockify API. This should only need to be modified if connecting to an enterprise version of Clockify. + */ + public Builder apiUrl(String apiUrl) { + Utils.checkNotNull(apiUrl, "apiUrl"); + this.apiUrl = Optional.ofNullable(apiUrl); + return this; + } + + /** + * The URL for the Clockify API. This should only need to be modified if connecting to an enterprise version of Clockify. + */ + public Builder apiUrl(Optional apiUrl) { + Utils.checkNotNull(apiUrl, "apiUrl"); + this.apiUrl = apiUrl; + return this; + } + + /** + * WorkSpace Id + */ + public Builder workspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + public SourceClockify build() { + if (apiUrl == null) { + apiUrl = _SINGLETON_VALUE_ApiUrl.value(); + } + return new SourceClockify( + apiKey, + apiUrl, + workspaceId); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ApiUrl = + new LazySingletonValue<>( + "api_url", + "\"https://api.clockify.me\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"clockify\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceCloseCom.java b/src/main/java/com/airbyte/api/models/shared/SourceCloseCom.java new file mode 100644 index 000000000..ce9a45932 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceCloseCom.java @@ -0,0 +1,189 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceCloseCom { + + /** + * Close.com API key (usually starts with 'api_'; find yours <a href="https://app.close.com/settings/api/">here</a>). + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private CloseCom sourceType; + + /** + * The start date to sync data; all data after this date will be replicated. Leave blank to retrieve all the data available in the account. Format: YYYY-MM-DD. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceCloseCom( + @JsonProperty("api_key") String apiKey, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(startDate, "startDate"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Close.com API key (usually starts with 'api_'; find yours <a href="https://app.close.com/settings/api/">here</a>). + */ + public String apiKey() { + return apiKey; + } + + public CloseCom sourceType() { + return sourceType; + } + + /** + * The start date to sync data; all data after this date will be replicated. Leave blank to retrieve all the data available in the account. Format: YYYY-MM-DD. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Close.com API key (usually starts with 'api_'; find yours <a href="https://app.close.com/settings/api/">here</a>). + */ + public SourceCloseCom withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The start date to sync data; all data after this date will be replicated. Leave blank to retrieve all the data available in the account. Format: YYYY-MM-DD. + */ + public SourceCloseCom withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The start date to sync data; all data after this date will be replicated. Leave blank to retrieve all the data available in the account. Format: YYYY-MM-DD. + */ + public SourceCloseCom withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceCloseCom other = (SourceCloseCom) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceCloseCom.class, + "apiKey", apiKey, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String apiKey; + + private Optional startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Close.com API key (usually starts with 'api_'; find yours <a href="https://app.close.com/settings/api/">here</a>). + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The start date to sync data; all data after this date will be replicated. Leave blank to retrieve all the data available in the account. Format: YYYY-MM-DD. + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The start date to sync data; all data after this date will be replicated. Leave blank to retrieve all the data available in the account. Format: YYYY-MM-DD. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceCloseCom build() { + if (startDate == null) { + startDate = _SINGLETON_VALUE_StartDate.value(); + } + return new SourceCloseCom( + apiKey, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"close-com\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_StartDate = + new LazySingletonValue<>( + "start_date", + "\"2021-01-01\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceCoda.java b/src/main/java/com/airbyte/api/models/shared/SourceCoda.java new file mode 100644 index 000000000..f44496158 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceCoda.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceCoda { + + /** + * Bearer token + */ + @JsonProperty("auth_token") + private String authToken; + + @JsonProperty("sourceType") + private Coda sourceType; + + public SourceCoda( + @JsonProperty("auth_token") String authToken) { + Utils.checkNotNull(authToken, "authToken"); + this.authToken = authToken; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Bearer token + */ + public String authToken() { + return authToken; + } + + public Coda sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Bearer token + */ + public SourceCoda withAuthToken(String authToken) { + Utils.checkNotNull(authToken, "authToken"); + this.authToken = authToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceCoda other = (SourceCoda) o; + return + java.util.Objects.deepEquals(this.authToken, other.authToken) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authToken, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceCoda.class, + "authToken", authToken, + "sourceType", sourceType); + } + + public final static class Builder { + + private String authToken; + + private Builder() { + // force use of static builder() method + } + + /** + * Bearer token + */ + public Builder authToken(String authToken) { + Utils.checkNotNull(authToken, "authToken"); + this.authToken = authToken; + return this; + } + + public SourceCoda build() { + return new SourceCoda( + authToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"coda\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceCoinApi.java b/src/main/java/com/airbyte/api/models/shared/SourceCoinApi.java new file mode 100644 index 000000000..dd9a98242 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceCoinApi.java @@ -0,0 +1,485 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceCoinApi { + + /** + * API Key + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * The end date in ISO 8601 format. If not supplied, data will be returned + * from the start date to the current time, or when the count of result + * elements reaches its limit. + * + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + /** + * The environment to use. Either sandbox or production. + * + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("environment") + private Optional environment; + + /** + * The maximum number of elements to return. If not supplied, the default + * is 100. For numbers larger than 100, each 100 items is counted as one + * request for pricing purposes. Maximum value is 100000. + * + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("limit") + private Optional limit; + + /** + * The period to use. See the documentation for a list. https://docs.coinapi.io/#list-all-periods-get + */ + @JsonProperty("period") + private String period; + + @JsonProperty("sourceType") + private CoinApi sourceType; + + /** + * The start date in ISO 8601 format. + */ + @JsonProperty("start_date") + private String startDate; + + /** + * The symbol ID to use. See the documentation for a list. + * https://docs.coinapi.io/#list-all-symbols-get + * + */ + @JsonProperty("symbol_id") + private String symbolId; + + public SourceCoinApi( + @JsonProperty("api_key") String apiKey, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("environment") Optional environment, + @JsonProperty("limit") Optional limit, + @JsonProperty("period") String period, + @JsonProperty("start_date") String startDate, + @JsonProperty("symbol_id") String symbolId) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(environment, "environment"); + Utils.checkNotNull(limit, "limit"); + Utils.checkNotNull(period, "period"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(symbolId, "symbolId"); + this.apiKey = apiKey; + this.endDate = endDate; + this.environment = environment; + this.limit = limit; + this.period = period; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.symbolId = symbolId; + } + + /** + * API Key + */ + public String apiKey() { + return apiKey; + } + + /** + * The end date in ISO 8601 format. If not supplied, data will be returned + * from the start date to the current time, or when the count of result + * elements reaches its limit. + * + */ + public Optional endDate() { + return endDate; + } + + /** + * The environment to use. Either sandbox or production. + * + */ + public Optional environment() { + return environment; + } + + /** + * The maximum number of elements to return. If not supplied, the default + * is 100. For numbers larger than 100, each 100 items is counted as one + * request for pricing purposes. Maximum value is 100000. + * + */ + public Optional limit() { + return limit; + } + + /** + * The period to use. See the documentation for a list. https://docs.coinapi.io/#list-all-periods-get + */ + public String period() { + return period; + } + + public CoinApi sourceType() { + return sourceType; + } + + /** + * The start date in ISO 8601 format. + */ + public String startDate() { + return startDate; + } + + /** + * The symbol ID to use. See the documentation for a list. + * https://docs.coinapi.io/#list-all-symbols-get + * + */ + public String symbolId() { + return symbolId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Key + */ + public SourceCoinApi withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The end date in ISO 8601 format. If not supplied, data will be returned + * from the start date to the current time, or when the count of result + * elements reaches its limit. + * + */ + public SourceCoinApi withEndDate(String endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * The end date in ISO 8601 format. If not supplied, data will be returned + * from the start date to the current time, or when the count of result + * elements reaches its limit. + * + */ + public SourceCoinApi withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * The environment to use. Either sandbox or production. + * + */ + public SourceCoinApi withEnvironment(Environment environment) { + Utils.checkNotNull(environment, "environment"); + this.environment = Optional.ofNullable(environment); + return this; + } + + /** + * The environment to use. Either sandbox or production. + * + */ + public SourceCoinApi withEnvironment(Optional environment) { + Utils.checkNotNull(environment, "environment"); + this.environment = environment; + return this; + } + + /** + * The maximum number of elements to return. If not supplied, the default + * is 100. For numbers larger than 100, each 100 items is counted as one + * request for pricing purposes. Maximum value is 100000. + * + */ + public SourceCoinApi withLimit(long limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = Optional.ofNullable(limit); + return this; + } + + /** + * The maximum number of elements to return. If not supplied, the default + * is 100. For numbers larger than 100, each 100 items is counted as one + * request for pricing purposes. Maximum value is 100000. + * + */ + public SourceCoinApi withLimit(Optional limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = limit; + return this; + } + + /** + * The period to use. See the documentation for a list. https://docs.coinapi.io/#list-all-periods-get + */ + public SourceCoinApi withPeriod(String period) { + Utils.checkNotNull(period, "period"); + this.period = period; + return this; + } + + /** + * The start date in ISO 8601 format. + */ + public SourceCoinApi withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * The symbol ID to use. See the documentation for a list. + * https://docs.coinapi.io/#list-all-symbols-get + * + */ + public SourceCoinApi withSymbolId(String symbolId) { + Utils.checkNotNull(symbolId, "symbolId"); + this.symbolId = symbolId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceCoinApi other = (SourceCoinApi) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.environment, other.environment) && + java.util.Objects.deepEquals(this.limit, other.limit) && + java.util.Objects.deepEquals(this.period, other.period) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.symbolId, other.symbolId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + endDate, + environment, + limit, + period, + sourceType, + startDate, + symbolId); + } + + @Override + public String toString() { + return Utils.toString(SourceCoinApi.class, + "apiKey", apiKey, + "endDate", endDate, + "environment", environment, + "limit", limit, + "period", period, + "sourceType", sourceType, + "startDate", startDate, + "symbolId", symbolId); + } + + public final static class Builder { + + private String apiKey; + + private Optional endDate = Optional.empty(); + + private Optional environment; + + private Optional limit; + + private String period; + + private String startDate; + + private String symbolId; + + private Builder() { + // force use of static builder() method + } + + /** + * API Key + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The end date in ISO 8601 format. If not supplied, data will be returned + * from the start date to the current time, or when the count of result + * elements reaches its limit. + * + */ + public Builder endDate(String endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * The end date in ISO 8601 format. If not supplied, data will be returned + * from the start date to the current time, or when the count of result + * elements reaches its limit. + * + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * The environment to use. Either sandbox or production. + * + */ + public Builder environment(Environment environment) { + Utils.checkNotNull(environment, "environment"); + this.environment = Optional.ofNullable(environment); + return this; + } + + /** + * The environment to use. Either sandbox or production. + * + */ + public Builder environment(Optional environment) { + Utils.checkNotNull(environment, "environment"); + this.environment = environment; + return this; + } + + /** + * The maximum number of elements to return. If not supplied, the default + * is 100. For numbers larger than 100, each 100 items is counted as one + * request for pricing purposes. Maximum value is 100000. + * + */ + public Builder limit(long limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = Optional.ofNullable(limit); + return this; + } + + /** + * The maximum number of elements to return. If not supplied, the default + * is 100. For numbers larger than 100, each 100 items is counted as one + * request for pricing purposes. Maximum value is 100000. + * + */ + public Builder limit(Optional limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = limit; + return this; + } + + /** + * The period to use. See the documentation for a list. https://docs.coinapi.io/#list-all-periods-get + */ + public Builder period(String period) { + Utils.checkNotNull(period, "period"); + this.period = period; + return this; + } + + /** + * The start date in ISO 8601 format. + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * The symbol ID to use. See the documentation for a list. + * https://docs.coinapi.io/#list-all-symbols-get + * + */ + public Builder symbolId(String symbolId) { + Utils.checkNotNull(symbolId, "symbolId"); + this.symbolId = symbolId; + return this; + } + + public SourceCoinApi build() { + if (environment == null) { + environment = _SINGLETON_VALUE_Environment.value(); + } + if (limit == null) { + limit = _SINGLETON_VALUE_Limit.value(); + } + return new SourceCoinApi( + apiKey, + endDate, + environment, + limit, + period, + startDate, + symbolId); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Environment = + new LazySingletonValue<>( + "environment", + "\"sandbox\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Limit = + new LazySingletonValue<>( + "limit", + "100", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"coin-api\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceCoinmarketcap.java b/src/main/java/com/airbyte/api/models/shared/SourceCoinmarketcap.java new file mode 100644 index 000000000..f0535010e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceCoinmarketcap.java @@ -0,0 +1,219 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceCoinmarketcap { + + /** + * Your API Key. See <a href="https://coinmarketcap.com/api/documentation/v1/#section/Authentication">here</a>. The token is case sensitive. + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * /latest: Latest market ticker quotes and averages for cryptocurrencies and exchanges. /historical: Intervals of historic market data like OHLCV data or data for use in charting libraries. See <a href="https://coinmarketcap.com/api/documentation/v1/#section/Endpoint-Overview">here</a>. + */ + @JsonProperty("data_type") + private DataType dataType; + + @JsonProperty("sourceType") + private Coinmarketcap sourceType; + + /** + * Cryptocurrency symbols. (only used for quotes stream) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("symbols") + private Optional> symbols; + + public SourceCoinmarketcap( + @JsonProperty("api_key") String apiKey, + @JsonProperty("data_type") DataType dataType, + @JsonProperty("symbols") Optional> symbols) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(dataType, "dataType"); + Utils.checkNotNull(symbols, "symbols"); + this.apiKey = apiKey; + this.dataType = dataType; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.symbols = symbols; + } + + /** + * Your API Key. See <a href="https://coinmarketcap.com/api/documentation/v1/#section/Authentication">here</a>. The token is case sensitive. + */ + public String apiKey() { + return apiKey; + } + + /** + * /latest: Latest market ticker quotes and averages for cryptocurrencies and exchanges. /historical: Intervals of historic market data like OHLCV data or data for use in charting libraries. See <a href="https://coinmarketcap.com/api/documentation/v1/#section/Endpoint-Overview">here</a>. + */ + public DataType dataType() { + return dataType; + } + + public Coinmarketcap sourceType() { + return sourceType; + } + + /** + * Cryptocurrency symbols. (only used for quotes stream) + */ + public Optional> symbols() { + return symbols; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your API Key. See <a href="https://coinmarketcap.com/api/documentation/v1/#section/Authentication">here</a>. The token is case sensitive. + */ + public SourceCoinmarketcap withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * /latest: Latest market ticker quotes and averages for cryptocurrencies and exchanges. /historical: Intervals of historic market data like OHLCV data or data for use in charting libraries. See <a href="https://coinmarketcap.com/api/documentation/v1/#section/Endpoint-Overview">here</a>. + */ + public SourceCoinmarketcap withDataType(DataType dataType) { + Utils.checkNotNull(dataType, "dataType"); + this.dataType = dataType; + return this; + } + + /** + * Cryptocurrency symbols. (only used for quotes stream) + */ + public SourceCoinmarketcap withSymbols(java.util.List symbols) { + Utils.checkNotNull(symbols, "symbols"); + this.symbols = Optional.ofNullable(symbols); + return this; + } + + /** + * Cryptocurrency symbols. (only used for quotes stream) + */ + public SourceCoinmarketcap withSymbols(Optional> symbols) { + Utils.checkNotNull(symbols, "symbols"); + this.symbols = symbols; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceCoinmarketcap other = (SourceCoinmarketcap) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.dataType, other.dataType) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.symbols, other.symbols); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + dataType, + sourceType, + symbols); + } + + @Override + public String toString() { + return Utils.toString(SourceCoinmarketcap.class, + "apiKey", apiKey, + "dataType", dataType, + "sourceType", sourceType, + "symbols", symbols); + } + + public final static class Builder { + + private String apiKey; + + private DataType dataType; + + private Optional> symbols = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Your API Key. See <a href="https://coinmarketcap.com/api/documentation/v1/#section/Authentication">here</a>. The token is case sensitive. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * /latest: Latest market ticker quotes and averages for cryptocurrencies and exchanges. /historical: Intervals of historic market data like OHLCV data or data for use in charting libraries. See <a href="https://coinmarketcap.com/api/documentation/v1/#section/Endpoint-Overview">here</a>. + */ + public Builder dataType(DataType dataType) { + Utils.checkNotNull(dataType, "dataType"); + this.dataType = dataType; + return this; + } + + /** + * Cryptocurrency symbols. (only used for quotes stream) + */ + public Builder symbols(java.util.List symbols) { + Utils.checkNotNull(symbols, "symbols"); + this.symbols = Optional.ofNullable(symbols); + return this; + } + + /** + * Cryptocurrency symbols. (only used for quotes stream) + */ + public Builder symbols(Optional> symbols) { + Utils.checkNotNull(symbols, "symbols"); + this.symbols = symbols; + return this; + } + + public SourceCoinmarketcap build() { + return new SourceCoinmarketcap( + apiKey, + dataType, + symbols); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"coinmarketcap\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceConfigcat.java b/src/main/java/com/airbyte/api/models/shared/SourceConfigcat.java new file mode 100644 index 000000000..3a2203e06 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceConfigcat.java @@ -0,0 +1,157 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceConfigcat { + + /** + * Basic auth password. See <a href="https://api.configcat.com/docs/#section/Authentication">here</a>. + */ + @JsonProperty("password") + private String password; + + @JsonProperty("sourceType") + private Configcat sourceType; + + /** + * Basic auth user name. See <a href="https://api.configcat.com/docs/#section/Authentication">here</a>. + */ + @JsonProperty("username") + private String username; + + public SourceConfigcat( + @JsonProperty("password") String password, + @JsonProperty("username") String username) { + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(username, "username"); + this.password = password; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.username = username; + } + + /** + * Basic auth password. See <a href="https://api.configcat.com/docs/#section/Authentication">here</a>. + */ + public String password() { + return password; + } + + public Configcat sourceType() { + return sourceType; + } + + /** + * Basic auth user name. See <a href="https://api.configcat.com/docs/#section/Authentication">here</a>. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Basic auth password. See <a href="https://api.configcat.com/docs/#section/Authentication">here</a>. + */ + public SourceConfigcat withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Basic auth user name. See <a href="https://api.configcat.com/docs/#section/Authentication">here</a>. + */ + public SourceConfigcat withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceConfigcat other = (SourceConfigcat) o; + return + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + password, + sourceType, + username); + } + + @Override + public String toString() { + return Utils.toString(SourceConfigcat.class, + "password", password, + "sourceType", sourceType, + "username", username); + } + + public final static class Builder { + + private String password; + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Basic auth password. See <a href="https://api.configcat.com/docs/#section/Authentication">here</a>. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Basic auth user name. See <a href="https://api.configcat.com/docs/#section/Authentication">here</a>. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public SourceConfigcat build() { + return new SourceConfigcat( + password, + username); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"configcat\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceConfiguration.java b/src/main/java/com/airbyte/api/models/shared/SourceConfiguration.java new file mode 100644 index 000000000..6318a6021 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceConfiguration.java @@ -0,0 +1,1452 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceConfiguration - The values required to configure the source. + */ + +@JsonDeserialize(using = SourceConfiguration._Deserializer.class) +public class SourceConfiguration { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceConfiguration(TypedObject value) { + this.value = value; + } + + public static SourceConfiguration of(SourceAha value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceAircall value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceAirtable value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceAmazonAds value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceAmazonSellerPartner value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceAmazonSqs value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceAmplitude value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceApifyDataset value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceAppfollow value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceAsana value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceAuth0 value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceAwsCloudtrail value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceAzureBlobStorage value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceAzureTable value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceBambooHr value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceBigquery value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceBingAds value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceBraintree value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceBraze value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceCart value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceChargebee value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceChartmogul value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceClickhouse value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceClickupApi value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceClockify value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceCloseCom value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceCoda value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceCoinApi value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceCoinmarketcap value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceConfigcat value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceConfluence value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceConvex value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceDatascope value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceDelighted value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceDixa value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceDockerhub value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceDremio value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceDynamodb value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceE2eTestCloud value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceEmailoctopus value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceExchangeRates value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceFacebookMarketing value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceFaker value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceFauna value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceFile value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceFirebolt value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceFreshcaller value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceFreshdesk value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceFreshsales value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceGainsightPx value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceGcs value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceGetlago value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceGithub value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceGitlab value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceGlassfrog value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceGnews value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceGoogleAds value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceGoogleAnalyticsDataApi value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceGoogleAnalyticsV4ServiceAccountOnly value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceGoogleDirectory value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceGoogleDrive value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceGooglePagespeedInsights value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceGoogleSearchConsole value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceGoogleSheets value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceGoogleWebfonts value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceGreenhouse value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceGridly value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceHarvest value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceHubplanner value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceHubspot value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceInsightly value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceInstagram value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceInstatus value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceIntercom value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceIp2whois value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceIterable value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceJira value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceK6Cloud value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceKlarna value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceKlaviyo value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceKyve value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceLaunchdarkly value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceLemlist value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceLeverHiring value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceLinkedinAds value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceLinkedinPages value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceLinnworks value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceLokalise value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceMailchimp value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceMailgun value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceMailjetSms value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceMarketo value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceMetabase value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceMicrosoftOnedrive value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceMicrosoftSharepoint value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceMicrosoftTeams value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceMixpanel value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceMonday value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceMongodbInternalPoc value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceMongodbV2 value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceMssql value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceMyHours value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceMysql value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceNetsuite value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceNotion value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceNytimes value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceOkta value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceOmnisend value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceOnesignal value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceOracle value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceOrb value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceOrbit value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceOutbrainAmplify value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceOutreach value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourcePaypalTransaction value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourcePaystack value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourcePendo value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourcePersistiq value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourcePexelsApi value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourcePinterest value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourcePipedrive value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourcePocket value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourcePokeapi value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourcePolygonStockApi value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourcePostgres value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourcePosthog value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourcePostmarkapp value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourcePrestashop value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourcePunkApi value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourcePypi value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceQualaroo value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceQuickbooks value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceRailz value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceRecharge value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceRecreation value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceRecruitee value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceRecurly value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceRedshift value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceRetently value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceRkiCovid value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceRss value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceS3 value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSalesforce value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSalesloft value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSapFieldglass value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSecoda value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSendgrid value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSendinblue value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSenseforce value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSentry value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSftp value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSftpBulk value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceShopify value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceShortio value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSlack value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSmaily value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSmartengage value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSmartsheets value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSnapchatMarketing value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSnowflake value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSonarCloud value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSpacexApi value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSquare value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceStrava value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceStripe value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSurveySparrow value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceSurveymonkey value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceTempo value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceTheGuardianApi value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceTiktokMarketing value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceTrello value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceTrustpilot value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceTvmazeSchedule value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceTwilio value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceTwilioTaskrouter value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceTwitter value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceTypeform value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceUsCensus value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceVantage value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceWebflow value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceWhiskyHunter value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceWikipediaPageviews value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceWoocommerce value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceXkcd value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceYandexMetrica value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceYotpo value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceYoutubeAnalytics value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceZendeskChat value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceZendeskSell value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceZendeskSunshine value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceZendeskSupport value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceZendeskTalk value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceZenloop value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceZohoCrm value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceConfiguration of(SourceZoom value) { + Utils.checkNotNull(value, "value"); + return new SourceConfiguration(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceAha}
    • + *
    • {@code SourceAircall}
    • + *
    • {@code SourceAirtable}
    • + *
    • {@code SourceAmazonAds}
    • + *
    • {@code SourceAmazonSellerPartner}
    • + *
    • {@code SourceAmazonSqs}
    • + *
    • {@code SourceAmplitude}
    • + *
    • {@code SourceApifyDataset}
    • + *
    • {@code SourceAppfollow}
    • + *
    • {@code SourceAsana}
    • + *
    • {@code SourceAuth0}
    • + *
    • {@code SourceAwsCloudtrail}
    • + *
    • {@code SourceAzureBlobStorage}
    • + *
    • {@code SourceAzureTable}
    • + *
    • {@code SourceBambooHr}
    • + *
    • {@code SourceBigquery}
    • + *
    • {@code SourceBingAds}
    • + *
    • {@code SourceBraintree}
    • + *
    • {@code SourceBraze}
    • + *
    • {@code SourceCart}
    • + *
    • {@code SourceChargebee}
    • + *
    • {@code SourceChartmogul}
    • + *
    • {@code SourceClickhouse}
    • + *
    • {@code SourceClickupApi}
    • + *
    • {@code SourceClockify}
    • + *
    • {@code SourceCloseCom}
    • + *
    • {@code SourceCoda}
    • + *
    • {@code SourceCoinApi}
    • + *
    • {@code SourceCoinmarketcap}
    • + *
    • {@code SourceConfigcat}
    • + *
    • {@code SourceConfluence}
    • + *
    • {@code SourceConvex}
    • + *
    • {@code SourceDatascope}
    • + *
    • {@code SourceDelighted}
    • + *
    • {@code SourceDixa}
    • + *
    • {@code SourceDockerhub}
    • + *
    • {@code SourceDremio}
    • + *
    • {@code SourceDynamodb}
    • + *
    • {@code SourceE2eTestCloud}
    • + *
    • {@code SourceEmailoctopus}
    • + *
    • {@code SourceExchangeRates}
    • + *
    • {@code SourceFacebookMarketing}
    • + *
    • {@code SourceFaker}
    • + *
    • {@code SourceFauna}
    • + *
    • {@code SourceFile}
    • + *
    • {@code SourceFirebolt}
    • + *
    • {@code SourceFreshcaller}
    • + *
    • {@code SourceFreshdesk}
    • + *
    • {@code SourceFreshsales}
    • + *
    • {@code SourceGainsightPx}
    • + *
    • {@code SourceGcs}
    • + *
    • {@code SourceGetlago}
    • + *
    • {@code SourceGithub}
    • + *
    • {@code SourceGitlab}
    • + *
    • {@code SourceGlassfrog}
    • + *
    • {@code SourceGnews}
    • + *
    • {@code SourceGoogleAds}
    • + *
    • {@code SourceGoogleAnalyticsDataApi}
    • + *
    • {@code SourceGoogleAnalyticsV4ServiceAccountOnly}
    • + *
    • {@code SourceGoogleDirectory}
    • + *
    • {@code SourceGoogleDrive}
    • + *
    • {@code SourceGooglePagespeedInsights}
    • + *
    • {@code SourceGoogleSearchConsole}
    • + *
    • {@code SourceGoogleSheets}
    • + *
    • {@code SourceGoogleWebfonts}
    • + *
    • {@code SourceGreenhouse}
    • + *
    • {@code SourceGridly}
    • + *
    • {@code SourceHarvest}
    • + *
    • {@code SourceHubplanner}
    • + *
    • {@code SourceHubspot}
    • + *
    • {@code SourceInsightly}
    • + *
    • {@code SourceInstagram}
    • + *
    • {@code SourceInstatus}
    • + *
    • {@code SourceIntercom}
    • + *
    • {@code SourceIp2whois}
    • + *
    • {@code SourceIterable}
    • + *
    • {@code SourceJira}
    • + *
    • {@code SourceK6Cloud}
    • + *
    • {@code SourceKlarna}
    • + *
    • {@code SourceKlaviyo}
    • + *
    • {@code SourceKyve}
    • + *
    • {@code SourceLaunchdarkly}
    • + *
    • {@code SourceLemlist}
    • + *
    • {@code SourceLeverHiring}
    • + *
    • {@code SourceLinkedinAds}
    • + *
    • {@code SourceLinkedinPages}
    • + *
    • {@code SourceLinnworks}
    • + *
    • {@code SourceLokalise}
    • + *
    • {@code SourceMailchimp}
    • + *
    • {@code SourceMailgun}
    • + *
    • {@code SourceMailjetSms}
    • + *
    • {@code SourceMarketo}
    • + *
    • {@code SourceMetabase}
    • + *
    • {@code SourceMicrosoftOnedrive}
    • + *
    • {@code SourceMicrosoftSharepoint}
    • + *
    • {@code SourceMicrosoftTeams}
    • + *
    • {@code SourceMixpanel}
    • + *
    • {@code SourceMonday}
    • + *
    • {@code SourceMongodbInternalPoc}
    • + *
    • {@code SourceMongodbV2}
    • + *
    • {@code SourceMssql}
    • + *
    • {@code SourceMyHours}
    • + *
    • {@code SourceMysql}
    • + *
    • {@code SourceNetsuite}
    • + *
    • {@code SourceNotion}
    • + *
    • {@code SourceNytimes}
    • + *
    • {@code SourceOkta}
    • + *
    • {@code SourceOmnisend}
    • + *
    • {@code SourceOnesignal}
    • + *
    • {@code SourceOracle}
    • + *
    • {@code SourceOrb}
    • + *
    • {@code SourceOrbit}
    • + *
    • {@code SourceOutbrainAmplify}
    • + *
    • {@code SourceOutreach}
    • + *
    • {@code SourcePaypalTransaction}
    • + *
    • {@code SourcePaystack}
    • + *
    • {@code SourcePendo}
    • + *
    • {@code SourcePersistiq}
    • + *
    • {@code SourcePexelsApi}
    • + *
    • {@code SourcePinterest}
    • + *
    • {@code SourcePipedrive}
    • + *
    • {@code SourcePocket}
    • + *
    • {@code SourcePokeapi}
    • + *
    • {@code SourcePolygonStockApi}
    • + *
    • {@code SourcePostgres}
    • + *
    • {@code SourcePosthog}
    • + *
    • {@code SourcePostmarkapp}
    • + *
    • {@code SourcePrestashop}
    • + *
    • {@code SourcePunkApi}
    • + *
    • {@code SourcePypi}
    • + *
    • {@code SourceQualaroo}
    • + *
    • {@code SourceQuickbooks}
    • + *
    • {@code SourceRailz}
    • + *
    • {@code SourceRecharge}
    • + *
    • {@code SourceRecreation}
    • + *
    • {@code SourceRecruitee}
    • + *
    • {@code SourceRecurly}
    • + *
    • {@code SourceRedshift}
    • + *
    • {@code SourceRetently}
    • + *
    • {@code SourceRkiCovid}
    • + *
    • {@code SourceRss}
    • + *
    • {@code SourceS3}
    • + *
    • {@code SourceSalesforce}
    • + *
    • {@code SourceSalesloft}
    • + *
    • {@code SourceSapFieldglass}
    • + *
    • {@code SourceSecoda}
    • + *
    • {@code SourceSendgrid}
    • + *
    • {@code SourceSendinblue}
    • + *
    • {@code SourceSenseforce}
    • + *
    • {@code SourceSentry}
    • + *
    • {@code SourceSftp}
    • + *
    • {@code SourceSftpBulk}
    • + *
    • {@code SourceShopify}
    • + *
    • {@code SourceShortio}
    • + *
    • {@code SourceSlack}
    • + *
    • {@code SourceSmaily}
    • + *
    • {@code SourceSmartengage}
    • + *
    • {@code SourceSmartsheets}
    • + *
    • {@code SourceSnapchatMarketing}
    • + *
    • {@code SourceSnowflake}
    • + *
    • {@code SourceSonarCloud}
    • + *
    • {@code SourceSpacexApi}
    • + *
    • {@code SourceSquare}
    • + *
    • {@code SourceStrava}
    • + *
    • {@code SourceStripe}
    • + *
    • {@code SourceSurveySparrow}
    • + *
    • {@code SourceSurveymonkey}
    • + *
    • {@code SourceTempo}
    • + *
    • {@code SourceTheGuardianApi}
    • + *
    • {@code SourceTiktokMarketing}
    • + *
    • {@code SourceTrello}
    • + *
    • {@code SourceTrustpilot}
    • + *
    • {@code SourceTvmazeSchedule}
    • + *
    • {@code SourceTwilio}
    • + *
    • {@code SourceTwilioTaskrouter}
    • + *
    • {@code SourceTwitter}
    • + *
    • {@code SourceTypeform}
    • + *
    • {@code SourceUsCensus}
    • + *
    • {@code SourceVantage}
    • + *
    • {@code SourceWebflow}
    • + *
    • {@code SourceWhiskyHunter}
    • + *
    • {@code SourceWikipediaPageviews}
    • + *
    • {@code SourceWoocommerce}
    • + *
    • {@code SourceXkcd}
    • + *
    • {@code SourceYandexMetrica}
    • + *
    • {@code SourceYotpo}
    • + *
    • {@code SourceYoutubeAnalytics}
    • + *
    • {@code SourceZendeskChat}
    • + *
    • {@code SourceZendeskSell}
    • + *
    • {@code SourceZendeskSunshine}
    • + *
    • {@code SourceZendeskSupport}
    • + *
    • {@code SourceZendeskTalk}
    • + *
    • {@code SourceZenloop}
    • + *
    • {@code SourceZohoCrm}
    • + *
    • {@code SourceZoom}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceConfiguration other = (SourceConfiguration) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceConfiguration.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceConfiguration.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceConfluence.java b/src/main/java/com/airbyte/api/models/shared/SourceConfluence.java new file mode 100644 index 000000000..0112f029f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceConfluence.java @@ -0,0 +1,197 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceConfluence { + + /** + * Please follow the Jira confluence for generating an API token: <a href="https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/">generating an API token</a>. + */ + @JsonProperty("api_token") + private String apiToken; + + /** + * Your Confluence domain name + */ + @JsonProperty("domain_name") + private String domainName; + + /** + * Your Confluence login email + */ + @JsonProperty("email") + private String email; + + @JsonProperty("sourceType") + private Confluence sourceType; + + public SourceConfluence( + @JsonProperty("api_token") String apiToken, + @JsonProperty("domain_name") String domainName, + @JsonProperty("email") String email) { + Utils.checkNotNull(apiToken, "apiToken"); + Utils.checkNotNull(domainName, "domainName"); + Utils.checkNotNull(email, "email"); + this.apiToken = apiToken; + this.domainName = domainName; + this.email = email; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Please follow the Jira confluence for generating an API token: <a href="https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/">generating an API token</a>. + */ + public String apiToken() { + return apiToken; + } + + /** + * Your Confluence domain name + */ + public String domainName() { + return domainName; + } + + /** + * Your Confluence login email + */ + public String email() { + return email; + } + + public Confluence sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Please follow the Jira confluence for generating an API token: <a href="https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/">generating an API token</a>. + */ + public SourceConfluence withApiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + /** + * Your Confluence domain name + */ + public SourceConfluence withDomainName(String domainName) { + Utils.checkNotNull(domainName, "domainName"); + this.domainName = domainName; + return this; + } + + /** + * Your Confluence login email + */ + public SourceConfluence withEmail(String email) { + Utils.checkNotNull(email, "email"); + this.email = email; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceConfluence other = (SourceConfluence) o; + return + java.util.Objects.deepEquals(this.apiToken, other.apiToken) && + java.util.Objects.deepEquals(this.domainName, other.domainName) && + java.util.Objects.deepEquals(this.email, other.email) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiToken, + domainName, + email, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceConfluence.class, + "apiToken", apiToken, + "domainName", domainName, + "email", email, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiToken; + + private String domainName; + + private String email; + + private Builder() { + // force use of static builder() method + } + + /** + * Please follow the Jira confluence for generating an API token: <a href="https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/">generating an API token</a>. + */ + public Builder apiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + /** + * Your Confluence domain name + */ + public Builder domainName(String domainName) { + Utils.checkNotNull(domainName, "domainName"); + this.domainName = domainName; + return this; + } + + /** + * Your Confluence login email + */ + public Builder email(String email) { + Utils.checkNotNull(email, "email"); + this.email = email; + return this; + } + + public SourceConfluence build() { + return new SourceConfluence( + apiToken, + domainName, + email); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"confluence\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceConvex.java b/src/main/java/com/airbyte/api/models/shared/SourceConvex.java new file mode 100644 index 000000000..13988ba9b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceConvex.java @@ -0,0 +1,145 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceConvex { + + /** + * API access key used to retrieve data from Convex. + */ + @JsonProperty("access_key") + private String accessKey; + + @JsonProperty("deployment_url") + private String deploymentUrl; + + @JsonProperty("sourceType") + private SourceConvexConvex sourceType; + + public SourceConvex( + @JsonProperty("access_key") String accessKey, + @JsonProperty("deployment_url") String deploymentUrl) { + Utils.checkNotNull(accessKey, "accessKey"); + Utils.checkNotNull(deploymentUrl, "deploymentUrl"); + this.accessKey = accessKey; + this.deploymentUrl = deploymentUrl; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * API access key used to retrieve data from Convex. + */ + public String accessKey() { + return accessKey; + } + + public String deploymentUrl() { + return deploymentUrl; + } + + public SourceConvexConvex sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API access key used to retrieve data from Convex. + */ + public SourceConvex withAccessKey(String accessKey) { + Utils.checkNotNull(accessKey, "accessKey"); + this.accessKey = accessKey; + return this; + } + + public SourceConvex withDeploymentUrl(String deploymentUrl) { + Utils.checkNotNull(deploymentUrl, "deploymentUrl"); + this.deploymentUrl = deploymentUrl; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceConvex other = (SourceConvex) o; + return + java.util.Objects.deepEquals(this.accessKey, other.accessKey) && + java.util.Objects.deepEquals(this.deploymentUrl, other.deploymentUrl) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessKey, + deploymentUrl, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceConvex.class, + "accessKey", accessKey, + "deploymentUrl", deploymentUrl, + "sourceType", sourceType); + } + + public final static class Builder { + + private String accessKey; + + private String deploymentUrl; + + private Builder() { + // force use of static builder() method + } + + /** + * API access key used to retrieve data from Convex. + */ + public Builder accessKey(String accessKey) { + Utils.checkNotNull(accessKey, "accessKey"); + this.accessKey = accessKey; + return this; + } + + public Builder deploymentUrl(String deploymentUrl) { + Utils.checkNotNull(deploymentUrl, "deploymentUrl"); + this.deploymentUrl = deploymentUrl; + return this; + } + + public SourceConvex build() { + return new SourceConvex( + accessKey, + deploymentUrl); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"convex\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceConvexConvex.java b/src/main/java/com/airbyte/api/models/shared/SourceConvexConvex.java new file mode 100644 index 000000000..5a8d8f137 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceConvexConvex.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceConvexConvex { + CONVEX("convex"); + + @JsonValue + private final String value; + + private SourceConvexConvex(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceCreateRequest.java b/src/main/java/com/airbyte/api/models/shared/SourceCreateRequest.java new file mode 100644 index 000000000..9615b94fb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceCreateRequest.java @@ -0,0 +1,288 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceCreateRequest { + + /** + * The values required to configure the source. + */ + @JsonProperty("configuration") + private SourceConfiguration configuration; + + /** + * The UUID of the connector definition. One of configuration.sourceType or definitionId must be provided. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("definitionId") + private Optional definitionId; + + /** + * Name of the source e.g. dev-mysql-instance. + */ + @JsonProperty("name") + private String name; + + /** + * Optional secretID obtained through the public API OAuth redirect flow. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("secretId") + private Optional secretId; + + @JsonProperty("workspaceId") + private String workspaceId; + + public SourceCreateRequest( + @JsonProperty("configuration") SourceConfiguration configuration, + @JsonProperty("definitionId") Optional definitionId, + @JsonProperty("name") String name, + @JsonProperty("secretId") Optional secretId, + @JsonProperty("workspaceId") String workspaceId) { + Utils.checkNotNull(configuration, "configuration"); + Utils.checkNotNull(definitionId, "definitionId"); + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(secretId, "secretId"); + Utils.checkNotNull(workspaceId, "workspaceId"); + this.configuration = configuration; + this.definitionId = definitionId; + this.name = name; + this.secretId = secretId; + this.workspaceId = workspaceId; + } + + /** + * The values required to configure the source. + */ + public SourceConfiguration configuration() { + return configuration; + } + + /** + * The UUID of the connector definition. One of configuration.sourceType or definitionId must be provided. + */ + public Optional definitionId() { + return definitionId; + } + + /** + * Name of the source e.g. dev-mysql-instance. + */ + public String name() { + return name; + } + + /** + * Optional secretID obtained through the public API OAuth redirect flow. + */ + public Optional secretId() { + return secretId; + } + + public String workspaceId() { + return workspaceId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The values required to configure the source. + */ + public SourceCreateRequest withConfiguration(SourceConfiguration configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = configuration; + return this; + } + + /** + * The UUID of the connector definition. One of configuration.sourceType or definitionId must be provided. + */ + public SourceCreateRequest withDefinitionId(String definitionId) { + Utils.checkNotNull(definitionId, "definitionId"); + this.definitionId = Optional.ofNullable(definitionId); + return this; + } + + /** + * The UUID of the connector definition. One of configuration.sourceType or definitionId must be provided. + */ + public SourceCreateRequest withDefinitionId(Optional definitionId) { + Utils.checkNotNull(definitionId, "definitionId"); + this.definitionId = definitionId; + return this; + } + + /** + * Name of the source e.g. dev-mysql-instance. + */ + public SourceCreateRequest withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * Optional secretID obtained through the public API OAuth redirect flow. + */ + public SourceCreateRequest withSecretId(String secretId) { + Utils.checkNotNull(secretId, "secretId"); + this.secretId = Optional.ofNullable(secretId); + return this; + } + + /** + * Optional secretID obtained through the public API OAuth redirect flow. + */ + public SourceCreateRequest withSecretId(Optional secretId) { + Utils.checkNotNull(secretId, "secretId"); + this.secretId = secretId; + return this; + } + + public SourceCreateRequest withWorkspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceCreateRequest other = (SourceCreateRequest) o; + return + java.util.Objects.deepEquals(this.configuration, other.configuration) && + java.util.Objects.deepEquals(this.definitionId, other.definitionId) && + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.secretId, other.secretId) && + java.util.Objects.deepEquals(this.workspaceId, other.workspaceId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + configuration, + definitionId, + name, + secretId, + workspaceId); + } + + @Override + public String toString() { + return Utils.toString(SourceCreateRequest.class, + "configuration", configuration, + "definitionId", definitionId, + "name", name, + "secretId", secretId, + "workspaceId", workspaceId); + } + + public final static class Builder { + + private SourceConfiguration configuration; + + private Optional definitionId = Optional.empty(); + + private String name; + + private Optional secretId = Optional.empty(); + + private String workspaceId; + + private Builder() { + // force use of static builder() method + } + + /** + * The values required to configure the source. + */ + public Builder configuration(SourceConfiguration configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = configuration; + return this; + } + + /** + * The UUID of the connector definition. One of configuration.sourceType or definitionId must be provided. + */ + public Builder definitionId(String definitionId) { + Utils.checkNotNull(definitionId, "definitionId"); + this.definitionId = Optional.ofNullable(definitionId); + return this; + } + + /** + * The UUID of the connector definition. One of configuration.sourceType or definitionId must be provided. + */ + public Builder definitionId(Optional definitionId) { + Utils.checkNotNull(definitionId, "definitionId"); + this.definitionId = definitionId; + return this; + } + + /** + * Name of the source e.g. dev-mysql-instance. + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * Optional secretID obtained through the public API OAuth redirect flow. + */ + public Builder secretId(String secretId) { + Utils.checkNotNull(secretId, "secretId"); + this.secretId = Optional.ofNullable(secretId); + return this; + } + + /** + * Optional secretID obtained through the public API OAuth redirect flow. + */ + public Builder secretId(Optional secretId) { + Utils.checkNotNull(secretId, "secretId"); + this.secretId = secretId; + return this; + } + + public Builder workspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + public SourceCreateRequest build() { + return new SourceCreateRequest( + configuration, + definitionId, + name, + secretId, + workspaceId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceDatascope.java b/src/main/java/com/airbyte/api/models/shared/SourceDatascope.java new file mode 100644 index 000000000..c37e17b01 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceDatascope.java @@ -0,0 +1,157 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceDatascope { + + /** + * API Key + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private Datascope sourceType; + + /** + * Start date for the data to be replicated + */ + @JsonProperty("start_date") + private String startDate; + + public SourceDatascope( + @JsonProperty("api_key") String apiKey, + @JsonProperty("start_date") String startDate) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(startDate, "startDate"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * API Key + */ + public String apiKey() { + return apiKey; + } + + public Datascope sourceType() { + return sourceType; + } + + /** + * Start date for the data to be replicated + */ + public String startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Key + */ + public SourceDatascope withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Start date for the data to be replicated + */ + public SourceDatascope withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceDatascope other = (SourceDatascope) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceDatascope.class, + "apiKey", apiKey, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String apiKey; + + private String startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * API Key + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Start date for the data to be replicated + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceDatascope build() { + return new SourceDatascope( + apiKey, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"datascope\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceDelighted.java b/src/main/java/com/airbyte/api/models/shared/SourceDelighted.java new file mode 100644 index 000000000..11de000c3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceDelighted.java @@ -0,0 +1,160 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; + + +public class SourceDelighted { + + /** + * A Delighted API key. + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * The date from which you'd like to replicate the data + */ + @JsonProperty("since") + private OffsetDateTime since; + + @JsonProperty("sourceType") + private Delighted sourceType; + + public SourceDelighted( + @JsonProperty("api_key") String apiKey, + @JsonProperty("since") OffsetDateTime since) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(since, "since"); + this.apiKey = apiKey; + this.since = since; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * A Delighted API key. + */ + public String apiKey() { + return apiKey; + } + + /** + * The date from which you'd like to replicate the data + */ + public OffsetDateTime since() { + return since; + } + + public Delighted sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * A Delighted API key. + */ + public SourceDelighted withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The date from which you'd like to replicate the data + */ + public SourceDelighted withSince(OffsetDateTime since) { + Utils.checkNotNull(since, "since"); + this.since = since; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceDelighted other = (SourceDelighted) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.since, other.since) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + since, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceDelighted.class, + "apiKey", apiKey, + "since", since, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private OffsetDateTime since; + + private Builder() { + // force use of static builder() method + } + + /** + * A Delighted API key. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The date from which you'd like to replicate the data + */ + public Builder since(OffsetDateTime since) { + Utils.checkNotNull(since, "since"); + this.since = since; + return this; + } + + public SourceDelighted build() { + return new SourceDelighted( + apiKey, + since); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"delighted\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceDixa.java b/src/main/java/com/airbyte/api/models/shared/SourceDixa.java new file mode 100644 index 000000000..2964e835b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceDixa.java @@ -0,0 +1,231 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceDixa { + + /** + * Dixa API token + */ + @JsonProperty("api_token") + private String apiToken; + + /** + * Number of days to batch into one request. Max 31. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("batch_size") + private Optional batchSize; + + @JsonProperty("sourceType") + private Dixa sourceType; + + /** + * The connector pulls records updated from this date onwards. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + public SourceDixa( + @JsonProperty("api_token") String apiToken, + @JsonProperty("batch_size") Optional batchSize, + @JsonProperty("start_date") OffsetDateTime startDate) { + Utils.checkNotNull(apiToken, "apiToken"); + Utils.checkNotNull(batchSize, "batchSize"); + Utils.checkNotNull(startDate, "startDate"); + this.apiToken = apiToken; + this.batchSize = batchSize; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Dixa API token + */ + public String apiToken() { + return apiToken; + } + + /** + * Number of days to batch into one request. Max 31. + */ + public Optional batchSize() { + return batchSize; + } + + public Dixa sourceType() { + return sourceType; + } + + /** + * The connector pulls records updated from this date onwards. + */ + public OffsetDateTime startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Dixa API token + */ + public SourceDixa withApiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + /** + * Number of days to batch into one request. Max 31. + */ + public SourceDixa withBatchSize(long batchSize) { + Utils.checkNotNull(batchSize, "batchSize"); + this.batchSize = Optional.ofNullable(batchSize); + return this; + } + + /** + * Number of days to batch into one request. Max 31. + */ + public SourceDixa withBatchSize(Optional batchSize) { + Utils.checkNotNull(batchSize, "batchSize"); + this.batchSize = batchSize; + return this; + } + + /** + * The connector pulls records updated from this date onwards. + */ + public SourceDixa withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceDixa other = (SourceDixa) o; + return + java.util.Objects.deepEquals(this.apiToken, other.apiToken) && + java.util.Objects.deepEquals(this.batchSize, other.batchSize) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiToken, + batchSize, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceDixa.class, + "apiToken", apiToken, + "batchSize", batchSize, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String apiToken; + + private Optional batchSize; + + private OffsetDateTime startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Dixa API token + */ + public Builder apiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + /** + * Number of days to batch into one request. Max 31. + */ + public Builder batchSize(long batchSize) { + Utils.checkNotNull(batchSize, "batchSize"); + this.batchSize = Optional.ofNullable(batchSize); + return this; + } + + /** + * Number of days to batch into one request. Max 31. + */ + public Builder batchSize(Optional batchSize) { + Utils.checkNotNull(batchSize, "batchSize"); + this.batchSize = batchSize; + return this; + } + + /** + * The connector pulls records updated from this date onwards. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceDixa build() { + if (batchSize == null) { + batchSize = _SINGLETON_VALUE_BatchSize.value(); + } + return new SourceDixa( + apiToken, + batchSize, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_BatchSize = + new LazySingletonValue<>( + "batch_size", + "31", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"dixa\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceDockerhub.java b/src/main/java/com/airbyte/api/models/shared/SourceDockerhub.java new file mode 100644 index 000000000..745ee084d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceDockerhub.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceDockerhub { + + /** + * Username of DockerHub person or organization (for https://hub.docker.com/v2/repositories/USERNAME/ API call) + */ + @JsonProperty("docker_username") + private String dockerUsername; + + @JsonProperty("sourceType") + private Dockerhub sourceType; + + public SourceDockerhub( + @JsonProperty("docker_username") String dockerUsername) { + Utils.checkNotNull(dockerUsername, "dockerUsername"); + this.dockerUsername = dockerUsername; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Username of DockerHub person or organization (for https://hub.docker.com/v2/repositories/USERNAME/ API call) + */ + public String dockerUsername() { + return dockerUsername; + } + + public Dockerhub sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Username of DockerHub person or organization (for https://hub.docker.com/v2/repositories/USERNAME/ API call) + */ + public SourceDockerhub withDockerUsername(String dockerUsername) { + Utils.checkNotNull(dockerUsername, "dockerUsername"); + this.dockerUsername = dockerUsername; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceDockerhub other = (SourceDockerhub) o; + return + java.util.Objects.deepEquals(this.dockerUsername, other.dockerUsername) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + dockerUsername, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceDockerhub.class, + "dockerUsername", dockerUsername, + "sourceType", sourceType); + } + + public final static class Builder { + + private String dockerUsername; + + private Builder() { + // force use of static builder() method + } + + /** + * Username of DockerHub person or organization (for https://hub.docker.com/v2/repositories/USERNAME/ API call) + */ + public Builder dockerUsername(String dockerUsername) { + Utils.checkNotNull(dockerUsername, "dockerUsername"); + this.dockerUsername = dockerUsername; + return this; + } + + public SourceDockerhub build() { + return new SourceDockerhub( + dockerUsername); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"dockerhub\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceDremio.java b/src/main/java/com/airbyte/api/models/shared/SourceDremio.java new file mode 100644 index 000000000..7a4a95d91 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceDremio.java @@ -0,0 +1,188 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceDremio { + + /** + * API Key that is generated when you authenticate to Dremio API + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * URL of your Dremio instance + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("base_url") + private Optional baseUrl; + + @JsonProperty("sourceType") + private Dremio sourceType; + + public SourceDremio( + @JsonProperty("api_key") String apiKey, + @JsonProperty("base_url") Optional baseUrl) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(baseUrl, "baseUrl"); + this.apiKey = apiKey; + this.baseUrl = baseUrl; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * API Key that is generated when you authenticate to Dremio API + */ + public String apiKey() { + return apiKey; + } + + /** + * URL of your Dremio instance + */ + public Optional baseUrl() { + return baseUrl; + } + + public Dremio sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Key that is generated when you authenticate to Dremio API + */ + public SourceDremio withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * URL of your Dremio instance + */ + public SourceDremio withBaseUrl(String baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = Optional.ofNullable(baseUrl); + return this; + } + + /** + * URL of your Dremio instance + */ + public SourceDremio withBaseUrl(Optional baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = baseUrl; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceDremio other = (SourceDremio) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.baseUrl, other.baseUrl) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + baseUrl, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceDremio.class, + "apiKey", apiKey, + "baseUrl", baseUrl, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Optional baseUrl; + + private Builder() { + // force use of static builder() method + } + + /** + * API Key that is generated when you authenticate to Dremio API + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * URL of your Dremio instance + */ + public Builder baseUrl(String baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = Optional.ofNullable(baseUrl); + return this; + } + + /** + * URL of your Dremio instance + */ + public Builder baseUrl(Optional baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = baseUrl; + return this; + } + + public SourceDremio build() { + if (baseUrl == null) { + baseUrl = _SINGLETON_VALUE_BaseUrl.value(); + } + return new SourceDremio( + apiKey, + baseUrl); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_BaseUrl = + new LazySingletonValue<>( + "base_url", + "\"https://app.dremio.cloud\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"dremio\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceDynamodb.java b/src/main/java/com/airbyte/api/models/shared/SourceDynamodb.java new file mode 100644 index 000000000..f21a32edf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceDynamodb.java @@ -0,0 +1,355 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceDynamodb { + + /** + * The access key id to access Dynamodb. Airbyte requires read permissions to the database + */ + @JsonProperty("access_key_id") + private String accessKeyId; + + /** + * the URL of the Dynamodb database + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("endpoint") + private Optional endpoint; + + /** + * The region of the Dynamodb database + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("region") + private Optional region; + + /** + * Comma separated reserved attribute names present in your tables + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("reserved_attribute_names") + private Optional reservedAttributeNames; + + /** + * The corresponding secret to the access key id. + */ + @JsonProperty("secret_access_key") + private String secretAccessKey; + + @JsonProperty("sourceType") + private SourceDynamodbDynamodb sourceType; + + public SourceDynamodb( + @JsonProperty("access_key_id") String accessKeyId, + @JsonProperty("endpoint") Optional endpoint, + @JsonProperty("region") Optional region, + @JsonProperty("reserved_attribute_names") Optional reservedAttributeNames, + @JsonProperty("secret_access_key") String secretAccessKey) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + Utils.checkNotNull(endpoint, "endpoint"); + Utils.checkNotNull(region, "region"); + Utils.checkNotNull(reservedAttributeNames, "reservedAttributeNames"); + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.accessKeyId = accessKeyId; + this.endpoint = endpoint; + this.region = region; + this.reservedAttributeNames = reservedAttributeNames; + this.secretAccessKey = secretAccessKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * The access key id to access Dynamodb. Airbyte requires read permissions to the database + */ + public String accessKeyId() { + return accessKeyId; + } + + /** + * the URL of the Dynamodb database + */ + public Optional endpoint() { + return endpoint; + } + + /** + * The region of the Dynamodb database + */ + public Optional region() { + return region; + } + + /** + * Comma separated reserved attribute names present in your tables + */ + public Optional reservedAttributeNames() { + return reservedAttributeNames; + } + + /** + * The corresponding secret to the access key id. + */ + public String secretAccessKey() { + return secretAccessKey; + } + + public SourceDynamodbDynamodb sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The access key id to access Dynamodb. Airbyte requires read permissions to the database + */ + public SourceDynamodb withAccessKeyId(String accessKeyId) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + this.accessKeyId = accessKeyId; + return this; + } + + /** + * the URL of the Dynamodb database + */ + public SourceDynamodb withEndpoint(String endpoint) { + Utils.checkNotNull(endpoint, "endpoint"); + this.endpoint = Optional.ofNullable(endpoint); + return this; + } + + /** + * the URL of the Dynamodb database + */ + public SourceDynamodb withEndpoint(Optional endpoint) { + Utils.checkNotNull(endpoint, "endpoint"); + this.endpoint = endpoint; + return this; + } + + /** + * The region of the Dynamodb database + */ + public SourceDynamodb withRegion(SourceDynamodbDynamodbRegion region) { + Utils.checkNotNull(region, "region"); + this.region = Optional.ofNullable(region); + return this; + } + + /** + * The region of the Dynamodb database + */ + public SourceDynamodb withRegion(Optional region) { + Utils.checkNotNull(region, "region"); + this.region = region; + return this; + } + + /** + * Comma separated reserved attribute names present in your tables + */ + public SourceDynamodb withReservedAttributeNames(String reservedAttributeNames) { + Utils.checkNotNull(reservedAttributeNames, "reservedAttributeNames"); + this.reservedAttributeNames = Optional.ofNullable(reservedAttributeNames); + return this; + } + + /** + * Comma separated reserved attribute names present in your tables + */ + public SourceDynamodb withReservedAttributeNames(Optional reservedAttributeNames) { + Utils.checkNotNull(reservedAttributeNames, "reservedAttributeNames"); + this.reservedAttributeNames = reservedAttributeNames; + return this; + } + + /** + * The corresponding secret to the access key id. + */ + public SourceDynamodb withSecretAccessKey(String secretAccessKey) { + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.secretAccessKey = secretAccessKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceDynamodb other = (SourceDynamodb) o; + return + java.util.Objects.deepEquals(this.accessKeyId, other.accessKeyId) && + java.util.Objects.deepEquals(this.endpoint, other.endpoint) && + java.util.Objects.deepEquals(this.region, other.region) && + java.util.Objects.deepEquals(this.reservedAttributeNames, other.reservedAttributeNames) && + java.util.Objects.deepEquals(this.secretAccessKey, other.secretAccessKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessKeyId, + endpoint, + region, + reservedAttributeNames, + secretAccessKey, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceDynamodb.class, + "accessKeyId", accessKeyId, + "endpoint", endpoint, + "region", region, + "reservedAttributeNames", reservedAttributeNames, + "secretAccessKey", secretAccessKey, + "sourceType", sourceType); + } + + public final static class Builder { + + private String accessKeyId; + + private Optional endpoint; + + private Optional region; + + private Optional reservedAttributeNames = Optional.empty(); + + private String secretAccessKey; + + private Builder() { + // force use of static builder() method + } + + /** + * The access key id to access Dynamodb. Airbyte requires read permissions to the database + */ + public Builder accessKeyId(String accessKeyId) { + Utils.checkNotNull(accessKeyId, "accessKeyId"); + this.accessKeyId = accessKeyId; + return this; + } + + /** + * the URL of the Dynamodb database + */ + public Builder endpoint(String endpoint) { + Utils.checkNotNull(endpoint, "endpoint"); + this.endpoint = Optional.ofNullable(endpoint); + return this; + } + + /** + * the URL of the Dynamodb database + */ + public Builder endpoint(Optional endpoint) { + Utils.checkNotNull(endpoint, "endpoint"); + this.endpoint = endpoint; + return this; + } + + /** + * The region of the Dynamodb database + */ + public Builder region(SourceDynamodbDynamodbRegion region) { + Utils.checkNotNull(region, "region"); + this.region = Optional.ofNullable(region); + return this; + } + + /** + * The region of the Dynamodb database + */ + public Builder region(Optional region) { + Utils.checkNotNull(region, "region"); + this.region = region; + return this; + } + + /** + * Comma separated reserved attribute names present in your tables + */ + public Builder reservedAttributeNames(String reservedAttributeNames) { + Utils.checkNotNull(reservedAttributeNames, "reservedAttributeNames"); + this.reservedAttributeNames = Optional.ofNullable(reservedAttributeNames); + return this; + } + + /** + * Comma separated reserved attribute names present in your tables + */ + public Builder reservedAttributeNames(Optional reservedAttributeNames) { + Utils.checkNotNull(reservedAttributeNames, "reservedAttributeNames"); + this.reservedAttributeNames = reservedAttributeNames; + return this; + } + + /** + * The corresponding secret to the access key id. + */ + public Builder secretAccessKey(String secretAccessKey) { + Utils.checkNotNull(secretAccessKey, "secretAccessKey"); + this.secretAccessKey = secretAccessKey; + return this; + } + + public SourceDynamodb build() { + if (endpoint == null) { + endpoint = _SINGLETON_VALUE_Endpoint.value(); + } + if (region == null) { + region = _SINGLETON_VALUE_Region.value(); + } + return new SourceDynamodb( + accessKeyId, + endpoint, + region, + reservedAttributeNames, + secretAccessKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Endpoint = + new LazySingletonValue<>( + "endpoint", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Region = + new LazySingletonValue<>( + "region", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"dynamodb\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceDynamodbDynamodb.java b/src/main/java/com/airbyte/api/models/shared/SourceDynamodbDynamodb.java new file mode 100644 index 000000000..24f2ae022 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceDynamodbDynamodb.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceDynamodbDynamodb { + DYNAMODB("dynamodb"); + + @JsonValue + private final String value; + + private SourceDynamodbDynamodb(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceDynamodbDynamodbRegion.java b/src/main/java/com/airbyte/api/models/shared/SourceDynamodbDynamodbRegion.java new file mode 100644 index 000000000..d0f3d8bc9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceDynamodbDynamodbRegion.java @@ -0,0 +1,65 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceDynamodbDynamodbRegion - The region of the Dynamodb database + */ +public enum SourceDynamodbDynamodbRegion { + UNKNOWN(""), + AF_SOUTH1("af-south-1"), + AP_EAST1("ap-east-1"), + AP_NORTHEAST1("ap-northeast-1"), + AP_NORTHEAST2("ap-northeast-2"), + AP_NORTHEAST3("ap-northeast-3"), + AP_SOUTH1("ap-south-1"), + AP_SOUTH2("ap-south-2"), + AP_SOUTHEAST1("ap-southeast-1"), + AP_SOUTHEAST2("ap-southeast-2"), + AP_SOUTHEAST3("ap-southeast-3"), + AP_SOUTHEAST4("ap-southeast-4"), + CA_CENTRAL1("ca-central-1"), + CA_WEST1("ca-west-1"), + CN_NORTH1("cn-north-1"), + CN_NORTHWEST1("cn-northwest-1"), + EU_CENTRAL1("eu-central-1"), + EU_CENTRAL2("eu-central-2"), + EU_NORTH1("eu-north-1"), + EU_SOUTH1("eu-south-1"), + EU_SOUTH2("eu-south-2"), + EU_WEST1("eu-west-1"), + EU_WEST2("eu-west-2"), + EU_WEST3("eu-west-3"), + IL_CENTRAL1("il-central-1"), + ME_CENTRAL1("me-central-1"), + ME_SOUTH1("me-south-1"), + SA_EAST1("sa-east-1"), + US_EAST1("us-east-1"), + US_EAST2("us-east-2"), + US_GOV_EAST1("us-gov-east-1"), + US_GOV_WEST1("us-gov-west-1"), + US_WEST1("us-west-1"), + US_WEST2("us-west-2"); + + @JsonValue + private final String value; + + private SourceDynamodbDynamodbRegion(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceE2eTestCloud.java b/src/main/java/com/airbyte/api/models/shared/SourceE2eTestCloud.java new file mode 100644 index 000000000..2be575a1d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceE2eTestCloud.java @@ -0,0 +1,91 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceE2eTestCloud._Deserializer.class) +public class SourceE2eTestCloud { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceE2eTestCloud(TypedObject value) { + this.value = value; + } + + public static SourceE2eTestCloud of(java.util.Map value) { + Utils.checkNotNull(value, "value"); + return new SourceE2eTestCloud(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference>(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code java.util.Map}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceE2eTestCloud other = (SourceE2eTestCloud) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceE2eTestCloud.class, + Utils.TypeReferenceWithShape.of(new TypeReference>() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceE2eTestCloud.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceEmailoctopus.java b/src/main/java/com/airbyte/api/models/shared/SourceEmailoctopus.java new file mode 100644 index 000000000..bc040386c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceEmailoctopus.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceEmailoctopus { + + /** + * EmailOctopus API Key. See the <a href="https://help.emailoctopus.com/article/165-how-to-create-and-delete-api-keys">docs</a> for information on how to generate this key. + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private Emailoctopus sourceType; + + public SourceEmailoctopus( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * EmailOctopus API Key. See the <a href="https://help.emailoctopus.com/article/165-how-to-create-and-delete-api-keys">docs</a> for information on how to generate this key. + */ + public String apiKey() { + return apiKey; + } + + public Emailoctopus sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * EmailOctopus API Key. See the <a href="https://help.emailoctopus.com/article/165-how-to-create-and-delete-api-keys">docs</a> for information on how to generate this key. + */ + public SourceEmailoctopus withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceEmailoctopus other = (SourceEmailoctopus) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceEmailoctopus.class, + "apiKey", apiKey, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * EmailOctopus API Key. See the <a href="https://help.emailoctopus.com/article/165-how-to-create-and-delete-api-keys">docs</a> for information on how to generate this key. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public SourceEmailoctopus build() { + return new SourceEmailoctopus( + apiKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"emailoctopus\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceExchangeRates.java b/src/main/java/com/airbyte/api/models/shared/SourceExchangeRates.java new file mode 100644 index 000000000..27625031e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceExchangeRates.java @@ -0,0 +1,288 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceExchangeRates { + + /** + * Your API Key. See <a href="https://apilayer.com/marketplace/exchangerates_data-api">here</a>. The key is case sensitive. + */ + @JsonProperty("access_key") + private String accessKey; + + /** + * ISO reference currency. See <a href="https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html">here</a>. Free plan doesn't support Source Currency Switching, default base currency is EUR + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("base") + private Optional base; + + /** + * Ignore weekends? (Exchanges don't run on weekends) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ignore_weekends") + private Optional ignoreWeekends; + + @JsonProperty("sourceType") + private ExchangeRates sourceType; + + /** + * Start getting data from that date. + */ + @JsonProperty("start_date") + private LocalDate startDate; + + public SourceExchangeRates( + @JsonProperty("access_key") String accessKey, + @JsonProperty("base") Optional base, + @JsonProperty("ignore_weekends") Optional ignoreWeekends, + @JsonProperty("start_date") LocalDate startDate) { + Utils.checkNotNull(accessKey, "accessKey"); + Utils.checkNotNull(base, "base"); + Utils.checkNotNull(ignoreWeekends, "ignoreWeekends"); + Utils.checkNotNull(startDate, "startDate"); + this.accessKey = accessKey; + this.base = base; + this.ignoreWeekends = ignoreWeekends; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Your API Key. See <a href="https://apilayer.com/marketplace/exchangerates_data-api">here</a>. The key is case sensitive. + */ + public String accessKey() { + return accessKey; + } + + /** + * ISO reference currency. See <a href="https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html">here</a>. Free plan doesn't support Source Currency Switching, default base currency is EUR + */ + public Optional base() { + return base; + } + + /** + * Ignore weekends? (Exchanges don't run on weekends) + */ + public Optional ignoreWeekends() { + return ignoreWeekends; + } + + public ExchangeRates sourceType() { + return sourceType; + } + + /** + * Start getting data from that date. + */ + public LocalDate startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your API Key. See <a href="https://apilayer.com/marketplace/exchangerates_data-api">here</a>. The key is case sensitive. + */ + public SourceExchangeRates withAccessKey(String accessKey) { + Utils.checkNotNull(accessKey, "accessKey"); + this.accessKey = accessKey; + return this; + } + + /** + * ISO reference currency. See <a href="https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html">here</a>. Free plan doesn't support Source Currency Switching, default base currency is EUR + */ + public SourceExchangeRates withBase(String base) { + Utils.checkNotNull(base, "base"); + this.base = Optional.ofNullable(base); + return this; + } + + /** + * ISO reference currency. See <a href="https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html">here</a>. Free plan doesn't support Source Currency Switching, default base currency is EUR + */ + public SourceExchangeRates withBase(Optional base) { + Utils.checkNotNull(base, "base"); + this.base = base; + return this; + } + + /** + * Ignore weekends? (Exchanges don't run on weekends) + */ + public SourceExchangeRates withIgnoreWeekends(boolean ignoreWeekends) { + Utils.checkNotNull(ignoreWeekends, "ignoreWeekends"); + this.ignoreWeekends = Optional.ofNullable(ignoreWeekends); + return this; + } + + /** + * Ignore weekends? (Exchanges don't run on weekends) + */ + public SourceExchangeRates withIgnoreWeekends(Optional ignoreWeekends) { + Utils.checkNotNull(ignoreWeekends, "ignoreWeekends"); + this.ignoreWeekends = ignoreWeekends; + return this; + } + + /** + * Start getting data from that date. + */ + public SourceExchangeRates withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceExchangeRates other = (SourceExchangeRates) o; + return + java.util.Objects.deepEquals(this.accessKey, other.accessKey) && + java.util.Objects.deepEquals(this.base, other.base) && + java.util.Objects.deepEquals(this.ignoreWeekends, other.ignoreWeekends) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessKey, + base, + ignoreWeekends, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceExchangeRates.class, + "accessKey", accessKey, + "base", base, + "ignoreWeekends", ignoreWeekends, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String accessKey; + + private Optional base = Optional.empty(); + + private Optional ignoreWeekends; + + private LocalDate startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Your API Key. See <a href="https://apilayer.com/marketplace/exchangerates_data-api">here</a>. The key is case sensitive. + */ + public Builder accessKey(String accessKey) { + Utils.checkNotNull(accessKey, "accessKey"); + this.accessKey = accessKey; + return this; + } + + /** + * ISO reference currency. See <a href="https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html">here</a>. Free plan doesn't support Source Currency Switching, default base currency is EUR + */ + public Builder base(String base) { + Utils.checkNotNull(base, "base"); + this.base = Optional.ofNullable(base); + return this; + } + + /** + * ISO reference currency. See <a href="https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html">here</a>. Free plan doesn't support Source Currency Switching, default base currency is EUR + */ + public Builder base(Optional base) { + Utils.checkNotNull(base, "base"); + this.base = base; + return this; + } + + /** + * Ignore weekends? (Exchanges don't run on weekends) + */ + public Builder ignoreWeekends(boolean ignoreWeekends) { + Utils.checkNotNull(ignoreWeekends, "ignoreWeekends"); + this.ignoreWeekends = Optional.ofNullable(ignoreWeekends); + return this; + } + + /** + * Ignore weekends? (Exchanges don't run on weekends) + */ + public Builder ignoreWeekends(Optional ignoreWeekends) { + Utils.checkNotNull(ignoreWeekends, "ignoreWeekends"); + this.ignoreWeekends = ignoreWeekends; + return this; + } + + /** + * Start getting data from that date. + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceExchangeRates build() { + if (ignoreWeekends == null) { + ignoreWeekends = _SINGLETON_VALUE_IgnoreWeekends.value(); + } + return new SourceExchangeRates( + accessKey, + base, + ignoreWeekends, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_IgnoreWeekends = + new LazySingletonValue<>( + "ignore_weekends", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"exchange-rates\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFacebookMarketing.java b/src/main/java/com/airbyte/api/models/shared/SourceFacebookMarketing.java new file mode 100644 index 000000000..d06e093c3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFacebookMarketing.java @@ -0,0 +1,975 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceFacebookMarketing { + + /** + * The value of the generated access token. From your App’s Dashboard, click on "Marketing API" then "Tools". Select permissions <b>ads_management, ads_read, read_insights, business_management</b>. Then click on "Get token". See the <a href="https://docs.airbyte.com/integrations/sources/facebook-marketing">docs</a> for more information. + */ + @JsonProperty("access_token") + private String accessToken; + + /** + * The Facebook Ad account ID(s) to pull data from. The Ad account ID number is in the account dropdown menu or in your browser's address bar of your <a href="https://adsmanager.facebook.com/adsmanager/">Meta Ads Manager</a>. See the <a href="https://www.facebook.com/business/help/1492627900875762">docs</a> for more information. + */ + @JsonProperty("account_ids") + private java.util.List accountIds; + + /** + * Allows action_breakdowns to be an empty list + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("action_breakdowns_allow_empty") + private Optional actionBreakdownsAllowEmpty; + + /** + * Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ad_statuses") + private Optional> adStatuses; + + /** + * Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("adset_statuses") + private Optional> adsetStatuses; + + /** + * Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("campaign_statuses") + private Optional> campaignStatuses; + + /** + * The Client Id for your OAuth app + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret for your OAuth app + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + /** + * A list which contains ad statistics entries, each entry must have a name and can contains fields, breakdowns or action_breakdowns. Click on "add" to fill this field. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("custom_insights") + private Optional> customInsights; + + /** + * The date until which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. All data generated between the start date and this end date will be replicated. Not setting this option will result in always syncing the latest data. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + /** + * Set to active if you want to fetch the thumbnail_url and store the result in thumbnail_data_url for each Ad Creative. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("fetch_thumbnail_images") + private Optional fetchThumbnailImages; + + /** + * Insights Job Timeout establishes the maximum amount of time (in minutes) of waiting for the report job to complete. When timeout is reached the job is considered failed and we are trying to request smaller amount of data by breaking the job to few smaller ones. If you definitely know that 60 minutes is not enough for your report to be processed then you can decrease the timeout value, so we start breaking job to smaller parts faster. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("insights_job_timeout") + private Optional insightsJobTimeout; + + /** + * The attribution window. Facebook freezes insight data 28 days after it was generated, which means that all data from the past 28 days may have changed since we last emitted it, so you can retrieve refreshed insights from the past by setting this parameter. If you set a custom lookback window value in Facebook account, please provide the same value here. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("insights_lookback_window") + private Optional insightsLookbackWindow; + + /** + * Page size used when sending requests to Facebook API to specify number of records per page when response has pagination. Most users do not need to set this field unless they specifically need to tune the connector to address specific issues or use cases. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("page_size") + private Optional pageSize; + + @JsonProperty("sourceType") + private SourceFacebookMarketingFacebookMarketing sourceType; + + /** + * The date from which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. If not set then all data will be replicated for usual streams and only last 2 years for insight streams. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceFacebookMarketing( + @JsonProperty("access_token") String accessToken, + @JsonProperty("account_ids") java.util.List accountIds, + @JsonProperty("action_breakdowns_allow_empty") Optional actionBreakdownsAllowEmpty, + @JsonProperty("ad_statuses") Optional> adStatuses, + @JsonProperty("adset_statuses") Optional> adsetStatuses, + @JsonProperty("campaign_statuses") Optional> campaignStatuses, + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret, + @JsonProperty("custom_insights") Optional> customInsights, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("fetch_thumbnail_images") Optional fetchThumbnailImages, + @JsonProperty("insights_job_timeout") Optional insightsJobTimeout, + @JsonProperty("insights_lookback_window") Optional insightsLookbackWindow, + @JsonProperty("page_size") Optional pageSize, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(accountIds, "accountIds"); + Utils.checkNotNull(actionBreakdownsAllowEmpty, "actionBreakdownsAllowEmpty"); + Utils.checkNotNull(adStatuses, "adStatuses"); + Utils.checkNotNull(adsetStatuses, "adsetStatuses"); + Utils.checkNotNull(campaignStatuses, "campaignStatuses"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(customInsights, "customInsights"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(fetchThumbnailImages, "fetchThumbnailImages"); + Utils.checkNotNull(insightsJobTimeout, "insightsJobTimeout"); + Utils.checkNotNull(insightsLookbackWindow, "insightsLookbackWindow"); + Utils.checkNotNull(pageSize, "pageSize"); + Utils.checkNotNull(startDate, "startDate"); + this.accessToken = accessToken; + this.accountIds = accountIds; + this.actionBreakdownsAllowEmpty = actionBreakdownsAllowEmpty; + this.adStatuses = adStatuses; + this.adsetStatuses = adsetStatuses; + this.campaignStatuses = campaignStatuses; + this.clientId = clientId; + this.clientSecret = clientSecret; + this.customInsights = customInsights; + this.endDate = endDate; + this.fetchThumbnailImages = fetchThumbnailImages; + this.insightsJobTimeout = insightsJobTimeout; + this.insightsLookbackWindow = insightsLookbackWindow; + this.pageSize = pageSize; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * The value of the generated access token. From your App’s Dashboard, click on "Marketing API" then "Tools". Select permissions <b>ads_management, ads_read, read_insights, business_management</b>. Then click on "Get token". See the <a href="https://docs.airbyte.com/integrations/sources/facebook-marketing">docs</a> for more information. + */ + public String accessToken() { + return accessToken; + } + + /** + * The Facebook Ad account ID(s) to pull data from. The Ad account ID number is in the account dropdown menu or in your browser's address bar of your <a href="https://adsmanager.facebook.com/adsmanager/">Meta Ads Manager</a>. See the <a href="https://www.facebook.com/business/help/1492627900875762">docs</a> for more information. + */ + public java.util.List accountIds() { + return accountIds; + } + + /** + * Allows action_breakdowns to be an empty list + */ + public Optional actionBreakdownsAllowEmpty() { + return actionBreakdownsAllowEmpty; + } + + /** + * Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. + */ + public Optional> adStatuses() { + return adStatuses; + } + + /** + * Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. + */ + public Optional> adsetStatuses() { + return adsetStatuses; + } + + /** + * Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. + */ + public Optional> campaignStatuses() { + return campaignStatuses; + } + + /** + * The Client Id for your OAuth app + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret for your OAuth app + */ + public Optional clientSecret() { + return clientSecret; + } + + /** + * A list which contains ad statistics entries, each entry must have a name and can contains fields, breakdowns or action_breakdowns. Click on "add" to fill this field. + */ + public Optional> customInsights() { + return customInsights; + } + + /** + * The date until which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. All data generated between the start date and this end date will be replicated. Not setting this option will result in always syncing the latest data. + */ + public Optional endDate() { + return endDate; + } + + /** + * Set to active if you want to fetch the thumbnail_url and store the result in thumbnail_data_url for each Ad Creative. + */ + public Optional fetchThumbnailImages() { + return fetchThumbnailImages; + } + + /** + * Insights Job Timeout establishes the maximum amount of time (in minutes) of waiting for the report job to complete. When timeout is reached the job is considered failed and we are trying to request smaller amount of data by breaking the job to few smaller ones. If you definitely know that 60 minutes is not enough for your report to be processed then you can decrease the timeout value, so we start breaking job to smaller parts faster. + */ + public Optional insightsJobTimeout() { + return insightsJobTimeout; + } + + /** + * The attribution window. Facebook freezes insight data 28 days after it was generated, which means that all data from the past 28 days may have changed since we last emitted it, so you can retrieve refreshed insights from the past by setting this parameter. If you set a custom lookback window value in Facebook account, please provide the same value here. + */ + public Optional insightsLookbackWindow() { + return insightsLookbackWindow; + } + + /** + * Page size used when sending requests to Facebook API to specify number of records per page when response has pagination. Most users do not need to set this field unless they specifically need to tune the connector to address specific issues or use cases. + */ + public Optional pageSize() { + return pageSize; + } + + public SourceFacebookMarketingFacebookMarketing sourceType() { + return sourceType; + } + + /** + * The date from which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. If not set then all data will be replicated for usual streams and only last 2 years for insight streams. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The value of the generated access token. From your App’s Dashboard, click on "Marketing API" then "Tools". Select permissions <b>ads_management, ads_read, read_insights, business_management</b>. Then click on "Get token". See the <a href="https://docs.airbyte.com/integrations/sources/facebook-marketing">docs</a> for more information. + */ + public SourceFacebookMarketing withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Facebook Ad account ID(s) to pull data from. The Ad account ID number is in the account dropdown menu or in your browser's address bar of your <a href="https://adsmanager.facebook.com/adsmanager/">Meta Ads Manager</a>. See the <a href="https://www.facebook.com/business/help/1492627900875762">docs</a> for more information. + */ + public SourceFacebookMarketing withAccountIds(java.util.List accountIds) { + Utils.checkNotNull(accountIds, "accountIds"); + this.accountIds = accountIds; + return this; + } + + /** + * Allows action_breakdowns to be an empty list + */ + public SourceFacebookMarketing withActionBreakdownsAllowEmpty(boolean actionBreakdownsAllowEmpty) { + Utils.checkNotNull(actionBreakdownsAllowEmpty, "actionBreakdownsAllowEmpty"); + this.actionBreakdownsAllowEmpty = Optional.ofNullable(actionBreakdownsAllowEmpty); + return this; + } + + /** + * Allows action_breakdowns to be an empty list + */ + public SourceFacebookMarketing withActionBreakdownsAllowEmpty(Optional actionBreakdownsAllowEmpty) { + Utils.checkNotNull(actionBreakdownsAllowEmpty, "actionBreakdownsAllowEmpty"); + this.actionBreakdownsAllowEmpty = actionBreakdownsAllowEmpty; + return this; + } + + /** + * Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. + */ + public SourceFacebookMarketing withAdStatuses(java.util.List adStatuses) { + Utils.checkNotNull(adStatuses, "adStatuses"); + this.adStatuses = Optional.ofNullable(adStatuses); + return this; + } + + /** + * Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. + */ + public SourceFacebookMarketing withAdStatuses(Optional> adStatuses) { + Utils.checkNotNull(adStatuses, "adStatuses"); + this.adStatuses = adStatuses; + return this; + } + + /** + * Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. + */ + public SourceFacebookMarketing withAdsetStatuses(java.util.List adsetStatuses) { + Utils.checkNotNull(adsetStatuses, "adsetStatuses"); + this.adsetStatuses = Optional.ofNullable(adsetStatuses); + return this; + } + + /** + * Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. + */ + public SourceFacebookMarketing withAdsetStatuses(Optional> adsetStatuses) { + Utils.checkNotNull(adsetStatuses, "adsetStatuses"); + this.adsetStatuses = adsetStatuses; + return this; + } + + /** + * Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. + */ + public SourceFacebookMarketing withCampaignStatuses(java.util.List campaignStatuses) { + Utils.checkNotNull(campaignStatuses, "campaignStatuses"); + this.campaignStatuses = Optional.ofNullable(campaignStatuses); + return this; + } + + /** + * Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. + */ + public SourceFacebookMarketing withCampaignStatuses(Optional> campaignStatuses) { + Utils.checkNotNull(campaignStatuses, "campaignStatuses"); + this.campaignStatuses = campaignStatuses; + return this; + } + + /** + * The Client Id for your OAuth app + */ + public SourceFacebookMarketing withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client Id for your OAuth app + */ + public SourceFacebookMarketing withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret for your OAuth app + */ + public SourceFacebookMarketing withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret for your OAuth app + */ + public SourceFacebookMarketing withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * A list which contains ad statistics entries, each entry must have a name and can contains fields, breakdowns or action_breakdowns. Click on "add" to fill this field. + */ + public SourceFacebookMarketing withCustomInsights(java.util.List customInsights) { + Utils.checkNotNull(customInsights, "customInsights"); + this.customInsights = Optional.ofNullable(customInsights); + return this; + } + + /** + * A list which contains ad statistics entries, each entry must have a name and can contains fields, breakdowns or action_breakdowns. Click on "add" to fill this field. + */ + public SourceFacebookMarketing withCustomInsights(Optional> customInsights) { + Utils.checkNotNull(customInsights, "customInsights"); + this.customInsights = customInsights; + return this; + } + + /** + * The date until which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. All data generated between the start date and this end date will be replicated. Not setting this option will result in always syncing the latest data. + */ + public SourceFacebookMarketing withEndDate(OffsetDateTime endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * The date until which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. All data generated between the start date and this end date will be replicated. Not setting this option will result in always syncing the latest data. + */ + public SourceFacebookMarketing withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Set to active if you want to fetch the thumbnail_url and store the result in thumbnail_data_url for each Ad Creative. + */ + public SourceFacebookMarketing withFetchThumbnailImages(boolean fetchThumbnailImages) { + Utils.checkNotNull(fetchThumbnailImages, "fetchThumbnailImages"); + this.fetchThumbnailImages = Optional.ofNullable(fetchThumbnailImages); + return this; + } + + /** + * Set to active if you want to fetch the thumbnail_url and store the result in thumbnail_data_url for each Ad Creative. + */ + public SourceFacebookMarketing withFetchThumbnailImages(Optional fetchThumbnailImages) { + Utils.checkNotNull(fetchThumbnailImages, "fetchThumbnailImages"); + this.fetchThumbnailImages = fetchThumbnailImages; + return this; + } + + /** + * Insights Job Timeout establishes the maximum amount of time (in minutes) of waiting for the report job to complete. When timeout is reached the job is considered failed and we are trying to request smaller amount of data by breaking the job to few smaller ones. If you definitely know that 60 minutes is not enough for your report to be processed then you can decrease the timeout value, so we start breaking job to smaller parts faster. + */ + public SourceFacebookMarketing withInsightsJobTimeout(long insightsJobTimeout) { + Utils.checkNotNull(insightsJobTimeout, "insightsJobTimeout"); + this.insightsJobTimeout = Optional.ofNullable(insightsJobTimeout); + return this; + } + + /** + * Insights Job Timeout establishes the maximum amount of time (in minutes) of waiting for the report job to complete. When timeout is reached the job is considered failed and we are trying to request smaller amount of data by breaking the job to few smaller ones. If you definitely know that 60 minutes is not enough for your report to be processed then you can decrease the timeout value, so we start breaking job to smaller parts faster. + */ + public SourceFacebookMarketing withInsightsJobTimeout(Optional insightsJobTimeout) { + Utils.checkNotNull(insightsJobTimeout, "insightsJobTimeout"); + this.insightsJobTimeout = insightsJobTimeout; + return this; + } + + /** + * The attribution window. Facebook freezes insight data 28 days after it was generated, which means that all data from the past 28 days may have changed since we last emitted it, so you can retrieve refreshed insights from the past by setting this parameter. If you set a custom lookback window value in Facebook account, please provide the same value here. + */ + public SourceFacebookMarketing withInsightsLookbackWindow(long insightsLookbackWindow) { + Utils.checkNotNull(insightsLookbackWindow, "insightsLookbackWindow"); + this.insightsLookbackWindow = Optional.ofNullable(insightsLookbackWindow); + return this; + } + + /** + * The attribution window. Facebook freezes insight data 28 days after it was generated, which means that all data from the past 28 days may have changed since we last emitted it, so you can retrieve refreshed insights from the past by setting this parameter. If you set a custom lookback window value in Facebook account, please provide the same value here. + */ + public SourceFacebookMarketing withInsightsLookbackWindow(Optional insightsLookbackWindow) { + Utils.checkNotNull(insightsLookbackWindow, "insightsLookbackWindow"); + this.insightsLookbackWindow = insightsLookbackWindow; + return this; + } + + /** + * Page size used when sending requests to Facebook API to specify number of records per page when response has pagination. Most users do not need to set this field unless they specifically need to tune the connector to address specific issues or use cases. + */ + public SourceFacebookMarketing withPageSize(long pageSize) { + Utils.checkNotNull(pageSize, "pageSize"); + this.pageSize = Optional.ofNullable(pageSize); + return this; + } + + /** + * Page size used when sending requests to Facebook API to specify number of records per page when response has pagination. Most users do not need to set this field unless they specifically need to tune the connector to address specific issues or use cases. + */ + public SourceFacebookMarketing withPageSize(Optional pageSize) { + Utils.checkNotNull(pageSize, "pageSize"); + this.pageSize = pageSize; + return this; + } + + /** + * The date from which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. If not set then all data will be replicated for usual streams and only last 2 years for insight streams. + */ + public SourceFacebookMarketing withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date from which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. If not set then all data will be replicated for usual streams and only last 2 years for insight streams. + */ + public SourceFacebookMarketing withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceFacebookMarketing other = (SourceFacebookMarketing) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.accountIds, other.accountIds) && + java.util.Objects.deepEquals(this.actionBreakdownsAllowEmpty, other.actionBreakdownsAllowEmpty) && + java.util.Objects.deepEquals(this.adStatuses, other.adStatuses) && + java.util.Objects.deepEquals(this.adsetStatuses, other.adsetStatuses) && + java.util.Objects.deepEquals(this.campaignStatuses, other.campaignStatuses) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.customInsights, other.customInsights) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.fetchThumbnailImages, other.fetchThumbnailImages) && + java.util.Objects.deepEquals(this.insightsJobTimeout, other.insightsJobTimeout) && + java.util.Objects.deepEquals(this.insightsLookbackWindow, other.insightsLookbackWindow) && + java.util.Objects.deepEquals(this.pageSize, other.pageSize) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + accountIds, + actionBreakdownsAllowEmpty, + adStatuses, + adsetStatuses, + campaignStatuses, + clientId, + clientSecret, + customInsights, + endDate, + fetchThumbnailImages, + insightsJobTimeout, + insightsLookbackWindow, + pageSize, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceFacebookMarketing.class, + "accessToken", accessToken, + "accountIds", accountIds, + "actionBreakdownsAllowEmpty", actionBreakdownsAllowEmpty, + "adStatuses", adStatuses, + "adsetStatuses", adsetStatuses, + "campaignStatuses", campaignStatuses, + "clientId", clientId, + "clientSecret", clientSecret, + "customInsights", customInsights, + "endDate", endDate, + "fetchThumbnailImages", fetchThumbnailImages, + "insightsJobTimeout", insightsJobTimeout, + "insightsLookbackWindow", insightsLookbackWindow, + "pageSize", pageSize, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String accessToken; + + private java.util.List accountIds; + + private Optional actionBreakdownsAllowEmpty; + + private Optional> adStatuses = Optional.empty(); + + private Optional> adsetStatuses = Optional.empty(); + + private Optional> campaignStatuses = Optional.empty(); + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Optional> customInsights = Optional.empty(); + + private Optional endDate = Optional.empty(); + + private Optional fetchThumbnailImages; + + private Optional insightsJobTimeout; + + private Optional insightsLookbackWindow; + + private Optional pageSize; + + private Optional startDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The value of the generated access token. From your App’s Dashboard, click on "Marketing API" then "Tools". Select permissions <b>ads_management, ads_read, read_insights, business_management</b>. Then click on "Get token". See the <a href="https://docs.airbyte.com/integrations/sources/facebook-marketing">docs</a> for more information. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Facebook Ad account ID(s) to pull data from. The Ad account ID number is in the account dropdown menu or in your browser's address bar of your <a href="https://adsmanager.facebook.com/adsmanager/">Meta Ads Manager</a>. See the <a href="https://www.facebook.com/business/help/1492627900875762">docs</a> for more information. + */ + public Builder accountIds(java.util.List accountIds) { + Utils.checkNotNull(accountIds, "accountIds"); + this.accountIds = accountIds; + return this; + } + + /** + * Allows action_breakdowns to be an empty list + */ + public Builder actionBreakdownsAllowEmpty(boolean actionBreakdownsAllowEmpty) { + Utils.checkNotNull(actionBreakdownsAllowEmpty, "actionBreakdownsAllowEmpty"); + this.actionBreakdownsAllowEmpty = Optional.ofNullable(actionBreakdownsAllowEmpty); + return this; + } + + /** + * Allows action_breakdowns to be an empty list + */ + public Builder actionBreakdownsAllowEmpty(Optional actionBreakdownsAllowEmpty) { + Utils.checkNotNull(actionBreakdownsAllowEmpty, "actionBreakdownsAllowEmpty"); + this.actionBreakdownsAllowEmpty = actionBreakdownsAllowEmpty; + return this; + } + + /** + * Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. + */ + public Builder adStatuses(java.util.List adStatuses) { + Utils.checkNotNull(adStatuses, "adStatuses"); + this.adStatuses = Optional.ofNullable(adStatuses); + return this; + } + + /** + * Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. + */ + public Builder adStatuses(Optional> adStatuses) { + Utils.checkNotNull(adStatuses, "adStatuses"); + this.adStatuses = adStatuses; + return this; + } + + /** + * Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. + */ + public Builder adsetStatuses(java.util.List adsetStatuses) { + Utils.checkNotNull(adsetStatuses, "adsetStatuses"); + this.adsetStatuses = Optional.ofNullable(adsetStatuses); + return this; + } + + /** + * Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. + */ + public Builder adsetStatuses(Optional> adsetStatuses) { + Utils.checkNotNull(adsetStatuses, "adsetStatuses"); + this.adsetStatuses = adsetStatuses; + return this; + } + + /** + * Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. + */ + public Builder campaignStatuses(java.util.List campaignStatuses) { + Utils.checkNotNull(campaignStatuses, "campaignStatuses"); + this.campaignStatuses = Optional.ofNullable(campaignStatuses); + return this; + } + + /** + * Select the statuses you want to be loaded in the stream. If no specific statuses are selected, the API's default behavior applies, and some statuses may be filtered out. + */ + public Builder campaignStatuses(Optional> campaignStatuses) { + Utils.checkNotNull(campaignStatuses, "campaignStatuses"); + this.campaignStatuses = campaignStatuses; + return this; + } + + /** + * The Client Id for your OAuth app + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client Id for your OAuth app + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret for your OAuth app + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret for your OAuth app + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * A list which contains ad statistics entries, each entry must have a name and can contains fields, breakdowns or action_breakdowns. Click on "add" to fill this field. + */ + public Builder customInsights(java.util.List customInsights) { + Utils.checkNotNull(customInsights, "customInsights"); + this.customInsights = Optional.ofNullable(customInsights); + return this; + } + + /** + * A list which contains ad statistics entries, each entry must have a name and can contains fields, breakdowns or action_breakdowns. Click on "add" to fill this field. + */ + public Builder customInsights(Optional> customInsights) { + Utils.checkNotNull(customInsights, "customInsights"); + this.customInsights = customInsights; + return this; + } + + /** + * The date until which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. All data generated between the start date and this end date will be replicated. Not setting this option will result in always syncing the latest data. + */ + public Builder endDate(OffsetDateTime endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * The date until which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. All data generated between the start date and this end date will be replicated. Not setting this option will result in always syncing the latest data. + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Set to active if you want to fetch the thumbnail_url and store the result in thumbnail_data_url for each Ad Creative. + */ + public Builder fetchThumbnailImages(boolean fetchThumbnailImages) { + Utils.checkNotNull(fetchThumbnailImages, "fetchThumbnailImages"); + this.fetchThumbnailImages = Optional.ofNullable(fetchThumbnailImages); + return this; + } + + /** + * Set to active if you want to fetch the thumbnail_url and store the result in thumbnail_data_url for each Ad Creative. + */ + public Builder fetchThumbnailImages(Optional fetchThumbnailImages) { + Utils.checkNotNull(fetchThumbnailImages, "fetchThumbnailImages"); + this.fetchThumbnailImages = fetchThumbnailImages; + return this; + } + + /** + * Insights Job Timeout establishes the maximum amount of time (in minutes) of waiting for the report job to complete. When timeout is reached the job is considered failed and we are trying to request smaller amount of data by breaking the job to few smaller ones. If you definitely know that 60 minutes is not enough for your report to be processed then you can decrease the timeout value, so we start breaking job to smaller parts faster. + */ + public Builder insightsJobTimeout(long insightsJobTimeout) { + Utils.checkNotNull(insightsJobTimeout, "insightsJobTimeout"); + this.insightsJobTimeout = Optional.ofNullable(insightsJobTimeout); + return this; + } + + /** + * Insights Job Timeout establishes the maximum amount of time (in minutes) of waiting for the report job to complete. When timeout is reached the job is considered failed and we are trying to request smaller amount of data by breaking the job to few smaller ones. If you definitely know that 60 minutes is not enough for your report to be processed then you can decrease the timeout value, so we start breaking job to smaller parts faster. + */ + public Builder insightsJobTimeout(Optional insightsJobTimeout) { + Utils.checkNotNull(insightsJobTimeout, "insightsJobTimeout"); + this.insightsJobTimeout = insightsJobTimeout; + return this; + } + + /** + * The attribution window. Facebook freezes insight data 28 days after it was generated, which means that all data from the past 28 days may have changed since we last emitted it, so you can retrieve refreshed insights from the past by setting this parameter. If you set a custom lookback window value in Facebook account, please provide the same value here. + */ + public Builder insightsLookbackWindow(long insightsLookbackWindow) { + Utils.checkNotNull(insightsLookbackWindow, "insightsLookbackWindow"); + this.insightsLookbackWindow = Optional.ofNullable(insightsLookbackWindow); + return this; + } + + /** + * The attribution window. Facebook freezes insight data 28 days after it was generated, which means that all data from the past 28 days may have changed since we last emitted it, so you can retrieve refreshed insights from the past by setting this parameter. If you set a custom lookback window value in Facebook account, please provide the same value here. + */ + public Builder insightsLookbackWindow(Optional insightsLookbackWindow) { + Utils.checkNotNull(insightsLookbackWindow, "insightsLookbackWindow"); + this.insightsLookbackWindow = insightsLookbackWindow; + return this; + } + + /** + * Page size used when sending requests to Facebook API to specify number of records per page when response has pagination. Most users do not need to set this field unless they specifically need to tune the connector to address specific issues or use cases. + */ + public Builder pageSize(long pageSize) { + Utils.checkNotNull(pageSize, "pageSize"); + this.pageSize = Optional.ofNullable(pageSize); + return this; + } + + /** + * Page size used when sending requests to Facebook API to specify number of records per page when response has pagination. Most users do not need to set this field unless they specifically need to tune the connector to address specific issues or use cases. + */ + public Builder pageSize(Optional pageSize) { + Utils.checkNotNull(pageSize, "pageSize"); + this.pageSize = pageSize; + return this; + } + + /** + * The date from which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. If not set then all data will be replicated for usual streams and only last 2 years for insight streams. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date from which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. If not set then all data will be replicated for usual streams and only last 2 years for insight streams. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceFacebookMarketing build() { + if (actionBreakdownsAllowEmpty == null) { + actionBreakdownsAllowEmpty = _SINGLETON_VALUE_ActionBreakdownsAllowEmpty.value(); + } + if (fetchThumbnailImages == null) { + fetchThumbnailImages = _SINGLETON_VALUE_FetchThumbnailImages.value(); + } + if (insightsJobTimeout == null) { + insightsJobTimeout = _SINGLETON_VALUE_InsightsJobTimeout.value(); + } + if (insightsLookbackWindow == null) { + insightsLookbackWindow = _SINGLETON_VALUE_InsightsLookbackWindow.value(); + } + if (pageSize == null) { + pageSize = _SINGLETON_VALUE_PageSize.value(); + } + return new SourceFacebookMarketing( + accessToken, + accountIds, + actionBreakdownsAllowEmpty, + adStatuses, + adsetStatuses, + campaignStatuses, + clientId, + clientSecret, + customInsights, + endDate, + fetchThumbnailImages, + insightsJobTimeout, + insightsLookbackWindow, + pageSize, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ActionBreakdownsAllowEmpty = + new LazySingletonValue<>( + "action_breakdowns_allow_empty", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_FetchThumbnailImages = + new LazySingletonValue<>( + "fetch_thumbnail_images", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_InsightsJobTimeout = + new LazySingletonValue<>( + "insights_job_timeout", + "60", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_InsightsLookbackWindow = + new LazySingletonValue<>( + "insights_lookback_window", + "28", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_PageSize = + new LazySingletonValue<>( + "page_size", + "100", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"facebook-marketing\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFacebookMarketingActionReportTime.java b/src/main/java/com/airbyte/api/models/shared/SourceFacebookMarketingActionReportTime.java new file mode 100644 index 000000000..38d1160d2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFacebookMarketingActionReportTime.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceFacebookMarketingActionReportTime - Determines the report time of action stats. For example, if a person saw the ad on Jan 1st but converted on Jan 2nd, when you query the API with action_report_time=impression, you see a conversion on Jan 1st. When you query the API with action_report_time=conversion, you see a conversion on Jan 2nd. + */ +public enum SourceFacebookMarketingActionReportTime { + CONVERSION("conversion"), + IMPRESSION("impression"), + MIXED("mixed"); + + @JsonValue + private final String value; + + private SourceFacebookMarketingActionReportTime(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFacebookMarketingFacebookMarketing.java b/src/main/java/com/airbyte/api/models/shared/SourceFacebookMarketingFacebookMarketing.java new file mode 100644 index 000000000..eac46e5e8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFacebookMarketingFacebookMarketing.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceFacebookMarketingFacebookMarketing { + FACEBOOK_MARKETING("facebook-marketing"); + + @JsonValue + private final String value; + + private SourceFacebookMarketingFacebookMarketing(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFacebookMarketingValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourceFacebookMarketingValidEnums.java new file mode 100644 index 000000000..a7599100b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFacebookMarketingValidEnums.java @@ -0,0 +1,165 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceFacebookMarketingValidEnums - An enumeration. + */ +public enum SourceFacebookMarketingValidEnums { + ACCOUNT_CURRENCY("account_currency"), + ACCOUNT_ID("account_id"), + ACCOUNT_NAME("account_name"), + ACTION_VALUES("action_values"), + ACTIONS("actions"), + AD_CLICK_ACTIONS("ad_click_actions"), + AD_ID("ad_id"), + AD_IMPRESSION_ACTIONS("ad_impression_actions"), + AD_NAME("ad_name"), + ADSET_END("adset_end"), + ADSET_ID("adset_id"), + ADSET_NAME("adset_name"), + ADSET_START("adset_start"), + AGE_TARGETING("age_targeting"), + ATTRIBUTION_SETTING("attribution_setting"), + AUCTION_BID("auction_bid"), + AUCTION_COMPETITIVENESS("auction_competitiveness"), + AUCTION_MAX_COMPETITOR_BID("auction_max_competitor_bid"), + BUYING_TYPE("buying_type"), + CAMPAIGN_ID("campaign_id"), + CAMPAIGN_NAME("campaign_name"), + CANVAS_AVG_VIEW_PERCENT("canvas_avg_view_percent"), + CANVAS_AVG_VIEW_TIME("canvas_avg_view_time"), + CATALOG_SEGMENT_ACTIONS("catalog_segment_actions"), + CATALOG_SEGMENT_VALUE("catalog_segment_value"), + CATALOG_SEGMENT_VALUE_MOBILE_PURCHASE_ROAS("catalog_segment_value_mobile_purchase_roas"), + CATALOG_SEGMENT_VALUE_OMNI_PURCHASE_ROAS("catalog_segment_value_omni_purchase_roas"), + CATALOG_SEGMENT_VALUE_WEBSITE_PURCHASE_ROAS("catalog_segment_value_website_purchase_roas"), + CLICKS("clicks"), + CONVERSION_LEAD_RATE("conversion_lead_rate"), + CONVERSION_RATE_RANKING("conversion_rate_ranking"), + CONVERSION_VALUES("conversion_values"), + CONVERSIONS("conversions"), + CONVERTED_PRODUCT_QUANTITY("converted_product_quantity"), + CONVERTED_PRODUCT_VALUE("converted_product_value"), + COST_PER15_SEC_VIDEO_VIEW("cost_per_15_sec_video_view"), + COST_PER2_SEC_CONTINUOUS_VIDEO_VIEW("cost_per_2_sec_continuous_video_view"), + COST_PER_ACTION_TYPE("cost_per_action_type"), + COST_PER_AD_CLICK("cost_per_ad_click"), + COST_PER_CONVERSION("cost_per_conversion"), + COST_PER_CONVERSION_LEAD("cost_per_conversion_lead"), + COST_PER_DDA_COUNTBY_CONVS("cost_per_dda_countby_convs"), + COST_PER_ESTIMATED_AD_RECALLERS("cost_per_estimated_ad_recallers"), + COST_PER_INLINE_LINK_CLICK("cost_per_inline_link_click"), + COST_PER_INLINE_POST_ENGAGEMENT("cost_per_inline_post_engagement"), + COST_PER_ONE_THOUSAND_AD_IMPRESSION("cost_per_one_thousand_ad_impression"), + COST_PER_OUTBOUND_CLICK("cost_per_outbound_click"), + COST_PER_THRUPLAY("cost_per_thruplay"), + COST_PER_UNIQUE_ACTION_TYPE("cost_per_unique_action_type"), + COST_PER_UNIQUE_CLICK("cost_per_unique_click"), + COST_PER_UNIQUE_CONVERSION("cost_per_unique_conversion"), + COST_PER_UNIQUE_INLINE_LINK_CLICK("cost_per_unique_inline_link_click"), + COST_PER_UNIQUE_OUTBOUND_CLICK("cost_per_unique_outbound_click"), + CPC("cpc"), + CPM("cpm"), + CPP("cpp"), + CREATED_TIME("created_time"), + CREATIVE_MEDIA_TYPE("creative_media_type"), + CTR("ctr"), + DATE_START("date_start"), + DATE_STOP("date_stop"), + DDA_COUNTBY_CONVS("dda_countby_convs"), + DDA_RESULTS("dda_results"), + ENGAGEMENT_RATE_RANKING("engagement_rate_ranking"), + ESTIMATED_AD_RECALL_RATE("estimated_ad_recall_rate"), + ESTIMATED_AD_RECALL_RATE_LOWER_BOUND("estimated_ad_recall_rate_lower_bound"), + ESTIMATED_AD_RECALL_RATE_UPPER_BOUND("estimated_ad_recall_rate_upper_bound"), + ESTIMATED_AD_RECALLERS("estimated_ad_recallers"), + ESTIMATED_AD_RECALLERS_LOWER_BOUND("estimated_ad_recallers_lower_bound"), + ESTIMATED_AD_RECALLERS_UPPER_BOUND("estimated_ad_recallers_upper_bound"), + FREQUENCY("frequency"), + FULL_VIEW_IMPRESSIONS("full_view_impressions"), + FULL_VIEW_REACH("full_view_reach"), + GENDER_TARGETING("gender_targeting"), + IMPRESSIONS("impressions"), + INLINE_LINK_CLICK_CTR("inline_link_click_ctr"), + INLINE_LINK_CLICKS("inline_link_clicks"), + INLINE_POST_ENGAGEMENT("inline_post_engagement"), + INSTAGRAM_UPCOMING_EVENT_REMINDERS_SET("instagram_upcoming_event_reminders_set"), + INSTANT_EXPERIENCE_CLICKS_TO_OPEN("instant_experience_clicks_to_open"), + INSTANT_EXPERIENCE_CLICKS_TO_START("instant_experience_clicks_to_start"), + INSTANT_EXPERIENCE_OUTBOUND_CLICKS("instant_experience_outbound_clicks"), + INTERACTIVE_COMPONENT_TAP("interactive_component_tap"), + LABELS("labels"), + LOCATION("location"), + MARKETING_MESSAGES_COST_PER_DELIVERED("marketing_messages_cost_per_delivered"), + MARKETING_MESSAGES_COST_PER_LINK_BTN_CLICK("marketing_messages_cost_per_link_btn_click"), + MARKETING_MESSAGES_SPEND("marketing_messages_spend"), + MOBILE_APP_PURCHASE_ROAS("mobile_app_purchase_roas"), + OBJECTIVE("objective"), + OPTIMIZATION_GOAL("optimization_goal"), + OUTBOUND_CLICKS("outbound_clicks"), + OUTBOUND_CLICKS_CTR("outbound_clicks_ctr"), + PLACE_PAGE_NAME("place_page_name"), + PURCHASE_ROAS("purchase_roas"), + QUALIFYING_QUESTION_QUALIFY_ANSWER_RATE("qualifying_question_qualify_answer_rate"), + QUALITY_RANKING("quality_ranking"), + REACH("reach"), + SOCIAL_SPEND("social_spend"), + SPEND("spend"), + TOTAL_POSTBACKS("total_postbacks"), + TOTAL_POSTBACKS_DETAILED("total_postbacks_detailed"), + TOTAL_POSTBACKS_DETAILED_V4("total_postbacks_detailed_v4"), + UNIQUE_ACTIONS("unique_actions"), + UNIQUE_CLICKS("unique_clicks"), + UNIQUE_CONVERSIONS("unique_conversions"), + UNIQUE_CTR("unique_ctr"), + UNIQUE_INLINE_LINK_CLICK_CTR("unique_inline_link_click_ctr"), + UNIQUE_INLINE_LINK_CLICKS("unique_inline_link_clicks"), + UNIQUE_LINK_CLICKS_CTR("unique_link_clicks_ctr"), + UNIQUE_OUTBOUND_CLICKS("unique_outbound_clicks"), + UNIQUE_OUTBOUND_CLICKS_CTR("unique_outbound_clicks_ctr"), + UNIQUE_VIDEO_CONTINUOUS2_SEC_WATCHED_ACTIONS("unique_video_continuous_2_sec_watched_actions"), + UNIQUE_VIDEO_VIEW15_SEC("unique_video_view_15_sec"), + UPDATED_TIME("updated_time"), + VIDEO15_SEC_WATCHED_ACTIONS("video_15_sec_watched_actions"), + VIDEO30_SEC_WATCHED_ACTIONS("video_30_sec_watched_actions"), + VIDEO_AVG_TIME_WATCHED_ACTIONS("video_avg_time_watched_actions"), + VIDEO_CONTINUOUS2_SEC_WATCHED_ACTIONS("video_continuous_2_sec_watched_actions"), + VIDEO_P100_WATCHED_ACTIONS("video_p100_watched_actions"), + VIDEO_P25_WATCHED_ACTIONS("video_p25_watched_actions"), + VIDEO_P50_WATCHED_ACTIONS("video_p50_watched_actions"), + VIDEO_P75_WATCHED_ACTIONS("video_p75_watched_actions"), + VIDEO_P95_WATCHED_ACTIONS("video_p95_watched_actions"), + VIDEO_PLAY_ACTIONS("video_play_actions"), + VIDEO_PLAY_CURVE_ACTIONS("video_play_curve_actions"), + VIDEO_PLAY_RETENTION0_TO15S_ACTIONS("video_play_retention_0_to_15s_actions"), + VIDEO_PLAY_RETENTION20_TO60S_ACTIONS("video_play_retention_20_to_60s_actions"), + VIDEO_PLAY_RETENTION_GRAPH_ACTIONS("video_play_retention_graph_actions"), + VIDEO_THRUPLAY_WATCHED_ACTIONS("video_thruplay_watched_actions"), + VIDEO_TIME_WATCHED_ACTIONS("video_time_watched_actions"), + WEBSITE_CTR("website_ctr"), + WEBSITE_PURCHASE_ROAS("website_purchase_roas"), + WISH_BID("wish_bid"); + + @JsonValue + private final String value; + + private SourceFacebookMarketingValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFaker.java b/src/main/java/com/airbyte/api/models/shared/SourceFaker.java new file mode 100644 index 000000000..e4bc84cc7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFaker.java @@ -0,0 +1,420 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceFaker { + + /** + * Should the updated_at values for every record be new each sync? Setting this to false will case the source to stop emitting records after COUNT records have been emitted. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("always_updated") + private Optional alwaysUpdated; + + /** + * How many users should be generated in total. The purchases table will be scaled to match, with 10 purchases created per 10 users. This setting does not apply to the products stream. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("count") + private Optional count; + + /** + * How many parallel workers should we use to generate fake data? Choose a value equal to the number of CPUs you will allocate to this source. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("parallelism") + private Optional parallelism; + + /** + * How many fake records will be in each page (stream slice), before a state message is emitted? + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("records_per_slice") + private Optional recordsPerSlice; + + /** + * Manually control the faker random seed to return the same values on subsequent runs (leave -1 for random) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("seed") + private Optional seed; + + @JsonProperty("sourceType") + private Faker sourceType; + + public SourceFaker( + @JsonProperty("always_updated") Optional alwaysUpdated, + @JsonProperty("count") Optional count, + @JsonProperty("parallelism") Optional parallelism, + @JsonProperty("records_per_slice") Optional recordsPerSlice, + @JsonProperty("seed") Optional seed) { + Utils.checkNotNull(alwaysUpdated, "alwaysUpdated"); + Utils.checkNotNull(count, "count"); + Utils.checkNotNull(parallelism, "parallelism"); + Utils.checkNotNull(recordsPerSlice, "recordsPerSlice"); + Utils.checkNotNull(seed, "seed"); + this.alwaysUpdated = alwaysUpdated; + this.count = count; + this.parallelism = parallelism; + this.recordsPerSlice = recordsPerSlice; + this.seed = seed; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Should the updated_at values for every record be new each sync? Setting this to false will case the source to stop emitting records after COUNT records have been emitted. + */ + public Optional alwaysUpdated() { + return alwaysUpdated; + } + + /** + * How many users should be generated in total. The purchases table will be scaled to match, with 10 purchases created per 10 users. This setting does not apply to the products stream. + */ + public Optional count() { + return count; + } + + /** + * How many parallel workers should we use to generate fake data? Choose a value equal to the number of CPUs you will allocate to this source. + */ + public Optional parallelism() { + return parallelism; + } + + /** + * How many fake records will be in each page (stream slice), before a state message is emitted? + */ + public Optional recordsPerSlice() { + return recordsPerSlice; + } + + /** + * Manually control the faker random seed to return the same values on subsequent runs (leave -1 for random) + */ + public Optional seed() { + return seed; + } + + public Faker sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Should the updated_at values for every record be new each sync? Setting this to false will case the source to stop emitting records after COUNT records have been emitted. + */ + public SourceFaker withAlwaysUpdated(boolean alwaysUpdated) { + Utils.checkNotNull(alwaysUpdated, "alwaysUpdated"); + this.alwaysUpdated = Optional.ofNullable(alwaysUpdated); + return this; + } + + /** + * Should the updated_at values for every record be new each sync? Setting this to false will case the source to stop emitting records after COUNT records have been emitted. + */ + public SourceFaker withAlwaysUpdated(Optional alwaysUpdated) { + Utils.checkNotNull(alwaysUpdated, "alwaysUpdated"); + this.alwaysUpdated = alwaysUpdated; + return this; + } + + /** + * How many users should be generated in total. The purchases table will be scaled to match, with 10 purchases created per 10 users. This setting does not apply to the products stream. + */ + public SourceFaker withCount(long count) { + Utils.checkNotNull(count, "count"); + this.count = Optional.ofNullable(count); + return this; + } + + /** + * How many users should be generated in total. The purchases table will be scaled to match, with 10 purchases created per 10 users. This setting does not apply to the products stream. + */ + public SourceFaker withCount(Optional count) { + Utils.checkNotNull(count, "count"); + this.count = count; + return this; + } + + /** + * How many parallel workers should we use to generate fake data? Choose a value equal to the number of CPUs you will allocate to this source. + */ + public SourceFaker withParallelism(long parallelism) { + Utils.checkNotNull(parallelism, "parallelism"); + this.parallelism = Optional.ofNullable(parallelism); + return this; + } + + /** + * How many parallel workers should we use to generate fake data? Choose a value equal to the number of CPUs you will allocate to this source. + */ + public SourceFaker withParallelism(Optional parallelism) { + Utils.checkNotNull(parallelism, "parallelism"); + this.parallelism = parallelism; + return this; + } + + /** + * How many fake records will be in each page (stream slice), before a state message is emitted? + */ + public SourceFaker withRecordsPerSlice(long recordsPerSlice) { + Utils.checkNotNull(recordsPerSlice, "recordsPerSlice"); + this.recordsPerSlice = Optional.ofNullable(recordsPerSlice); + return this; + } + + /** + * How many fake records will be in each page (stream slice), before a state message is emitted? + */ + public SourceFaker withRecordsPerSlice(Optional recordsPerSlice) { + Utils.checkNotNull(recordsPerSlice, "recordsPerSlice"); + this.recordsPerSlice = recordsPerSlice; + return this; + } + + /** + * Manually control the faker random seed to return the same values on subsequent runs (leave -1 for random) + */ + public SourceFaker withSeed(long seed) { + Utils.checkNotNull(seed, "seed"); + this.seed = Optional.ofNullable(seed); + return this; + } + + /** + * Manually control the faker random seed to return the same values on subsequent runs (leave -1 for random) + */ + public SourceFaker withSeed(Optional seed) { + Utils.checkNotNull(seed, "seed"); + this.seed = seed; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceFaker other = (SourceFaker) o; + return + java.util.Objects.deepEquals(this.alwaysUpdated, other.alwaysUpdated) && + java.util.Objects.deepEquals(this.count, other.count) && + java.util.Objects.deepEquals(this.parallelism, other.parallelism) && + java.util.Objects.deepEquals(this.recordsPerSlice, other.recordsPerSlice) && + java.util.Objects.deepEquals(this.seed, other.seed) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + alwaysUpdated, + count, + parallelism, + recordsPerSlice, + seed, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceFaker.class, + "alwaysUpdated", alwaysUpdated, + "count", count, + "parallelism", parallelism, + "recordsPerSlice", recordsPerSlice, + "seed", seed, + "sourceType", sourceType); + } + + public final static class Builder { + + private Optional alwaysUpdated; + + private Optional count; + + private Optional parallelism; + + private Optional recordsPerSlice; + + private Optional seed; + + private Builder() { + // force use of static builder() method + } + + /** + * Should the updated_at values for every record be new each sync? Setting this to false will case the source to stop emitting records after COUNT records have been emitted. + */ + public Builder alwaysUpdated(boolean alwaysUpdated) { + Utils.checkNotNull(alwaysUpdated, "alwaysUpdated"); + this.alwaysUpdated = Optional.ofNullable(alwaysUpdated); + return this; + } + + /** + * Should the updated_at values for every record be new each sync? Setting this to false will case the source to stop emitting records after COUNT records have been emitted. + */ + public Builder alwaysUpdated(Optional alwaysUpdated) { + Utils.checkNotNull(alwaysUpdated, "alwaysUpdated"); + this.alwaysUpdated = alwaysUpdated; + return this; + } + + /** + * How many users should be generated in total. The purchases table will be scaled to match, with 10 purchases created per 10 users. This setting does not apply to the products stream. + */ + public Builder count(long count) { + Utils.checkNotNull(count, "count"); + this.count = Optional.ofNullable(count); + return this; + } + + /** + * How many users should be generated in total. The purchases table will be scaled to match, with 10 purchases created per 10 users. This setting does not apply to the products stream. + */ + public Builder count(Optional count) { + Utils.checkNotNull(count, "count"); + this.count = count; + return this; + } + + /** + * How many parallel workers should we use to generate fake data? Choose a value equal to the number of CPUs you will allocate to this source. + */ + public Builder parallelism(long parallelism) { + Utils.checkNotNull(parallelism, "parallelism"); + this.parallelism = Optional.ofNullable(parallelism); + return this; + } + + /** + * How many parallel workers should we use to generate fake data? Choose a value equal to the number of CPUs you will allocate to this source. + */ + public Builder parallelism(Optional parallelism) { + Utils.checkNotNull(parallelism, "parallelism"); + this.parallelism = parallelism; + return this; + } + + /** + * How many fake records will be in each page (stream slice), before a state message is emitted? + */ + public Builder recordsPerSlice(long recordsPerSlice) { + Utils.checkNotNull(recordsPerSlice, "recordsPerSlice"); + this.recordsPerSlice = Optional.ofNullable(recordsPerSlice); + return this; + } + + /** + * How many fake records will be in each page (stream slice), before a state message is emitted? + */ + public Builder recordsPerSlice(Optional recordsPerSlice) { + Utils.checkNotNull(recordsPerSlice, "recordsPerSlice"); + this.recordsPerSlice = recordsPerSlice; + return this; + } + + /** + * Manually control the faker random seed to return the same values on subsequent runs (leave -1 for random) + */ + public Builder seed(long seed) { + Utils.checkNotNull(seed, "seed"); + this.seed = Optional.ofNullable(seed); + return this; + } + + /** + * Manually control the faker random seed to return the same values on subsequent runs (leave -1 for random) + */ + public Builder seed(Optional seed) { + Utils.checkNotNull(seed, "seed"); + this.seed = seed; + return this; + } + + public SourceFaker build() { + if (alwaysUpdated == null) { + alwaysUpdated = _SINGLETON_VALUE_AlwaysUpdated.value(); + } + if (count == null) { + count = _SINGLETON_VALUE_Count.value(); + } + if (parallelism == null) { + parallelism = _SINGLETON_VALUE_Parallelism.value(); + } + if (recordsPerSlice == null) { + recordsPerSlice = _SINGLETON_VALUE_RecordsPerSlice.value(); + } + if (seed == null) { + seed = _SINGLETON_VALUE_Seed.value(); + } + return new SourceFaker( + alwaysUpdated, + count, + parallelism, + recordsPerSlice, + seed); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AlwaysUpdated = + new LazySingletonValue<>( + "always_updated", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Count = + new LazySingletonValue<>( + "count", + "1000", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Parallelism = + new LazySingletonValue<>( + "parallelism", + "4", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_RecordsPerSlice = + new LazySingletonValue<>( + "records_per_slice", + "1000", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Seed = + new LazySingletonValue<>( + "seed", + "-1", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"faker\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFauna.java b/src/main/java/com/airbyte/api/models/shared/SourceFauna.java new file mode 100644 index 000000000..0caf34096 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFauna.java @@ -0,0 +1,383 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceFauna { + + /** + * Settings for the Fauna Collection. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("collection") + private Optional collection; + + /** + * Domain of Fauna to query. Defaults db.fauna.com. See <a href=https://docs.fauna.com/fauna/current/learn/understanding/region_groups#how-to-use-region-groups>the docs</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("domain") + private Optional domain; + + /** + * Endpoint port. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + /** + * URL scheme. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("scheme") + private Optional scheme; + + /** + * Fauna secret, used when authenticating with the database. + */ + @JsonProperty("secret") + private String secret; + + @JsonProperty("sourceType") + private Fauna sourceType; + + public SourceFauna( + @JsonProperty("collection") Optional collection, + @JsonProperty("domain") Optional domain, + @JsonProperty("port") Optional port, + @JsonProperty("scheme") Optional scheme, + @JsonProperty("secret") String secret) { + Utils.checkNotNull(collection, "collection"); + Utils.checkNotNull(domain, "domain"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(scheme, "scheme"); + Utils.checkNotNull(secret, "secret"); + this.collection = collection; + this.domain = domain; + this.port = port; + this.scheme = scheme; + this.secret = secret; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Settings for the Fauna Collection. + */ + public Optional collection() { + return collection; + } + + /** + * Domain of Fauna to query. Defaults db.fauna.com. See <a href=https://docs.fauna.com/fauna/current/learn/understanding/region_groups#how-to-use-region-groups>the docs</a>. + */ + public Optional domain() { + return domain; + } + + /** + * Endpoint port. + */ + public Optional port() { + return port; + } + + /** + * URL scheme. + */ + public Optional scheme() { + return scheme; + } + + /** + * Fauna secret, used when authenticating with the database. + */ + public String secret() { + return secret; + } + + public Fauna sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Settings for the Fauna Collection. + */ + public SourceFauna withCollection(Collection collection) { + Utils.checkNotNull(collection, "collection"); + this.collection = Optional.ofNullable(collection); + return this; + } + + /** + * Settings for the Fauna Collection. + */ + public SourceFauna withCollection(Optional collection) { + Utils.checkNotNull(collection, "collection"); + this.collection = collection; + return this; + } + + /** + * Domain of Fauna to query. Defaults db.fauna.com. See <a href=https://docs.fauna.com/fauna/current/learn/understanding/region_groups#how-to-use-region-groups>the docs</a>. + */ + public SourceFauna withDomain(String domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = Optional.ofNullable(domain); + return this; + } + + /** + * Domain of Fauna to query. Defaults db.fauna.com. See <a href=https://docs.fauna.com/fauna/current/learn/understanding/region_groups#how-to-use-region-groups>the docs</a>. + */ + public SourceFauna withDomain(Optional domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = domain; + return this; + } + + /** + * Endpoint port. + */ + public SourceFauna withPort(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Endpoint port. + */ + public SourceFauna withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * URL scheme. + */ + public SourceFauna withScheme(String scheme) { + Utils.checkNotNull(scheme, "scheme"); + this.scheme = Optional.ofNullable(scheme); + return this; + } + + /** + * URL scheme. + */ + public SourceFauna withScheme(Optional scheme) { + Utils.checkNotNull(scheme, "scheme"); + this.scheme = scheme; + return this; + } + + /** + * Fauna secret, used when authenticating with the database. + */ + public SourceFauna withSecret(String secret) { + Utils.checkNotNull(secret, "secret"); + this.secret = secret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceFauna other = (SourceFauna) o; + return + java.util.Objects.deepEquals(this.collection, other.collection) && + java.util.Objects.deepEquals(this.domain, other.domain) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.scheme, other.scheme) && + java.util.Objects.deepEquals(this.secret, other.secret) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + collection, + domain, + port, + scheme, + secret, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceFauna.class, + "collection", collection, + "domain", domain, + "port", port, + "scheme", scheme, + "secret", secret, + "sourceType", sourceType); + } + + public final static class Builder { + + private Optional collection = Optional.empty(); + + private Optional domain; + + private Optional port; + + private Optional scheme; + + private String secret; + + private Builder() { + // force use of static builder() method + } + + /** + * Settings for the Fauna Collection. + */ + public Builder collection(Collection collection) { + Utils.checkNotNull(collection, "collection"); + this.collection = Optional.ofNullable(collection); + return this; + } + + /** + * Settings for the Fauna Collection. + */ + public Builder collection(Optional collection) { + Utils.checkNotNull(collection, "collection"); + this.collection = collection; + return this; + } + + /** + * Domain of Fauna to query. Defaults db.fauna.com. See <a href=https://docs.fauna.com/fauna/current/learn/understanding/region_groups#how-to-use-region-groups>the docs</a>. + */ + public Builder domain(String domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = Optional.ofNullable(domain); + return this; + } + + /** + * Domain of Fauna to query. Defaults db.fauna.com. See <a href=https://docs.fauna.com/fauna/current/learn/understanding/region_groups#how-to-use-region-groups>the docs</a>. + */ + public Builder domain(Optional domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = domain; + return this; + } + + /** + * Endpoint port. + */ + public Builder port(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Endpoint port. + */ + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * URL scheme. + */ + public Builder scheme(String scheme) { + Utils.checkNotNull(scheme, "scheme"); + this.scheme = Optional.ofNullable(scheme); + return this; + } + + /** + * URL scheme. + */ + public Builder scheme(Optional scheme) { + Utils.checkNotNull(scheme, "scheme"); + this.scheme = scheme; + return this; + } + + /** + * Fauna secret, used when authenticating with the database. + */ + public Builder secret(String secret) { + Utils.checkNotNull(secret, "secret"); + this.secret = secret; + return this; + } + + public SourceFauna build() { + if (domain == null) { + domain = _SINGLETON_VALUE_Domain.value(); + } + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + if (scheme == null) { + scheme = _SINGLETON_VALUE_Scheme.value(); + } + return new SourceFauna( + collection, + domain, + port, + scheme, + secret); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Domain = + new LazySingletonValue<>( + "domain", + "\"db.fauna.com\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "443", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Scheme = + new LazySingletonValue<>( + "scheme", + "\"https\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"fauna\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFaunaDeletionMode.java b/src/main/java/com/airbyte/api/models/shared/SourceFaunaDeletionMode.java new file mode 100644 index 000000000..6dc8ba539 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFaunaDeletionMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceFaunaDeletionMode { + IGNORE("ignore"); + + @JsonValue + private final String value; + + private SourceFaunaDeletionMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFaunaSchemasDeletionMode.java b/src/main/java/com/airbyte/api/models/shared/SourceFaunaSchemasDeletionMode.java new file mode 100644 index 000000000..e00b99135 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFaunaSchemasDeletionMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceFaunaSchemasDeletionMode { + DELETED_FIELD("deleted_field"); + + @JsonValue + private final String value; + + private SourceFaunaSchemasDeletionMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFile.java b/src/main/java/com/airbyte/api/models/shared/SourceFile.java new file mode 100644 index 000000000..fee88efe8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFile.java @@ -0,0 +1,327 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceFile { + + /** + * The Name of the final table to replicate this file into (should include letters, numbers dash and underscores only). + */ + @JsonProperty("dataset_name") + private String datasetName; + + /** + * The Format of the file which should be replicated (Warning: some formats may be experimental, please refer to the docs). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("format") + private Optional format; + + /** + * The storage Provider or Location of the file(s) which should be replicated. + */ + @JsonProperty("provider") + private StorageProvider provider; + + /** + * This should be a string in JSON format. It depends on the chosen file format to provide additional options and tune its behavior. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("reader_options") + private Optional readerOptions; + + @JsonProperty("sourceType") + private File sourceType; + + /** + * The URL path to access the file which should be replicated. + */ + @JsonProperty("url") + private String url; + + public SourceFile( + @JsonProperty("dataset_name") String datasetName, + @JsonProperty("format") Optional format, + @JsonProperty("provider") StorageProvider provider, + @JsonProperty("reader_options") Optional readerOptions, + @JsonProperty("url") String url) { + Utils.checkNotNull(datasetName, "datasetName"); + Utils.checkNotNull(format, "format"); + Utils.checkNotNull(provider, "provider"); + Utils.checkNotNull(readerOptions, "readerOptions"); + Utils.checkNotNull(url, "url"); + this.datasetName = datasetName; + this.format = format; + this.provider = provider; + this.readerOptions = readerOptions; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.url = url; + } + + /** + * The Name of the final table to replicate this file into (should include letters, numbers dash and underscores only). + */ + public String datasetName() { + return datasetName; + } + + /** + * The Format of the file which should be replicated (Warning: some formats may be experimental, please refer to the docs). + */ + public Optional format() { + return format; + } + + /** + * The storage Provider or Location of the file(s) which should be replicated. + */ + public StorageProvider provider() { + return provider; + } + + /** + * This should be a string in JSON format. It depends on the chosen file format to provide additional options and tune its behavior. + */ + public Optional readerOptions() { + return readerOptions; + } + + public File sourceType() { + return sourceType; + } + + /** + * The URL path to access the file which should be replicated. + */ + public String url() { + return url; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Name of the final table to replicate this file into (should include letters, numbers dash and underscores only). + */ + public SourceFile withDatasetName(String datasetName) { + Utils.checkNotNull(datasetName, "datasetName"); + this.datasetName = datasetName; + return this; + } + + /** + * The Format of the file which should be replicated (Warning: some formats may be experimental, please refer to the docs). + */ + public SourceFile withFormat(FileFormat format) { + Utils.checkNotNull(format, "format"); + this.format = Optional.ofNullable(format); + return this; + } + + /** + * The Format of the file which should be replicated (Warning: some formats may be experimental, please refer to the docs). + */ + public SourceFile withFormat(Optional format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * The storage Provider or Location of the file(s) which should be replicated. + */ + public SourceFile withProvider(StorageProvider provider) { + Utils.checkNotNull(provider, "provider"); + this.provider = provider; + return this; + } + + /** + * This should be a string in JSON format. It depends on the chosen file format to provide additional options and tune its behavior. + */ + public SourceFile withReaderOptions(String readerOptions) { + Utils.checkNotNull(readerOptions, "readerOptions"); + this.readerOptions = Optional.ofNullable(readerOptions); + return this; + } + + /** + * This should be a string in JSON format. It depends on the chosen file format to provide additional options and tune its behavior. + */ + public SourceFile withReaderOptions(Optional readerOptions) { + Utils.checkNotNull(readerOptions, "readerOptions"); + this.readerOptions = readerOptions; + return this; + } + + /** + * The URL path to access the file which should be replicated. + */ + public SourceFile withUrl(String url) { + Utils.checkNotNull(url, "url"); + this.url = url; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceFile other = (SourceFile) o; + return + java.util.Objects.deepEquals(this.datasetName, other.datasetName) && + java.util.Objects.deepEquals(this.format, other.format) && + java.util.Objects.deepEquals(this.provider, other.provider) && + java.util.Objects.deepEquals(this.readerOptions, other.readerOptions) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.url, other.url); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + datasetName, + format, + provider, + readerOptions, + sourceType, + url); + } + + @Override + public String toString() { + return Utils.toString(SourceFile.class, + "datasetName", datasetName, + "format", format, + "provider", provider, + "readerOptions", readerOptions, + "sourceType", sourceType, + "url", url); + } + + public final static class Builder { + + private String datasetName; + + private Optional format; + + private StorageProvider provider; + + private Optional readerOptions = Optional.empty(); + + private String url; + + private Builder() { + // force use of static builder() method + } + + /** + * The Name of the final table to replicate this file into (should include letters, numbers dash and underscores only). + */ + public Builder datasetName(String datasetName) { + Utils.checkNotNull(datasetName, "datasetName"); + this.datasetName = datasetName; + return this; + } + + /** + * The Format of the file which should be replicated (Warning: some formats may be experimental, please refer to the docs). + */ + public Builder format(FileFormat format) { + Utils.checkNotNull(format, "format"); + this.format = Optional.ofNullable(format); + return this; + } + + /** + * The Format of the file which should be replicated (Warning: some formats may be experimental, please refer to the docs). + */ + public Builder format(Optional format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * The storage Provider or Location of the file(s) which should be replicated. + */ + public Builder provider(StorageProvider provider) { + Utils.checkNotNull(provider, "provider"); + this.provider = provider; + return this; + } + + /** + * This should be a string in JSON format. It depends on the chosen file format to provide additional options and tune its behavior. + */ + public Builder readerOptions(String readerOptions) { + Utils.checkNotNull(readerOptions, "readerOptions"); + this.readerOptions = Optional.ofNullable(readerOptions); + return this; + } + + /** + * This should be a string in JSON format. It depends on the chosen file format to provide additional options and tune its behavior. + */ + public Builder readerOptions(Optional readerOptions) { + Utils.checkNotNull(readerOptions, "readerOptions"); + this.readerOptions = readerOptions; + return this; + } + + /** + * The URL path to access the file which should be replicated. + */ + public Builder url(String url) { + Utils.checkNotNull(url, "url"); + this.url = url; + return this; + } + + public SourceFile build() { + if (format == null) { + format = _SINGLETON_VALUE_Format.value(); + } + return new SourceFile( + datasetName, + format, + provider, + readerOptions, + url); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Format = + new LazySingletonValue<>( + "format", + "\"csv\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"file\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFileS3AmazonWebServices.java b/src/main/java/com/airbyte/api/models/shared/SourceFileS3AmazonWebServices.java new file mode 100644 index 000000000..1da9b2f40 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFileS3AmazonWebServices.java @@ -0,0 +1,198 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceFileS3AmazonWebServices { + + /** + * In order to access private Buckets stored on AWS S3, this connector would need credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("aws_access_key_id") + private Optional awsAccessKeyId; + + /** + * In order to access private Buckets stored on AWS S3, this connector would need credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("aws_secret_access_key") + private Optional awsSecretAccessKey; + + @JsonProperty("storage") + private SourceFileSchemasStorage storage; + + public SourceFileS3AmazonWebServices( + @JsonProperty("aws_access_key_id") Optional awsAccessKeyId, + @JsonProperty("aws_secret_access_key") Optional awsSecretAccessKey) { + Utils.checkNotNull(awsAccessKeyId, "awsAccessKeyId"); + Utils.checkNotNull(awsSecretAccessKey, "awsSecretAccessKey"); + this.awsAccessKeyId = awsAccessKeyId; + this.awsSecretAccessKey = awsSecretAccessKey; + this.storage = Builder._SINGLETON_VALUE_Storage.value(); + } + + /** + * In order to access private Buckets stored on AWS S3, this connector would need credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public Optional awsAccessKeyId() { + return awsAccessKeyId; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector would need credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public Optional awsSecretAccessKey() { + return awsSecretAccessKey; + } + + public SourceFileSchemasStorage storage() { + return storage; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * In order to access private Buckets stored on AWS S3, this connector would need credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public SourceFileS3AmazonWebServices withAwsAccessKeyId(String awsAccessKeyId) { + Utils.checkNotNull(awsAccessKeyId, "awsAccessKeyId"); + this.awsAccessKeyId = Optional.ofNullable(awsAccessKeyId); + return this; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector would need credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public SourceFileS3AmazonWebServices withAwsAccessKeyId(Optional awsAccessKeyId) { + Utils.checkNotNull(awsAccessKeyId, "awsAccessKeyId"); + this.awsAccessKeyId = awsAccessKeyId; + return this; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector would need credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public SourceFileS3AmazonWebServices withAwsSecretAccessKey(String awsSecretAccessKey) { + Utils.checkNotNull(awsSecretAccessKey, "awsSecretAccessKey"); + this.awsSecretAccessKey = Optional.ofNullable(awsSecretAccessKey); + return this; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector would need credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public SourceFileS3AmazonWebServices withAwsSecretAccessKey(Optional awsSecretAccessKey) { + Utils.checkNotNull(awsSecretAccessKey, "awsSecretAccessKey"); + this.awsSecretAccessKey = awsSecretAccessKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceFileS3AmazonWebServices other = (SourceFileS3AmazonWebServices) o; + return + java.util.Objects.deepEquals(this.awsAccessKeyId, other.awsAccessKeyId) && + java.util.Objects.deepEquals(this.awsSecretAccessKey, other.awsSecretAccessKey) && + java.util.Objects.deepEquals(this.storage, other.storage); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + awsAccessKeyId, + awsSecretAccessKey, + storage); + } + + @Override + public String toString() { + return Utils.toString(SourceFileS3AmazonWebServices.class, + "awsAccessKeyId", awsAccessKeyId, + "awsSecretAccessKey", awsSecretAccessKey, + "storage", storage); + } + + public final static class Builder { + + private Optional awsAccessKeyId = Optional.empty(); + + private Optional awsSecretAccessKey = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * In order to access private Buckets stored on AWS S3, this connector would need credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public Builder awsAccessKeyId(String awsAccessKeyId) { + Utils.checkNotNull(awsAccessKeyId, "awsAccessKeyId"); + this.awsAccessKeyId = Optional.ofNullable(awsAccessKeyId); + return this; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector would need credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public Builder awsAccessKeyId(Optional awsAccessKeyId) { + Utils.checkNotNull(awsAccessKeyId, "awsAccessKeyId"); + this.awsAccessKeyId = awsAccessKeyId; + return this; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector would need credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public Builder awsSecretAccessKey(String awsSecretAccessKey) { + Utils.checkNotNull(awsSecretAccessKey, "awsSecretAccessKey"); + this.awsSecretAccessKey = Optional.ofNullable(awsSecretAccessKey); + return this; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector would need credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public Builder awsSecretAccessKey(Optional awsSecretAccessKey) { + Utils.checkNotNull(awsSecretAccessKey, "awsSecretAccessKey"); + this.awsSecretAccessKey = awsSecretAccessKey; + return this; + } + + public SourceFileS3AmazonWebServices build() { + return new SourceFileS3AmazonWebServices( + awsAccessKeyId, + awsSecretAccessKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Storage = + new LazySingletonValue<>( + "storage", + "\"S3\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFileSchemasProviderStorage.java b/src/main/java/com/airbyte/api/models/shared/SourceFileSchemasProviderStorage.java new file mode 100644 index 000000000..70d90a6eb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFileSchemasProviderStorage.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceFileSchemasProviderStorage { + AZ_BLOB("AzBlob"); + + @JsonValue + private final String value; + + private SourceFileSchemasProviderStorage(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFileSchemasProviderStorageProvider6Storage.java b/src/main/java/com/airbyte/api/models/shared/SourceFileSchemasProviderStorageProvider6Storage.java new file mode 100644 index 000000000..53642723f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFileSchemasProviderStorageProvider6Storage.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceFileSchemasProviderStorageProvider6Storage { + SCP("SCP"); + + @JsonValue + private final String value; + + private SourceFileSchemasProviderStorageProvider6Storage(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFileSchemasProviderStorageProvider7Storage.java b/src/main/java/com/airbyte/api/models/shared/SourceFileSchemasProviderStorageProvider7Storage.java new file mode 100644 index 000000000..a45dccfc2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFileSchemasProviderStorageProvider7Storage.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceFileSchemasProviderStorageProvider7Storage { + SFTP("SFTP"); + + @JsonValue + private final String value; + + private SourceFileSchemasProviderStorageProvider7Storage(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFileSchemasProviderStorageProviderStorage.java b/src/main/java/com/airbyte/api/models/shared/SourceFileSchemasProviderStorageProviderStorage.java new file mode 100644 index 000000000..51edd2534 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFileSchemasProviderStorageProviderStorage.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceFileSchemasProviderStorageProviderStorage { + SSH("SSH"); + + @JsonValue + private final String value; + + private SourceFileSchemasProviderStorageProviderStorage(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFileSchemasStorage.java b/src/main/java/com/airbyte/api/models/shared/SourceFileSchemasStorage.java new file mode 100644 index 000000000..da9cb7abf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFileSchemasStorage.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceFileSchemasStorage { + S3("S3"); + + @JsonValue + private final String value; + + private SourceFileSchemasStorage(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFileStorage.java b/src/main/java/com/airbyte/api/models/shared/SourceFileStorage.java new file mode 100644 index 000000000..5b073947a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFileStorage.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceFileStorage { + GCS("GCS"); + + @JsonValue + private final String value; + + private SourceFileStorage(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFirebolt.java b/src/main/java/com/airbyte/api/models/shared/SourceFirebolt.java new file mode 100644 index 000000000..700705300 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFirebolt.java @@ -0,0 +1,377 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceFirebolt { + + /** + * Firebolt account to login. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("account") + private Optional account; + + /** + * The database to connect to. + */ + @JsonProperty("database") + private String database; + + /** + * Engine name or url to connect to. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("engine") + private Optional engine; + + /** + * The host name of your Firebolt database. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("host") + private Optional host; + + /** + * Firebolt password. + */ + @JsonProperty("password") + private String password; + + @JsonProperty("sourceType") + private Firebolt sourceType; + + /** + * Firebolt email address you use to login. + */ + @JsonProperty("username") + private String username; + + public SourceFirebolt( + @JsonProperty("account") Optional account, + @JsonProperty("database") String database, + @JsonProperty("engine") Optional engine, + @JsonProperty("host") Optional host, + @JsonProperty("password") String password, + @JsonProperty("username") String username) { + Utils.checkNotNull(account, "account"); + Utils.checkNotNull(database, "database"); + Utils.checkNotNull(engine, "engine"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(username, "username"); + this.account = account; + this.database = database; + this.engine = engine; + this.host = host; + this.password = password; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.username = username; + } + + /** + * Firebolt account to login. + */ + public Optional account() { + return account; + } + + /** + * The database to connect to. + */ + public String database() { + return database; + } + + /** + * Engine name or url to connect to. + */ + public Optional engine() { + return engine; + } + + /** + * The host name of your Firebolt database. + */ + public Optional host() { + return host; + } + + /** + * Firebolt password. + */ + public String password() { + return password; + } + + public Firebolt sourceType() { + return sourceType; + } + + /** + * Firebolt email address you use to login. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Firebolt account to login. + */ + public SourceFirebolt withAccount(String account) { + Utils.checkNotNull(account, "account"); + this.account = Optional.ofNullable(account); + return this; + } + + /** + * Firebolt account to login. + */ + public SourceFirebolt withAccount(Optional account) { + Utils.checkNotNull(account, "account"); + this.account = account; + return this; + } + + /** + * The database to connect to. + */ + public SourceFirebolt withDatabase(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * Engine name or url to connect to. + */ + public SourceFirebolt withEngine(String engine) { + Utils.checkNotNull(engine, "engine"); + this.engine = Optional.ofNullable(engine); + return this; + } + + /** + * Engine name or url to connect to. + */ + public SourceFirebolt withEngine(Optional engine) { + Utils.checkNotNull(engine, "engine"); + this.engine = engine; + return this; + } + + /** + * The host name of your Firebolt database. + */ + public SourceFirebolt withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = Optional.ofNullable(host); + return this; + } + + /** + * The host name of your Firebolt database. + */ + public SourceFirebolt withHost(Optional host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Firebolt password. + */ + public SourceFirebolt withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Firebolt email address you use to login. + */ + public SourceFirebolt withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceFirebolt other = (SourceFirebolt) o; + return + java.util.Objects.deepEquals(this.account, other.account) && + java.util.Objects.deepEquals(this.database, other.database) && + java.util.Objects.deepEquals(this.engine, other.engine) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + account, + database, + engine, + host, + password, + sourceType, + username); + } + + @Override + public String toString() { + return Utils.toString(SourceFirebolt.class, + "account", account, + "database", database, + "engine", engine, + "host", host, + "password", password, + "sourceType", sourceType, + "username", username); + } + + public final static class Builder { + + private Optional account = Optional.empty(); + + private String database; + + private Optional engine = Optional.empty(); + + private Optional host = Optional.empty(); + + private String password; + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Firebolt account to login. + */ + public Builder account(String account) { + Utils.checkNotNull(account, "account"); + this.account = Optional.ofNullable(account); + return this; + } + + /** + * Firebolt account to login. + */ + public Builder account(Optional account) { + Utils.checkNotNull(account, "account"); + this.account = account; + return this; + } + + /** + * The database to connect to. + */ + public Builder database(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * Engine name or url to connect to. + */ + public Builder engine(String engine) { + Utils.checkNotNull(engine, "engine"); + this.engine = Optional.ofNullable(engine); + return this; + } + + /** + * Engine name or url to connect to. + */ + public Builder engine(Optional engine) { + Utils.checkNotNull(engine, "engine"); + this.engine = engine; + return this; + } + + /** + * The host name of your Firebolt database. + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = Optional.ofNullable(host); + return this; + } + + /** + * The host name of your Firebolt database. + */ + public Builder host(Optional host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Firebolt password. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Firebolt email address you use to login. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public SourceFirebolt build() { + return new SourceFirebolt( + account, + database, + engine, + host, + password, + username); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"firebolt\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFreshcaller.java b/src/main/java/com/airbyte/api/models/shared/SourceFreshcaller.java new file mode 100644 index 000000000..520c8112e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFreshcaller.java @@ -0,0 +1,340 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceFreshcaller { + + /** + * Freshcaller API Key. See the <a href="https://docs.airbyte.com/integrations/sources/freshcaller">docs</a> for more information on how to obtain this key. + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * Used to construct Base URL for the Freshcaller APIs + */ + @JsonProperty("domain") + private String domain; + + /** + * The number of requests per minute that this source allowed to use. There is a rate limit of 50 requests per minute per app per account. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("requests_per_minute") + private Optional requestsPerMinute; + + @JsonProperty("sourceType") + private Freshcaller sourceType; + + /** + * UTC date and time. Any data created after this date will be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + /** + * Lag in minutes for each sync, i.e., at time T, data for the time range [prev_sync_time, T-30] will be fetched + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sync_lag_minutes") + private Optional syncLagMinutes; + + public SourceFreshcaller( + @JsonProperty("api_key") String apiKey, + @JsonProperty("domain") String domain, + @JsonProperty("requests_per_minute") Optional requestsPerMinute, + @JsonProperty("start_date") Optional startDate, + @JsonProperty("sync_lag_minutes") Optional syncLagMinutes) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(domain, "domain"); + Utils.checkNotNull(requestsPerMinute, "requestsPerMinute"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(syncLagMinutes, "syncLagMinutes"); + this.apiKey = apiKey; + this.domain = domain; + this.requestsPerMinute = requestsPerMinute; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.syncLagMinutes = syncLagMinutes; + } + + /** + * Freshcaller API Key. See the <a href="https://docs.airbyte.com/integrations/sources/freshcaller">docs</a> for more information on how to obtain this key. + */ + public String apiKey() { + return apiKey; + } + + /** + * Used to construct Base URL for the Freshcaller APIs + */ + public String domain() { + return domain; + } + + /** + * The number of requests per minute that this source allowed to use. There is a rate limit of 50 requests per minute per app per account. + */ + public Optional requestsPerMinute() { + return requestsPerMinute; + } + + public Freshcaller sourceType() { + return sourceType; + } + + /** + * UTC date and time. Any data created after this date will be replicated. + */ + public Optional startDate() { + return startDate; + } + + /** + * Lag in minutes for each sync, i.e., at time T, data for the time range [prev_sync_time, T-30] will be fetched + */ + public Optional syncLagMinutes() { + return syncLagMinutes; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Freshcaller API Key. See the <a href="https://docs.airbyte.com/integrations/sources/freshcaller">docs</a> for more information on how to obtain this key. + */ + public SourceFreshcaller withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Used to construct Base URL for the Freshcaller APIs + */ + public SourceFreshcaller withDomain(String domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = domain; + return this; + } + + /** + * The number of requests per minute that this source allowed to use. There is a rate limit of 50 requests per minute per app per account. + */ + public SourceFreshcaller withRequestsPerMinute(long requestsPerMinute) { + Utils.checkNotNull(requestsPerMinute, "requestsPerMinute"); + this.requestsPerMinute = Optional.ofNullable(requestsPerMinute); + return this; + } + + /** + * The number of requests per minute that this source allowed to use. There is a rate limit of 50 requests per minute per app per account. + */ + public SourceFreshcaller withRequestsPerMinute(Optional requestsPerMinute) { + Utils.checkNotNull(requestsPerMinute, "requestsPerMinute"); + this.requestsPerMinute = requestsPerMinute; + return this; + } + + /** + * UTC date and time. Any data created after this date will be replicated. + */ + public SourceFreshcaller withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time. Any data created after this date will be replicated. + */ + public SourceFreshcaller withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Lag in minutes for each sync, i.e., at time T, data for the time range [prev_sync_time, T-30] will be fetched + */ + public SourceFreshcaller withSyncLagMinutes(long syncLagMinutes) { + Utils.checkNotNull(syncLagMinutes, "syncLagMinutes"); + this.syncLagMinutes = Optional.ofNullable(syncLagMinutes); + return this; + } + + /** + * Lag in minutes for each sync, i.e., at time T, data for the time range [prev_sync_time, T-30] will be fetched + */ + public SourceFreshcaller withSyncLagMinutes(Optional syncLagMinutes) { + Utils.checkNotNull(syncLagMinutes, "syncLagMinutes"); + this.syncLagMinutes = syncLagMinutes; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceFreshcaller other = (SourceFreshcaller) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.domain, other.domain) && + java.util.Objects.deepEquals(this.requestsPerMinute, other.requestsPerMinute) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.syncLagMinutes, other.syncLagMinutes); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + domain, + requestsPerMinute, + sourceType, + startDate, + syncLagMinutes); + } + + @Override + public String toString() { + return Utils.toString(SourceFreshcaller.class, + "apiKey", apiKey, + "domain", domain, + "requestsPerMinute", requestsPerMinute, + "sourceType", sourceType, + "startDate", startDate, + "syncLagMinutes", syncLagMinutes); + } + + public final static class Builder { + + private String apiKey; + + private String domain; + + private Optional requestsPerMinute = Optional.empty(); + + private Optional startDate = Optional.empty(); + + private Optional syncLagMinutes = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Freshcaller API Key. See the <a href="https://docs.airbyte.com/integrations/sources/freshcaller">docs</a> for more information on how to obtain this key. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Used to construct Base URL for the Freshcaller APIs + */ + public Builder domain(String domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = domain; + return this; + } + + /** + * The number of requests per minute that this source allowed to use. There is a rate limit of 50 requests per minute per app per account. + */ + public Builder requestsPerMinute(long requestsPerMinute) { + Utils.checkNotNull(requestsPerMinute, "requestsPerMinute"); + this.requestsPerMinute = Optional.ofNullable(requestsPerMinute); + return this; + } + + /** + * The number of requests per minute that this source allowed to use. There is a rate limit of 50 requests per minute per app per account. + */ + public Builder requestsPerMinute(Optional requestsPerMinute) { + Utils.checkNotNull(requestsPerMinute, "requestsPerMinute"); + this.requestsPerMinute = requestsPerMinute; + return this; + } + + /** + * UTC date and time. Any data created after this date will be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time. Any data created after this date will be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Lag in minutes for each sync, i.e., at time T, data for the time range [prev_sync_time, T-30] will be fetched + */ + public Builder syncLagMinutes(long syncLagMinutes) { + Utils.checkNotNull(syncLagMinutes, "syncLagMinutes"); + this.syncLagMinutes = Optional.ofNullable(syncLagMinutes); + return this; + } + + /** + * Lag in minutes for each sync, i.e., at time T, data for the time range [prev_sync_time, T-30] will be fetched + */ + public Builder syncLagMinutes(Optional syncLagMinutes) { + Utils.checkNotNull(syncLagMinutes, "syncLagMinutes"); + this.syncLagMinutes = syncLagMinutes; + return this; + } + + public SourceFreshcaller build() { + return new SourceFreshcaller( + apiKey, + domain, + requestsPerMinute, + startDate, + syncLagMinutes); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"freshcaller\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFreshdesk.java b/src/main/java/com/airbyte/api/models/shared/SourceFreshdesk.java new file mode 100644 index 000000000..72e8a1771 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFreshdesk.java @@ -0,0 +1,349 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceFreshdesk { + + /** + * Freshdesk API Key. See the <a href="https://docs.airbyte.com/integrations/sources/freshdesk">docs</a> for more information on how to obtain this key. + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * Freshdesk domain + */ + @JsonProperty("domain") + private String domain; + + /** + * Number of days for lookback window for the stream Satisfaction Ratings + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lookback_window_in_days") + private Optional lookbackWindowInDays; + + /** + * The number of requests per minute that this source allowed to use. There is a rate limit of 50 requests per minute per app per account. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("requests_per_minute") + private Optional requestsPerMinute; + + @JsonProperty("sourceType") + private Freshdesk sourceType; + + /** + * UTC date and time. Any data created after this date will be replicated. If this parameter is not set, all data will be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceFreshdesk( + @JsonProperty("api_key") String apiKey, + @JsonProperty("domain") String domain, + @JsonProperty("lookback_window_in_days") Optional lookbackWindowInDays, + @JsonProperty("requests_per_minute") Optional requestsPerMinute, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(domain, "domain"); + Utils.checkNotNull(lookbackWindowInDays, "lookbackWindowInDays"); + Utils.checkNotNull(requestsPerMinute, "requestsPerMinute"); + Utils.checkNotNull(startDate, "startDate"); + this.apiKey = apiKey; + this.domain = domain; + this.lookbackWindowInDays = lookbackWindowInDays; + this.requestsPerMinute = requestsPerMinute; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Freshdesk API Key. See the <a href="https://docs.airbyte.com/integrations/sources/freshdesk">docs</a> for more information on how to obtain this key. + */ + public String apiKey() { + return apiKey; + } + + /** + * Freshdesk domain + */ + public String domain() { + return domain; + } + + /** + * Number of days for lookback window for the stream Satisfaction Ratings + */ + public Optional lookbackWindowInDays() { + return lookbackWindowInDays; + } + + /** + * The number of requests per minute that this source allowed to use. There is a rate limit of 50 requests per minute per app per account. + */ + public Optional requestsPerMinute() { + return requestsPerMinute; + } + + public Freshdesk sourceType() { + return sourceType; + } + + /** + * UTC date and time. Any data created after this date will be replicated. If this parameter is not set, all data will be replicated. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Freshdesk API Key. See the <a href="https://docs.airbyte.com/integrations/sources/freshdesk">docs</a> for more information on how to obtain this key. + */ + public SourceFreshdesk withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Freshdesk domain + */ + public SourceFreshdesk withDomain(String domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = domain; + return this; + } + + /** + * Number of days for lookback window for the stream Satisfaction Ratings + */ + public SourceFreshdesk withLookbackWindowInDays(long lookbackWindowInDays) { + Utils.checkNotNull(lookbackWindowInDays, "lookbackWindowInDays"); + this.lookbackWindowInDays = Optional.ofNullable(lookbackWindowInDays); + return this; + } + + /** + * Number of days for lookback window for the stream Satisfaction Ratings + */ + public SourceFreshdesk withLookbackWindowInDays(Optional lookbackWindowInDays) { + Utils.checkNotNull(lookbackWindowInDays, "lookbackWindowInDays"); + this.lookbackWindowInDays = lookbackWindowInDays; + return this; + } + + /** + * The number of requests per minute that this source allowed to use. There is a rate limit of 50 requests per minute per app per account. + */ + public SourceFreshdesk withRequestsPerMinute(long requestsPerMinute) { + Utils.checkNotNull(requestsPerMinute, "requestsPerMinute"); + this.requestsPerMinute = Optional.ofNullable(requestsPerMinute); + return this; + } + + /** + * The number of requests per minute that this source allowed to use. There is a rate limit of 50 requests per minute per app per account. + */ + public SourceFreshdesk withRequestsPerMinute(Optional requestsPerMinute) { + Utils.checkNotNull(requestsPerMinute, "requestsPerMinute"); + this.requestsPerMinute = requestsPerMinute; + return this; + } + + /** + * UTC date and time. Any data created after this date will be replicated. If this parameter is not set, all data will be replicated. + */ + public SourceFreshdesk withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time. Any data created after this date will be replicated. If this parameter is not set, all data will be replicated. + */ + public SourceFreshdesk withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceFreshdesk other = (SourceFreshdesk) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.domain, other.domain) && + java.util.Objects.deepEquals(this.lookbackWindowInDays, other.lookbackWindowInDays) && + java.util.Objects.deepEquals(this.requestsPerMinute, other.requestsPerMinute) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + domain, + lookbackWindowInDays, + requestsPerMinute, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceFreshdesk.class, + "apiKey", apiKey, + "domain", domain, + "lookbackWindowInDays", lookbackWindowInDays, + "requestsPerMinute", requestsPerMinute, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String apiKey; + + private String domain; + + private Optional lookbackWindowInDays; + + private Optional requestsPerMinute = Optional.empty(); + + private Optional startDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Freshdesk API Key. See the <a href="https://docs.airbyte.com/integrations/sources/freshdesk">docs</a> for more information on how to obtain this key. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Freshdesk domain + */ + public Builder domain(String domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = domain; + return this; + } + + /** + * Number of days for lookback window for the stream Satisfaction Ratings + */ + public Builder lookbackWindowInDays(long lookbackWindowInDays) { + Utils.checkNotNull(lookbackWindowInDays, "lookbackWindowInDays"); + this.lookbackWindowInDays = Optional.ofNullable(lookbackWindowInDays); + return this; + } + + /** + * Number of days for lookback window for the stream Satisfaction Ratings + */ + public Builder lookbackWindowInDays(Optional lookbackWindowInDays) { + Utils.checkNotNull(lookbackWindowInDays, "lookbackWindowInDays"); + this.lookbackWindowInDays = lookbackWindowInDays; + return this; + } + + /** + * The number of requests per minute that this source allowed to use. There is a rate limit of 50 requests per minute per app per account. + */ + public Builder requestsPerMinute(long requestsPerMinute) { + Utils.checkNotNull(requestsPerMinute, "requestsPerMinute"); + this.requestsPerMinute = Optional.ofNullable(requestsPerMinute); + return this; + } + + /** + * The number of requests per minute that this source allowed to use. There is a rate limit of 50 requests per minute per app per account. + */ + public Builder requestsPerMinute(Optional requestsPerMinute) { + Utils.checkNotNull(requestsPerMinute, "requestsPerMinute"); + this.requestsPerMinute = requestsPerMinute; + return this; + } + + /** + * UTC date and time. Any data created after this date will be replicated. If this parameter is not set, all data will be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time. Any data created after this date will be replicated. If this parameter is not set, all data will be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceFreshdesk build() { + if (lookbackWindowInDays == null) { + lookbackWindowInDays = _SINGLETON_VALUE_LookbackWindowInDays.value(); + } + return new SourceFreshdesk( + apiKey, + domain, + lookbackWindowInDays, + requestsPerMinute, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_LookbackWindowInDays = + new LazySingletonValue<>( + "lookback_window_in_days", + "14", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"freshdesk\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceFreshsales.java b/src/main/java/com/airbyte/api/models/shared/SourceFreshsales.java new file mode 100644 index 000000000..10817e217 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceFreshsales.java @@ -0,0 +1,157 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceFreshsales { + + /** + * Freshsales API Key. See <a href="https://crmsupport.freshworks.com/support/solutions/articles/50000002503-how-to-find-my-api-key-">here</a>. The key is case sensitive. + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * The Name of your Freshsales domain + */ + @JsonProperty("domain_name") + private String domainName; + + @JsonProperty("sourceType") + private Freshsales sourceType; + + public SourceFreshsales( + @JsonProperty("api_key") String apiKey, + @JsonProperty("domain_name") String domainName) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(domainName, "domainName"); + this.apiKey = apiKey; + this.domainName = domainName; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Freshsales API Key. See <a href="https://crmsupport.freshworks.com/support/solutions/articles/50000002503-how-to-find-my-api-key-">here</a>. The key is case sensitive. + */ + public String apiKey() { + return apiKey; + } + + /** + * The Name of your Freshsales domain + */ + public String domainName() { + return domainName; + } + + public Freshsales sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Freshsales API Key. See <a href="https://crmsupport.freshworks.com/support/solutions/articles/50000002503-how-to-find-my-api-key-">here</a>. The key is case sensitive. + */ + public SourceFreshsales withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The Name of your Freshsales domain + */ + public SourceFreshsales withDomainName(String domainName) { + Utils.checkNotNull(domainName, "domainName"); + this.domainName = domainName; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceFreshsales other = (SourceFreshsales) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.domainName, other.domainName) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + domainName, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceFreshsales.class, + "apiKey", apiKey, + "domainName", domainName, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private String domainName; + + private Builder() { + // force use of static builder() method + } + + /** + * Freshsales API Key. See <a href="https://crmsupport.freshworks.com/support/solutions/articles/50000002503-how-to-find-my-api-key-">here</a>. The key is case sensitive. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The Name of your Freshsales domain + */ + public Builder domainName(String domainName) { + Utils.checkNotNull(domainName, "domainName"); + this.domainName = domainName; + return this; + } + + public SourceFreshsales build() { + return new SourceFreshsales( + apiKey, + domainName); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"freshsales\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGCSStreamConfig.java b/src/main/java/com/airbyte/api/models/shared/SourceGCSStreamConfig.java new file mode 100644 index 000000000..3b364eaf1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGCSStreamConfig.java @@ -0,0 +1,583 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGCSStreamConfig { + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("days_to_sync_if_history_is_full") + private Optional daysToSyncIfHistoryIsFull; + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + @JsonProperty("format") + private SourceGcsFormat format; + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("globs") + private Optional> globs; + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("input_schema") + private Optional inputSchema; + + /** + * The path prefix configured in previous versions of the GCS connector. This option is deprecated in favor of a single glob. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("legacy_prefix") + private Optional legacyPrefix; + + /** + * The name of the stream. + */ + @JsonProperty("name") + private String name; + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("primary_key") + private Optional primaryKey; + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schemaless") + private Optional schemaless; + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("validation_policy") + private Optional validationPolicy; + + public SourceGCSStreamConfig( + @JsonProperty("days_to_sync_if_history_is_full") Optional daysToSyncIfHistoryIsFull, + @JsonProperty("format") SourceGcsFormat format, + @JsonProperty("globs") Optional> globs, + @JsonProperty("input_schema") Optional inputSchema, + @JsonProperty("legacy_prefix") Optional legacyPrefix, + @JsonProperty("name") String name, + @JsonProperty("primary_key") Optional primaryKey, + @JsonProperty("schemaless") Optional schemaless, + @JsonProperty("validation_policy") Optional validationPolicy) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + Utils.checkNotNull(format, "format"); + Utils.checkNotNull(globs, "globs"); + Utils.checkNotNull(inputSchema, "inputSchema"); + Utils.checkNotNull(legacyPrefix, "legacyPrefix"); + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(primaryKey, "primaryKey"); + Utils.checkNotNull(schemaless, "schemaless"); + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.daysToSyncIfHistoryIsFull = daysToSyncIfHistoryIsFull; + this.format = format; + this.globs = globs; + this.inputSchema = inputSchema; + this.legacyPrefix = legacyPrefix; + this.name = name; + this.primaryKey = primaryKey; + this.schemaless = schemaless; + this.validationPolicy = validationPolicy; + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public Optional daysToSyncIfHistoryIsFull() { + return daysToSyncIfHistoryIsFull; + } + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + public SourceGcsFormat format() { + return format; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public Optional> globs() { + return globs; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public Optional inputSchema() { + return inputSchema; + } + + /** + * The path prefix configured in previous versions of the GCS connector. This option is deprecated in favor of a single glob. + */ + public Optional legacyPrefix() { + return legacyPrefix; + } + + /** + * The name of the stream. + */ + public String name() { + return name; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public Optional primaryKey() { + return primaryKey; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public Optional schemaless() { + return schemaless; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public Optional validationPolicy() { + return validationPolicy; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public SourceGCSStreamConfig withDaysToSyncIfHistoryIsFull(long daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = Optional.ofNullable(daysToSyncIfHistoryIsFull); + return this; + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public SourceGCSStreamConfig withDaysToSyncIfHistoryIsFull(Optional daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = daysToSyncIfHistoryIsFull; + return this; + } + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + public SourceGCSStreamConfig withFormat(SourceGcsFormat format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public SourceGCSStreamConfig withGlobs(java.util.List globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = Optional.ofNullable(globs); + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public SourceGCSStreamConfig withGlobs(Optional> globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = globs; + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public SourceGCSStreamConfig withInputSchema(String inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = Optional.ofNullable(inputSchema); + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public SourceGCSStreamConfig withInputSchema(Optional inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = inputSchema; + return this; + } + + /** + * The path prefix configured in previous versions of the GCS connector. This option is deprecated in favor of a single glob. + */ + public SourceGCSStreamConfig withLegacyPrefix(String legacyPrefix) { + Utils.checkNotNull(legacyPrefix, "legacyPrefix"); + this.legacyPrefix = Optional.ofNullable(legacyPrefix); + return this; + } + + /** + * The path prefix configured in previous versions of the GCS connector. This option is deprecated in favor of a single glob. + */ + public SourceGCSStreamConfig withLegacyPrefix(Optional legacyPrefix) { + Utils.checkNotNull(legacyPrefix, "legacyPrefix"); + this.legacyPrefix = legacyPrefix; + return this; + } + + /** + * The name of the stream. + */ + public SourceGCSStreamConfig withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public SourceGCSStreamConfig withPrimaryKey(String primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = Optional.ofNullable(primaryKey); + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public SourceGCSStreamConfig withPrimaryKey(Optional primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = primaryKey; + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public SourceGCSStreamConfig withSchemaless(boolean schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = Optional.ofNullable(schemaless); + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public SourceGCSStreamConfig withSchemaless(Optional schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = schemaless; + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public SourceGCSStreamConfig withValidationPolicy(SourceGcsValidationPolicy validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = Optional.ofNullable(validationPolicy); + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public SourceGCSStreamConfig withValidationPolicy(Optional validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = validationPolicy; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGCSStreamConfig other = (SourceGCSStreamConfig) o; + return + java.util.Objects.deepEquals(this.daysToSyncIfHistoryIsFull, other.daysToSyncIfHistoryIsFull) && + java.util.Objects.deepEquals(this.format, other.format) && + java.util.Objects.deepEquals(this.globs, other.globs) && + java.util.Objects.deepEquals(this.inputSchema, other.inputSchema) && + java.util.Objects.deepEquals(this.legacyPrefix, other.legacyPrefix) && + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.primaryKey, other.primaryKey) && + java.util.Objects.deepEquals(this.schemaless, other.schemaless) && + java.util.Objects.deepEquals(this.validationPolicy, other.validationPolicy); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + daysToSyncIfHistoryIsFull, + format, + globs, + inputSchema, + legacyPrefix, + name, + primaryKey, + schemaless, + validationPolicy); + } + + @Override + public String toString() { + return Utils.toString(SourceGCSStreamConfig.class, + "daysToSyncIfHistoryIsFull", daysToSyncIfHistoryIsFull, + "format", format, + "globs", globs, + "inputSchema", inputSchema, + "legacyPrefix", legacyPrefix, + "name", name, + "primaryKey", primaryKey, + "schemaless", schemaless, + "validationPolicy", validationPolicy); + } + + public final static class Builder { + + private Optional daysToSyncIfHistoryIsFull; + + private SourceGcsFormat format; + + private Optional> globs = Optional.empty(); + + private Optional inputSchema = Optional.empty(); + + private Optional legacyPrefix = Optional.empty(); + + private String name; + + private Optional primaryKey = Optional.empty(); + + private Optional schemaless; + + private Optional validationPolicy; + + private Builder() { + // force use of static builder() method + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public Builder daysToSyncIfHistoryIsFull(long daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = Optional.ofNullable(daysToSyncIfHistoryIsFull); + return this; + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public Builder daysToSyncIfHistoryIsFull(Optional daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = daysToSyncIfHistoryIsFull; + return this; + } + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + public Builder format(SourceGcsFormat format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public Builder globs(java.util.List globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = Optional.ofNullable(globs); + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public Builder globs(Optional> globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = globs; + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public Builder inputSchema(String inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = Optional.ofNullable(inputSchema); + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public Builder inputSchema(Optional inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = inputSchema; + return this; + } + + /** + * The path prefix configured in previous versions of the GCS connector. This option is deprecated in favor of a single glob. + */ + public Builder legacyPrefix(String legacyPrefix) { + Utils.checkNotNull(legacyPrefix, "legacyPrefix"); + this.legacyPrefix = Optional.ofNullable(legacyPrefix); + return this; + } + + /** + * The path prefix configured in previous versions of the GCS connector. This option is deprecated in favor of a single glob. + */ + public Builder legacyPrefix(Optional legacyPrefix) { + Utils.checkNotNull(legacyPrefix, "legacyPrefix"); + this.legacyPrefix = legacyPrefix; + return this; + } + + /** + * The name of the stream. + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public Builder primaryKey(String primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = Optional.ofNullable(primaryKey); + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public Builder primaryKey(Optional primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = primaryKey; + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public Builder schemaless(boolean schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = Optional.ofNullable(schemaless); + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public Builder schemaless(Optional schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = schemaless; + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public Builder validationPolicy(SourceGcsValidationPolicy validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = Optional.ofNullable(validationPolicy); + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public Builder validationPolicy(Optional validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = validationPolicy; + return this; + } + + public SourceGCSStreamConfig build() { + if (daysToSyncIfHistoryIsFull == null) { + daysToSyncIfHistoryIsFull = _SINGLETON_VALUE_DaysToSyncIfHistoryIsFull.value(); + } + if (schemaless == null) { + schemaless = _SINGLETON_VALUE_Schemaless.value(); + } + if (validationPolicy == null) { + validationPolicy = _SINGLETON_VALUE_ValidationPolicy.value(); + } + return new SourceGCSStreamConfig( + daysToSyncIfHistoryIsFull, + format, + globs, + inputSchema, + legacyPrefix, + name, + primaryKey, + schemaless, + validationPolicy); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DaysToSyncIfHistoryIsFull = + new LazySingletonValue<>( + "days_to_sync_if_history_is_full", + "3", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Schemaless = + new LazySingletonValue<>( + "schemaless", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ValidationPolicy = + new LazySingletonValue<>( + "validation_policy", + "\"Emit Record\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGainsightPx.java b/src/main/java/com/airbyte/api/models/shared/SourceGainsightPx.java new file mode 100644 index 000000000..e567c59ed --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGainsightPx.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGainsightPx { + + /** + * The Aptrinsic API Key which is recieved from the dashboard settings (ref - https://app.aptrinsic.com/settings/api-keys) + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private GainsightPx sourceType; + + public SourceGainsightPx( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * The Aptrinsic API Key which is recieved from the dashboard settings (ref - https://app.aptrinsic.com/settings/api-keys) + */ + public String apiKey() { + return apiKey; + } + + public GainsightPx sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Aptrinsic API Key which is recieved from the dashboard settings (ref - https://app.aptrinsic.com/settings/api-keys) + */ + public SourceGainsightPx withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGainsightPx other = (SourceGainsightPx) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceGainsightPx.class, + "apiKey", apiKey, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * The Aptrinsic API Key which is recieved from the dashboard settings (ref - https://app.aptrinsic.com/settings/api-keys) + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public SourceGainsightPx build() { + return new SourceGainsightPx( + apiKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"gainsight-px\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGcs.java b/src/main/java/com/airbyte/api/models/shared/SourceGcs.java new file mode 100644 index 000000000..3fdb3c1de --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGcs.java @@ -0,0 +1,267 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + +/** + * SourceGcs - NOTE: When this Spec is changed, legacy_config_transformer.py must also be + * modified to uptake the changes because it is responsible for converting + * legacy GCS configs into file based configs using the File-Based CDK. + */ + +public class SourceGcs { + + /** + * Name of the GCS bucket where the file(s) exist. + */ + @JsonProperty("bucket") + private String bucket; + + /** + * Enter your Google Cloud <a href="https://cloud.google.com/iam/docs/creating-managing-service-account-keys#creating_service_account_keys">service account key</a> in JSON format + */ + @JsonProperty("service_account") + private String serviceAccount; + + @JsonProperty("sourceType") + private SourceGcsGcs sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + /** + * Each instance of this configuration defines a <a href=https://docs.airbyte.com/cloud/core-concepts#stream>stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + @JsonProperty("streams") + private java.util.List streams; + + public SourceGcs( + @JsonProperty("bucket") String bucket, + @JsonProperty("service_account") String serviceAccount, + @JsonProperty("start_date") Optional startDate, + @JsonProperty("streams") java.util.List streams) { + Utils.checkNotNull(bucket, "bucket"); + Utils.checkNotNull(serviceAccount, "serviceAccount"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(streams, "streams"); + this.bucket = bucket; + this.serviceAccount = serviceAccount; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.streams = streams; + } + + /** + * Name of the GCS bucket where the file(s) exist. + */ + public String bucket() { + return bucket; + } + + /** + * Enter your Google Cloud <a href="https://cloud.google.com/iam/docs/creating-managing-service-account-keys#creating_service_account_keys">service account key</a> in JSON format + */ + public String serviceAccount() { + return serviceAccount; + } + + public SourceGcsGcs sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public Optional startDate() { + return startDate; + } + + /** + * Each instance of this configuration defines a <a href=https://docs.airbyte.com/cloud/core-concepts#stream>stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + public java.util.List streams() { + return streams; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Name of the GCS bucket where the file(s) exist. + */ + public SourceGcs withBucket(String bucket) { + Utils.checkNotNull(bucket, "bucket"); + this.bucket = bucket; + return this; + } + + /** + * Enter your Google Cloud <a href="https://cloud.google.com/iam/docs/creating-managing-service-account-keys#creating_service_account_keys">service account key</a> in JSON format + */ + public SourceGcs withServiceAccount(String serviceAccount) { + Utils.checkNotNull(serviceAccount, "serviceAccount"); + this.serviceAccount = serviceAccount; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public SourceGcs withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public SourceGcs withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Each instance of this configuration defines a <a href=https://docs.airbyte.com/cloud/core-concepts#stream>stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + public SourceGcs withStreams(java.util.List streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = streams; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGcs other = (SourceGcs) o; + return + java.util.Objects.deepEquals(this.bucket, other.bucket) && + java.util.Objects.deepEquals(this.serviceAccount, other.serviceAccount) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.streams, other.streams); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + bucket, + serviceAccount, + sourceType, + startDate, + streams); + } + + @Override + public String toString() { + return Utils.toString(SourceGcs.class, + "bucket", bucket, + "serviceAccount", serviceAccount, + "sourceType", sourceType, + "startDate", startDate, + "streams", streams); + } + + public final static class Builder { + + private String bucket; + + private String serviceAccount; + + private Optional startDate = Optional.empty(); + + private java.util.List streams; + + private Builder() { + // force use of static builder() method + } + + /** + * Name of the GCS bucket where the file(s) exist. + */ + public Builder bucket(String bucket) { + Utils.checkNotNull(bucket, "bucket"); + this.bucket = bucket; + return this; + } + + /** + * Enter your Google Cloud <a href="https://cloud.google.com/iam/docs/creating-managing-service-account-keys#creating_service_account_keys">service account key</a> in JSON format + */ + public Builder serviceAccount(String serviceAccount) { + Utils.checkNotNull(serviceAccount, "serviceAccount"); + this.serviceAccount = serviceAccount; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Each instance of this configuration defines a <a href=https://docs.airbyte.com/cloud/core-concepts#stream>stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + public Builder streams(java.util.List streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = streams; + return this; + } + + public SourceGcs build() { + return new SourceGcs( + bucket, + serviceAccount, + startDate, + streams); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"gcs\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGcsAutogenerated.java b/src/main/java/com/airbyte/api/models/shared/SourceGcsAutogenerated.java new file mode 100644 index 000000000..f299483e5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGcsAutogenerated.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGcsAutogenerated { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition_type") + private Optional headerDefinitionType; + + public SourceGcsAutogenerated() { + + this.headerDefinitionType = Builder._SINGLETON_VALUE_HeaderDefinitionType.value(); + } + + public Optional headerDefinitionType() { + return headerDefinitionType; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGcsAutogenerated other = (SourceGcsAutogenerated) o; + return + java.util.Objects.deepEquals(this.headerDefinitionType, other.headerDefinitionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + headerDefinitionType); + } + + @Override + public String toString() { + return Utils.toString(SourceGcsAutogenerated.class, + "headerDefinitionType", headerDefinitionType); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceGcsAutogenerated build() { + return new SourceGcsAutogenerated( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_HeaderDefinitionType = + new LazySingletonValue<>( + "header_definition_type", + "\"Autogenerated\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGcsCSVFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceGcsCSVFormat.java new file mode 100644 index 000000000..d07e11b28 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGcsCSVFormat.java @@ -0,0 +1,988 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGcsCSVFormat { + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("delimiter") + private Optional delimiter; + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("double_quote") + private Optional doubleQuote; + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("encoding") + private Optional encoding; + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("escape_char") + private Optional escapeChar; + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("false_values") + private Optional> falseValues; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition") + private Optional headerDefinition; + + /** + * Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ignore_errors_on_fields_mismatch") + private Optional ignoreErrorsOnFieldsMismatch; + + /** + * How to infer the types of the columns. If none, inference default to strings. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("inference_type") + private Optional inferenceType; + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("null_values") + private Optional> nullValues; + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("quote_char") + private Optional quoteChar; + + /** + * The number of rows to skip after the header row. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("skip_rows_after_header") + private Optional skipRowsAfterHeader; + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("skip_rows_before_header") + private Optional skipRowsBeforeHeader; + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("strings_can_be_null") + private Optional stringsCanBeNull; + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("true_values") + private Optional> trueValues; + + public SourceGcsCSVFormat( + @JsonProperty("delimiter") Optional delimiter, + @JsonProperty("double_quote") Optional doubleQuote, + @JsonProperty("encoding") Optional encoding, + @JsonProperty("escape_char") Optional escapeChar, + @JsonProperty("false_values") Optional> falseValues, + @JsonProperty("header_definition") Optional headerDefinition, + @JsonProperty("ignore_errors_on_fields_mismatch") Optional ignoreErrorsOnFieldsMismatch, + @JsonProperty("inference_type") Optional inferenceType, + @JsonProperty("null_values") Optional> nullValues, + @JsonProperty("quote_char") Optional quoteChar, + @JsonProperty("skip_rows_after_header") Optional skipRowsAfterHeader, + @JsonProperty("skip_rows_before_header") Optional skipRowsBeforeHeader, + @JsonProperty("strings_can_be_null") Optional stringsCanBeNull, + @JsonProperty("true_values") Optional> trueValues) { + Utils.checkNotNull(delimiter, "delimiter"); + Utils.checkNotNull(doubleQuote, "doubleQuote"); + Utils.checkNotNull(encoding, "encoding"); + Utils.checkNotNull(escapeChar, "escapeChar"); + Utils.checkNotNull(falseValues, "falseValues"); + Utils.checkNotNull(headerDefinition, "headerDefinition"); + Utils.checkNotNull(ignoreErrorsOnFieldsMismatch, "ignoreErrorsOnFieldsMismatch"); + Utils.checkNotNull(inferenceType, "inferenceType"); + Utils.checkNotNull(nullValues, "nullValues"); + Utils.checkNotNull(quoteChar, "quoteChar"); + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + Utils.checkNotNull(trueValues, "trueValues"); + this.delimiter = delimiter; + this.doubleQuote = doubleQuote; + this.encoding = encoding; + this.escapeChar = escapeChar; + this.falseValues = falseValues; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + this.headerDefinition = headerDefinition; + this.ignoreErrorsOnFieldsMismatch = ignoreErrorsOnFieldsMismatch; + this.inferenceType = inferenceType; + this.nullValues = nullValues; + this.quoteChar = quoteChar; + this.skipRowsAfterHeader = skipRowsAfterHeader; + this.skipRowsBeforeHeader = skipRowsBeforeHeader; + this.stringsCanBeNull = stringsCanBeNull; + this.trueValues = trueValues; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Optional delimiter() { + return delimiter; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Optional doubleQuote() { + return doubleQuote; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Optional encoding() { + return encoding; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Optional escapeChar() { + return escapeChar; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public Optional> falseValues() { + return falseValues; + } + + public Optional filetype() { + return filetype; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public Optional headerDefinition() { + return headerDefinition; + } + + /** + * Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. + */ + public Optional ignoreErrorsOnFieldsMismatch() { + return ignoreErrorsOnFieldsMismatch; + } + + /** + * How to infer the types of the columns. If none, inference default to strings. + */ + public Optional inferenceType() { + return inferenceType; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public Optional> nullValues() { + return nullValues; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Optional quoteChar() { + return quoteChar; + } + + /** + * The number of rows to skip after the header row. + */ + public Optional skipRowsAfterHeader() { + return skipRowsAfterHeader; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public Optional skipRowsBeforeHeader() { + return skipRowsBeforeHeader; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public Optional stringsCanBeNull() { + return stringsCanBeNull; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public Optional> trueValues() { + return trueValues; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public SourceGcsCSVFormat withDelimiter(String delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = Optional.ofNullable(delimiter); + return this; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public SourceGcsCSVFormat withDelimiter(Optional delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = delimiter; + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public SourceGcsCSVFormat withDoubleQuote(boolean doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = Optional.ofNullable(doubleQuote); + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public SourceGcsCSVFormat withDoubleQuote(Optional doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = doubleQuote; + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public SourceGcsCSVFormat withEncoding(String encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = Optional.ofNullable(encoding); + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public SourceGcsCSVFormat withEncoding(Optional encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = encoding; + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public SourceGcsCSVFormat withEscapeChar(String escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = Optional.ofNullable(escapeChar); + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public SourceGcsCSVFormat withEscapeChar(Optional escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = escapeChar; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public SourceGcsCSVFormat withFalseValues(java.util.List falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = Optional.ofNullable(falseValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public SourceGcsCSVFormat withFalseValues(Optional> falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = falseValues; + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public SourceGcsCSVFormat withHeaderDefinition(SourceGcsCSVHeaderDefinition headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = Optional.ofNullable(headerDefinition); + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public SourceGcsCSVFormat withHeaderDefinition(Optional headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = headerDefinition; + return this; + } + + /** + * Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. + */ + public SourceGcsCSVFormat withIgnoreErrorsOnFieldsMismatch(boolean ignoreErrorsOnFieldsMismatch) { + Utils.checkNotNull(ignoreErrorsOnFieldsMismatch, "ignoreErrorsOnFieldsMismatch"); + this.ignoreErrorsOnFieldsMismatch = Optional.ofNullable(ignoreErrorsOnFieldsMismatch); + return this; + } + + /** + * Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. + */ + public SourceGcsCSVFormat withIgnoreErrorsOnFieldsMismatch(Optional ignoreErrorsOnFieldsMismatch) { + Utils.checkNotNull(ignoreErrorsOnFieldsMismatch, "ignoreErrorsOnFieldsMismatch"); + this.ignoreErrorsOnFieldsMismatch = ignoreErrorsOnFieldsMismatch; + return this; + } + + /** + * How to infer the types of the columns. If none, inference default to strings. + */ + public SourceGcsCSVFormat withInferenceType(SourceGcsInferenceType inferenceType) { + Utils.checkNotNull(inferenceType, "inferenceType"); + this.inferenceType = Optional.ofNullable(inferenceType); + return this; + } + + /** + * How to infer the types of the columns. If none, inference default to strings. + */ + public SourceGcsCSVFormat withInferenceType(Optional inferenceType) { + Utils.checkNotNull(inferenceType, "inferenceType"); + this.inferenceType = inferenceType; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public SourceGcsCSVFormat withNullValues(java.util.List nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = Optional.ofNullable(nullValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public SourceGcsCSVFormat withNullValues(Optional> nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = nullValues; + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public SourceGcsCSVFormat withQuoteChar(String quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = Optional.ofNullable(quoteChar); + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public SourceGcsCSVFormat withQuoteChar(Optional quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = quoteChar; + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public SourceGcsCSVFormat withSkipRowsAfterHeader(long skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = Optional.ofNullable(skipRowsAfterHeader); + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public SourceGcsCSVFormat withSkipRowsAfterHeader(Optional skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = skipRowsAfterHeader; + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public SourceGcsCSVFormat withSkipRowsBeforeHeader(long skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = Optional.ofNullable(skipRowsBeforeHeader); + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public SourceGcsCSVFormat withSkipRowsBeforeHeader(Optional skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = skipRowsBeforeHeader; + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public SourceGcsCSVFormat withStringsCanBeNull(boolean stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = Optional.ofNullable(stringsCanBeNull); + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public SourceGcsCSVFormat withStringsCanBeNull(Optional stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = stringsCanBeNull; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public SourceGcsCSVFormat withTrueValues(java.util.List trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = Optional.ofNullable(trueValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public SourceGcsCSVFormat withTrueValues(Optional> trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = trueValues; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGcsCSVFormat other = (SourceGcsCSVFormat) o; + return + java.util.Objects.deepEquals(this.delimiter, other.delimiter) && + java.util.Objects.deepEquals(this.doubleQuote, other.doubleQuote) && + java.util.Objects.deepEquals(this.encoding, other.encoding) && + java.util.Objects.deepEquals(this.escapeChar, other.escapeChar) && + java.util.Objects.deepEquals(this.falseValues, other.falseValues) && + java.util.Objects.deepEquals(this.filetype, other.filetype) && + java.util.Objects.deepEquals(this.headerDefinition, other.headerDefinition) && + java.util.Objects.deepEquals(this.ignoreErrorsOnFieldsMismatch, other.ignoreErrorsOnFieldsMismatch) && + java.util.Objects.deepEquals(this.inferenceType, other.inferenceType) && + java.util.Objects.deepEquals(this.nullValues, other.nullValues) && + java.util.Objects.deepEquals(this.quoteChar, other.quoteChar) && + java.util.Objects.deepEquals(this.skipRowsAfterHeader, other.skipRowsAfterHeader) && + java.util.Objects.deepEquals(this.skipRowsBeforeHeader, other.skipRowsBeforeHeader) && + java.util.Objects.deepEquals(this.stringsCanBeNull, other.stringsCanBeNull) && + java.util.Objects.deepEquals(this.trueValues, other.trueValues); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + delimiter, + doubleQuote, + encoding, + escapeChar, + falseValues, + filetype, + headerDefinition, + ignoreErrorsOnFieldsMismatch, + inferenceType, + nullValues, + quoteChar, + skipRowsAfterHeader, + skipRowsBeforeHeader, + stringsCanBeNull, + trueValues); + } + + @Override + public String toString() { + return Utils.toString(SourceGcsCSVFormat.class, + "delimiter", delimiter, + "doubleQuote", doubleQuote, + "encoding", encoding, + "escapeChar", escapeChar, + "falseValues", falseValues, + "filetype", filetype, + "headerDefinition", headerDefinition, + "ignoreErrorsOnFieldsMismatch", ignoreErrorsOnFieldsMismatch, + "inferenceType", inferenceType, + "nullValues", nullValues, + "quoteChar", quoteChar, + "skipRowsAfterHeader", skipRowsAfterHeader, + "skipRowsBeforeHeader", skipRowsBeforeHeader, + "stringsCanBeNull", stringsCanBeNull, + "trueValues", trueValues); + } + + public final static class Builder { + + private Optional delimiter; + + private Optional doubleQuote; + + private Optional encoding; + + private Optional escapeChar = Optional.empty(); + + private Optional> falseValues = Optional.empty(); + + private Optional headerDefinition = Optional.empty(); + + private Optional ignoreErrorsOnFieldsMismatch; + + private Optional inferenceType; + + private Optional> nullValues = Optional.empty(); + + private Optional quoteChar; + + private Optional skipRowsAfterHeader; + + private Optional skipRowsBeforeHeader; + + private Optional stringsCanBeNull; + + private Optional> trueValues = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Builder delimiter(String delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = Optional.ofNullable(delimiter); + return this; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Builder delimiter(Optional delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = delimiter; + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Builder doubleQuote(boolean doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = Optional.ofNullable(doubleQuote); + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Builder doubleQuote(Optional doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = doubleQuote; + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Builder encoding(String encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = Optional.ofNullable(encoding); + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Builder encoding(Optional encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = encoding; + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Builder escapeChar(String escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = Optional.ofNullable(escapeChar); + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Builder escapeChar(Optional escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = escapeChar; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public Builder falseValues(java.util.List falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = Optional.ofNullable(falseValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public Builder falseValues(Optional> falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = falseValues; + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public Builder headerDefinition(SourceGcsCSVHeaderDefinition headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = Optional.ofNullable(headerDefinition); + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public Builder headerDefinition(Optional headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = headerDefinition; + return this; + } + + /** + * Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. + */ + public Builder ignoreErrorsOnFieldsMismatch(boolean ignoreErrorsOnFieldsMismatch) { + Utils.checkNotNull(ignoreErrorsOnFieldsMismatch, "ignoreErrorsOnFieldsMismatch"); + this.ignoreErrorsOnFieldsMismatch = Optional.ofNullable(ignoreErrorsOnFieldsMismatch); + return this; + } + + /** + * Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. + */ + public Builder ignoreErrorsOnFieldsMismatch(Optional ignoreErrorsOnFieldsMismatch) { + Utils.checkNotNull(ignoreErrorsOnFieldsMismatch, "ignoreErrorsOnFieldsMismatch"); + this.ignoreErrorsOnFieldsMismatch = ignoreErrorsOnFieldsMismatch; + return this; + } + + /** + * How to infer the types of the columns. If none, inference default to strings. + */ + public Builder inferenceType(SourceGcsInferenceType inferenceType) { + Utils.checkNotNull(inferenceType, "inferenceType"); + this.inferenceType = Optional.ofNullable(inferenceType); + return this; + } + + /** + * How to infer the types of the columns. If none, inference default to strings. + */ + public Builder inferenceType(Optional inferenceType) { + Utils.checkNotNull(inferenceType, "inferenceType"); + this.inferenceType = inferenceType; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public Builder nullValues(java.util.List nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = Optional.ofNullable(nullValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public Builder nullValues(Optional> nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = nullValues; + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Builder quoteChar(String quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = Optional.ofNullable(quoteChar); + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Builder quoteChar(Optional quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = quoteChar; + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public Builder skipRowsAfterHeader(long skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = Optional.ofNullable(skipRowsAfterHeader); + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public Builder skipRowsAfterHeader(Optional skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = skipRowsAfterHeader; + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public Builder skipRowsBeforeHeader(long skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = Optional.ofNullable(skipRowsBeforeHeader); + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public Builder skipRowsBeforeHeader(Optional skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = skipRowsBeforeHeader; + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public Builder stringsCanBeNull(boolean stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = Optional.ofNullable(stringsCanBeNull); + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public Builder stringsCanBeNull(Optional stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = stringsCanBeNull; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public Builder trueValues(java.util.List trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = Optional.ofNullable(trueValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public Builder trueValues(Optional> trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = trueValues; + return this; + } + + public SourceGcsCSVFormat build() { + if (delimiter == null) { + delimiter = _SINGLETON_VALUE_Delimiter.value(); + } + if (doubleQuote == null) { + doubleQuote = _SINGLETON_VALUE_DoubleQuote.value(); + } + if (encoding == null) { + encoding = _SINGLETON_VALUE_Encoding.value(); + } + if (ignoreErrorsOnFieldsMismatch == null) { + ignoreErrorsOnFieldsMismatch = _SINGLETON_VALUE_IgnoreErrorsOnFieldsMismatch.value(); + } + if (inferenceType == null) { + inferenceType = _SINGLETON_VALUE_InferenceType.value(); + } + if (quoteChar == null) { + quoteChar = _SINGLETON_VALUE_QuoteChar.value(); + } + if (skipRowsAfterHeader == null) { + skipRowsAfterHeader = _SINGLETON_VALUE_SkipRowsAfterHeader.value(); + } + if (skipRowsBeforeHeader == null) { + skipRowsBeforeHeader = _SINGLETON_VALUE_SkipRowsBeforeHeader.value(); + } + if (stringsCanBeNull == null) { + stringsCanBeNull = _SINGLETON_VALUE_StringsCanBeNull.value(); + } + return new SourceGcsCSVFormat( + delimiter, + doubleQuote, + encoding, + escapeChar, + falseValues, + headerDefinition, + ignoreErrorsOnFieldsMismatch, + inferenceType, + nullValues, + quoteChar, + skipRowsAfterHeader, + skipRowsBeforeHeader, + stringsCanBeNull, + trueValues); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Delimiter = + new LazySingletonValue<>( + "delimiter", + "\",\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DoubleQuote = + new LazySingletonValue<>( + "double_quote", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Encoding = + new LazySingletonValue<>( + "encoding", + "\"utf8\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"csv\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_IgnoreErrorsOnFieldsMismatch = + new LazySingletonValue<>( + "ignore_errors_on_fields_mismatch", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_InferenceType = + new LazySingletonValue<>( + "inference_type", + "\"None\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_QuoteChar = + new LazySingletonValue<>( + "quote_char", + "\"\\\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SkipRowsAfterHeader = + new LazySingletonValue<>( + "skip_rows_after_header", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SkipRowsBeforeHeader = + new LazySingletonValue<>( + "skip_rows_before_header", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_StringsCanBeNull = + new LazySingletonValue<>( + "strings_can_be_null", + "true", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGcsCSVHeaderDefinition.java b/src/main/java/com/airbyte/api/models/shared/SourceGcsCSVHeaderDefinition.java new file mode 100644 index 000000000..820c58da4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGcsCSVHeaderDefinition.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceGcsCSVHeaderDefinition - How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + +@JsonDeserialize(using = SourceGcsCSVHeaderDefinition._Deserializer.class) +public class SourceGcsCSVHeaderDefinition { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGcsCSVHeaderDefinition(TypedObject value) { + this.value = value; + } + + public static SourceGcsCSVHeaderDefinition of(SourceGcsFromCSV value) { + Utils.checkNotNull(value, "value"); + return new SourceGcsCSVHeaderDefinition(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGcsCSVHeaderDefinition of(SourceGcsAutogenerated value) { + Utils.checkNotNull(value, "value"); + return new SourceGcsCSVHeaderDefinition(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGcsCSVHeaderDefinition of(SourceGcsUserProvided value) { + Utils.checkNotNull(value, "value"); + return new SourceGcsCSVHeaderDefinition(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGcsFromCSV}
    • + *
    • {@code SourceGcsAutogenerated}
    • + *
    • {@code SourceGcsUserProvided}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGcsCSVHeaderDefinition other = (SourceGcsCSVHeaderDefinition) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGcsCSVHeaderDefinition.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGcsCSVHeaderDefinition.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGcsFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceGcsFiletype.java new file mode 100644 index 000000000..494da3bf6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGcsFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGcsFiletype { + CSV("csv"); + + @JsonValue + private final String value; + + private SourceGcsFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGcsFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceGcsFormat.java new file mode 100644 index 000000000..abbdc3d7d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGcsFormat.java @@ -0,0 +1,94 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceGcsFormat - The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + +@JsonDeserialize(using = SourceGcsFormat._Deserializer.class) +public class SourceGcsFormat { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGcsFormat(TypedObject value) { + this.value = value; + } + + public static SourceGcsFormat of(SourceGcsCSVFormat value) { + Utils.checkNotNull(value, "value"); + return new SourceGcsFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGcsCSVFormat}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGcsFormat other = (SourceGcsFormat) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGcsFormat.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGcsFormat.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGcsFromCSV.java b/src/main/java/com/airbyte/api/models/shared/SourceGcsFromCSV.java new file mode 100644 index 000000000..d41785d75 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGcsFromCSV.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGcsFromCSV { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition_type") + private Optional headerDefinitionType; + + public SourceGcsFromCSV() { + + this.headerDefinitionType = Builder._SINGLETON_VALUE_HeaderDefinitionType.value(); + } + + public Optional headerDefinitionType() { + return headerDefinitionType; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGcsFromCSV other = (SourceGcsFromCSV) o; + return + java.util.Objects.deepEquals(this.headerDefinitionType, other.headerDefinitionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + headerDefinitionType); + } + + @Override + public String toString() { + return Utils.toString(SourceGcsFromCSV.class, + "headerDefinitionType", headerDefinitionType); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceGcsFromCSV build() { + return new SourceGcsFromCSV( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_HeaderDefinitionType = + new LazySingletonValue<>( + "header_definition_type", + "\"From CSV\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGcsGcs.java b/src/main/java/com/airbyte/api/models/shared/SourceGcsGcs.java new file mode 100644 index 000000000..34868f96d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGcsGcs.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGcsGcs { + GCS("gcs"); + + @JsonValue + private final String value; + + private SourceGcsGcs(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGcsHeaderDefinitionType.java b/src/main/java/com/airbyte/api/models/shared/SourceGcsHeaderDefinitionType.java new file mode 100644 index 000000000..32b075e77 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGcsHeaderDefinitionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGcsHeaderDefinitionType { + FROM_CSV("From CSV"); + + @JsonValue + private final String value; + + private SourceGcsHeaderDefinitionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGcsInferenceType.java b/src/main/java/com/airbyte/api/models/shared/SourceGcsInferenceType.java new file mode 100644 index 000000000..8e297e2df --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGcsInferenceType.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceGcsInferenceType - How to infer the types of the columns. If none, inference default to strings. + */ +public enum SourceGcsInferenceType { + NONE("None"), + PRIMITIVE_TYPES_ONLY("Primitive Types Only"); + + @JsonValue + private final String value; + + private SourceGcsInferenceType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGcsSchemasHeaderDefinitionType.java b/src/main/java/com/airbyte/api/models/shared/SourceGcsSchemasHeaderDefinitionType.java new file mode 100644 index 000000000..2f746d4e6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGcsSchemasHeaderDefinitionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGcsSchemasHeaderDefinitionType { + AUTOGENERATED("Autogenerated"); + + @JsonValue + private final String value; + + private SourceGcsSchemasHeaderDefinitionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGcsSchemasStreamsHeaderDefinitionType.java b/src/main/java/com/airbyte/api/models/shared/SourceGcsSchemasStreamsHeaderDefinitionType.java new file mode 100644 index 000000000..cf6301342 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGcsSchemasStreamsHeaderDefinitionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGcsSchemasStreamsHeaderDefinitionType { + USER_PROVIDED("User Provided"); + + @JsonValue + private final String value; + + private SourceGcsSchemasStreamsHeaderDefinitionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGcsUserProvided.java b/src/main/java/com/airbyte/api/models/shared/SourceGcsUserProvided.java new file mode 100644 index 000000000..a0261234b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGcsUserProvided.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGcsUserProvided { + + /** + * The column names that will be used while emitting the CSV records + */ + @JsonProperty("column_names") + private java.util.List columnNames; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition_type") + private Optional headerDefinitionType; + + public SourceGcsUserProvided( + @JsonProperty("column_names") java.util.List columnNames) { + Utils.checkNotNull(columnNames, "columnNames"); + this.columnNames = columnNames; + this.headerDefinitionType = Builder._SINGLETON_VALUE_HeaderDefinitionType.value(); + } + + /** + * The column names that will be used while emitting the CSV records + */ + public java.util.List columnNames() { + return columnNames; + } + + public Optional headerDefinitionType() { + return headerDefinitionType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The column names that will be used while emitting the CSV records + */ + public SourceGcsUserProvided withColumnNames(java.util.List columnNames) { + Utils.checkNotNull(columnNames, "columnNames"); + this.columnNames = columnNames; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGcsUserProvided other = (SourceGcsUserProvided) o; + return + java.util.Objects.deepEquals(this.columnNames, other.columnNames) && + java.util.Objects.deepEquals(this.headerDefinitionType, other.headerDefinitionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + columnNames, + headerDefinitionType); + } + + @Override + public String toString() { + return Utils.toString(SourceGcsUserProvided.class, + "columnNames", columnNames, + "headerDefinitionType", headerDefinitionType); + } + + public final static class Builder { + + private java.util.List columnNames; + + private Builder() { + // force use of static builder() method + } + + /** + * The column names that will be used while emitting the CSV records + */ + public Builder columnNames(java.util.List columnNames) { + Utils.checkNotNull(columnNames, "columnNames"); + this.columnNames = columnNames; + return this; + } + + public SourceGcsUserProvided build() { + return new SourceGcsUserProvided( + columnNames); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_HeaderDefinitionType = + new LazySingletonValue<>( + "header_definition_type", + "\"User Provided\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGcsValidationPolicy.java b/src/main/java/com/airbyte/api/models/shared/SourceGcsValidationPolicy.java new file mode 100644 index 000000000..538334d79 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGcsValidationPolicy.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceGcsValidationPolicy - The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ +public enum SourceGcsValidationPolicy { + EMIT_RECORD("Emit Record"), + SKIP_RECORD("Skip Record"), + WAIT_FOR_DISCOVER("Wait for Discover"); + + @JsonValue + private final String value; + + private SourceGcsValidationPolicy(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGetlago.java b/src/main/java/com/airbyte/api/models/shared/SourceGetlago.java new file mode 100644 index 000000000..cf38a82f7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGetlago.java @@ -0,0 +1,188 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGetlago { + + /** + * Your API Key. See <a href="https://doc.getlago.com/docs/api/intro">here</a>. + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * Your Lago API URL + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("api_url") + private Optional apiUrl; + + @JsonProperty("sourceType") + private Getlago sourceType; + + public SourceGetlago( + @JsonProperty("api_key") String apiKey, + @JsonProperty("api_url") Optional apiUrl) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(apiUrl, "apiUrl"); + this.apiKey = apiKey; + this.apiUrl = apiUrl; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Your API Key. See <a href="https://doc.getlago.com/docs/api/intro">here</a>. + */ + public String apiKey() { + return apiKey; + } + + /** + * Your Lago API URL + */ + public Optional apiUrl() { + return apiUrl; + } + + public Getlago sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your API Key. See <a href="https://doc.getlago.com/docs/api/intro">here</a>. + */ + public SourceGetlago withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Your Lago API URL + */ + public SourceGetlago withApiUrl(String apiUrl) { + Utils.checkNotNull(apiUrl, "apiUrl"); + this.apiUrl = Optional.ofNullable(apiUrl); + return this; + } + + /** + * Your Lago API URL + */ + public SourceGetlago withApiUrl(Optional apiUrl) { + Utils.checkNotNull(apiUrl, "apiUrl"); + this.apiUrl = apiUrl; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGetlago other = (SourceGetlago) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.apiUrl, other.apiUrl) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + apiUrl, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceGetlago.class, + "apiKey", apiKey, + "apiUrl", apiUrl, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Optional apiUrl; + + private Builder() { + // force use of static builder() method + } + + /** + * Your API Key. See <a href="https://doc.getlago.com/docs/api/intro">here</a>. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Your Lago API URL + */ + public Builder apiUrl(String apiUrl) { + Utils.checkNotNull(apiUrl, "apiUrl"); + this.apiUrl = Optional.ofNullable(apiUrl); + return this; + } + + /** + * Your Lago API URL + */ + public Builder apiUrl(Optional apiUrl) { + Utils.checkNotNull(apiUrl, "apiUrl"); + this.apiUrl = apiUrl; + return this; + } + + public SourceGetlago build() { + if (apiUrl == null) { + apiUrl = _SINGLETON_VALUE_ApiUrl.value(); + } + return new SourceGetlago( + apiKey, + apiUrl); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ApiUrl = + new LazySingletonValue<>( + "api_url", + "\"https://api.getlago.com/api/v1\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"getlago\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGithub.java b/src/main/java/com/airbyte/api/models/shared/SourceGithub.java new file mode 100644 index 000000000..aa6ca48ce --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGithub.java @@ -0,0 +1,467 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceGithub { + + /** + * Please enter your basic URL from self-hosted GitHub instance or leave it empty to use GitHub. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("api_url") + private Optional apiUrl; + + /** + * (DEPRCATED) Space-delimited list of GitHub repository branches to pull commits for, e.g. `airbytehq/airbyte/master`. If no branches are specified for a repository, the default branch will be pulled. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("branch") + private Optional branch; + + /** + * List of GitHub repository branches to pull commits for, e.g. `airbytehq/airbyte/master`. If no branches are specified for a repository, the default branch will be pulled. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("branches") + private Optional> branches; + + /** + * Choose how to authenticate to GitHub + */ + @JsonProperty("credentials") + private SourceGithubAuthentication credentials; + + /** + * List of GitHub organizations/repositories, e.g. `airbytehq/airbyte` for single repository, `airbytehq/*` for get all repositories from organization and `airbytehq/a* for matching multiple repositories by pattern. + */ + @JsonProperty("repositories") + private java.util.List repositories; + + /** + * (DEPRCATED) Space-delimited list of GitHub organizations/repositories, e.g. `airbytehq/airbyte` for single repository, `airbytehq/*` for get all repositories from organization and `airbytehq/airbyte airbytehq/another-repo` for multiple repositories. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("repository") + private Optional repository; + + @JsonProperty("sourceType") + private SourceGithubGithub sourceType; + + /** + * The date from which you'd like to replicate data from GitHub in the format YYYY-MM-DDT00:00:00Z. If the date is not set, all data will be replicated. For the streams which support this configuration, only data generated on or after the start date will be replicated. This field doesn't apply to all streams, see the <a href="https://docs.airbyte.com/integrations/sources/github">docs</a> for more info + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceGithub( + @JsonProperty("api_url") Optional apiUrl, + @JsonProperty("branch") Optional branch, + @JsonProperty("branches") Optional> branches, + @JsonProperty("credentials") SourceGithubAuthentication credentials, + @JsonProperty("repositories") java.util.List repositories, + @JsonProperty("repository") Optional repository, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(apiUrl, "apiUrl"); + Utils.checkNotNull(branch, "branch"); + Utils.checkNotNull(branches, "branches"); + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(repositories, "repositories"); + Utils.checkNotNull(repository, "repository"); + Utils.checkNotNull(startDate, "startDate"); + this.apiUrl = apiUrl; + this.branch = branch; + this.branches = branches; + this.credentials = credentials; + this.repositories = repositories; + this.repository = repository; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Please enter your basic URL from self-hosted GitHub instance or leave it empty to use GitHub. + */ + public Optional apiUrl() { + return apiUrl; + } + + /** + * (DEPRCATED) Space-delimited list of GitHub repository branches to pull commits for, e.g. `airbytehq/airbyte/master`. If no branches are specified for a repository, the default branch will be pulled. + */ + public Optional branch() { + return branch; + } + + /** + * List of GitHub repository branches to pull commits for, e.g. `airbytehq/airbyte/master`. If no branches are specified for a repository, the default branch will be pulled. + */ + public Optional> branches() { + return branches; + } + + /** + * Choose how to authenticate to GitHub + */ + public SourceGithubAuthentication credentials() { + return credentials; + } + + /** + * List of GitHub organizations/repositories, e.g. `airbytehq/airbyte` for single repository, `airbytehq/*` for get all repositories from organization and `airbytehq/a* for matching multiple repositories by pattern. + */ + public java.util.List repositories() { + return repositories; + } + + /** + * (DEPRCATED) Space-delimited list of GitHub organizations/repositories, e.g. `airbytehq/airbyte` for single repository, `airbytehq/*` for get all repositories from organization and `airbytehq/airbyte airbytehq/another-repo` for multiple repositories. + */ + public Optional repository() { + return repository; + } + + public SourceGithubGithub sourceType() { + return sourceType; + } + + /** + * The date from which you'd like to replicate data from GitHub in the format YYYY-MM-DDT00:00:00Z. If the date is not set, all data will be replicated. For the streams which support this configuration, only data generated on or after the start date will be replicated. This field doesn't apply to all streams, see the <a href="https://docs.airbyte.com/integrations/sources/github">docs</a> for more info + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Please enter your basic URL from self-hosted GitHub instance or leave it empty to use GitHub. + */ + public SourceGithub withApiUrl(String apiUrl) { + Utils.checkNotNull(apiUrl, "apiUrl"); + this.apiUrl = Optional.ofNullable(apiUrl); + return this; + } + + /** + * Please enter your basic URL from self-hosted GitHub instance or leave it empty to use GitHub. + */ + public SourceGithub withApiUrl(Optional apiUrl) { + Utils.checkNotNull(apiUrl, "apiUrl"); + this.apiUrl = apiUrl; + return this; + } + + /** + * (DEPRCATED) Space-delimited list of GitHub repository branches to pull commits for, e.g. `airbytehq/airbyte/master`. If no branches are specified for a repository, the default branch will be pulled. + */ + public SourceGithub withBranch(String branch) { + Utils.checkNotNull(branch, "branch"); + this.branch = Optional.ofNullable(branch); + return this; + } + + /** + * (DEPRCATED) Space-delimited list of GitHub repository branches to pull commits for, e.g. `airbytehq/airbyte/master`. If no branches are specified for a repository, the default branch will be pulled. + */ + public SourceGithub withBranch(Optional branch) { + Utils.checkNotNull(branch, "branch"); + this.branch = branch; + return this; + } + + /** + * List of GitHub repository branches to pull commits for, e.g. `airbytehq/airbyte/master`. If no branches are specified for a repository, the default branch will be pulled. + */ + public SourceGithub withBranches(java.util.List branches) { + Utils.checkNotNull(branches, "branches"); + this.branches = Optional.ofNullable(branches); + return this; + } + + /** + * List of GitHub repository branches to pull commits for, e.g. `airbytehq/airbyte/master`. If no branches are specified for a repository, the default branch will be pulled. + */ + public SourceGithub withBranches(Optional> branches) { + Utils.checkNotNull(branches, "branches"); + this.branches = branches; + return this; + } + + /** + * Choose how to authenticate to GitHub + */ + public SourceGithub withCredentials(SourceGithubAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * List of GitHub organizations/repositories, e.g. `airbytehq/airbyte` for single repository, `airbytehq/*` for get all repositories from organization and `airbytehq/a* for matching multiple repositories by pattern. + */ + public SourceGithub withRepositories(java.util.List repositories) { + Utils.checkNotNull(repositories, "repositories"); + this.repositories = repositories; + return this; + } + + /** + * (DEPRCATED) Space-delimited list of GitHub organizations/repositories, e.g. `airbytehq/airbyte` for single repository, `airbytehq/*` for get all repositories from organization and `airbytehq/airbyte airbytehq/another-repo` for multiple repositories. + */ + public SourceGithub withRepository(String repository) { + Utils.checkNotNull(repository, "repository"); + this.repository = Optional.ofNullable(repository); + return this; + } + + /** + * (DEPRCATED) Space-delimited list of GitHub organizations/repositories, e.g. `airbytehq/airbyte` for single repository, `airbytehq/*` for get all repositories from organization and `airbytehq/airbyte airbytehq/another-repo` for multiple repositories. + */ + public SourceGithub withRepository(Optional repository) { + Utils.checkNotNull(repository, "repository"); + this.repository = repository; + return this; + } + + /** + * The date from which you'd like to replicate data from GitHub in the format YYYY-MM-DDT00:00:00Z. If the date is not set, all data will be replicated. For the streams which support this configuration, only data generated on or after the start date will be replicated. This field doesn't apply to all streams, see the <a href="https://docs.airbyte.com/integrations/sources/github">docs</a> for more info + */ + public SourceGithub withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date from which you'd like to replicate data from GitHub in the format YYYY-MM-DDT00:00:00Z. If the date is not set, all data will be replicated. For the streams which support this configuration, only data generated on or after the start date will be replicated. This field doesn't apply to all streams, see the <a href="https://docs.airbyte.com/integrations/sources/github">docs</a> for more info + */ + public SourceGithub withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGithub other = (SourceGithub) o; + return + java.util.Objects.deepEquals(this.apiUrl, other.apiUrl) && + java.util.Objects.deepEquals(this.branch, other.branch) && + java.util.Objects.deepEquals(this.branches, other.branches) && + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.repositories, other.repositories) && + java.util.Objects.deepEquals(this.repository, other.repository) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiUrl, + branch, + branches, + credentials, + repositories, + repository, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceGithub.class, + "apiUrl", apiUrl, + "branch", branch, + "branches", branches, + "credentials", credentials, + "repositories", repositories, + "repository", repository, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private Optional apiUrl; + + private Optional branch = Optional.empty(); + + private Optional> branches = Optional.empty(); + + private SourceGithubAuthentication credentials; + + private java.util.List repositories; + + private Optional repository = Optional.empty(); + + private Optional startDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Please enter your basic URL from self-hosted GitHub instance or leave it empty to use GitHub. + */ + public Builder apiUrl(String apiUrl) { + Utils.checkNotNull(apiUrl, "apiUrl"); + this.apiUrl = Optional.ofNullable(apiUrl); + return this; + } + + /** + * Please enter your basic URL from self-hosted GitHub instance or leave it empty to use GitHub. + */ + public Builder apiUrl(Optional apiUrl) { + Utils.checkNotNull(apiUrl, "apiUrl"); + this.apiUrl = apiUrl; + return this; + } + + /** + * (DEPRCATED) Space-delimited list of GitHub repository branches to pull commits for, e.g. `airbytehq/airbyte/master`. If no branches are specified for a repository, the default branch will be pulled. + */ + public Builder branch(String branch) { + Utils.checkNotNull(branch, "branch"); + this.branch = Optional.ofNullable(branch); + return this; + } + + /** + * (DEPRCATED) Space-delimited list of GitHub repository branches to pull commits for, e.g. `airbytehq/airbyte/master`. If no branches are specified for a repository, the default branch will be pulled. + */ + public Builder branch(Optional branch) { + Utils.checkNotNull(branch, "branch"); + this.branch = branch; + return this; + } + + /** + * List of GitHub repository branches to pull commits for, e.g. `airbytehq/airbyte/master`. If no branches are specified for a repository, the default branch will be pulled. + */ + public Builder branches(java.util.List branches) { + Utils.checkNotNull(branches, "branches"); + this.branches = Optional.ofNullable(branches); + return this; + } + + /** + * List of GitHub repository branches to pull commits for, e.g. `airbytehq/airbyte/master`. If no branches are specified for a repository, the default branch will be pulled. + */ + public Builder branches(Optional> branches) { + Utils.checkNotNull(branches, "branches"); + this.branches = branches; + return this; + } + + /** + * Choose how to authenticate to GitHub + */ + public Builder credentials(SourceGithubAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * List of GitHub organizations/repositories, e.g. `airbytehq/airbyte` for single repository, `airbytehq/*` for get all repositories from organization and `airbytehq/a* for matching multiple repositories by pattern. + */ + public Builder repositories(java.util.List repositories) { + Utils.checkNotNull(repositories, "repositories"); + this.repositories = repositories; + return this; + } + + /** + * (DEPRCATED) Space-delimited list of GitHub organizations/repositories, e.g. `airbytehq/airbyte` for single repository, `airbytehq/*` for get all repositories from organization and `airbytehq/airbyte airbytehq/another-repo` for multiple repositories. + */ + public Builder repository(String repository) { + Utils.checkNotNull(repository, "repository"); + this.repository = Optional.ofNullable(repository); + return this; + } + + /** + * (DEPRCATED) Space-delimited list of GitHub organizations/repositories, e.g. `airbytehq/airbyte` for single repository, `airbytehq/*` for get all repositories from organization and `airbytehq/airbyte airbytehq/another-repo` for multiple repositories. + */ + public Builder repository(Optional repository) { + Utils.checkNotNull(repository, "repository"); + this.repository = repository; + return this; + } + + /** + * The date from which you'd like to replicate data from GitHub in the format YYYY-MM-DDT00:00:00Z. If the date is not set, all data will be replicated. For the streams which support this configuration, only data generated on or after the start date will be replicated. This field doesn't apply to all streams, see the <a href="https://docs.airbyte.com/integrations/sources/github">docs</a> for more info + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date from which you'd like to replicate data from GitHub in the format YYYY-MM-DDT00:00:00Z. If the date is not set, all data will be replicated. For the streams which support this configuration, only data generated on or after the start date will be replicated. This field doesn't apply to all streams, see the <a href="https://docs.airbyte.com/integrations/sources/github">docs</a> for more info + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceGithub build() { + if (apiUrl == null) { + apiUrl = _SINGLETON_VALUE_ApiUrl.value(); + } + return new SourceGithub( + apiUrl, + branch, + branches, + credentials, + repositories, + repository, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ApiUrl = + new LazySingletonValue<>( + "api_url", + "\"https://api.github.com/\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"github\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGithubAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceGithubAuthentication.java new file mode 100644 index 000000000..61767b301 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGithubAuthentication.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceGithubAuthentication - Choose how to authenticate to GitHub + */ + +@JsonDeserialize(using = SourceGithubAuthentication._Deserializer.class) +public class SourceGithubAuthentication { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGithubAuthentication(TypedObject value) { + this.value = value; + } + + public static SourceGithubAuthentication of(OAuth value) { + Utils.checkNotNull(value, "value"); + return new SourceGithubAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGithubAuthentication of(SourceGithubPersonalAccessToken value) { + Utils.checkNotNull(value, "value"); + return new SourceGithubAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code OAuth}
    • + *
    • {@code SourceGithubPersonalAccessToken}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGithubAuthentication other = (SourceGithubAuthentication) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGithubAuthentication.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGithubAuthentication.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGithubGithub.java b/src/main/java/com/airbyte/api/models/shared/SourceGithubGithub.java new file mode 100644 index 000000000..dc82b2463 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGithubGithub.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGithubGithub { + GITHUB("github"); + + @JsonValue + private final String value; + + private SourceGithubGithub(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGithubOptionTitle.java b/src/main/java/com/airbyte/api/models/shared/SourceGithubOptionTitle.java new file mode 100644 index 000000000..12e66e549 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGithubOptionTitle.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGithubOptionTitle { + PAT_CREDENTIALS("PAT Credentials"); + + @JsonValue + private final String value; + + private SourceGithubOptionTitle(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGithubPersonalAccessToken.java b/src/main/java/com/airbyte/api/models/shared/SourceGithubPersonalAccessToken.java new file mode 100644 index 000000000..ee5ab88e0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGithubPersonalAccessToken.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGithubPersonalAccessToken { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("option_title") + private Optional optionTitle; + + /** + * Log into GitHub and then generate a <a href="https://github.com/settings/tokens">personal access token</a>. To load balance your API quota consumption across multiple API tokens, input multiple tokens separated with "," + */ + @JsonProperty("personal_access_token") + private String personalAccessToken; + + public SourceGithubPersonalAccessToken( + @JsonProperty("personal_access_token") String personalAccessToken) { + Utils.checkNotNull(personalAccessToken, "personalAccessToken"); + this.optionTitle = Builder._SINGLETON_VALUE_OptionTitle.value(); + this.personalAccessToken = personalAccessToken; + } + + public Optional optionTitle() { + return optionTitle; + } + + /** + * Log into GitHub and then generate a <a href="https://github.com/settings/tokens">personal access token</a>. To load balance your API quota consumption across multiple API tokens, input multiple tokens separated with "," + */ + public String personalAccessToken() { + return personalAccessToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Log into GitHub and then generate a <a href="https://github.com/settings/tokens">personal access token</a>. To load balance your API quota consumption across multiple API tokens, input multiple tokens separated with "," + */ + public SourceGithubPersonalAccessToken withPersonalAccessToken(String personalAccessToken) { + Utils.checkNotNull(personalAccessToken, "personalAccessToken"); + this.personalAccessToken = personalAccessToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGithubPersonalAccessToken other = (SourceGithubPersonalAccessToken) o; + return + java.util.Objects.deepEquals(this.optionTitle, other.optionTitle) && + java.util.Objects.deepEquals(this.personalAccessToken, other.personalAccessToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + optionTitle, + personalAccessToken); + } + + @Override + public String toString() { + return Utils.toString(SourceGithubPersonalAccessToken.class, + "optionTitle", optionTitle, + "personalAccessToken", personalAccessToken); + } + + public final static class Builder { + + private String personalAccessToken; + + private Builder() { + // force use of static builder() method + } + + /** + * Log into GitHub and then generate a <a href="https://github.com/settings/tokens">personal access token</a>. To load balance your API quota consumption across multiple API tokens, input multiple tokens separated with "," + */ + public Builder personalAccessToken(String personalAccessToken) { + Utils.checkNotNull(personalAccessToken, "personalAccessToken"); + this.personalAccessToken = personalAccessToken; + return this; + } + + public SourceGithubPersonalAccessToken build() { + return new SourceGithubPersonalAccessToken( + personalAccessToken); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_OptionTitle = + new LazySingletonValue<>( + "option_title", + "\"PAT Credentials\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGitlab.java b/src/main/java/com/airbyte/api/models/shared/SourceGitlab.java new file mode 100644 index 000000000..2923e09aa --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGitlab.java @@ -0,0 +1,474 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceGitlab { + + /** + * Please enter your basic URL from GitLab instance. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("api_url") + private Optional apiUrl; + + @JsonProperty("credentials") + private SourceGitlabAuthorizationMethod credentials; + + /** + * [DEPRECATED] Space-delimited list of groups. e.g. airbyte.io. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("groups") + private Optional groups; + + /** + * List of groups. e.g. airbyte.io. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("groups_list") + private Optional> groupsList; + + /** + * [DEPRECATED] Space-delimited list of projects. e.g. airbyte.io/documentation meltano/tap-gitlab. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("projects") + private Optional projects; + + /** + * Space-delimited list of projects. e.g. airbyte.io/documentation meltano/tap-gitlab. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("projects_list") + private Optional> projectsList; + + @JsonProperty("sourceType") + private SourceGitlabGitlab sourceType; + + /** + * The date from which you'd like to replicate data for GitLab API, in the format YYYY-MM-DDT00:00:00Z. Optional. If not set, all data will be replicated. All data generated after this date will be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceGitlab( + @JsonProperty("api_url") Optional apiUrl, + @JsonProperty("credentials") SourceGitlabAuthorizationMethod credentials, + @JsonProperty("groups") Optional groups, + @JsonProperty("groups_list") Optional> groupsList, + @JsonProperty("projects") Optional projects, + @JsonProperty("projects_list") Optional> projectsList, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(apiUrl, "apiUrl"); + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(groups, "groups"); + Utils.checkNotNull(groupsList, "groupsList"); + Utils.checkNotNull(projects, "projects"); + Utils.checkNotNull(projectsList, "projectsList"); + Utils.checkNotNull(startDate, "startDate"); + this.apiUrl = apiUrl; + this.credentials = credentials; + this.groups = groups; + this.groupsList = groupsList; + this.projects = projects; + this.projectsList = projectsList; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Please enter your basic URL from GitLab instance. + */ + public Optional apiUrl() { + return apiUrl; + } + + public SourceGitlabAuthorizationMethod credentials() { + return credentials; + } + + /** + * [DEPRECATED] Space-delimited list of groups. e.g. airbyte.io. + */ + public Optional groups() { + return groups; + } + + /** + * List of groups. e.g. airbyte.io. + */ + public Optional> groupsList() { + return groupsList; + } + + /** + * [DEPRECATED] Space-delimited list of projects. e.g. airbyte.io/documentation meltano/tap-gitlab. + */ + public Optional projects() { + return projects; + } + + /** + * Space-delimited list of projects. e.g. airbyte.io/documentation meltano/tap-gitlab. + */ + public Optional> projectsList() { + return projectsList; + } + + public SourceGitlabGitlab sourceType() { + return sourceType; + } + + /** + * The date from which you'd like to replicate data for GitLab API, in the format YYYY-MM-DDT00:00:00Z. Optional. If not set, all data will be replicated. All data generated after this date will be replicated. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Please enter your basic URL from GitLab instance. + */ + public SourceGitlab withApiUrl(String apiUrl) { + Utils.checkNotNull(apiUrl, "apiUrl"); + this.apiUrl = Optional.ofNullable(apiUrl); + return this; + } + + /** + * Please enter your basic URL from GitLab instance. + */ + public SourceGitlab withApiUrl(Optional apiUrl) { + Utils.checkNotNull(apiUrl, "apiUrl"); + this.apiUrl = apiUrl; + return this; + } + + public SourceGitlab withCredentials(SourceGitlabAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * [DEPRECATED] Space-delimited list of groups. e.g. airbyte.io. + */ + public SourceGitlab withGroups(String groups) { + Utils.checkNotNull(groups, "groups"); + this.groups = Optional.ofNullable(groups); + return this; + } + + /** + * [DEPRECATED] Space-delimited list of groups. e.g. airbyte.io. + */ + public SourceGitlab withGroups(Optional groups) { + Utils.checkNotNull(groups, "groups"); + this.groups = groups; + return this; + } + + /** + * List of groups. e.g. airbyte.io. + */ + public SourceGitlab withGroupsList(java.util.List groupsList) { + Utils.checkNotNull(groupsList, "groupsList"); + this.groupsList = Optional.ofNullable(groupsList); + return this; + } + + /** + * List of groups. e.g. airbyte.io. + */ + public SourceGitlab withGroupsList(Optional> groupsList) { + Utils.checkNotNull(groupsList, "groupsList"); + this.groupsList = groupsList; + return this; + } + + /** + * [DEPRECATED] Space-delimited list of projects. e.g. airbyte.io/documentation meltano/tap-gitlab. + */ + public SourceGitlab withProjects(String projects) { + Utils.checkNotNull(projects, "projects"); + this.projects = Optional.ofNullable(projects); + return this; + } + + /** + * [DEPRECATED] Space-delimited list of projects. e.g. airbyte.io/documentation meltano/tap-gitlab. + */ + public SourceGitlab withProjects(Optional projects) { + Utils.checkNotNull(projects, "projects"); + this.projects = projects; + return this; + } + + /** + * Space-delimited list of projects. e.g. airbyte.io/documentation meltano/tap-gitlab. + */ + public SourceGitlab withProjectsList(java.util.List projectsList) { + Utils.checkNotNull(projectsList, "projectsList"); + this.projectsList = Optional.ofNullable(projectsList); + return this; + } + + /** + * Space-delimited list of projects. e.g. airbyte.io/documentation meltano/tap-gitlab. + */ + public SourceGitlab withProjectsList(Optional> projectsList) { + Utils.checkNotNull(projectsList, "projectsList"); + this.projectsList = projectsList; + return this; + } + + /** + * The date from which you'd like to replicate data for GitLab API, in the format YYYY-MM-DDT00:00:00Z. Optional. If not set, all data will be replicated. All data generated after this date will be replicated. + */ + public SourceGitlab withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date from which you'd like to replicate data for GitLab API, in the format YYYY-MM-DDT00:00:00Z. Optional. If not set, all data will be replicated. All data generated after this date will be replicated. + */ + public SourceGitlab withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGitlab other = (SourceGitlab) o; + return + java.util.Objects.deepEquals(this.apiUrl, other.apiUrl) && + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.groups, other.groups) && + java.util.Objects.deepEquals(this.groupsList, other.groupsList) && + java.util.Objects.deepEquals(this.projects, other.projects) && + java.util.Objects.deepEquals(this.projectsList, other.projectsList) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiUrl, + credentials, + groups, + groupsList, + projects, + projectsList, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceGitlab.class, + "apiUrl", apiUrl, + "credentials", credentials, + "groups", groups, + "groupsList", groupsList, + "projects", projects, + "projectsList", projectsList, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private Optional apiUrl; + + private SourceGitlabAuthorizationMethod credentials; + + private Optional groups = Optional.empty(); + + private Optional> groupsList = Optional.empty(); + + private Optional projects = Optional.empty(); + + private Optional> projectsList = Optional.empty(); + + private Optional startDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Please enter your basic URL from GitLab instance. + */ + public Builder apiUrl(String apiUrl) { + Utils.checkNotNull(apiUrl, "apiUrl"); + this.apiUrl = Optional.ofNullable(apiUrl); + return this; + } + + /** + * Please enter your basic URL from GitLab instance. + */ + public Builder apiUrl(Optional apiUrl) { + Utils.checkNotNull(apiUrl, "apiUrl"); + this.apiUrl = apiUrl; + return this; + } + + public Builder credentials(SourceGitlabAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * [DEPRECATED] Space-delimited list of groups. e.g. airbyte.io. + */ + public Builder groups(String groups) { + Utils.checkNotNull(groups, "groups"); + this.groups = Optional.ofNullable(groups); + return this; + } + + /** + * [DEPRECATED] Space-delimited list of groups. e.g. airbyte.io. + */ + public Builder groups(Optional groups) { + Utils.checkNotNull(groups, "groups"); + this.groups = groups; + return this; + } + + /** + * List of groups. e.g. airbyte.io. + */ + public Builder groupsList(java.util.List groupsList) { + Utils.checkNotNull(groupsList, "groupsList"); + this.groupsList = Optional.ofNullable(groupsList); + return this; + } + + /** + * List of groups. e.g. airbyte.io. + */ + public Builder groupsList(Optional> groupsList) { + Utils.checkNotNull(groupsList, "groupsList"); + this.groupsList = groupsList; + return this; + } + + /** + * [DEPRECATED] Space-delimited list of projects. e.g. airbyte.io/documentation meltano/tap-gitlab. + */ + public Builder projects(String projects) { + Utils.checkNotNull(projects, "projects"); + this.projects = Optional.ofNullable(projects); + return this; + } + + /** + * [DEPRECATED] Space-delimited list of projects. e.g. airbyte.io/documentation meltano/tap-gitlab. + */ + public Builder projects(Optional projects) { + Utils.checkNotNull(projects, "projects"); + this.projects = projects; + return this; + } + + /** + * Space-delimited list of projects. e.g. airbyte.io/documentation meltano/tap-gitlab. + */ + public Builder projectsList(java.util.List projectsList) { + Utils.checkNotNull(projectsList, "projectsList"); + this.projectsList = Optional.ofNullable(projectsList); + return this; + } + + /** + * Space-delimited list of projects. e.g. airbyte.io/documentation meltano/tap-gitlab. + */ + public Builder projectsList(Optional> projectsList) { + Utils.checkNotNull(projectsList, "projectsList"); + this.projectsList = projectsList; + return this; + } + + /** + * The date from which you'd like to replicate data for GitLab API, in the format YYYY-MM-DDT00:00:00Z. Optional. If not set, all data will be replicated. All data generated after this date will be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date from which you'd like to replicate data for GitLab API, in the format YYYY-MM-DDT00:00:00Z. Optional. If not set, all data will be replicated. All data generated after this date will be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceGitlab build() { + if (apiUrl == null) { + apiUrl = _SINGLETON_VALUE_ApiUrl.value(); + } + return new SourceGitlab( + apiUrl, + credentials, + groups, + groupsList, + projects, + projectsList, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ApiUrl = + new LazySingletonValue<>( + "api_url", + "\"gitlab.com\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"gitlab\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGitlabAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceGitlabAuthType.java new file mode 100644 index 000000000..3c894d946 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGitlabAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGitlabAuthType { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private SourceGitlabAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGitlabAuthorizationMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceGitlabAuthorizationMethod.java new file mode 100644 index 000000000..01bd4a57b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGitlabAuthorizationMethod.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGitlabAuthorizationMethod._Deserializer.class) +public class SourceGitlabAuthorizationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGitlabAuthorizationMethod(TypedObject value) { + this.value = value; + } + + public static SourceGitlabAuthorizationMethod of(SourceGitlabOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new SourceGitlabAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGitlabAuthorizationMethod of(PrivateToken value) { + Utils.checkNotNull(value, "value"); + return new SourceGitlabAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGitlabOAuth20}
    • + *
    • {@code PrivateToken}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGitlabAuthorizationMethod other = (SourceGitlabAuthorizationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGitlabAuthorizationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGitlabAuthorizationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGitlabGitlab.java b/src/main/java/com/airbyte/api/models/shared/SourceGitlabGitlab.java new file mode 100644 index 000000000..56669716d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGitlabGitlab.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGitlabGitlab { + GITLAB("gitlab"); + + @JsonValue + private final String value; + + private SourceGitlabGitlab(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGitlabOAuth20.java b/src/main/java/com/airbyte/api/models/shared/SourceGitlabOAuth20.java new file mode 100644 index 000000000..abfdb9625 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGitlabOAuth20.java @@ -0,0 +1,284 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceGitlabOAuth20 { + + /** + * Access Token for making authenticated requests. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * The API ID of the Gitlab developer application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The API Secret the Gitlab developer application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * The key to refresh the expired access_token. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + /** + * The date-time when the access token should be refreshed. + */ + @JsonProperty("token_expiry_date") + private OffsetDateTime tokenExpiryDate; + + public SourceGitlabOAuth20( + @JsonProperty("access_token") String accessToken, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("token_expiry_date") OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.accessToken = accessToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + this.tokenExpiryDate = tokenExpiryDate; + } + + /** + * Access Token for making authenticated requests. + */ + public String accessToken() { + return accessToken; + } + + public Optional authType() { + return authType; + } + + /** + * The API ID of the Gitlab developer application. + */ + public String clientId() { + return clientId; + } + + /** + * The API Secret the Gitlab developer application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * The key to refresh the expired access_token. + */ + public String refreshToken() { + return refreshToken; + } + + /** + * The date-time when the access token should be refreshed. + */ + public OffsetDateTime tokenExpiryDate() { + return tokenExpiryDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Access Token for making authenticated requests. + */ + public SourceGitlabOAuth20 withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The API ID of the Gitlab developer application. + */ + public SourceGitlabOAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The API Secret the Gitlab developer application. + */ + public SourceGitlabOAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The key to refresh the expired access_token. + */ + public SourceGitlabOAuth20 withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * The date-time when the access token should be refreshed. + */ + public SourceGitlabOAuth20 withTokenExpiryDate(OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.tokenExpiryDate = tokenExpiryDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGitlabOAuth20 other = (SourceGitlabOAuth20) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.tokenExpiryDate, other.tokenExpiryDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authType, + clientId, + clientSecret, + refreshToken, + tokenExpiryDate); + } + + @Override + public String toString() { + return Utils.toString(SourceGitlabOAuth20.class, + "accessToken", accessToken, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken, + "tokenExpiryDate", tokenExpiryDate); + } + + public final static class Builder { + + private String accessToken; + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private OffsetDateTime tokenExpiryDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Access Token for making authenticated requests. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The API ID of the Gitlab developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The API Secret the Gitlab developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The key to refresh the expired access_token. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * The date-time when the access token should be refreshed. + */ + public Builder tokenExpiryDate(OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.tokenExpiryDate = tokenExpiryDate; + return this; + } + + public SourceGitlabOAuth20 build() { + return new SourceGitlabOAuth20( + accessToken, + clientId, + clientSecret, + refreshToken, + tokenExpiryDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"oauth2.0\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGitlabSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceGitlabSchemasAuthType.java new file mode 100644 index 000000000..f87fe50fb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGitlabSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGitlabSchemasAuthType { + ACCESS_TOKEN("access_token"); + + @JsonValue + private final String value; + + private SourceGitlabSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGlassfrog.java b/src/main/java/com/airbyte/api/models/shared/SourceGlassfrog.java new file mode 100644 index 000000000..99bf8182e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGlassfrog.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGlassfrog { + + /** + * API key provided by Glassfrog + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private Glassfrog sourceType; + + public SourceGlassfrog( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * API key provided by Glassfrog + */ + public String apiKey() { + return apiKey; + } + + public Glassfrog sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API key provided by Glassfrog + */ + public SourceGlassfrog withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGlassfrog other = (SourceGlassfrog) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceGlassfrog.class, + "apiKey", apiKey, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * API key provided by Glassfrog + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public SourceGlassfrog build() { + return new SourceGlassfrog( + apiKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"glassfrog\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGnews.java b/src/main/java/com/airbyte/api/models/shared/SourceGnews.java new file mode 100644 index 000000000..a7b3232aa --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGnews.java @@ -0,0 +1,815 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGnews { + + /** + * API Key + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * This parameter allows you to specify the country where the news articles returned by the API were published, the contents of the articles are not necessarily related to the specified country. You have to set as value the 2 letters code of the country you want to filter. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("country") + private Optional country; + + /** + * This parameter allows you to filter the articles that have a publication date smaller than or equal to the specified value. The date must respect the following format: YYYY-MM-DD hh:mm:ss (in UTC) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + /** + * This parameter allows you to choose in which attributes the keywords are searched. The attributes that can be set are title, description and content. It is possible to combine several attributes. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("in") + private Optional> in; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("language") + private Optional language; + + /** + * This parameter allows you to specify the attributes that you allow to return null values. The attributes that can be set are title, description and content. It is possible to combine several attributes + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("nullable") + private Optional> nullable; + + /** + * This parameter allows you to specify your search keywords to find the news articles you are looking for. The keywords will be used to return the most relevant articles. It is possible to use logical operators with keywords. - Phrase Search Operator: This operator allows you to make an exact search. Keywords surrounded by + * quotation marks are used to search for articles with the exact same keyword sequence. + * For example the query: "Apple iPhone" will return articles matching at least once this sequence of keywords. + * - Logical AND Operator: This operator allows you to make sure that several keywords are all used in the article + * search. By default the space character acts as an AND operator, it is possible to replace the space character + * by AND to obtain the same result. For example the query: Apple Microsoft is equivalent to Apple AND Microsoft + * - Logical OR Operator: This operator allows you to retrieve articles matching the keyword a or the keyword b. + * It is important to note that this operator has a higher precedence than the AND operator. For example the + * query: Apple OR Microsoft will return all articles matching the keyword Apple as well as all articles matching + * the keyword Microsoft + * - Logical NOT Operator: This operator allows you to remove from the results the articles corresponding to the + * specified keywords. To use it, you need to add NOT in front of each word or phrase surrounded by quotes. + * For example the query: Apple NOT iPhone will return all articles matching the keyword Apple but not the keyword + * iPhone + */ + @JsonProperty("query") + private String query; + + /** + * This parameter allows you to choose with which type of sorting the articles should be returned. Two values are possible: + * - publishedAt = sort by publication date, the articles with the most recent publication date are returned first + * - relevance = sort by best match to keywords, the articles with the best match are returned first + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sortby") + private Optional sortby; + + @JsonProperty("sourceType") + private Gnews sourceType; + + /** + * This parameter allows you to filter the articles that have a publication date greater than or equal to the specified value. The date must respect the following format: YYYY-MM-DD hh:mm:ss (in UTC) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + /** + * This parameter allows you to specify your search keywords to find the news articles you are looking for. The keywords will be used to return the most relevant articles. It is possible to use logical operators with keywords. - Phrase Search Operator: This operator allows you to make an exact search. Keywords surrounded by + * quotation marks are used to search for articles with the exact same keyword sequence. + * For example the query: "Apple iPhone" will return articles matching at least once this sequence of keywords. + * - Logical AND Operator: This operator allows you to make sure that several keywords are all used in the article + * search. By default the space character acts as an AND operator, it is possible to replace the space character + * by AND to obtain the same result. For example the query: Apple Microsoft is equivalent to Apple AND Microsoft + * - Logical OR Operator: This operator allows you to retrieve articles matching the keyword a or the keyword b. + * It is important to note that this operator has a higher precedence than the AND operator. For example the + * query: Apple OR Microsoft will return all articles matching the keyword Apple as well as all articles matching + * the keyword Microsoft + * - Logical NOT Operator: This operator allows you to remove from the results the articles corresponding to the + * specified keywords. To use it, you need to add NOT in front of each word or phrase surrounded by quotes. + * For example the query: Apple NOT iPhone will return all articles matching the keyword Apple but not the keyword + * iPhone + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("top_headlines_query") + private Optional topHeadlinesQuery; + + /** + * This parameter allows you to change the category for the request. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("top_headlines_topic") + private Optional topHeadlinesTopic; + + public SourceGnews( + @JsonProperty("api_key") String apiKey, + @JsonProperty("country") Optional country, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("in") Optional> in, + @JsonProperty("language") Optional language, + @JsonProperty("nullable") Optional> nullable, + @JsonProperty("query") String query, + @JsonProperty("sortby") Optional sortby, + @JsonProperty("start_date") Optional startDate, + @JsonProperty("top_headlines_query") Optional topHeadlinesQuery, + @JsonProperty("top_headlines_topic") Optional topHeadlinesTopic) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(country, "country"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(in, "in"); + Utils.checkNotNull(language, "language"); + Utils.checkNotNull(nullable, "nullable"); + Utils.checkNotNull(query, "query"); + Utils.checkNotNull(sortby, "sortby"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(topHeadlinesQuery, "topHeadlinesQuery"); + Utils.checkNotNull(topHeadlinesTopic, "topHeadlinesTopic"); + this.apiKey = apiKey; + this.country = country; + this.endDate = endDate; + this.in = in; + this.language = language; + this.nullable = nullable; + this.query = query; + this.sortby = sortby; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.topHeadlinesQuery = topHeadlinesQuery; + this.topHeadlinesTopic = topHeadlinesTopic; + } + + /** + * API Key + */ + public String apiKey() { + return apiKey; + } + + /** + * This parameter allows you to specify the country where the news articles returned by the API were published, the contents of the articles are not necessarily related to the specified country. You have to set as value the 2 letters code of the country you want to filter. + */ + public Optional country() { + return country; + } + + /** + * This parameter allows you to filter the articles that have a publication date smaller than or equal to the specified value. The date must respect the following format: YYYY-MM-DD hh:mm:ss (in UTC) + */ + public Optional endDate() { + return endDate; + } + + /** + * This parameter allows you to choose in which attributes the keywords are searched. The attributes that can be set are title, description and content. It is possible to combine several attributes. + */ + public Optional> in() { + return in; + } + + public Optional language() { + return language; + } + + /** + * This parameter allows you to specify the attributes that you allow to return null values. The attributes that can be set are title, description and content. It is possible to combine several attributes + */ + public Optional> nullable() { + return nullable; + } + + /** + * This parameter allows you to specify your search keywords to find the news articles you are looking for. The keywords will be used to return the most relevant articles. It is possible to use logical operators with keywords. - Phrase Search Operator: This operator allows you to make an exact search. Keywords surrounded by + * quotation marks are used to search for articles with the exact same keyword sequence. + * For example the query: "Apple iPhone" will return articles matching at least once this sequence of keywords. + * - Logical AND Operator: This operator allows you to make sure that several keywords are all used in the article + * search. By default the space character acts as an AND operator, it is possible to replace the space character + * by AND to obtain the same result. For example the query: Apple Microsoft is equivalent to Apple AND Microsoft + * - Logical OR Operator: This operator allows you to retrieve articles matching the keyword a or the keyword b. + * It is important to note that this operator has a higher precedence than the AND operator. For example the + * query: Apple OR Microsoft will return all articles matching the keyword Apple as well as all articles matching + * the keyword Microsoft + * - Logical NOT Operator: This operator allows you to remove from the results the articles corresponding to the + * specified keywords. To use it, you need to add NOT in front of each word or phrase surrounded by quotes. + * For example the query: Apple NOT iPhone will return all articles matching the keyword Apple but not the keyword + * iPhone + */ + public String query() { + return query; + } + + /** + * This parameter allows you to choose with which type of sorting the articles should be returned. Two values are possible: + * - publishedAt = sort by publication date, the articles with the most recent publication date are returned first + * - relevance = sort by best match to keywords, the articles with the best match are returned first + */ + public Optional sortby() { + return sortby; + } + + public Gnews sourceType() { + return sourceType; + } + + /** + * This parameter allows you to filter the articles that have a publication date greater than or equal to the specified value. The date must respect the following format: YYYY-MM-DD hh:mm:ss (in UTC) + */ + public Optional startDate() { + return startDate; + } + + /** + * This parameter allows you to specify your search keywords to find the news articles you are looking for. The keywords will be used to return the most relevant articles. It is possible to use logical operators with keywords. - Phrase Search Operator: This operator allows you to make an exact search. Keywords surrounded by + * quotation marks are used to search for articles with the exact same keyword sequence. + * For example the query: "Apple iPhone" will return articles matching at least once this sequence of keywords. + * - Logical AND Operator: This operator allows you to make sure that several keywords are all used in the article + * search. By default the space character acts as an AND operator, it is possible to replace the space character + * by AND to obtain the same result. For example the query: Apple Microsoft is equivalent to Apple AND Microsoft + * - Logical OR Operator: This operator allows you to retrieve articles matching the keyword a or the keyword b. + * It is important to note that this operator has a higher precedence than the AND operator. For example the + * query: Apple OR Microsoft will return all articles matching the keyword Apple as well as all articles matching + * the keyword Microsoft + * - Logical NOT Operator: This operator allows you to remove from the results the articles corresponding to the + * specified keywords. To use it, you need to add NOT in front of each word or phrase surrounded by quotes. + * For example the query: Apple NOT iPhone will return all articles matching the keyword Apple but not the keyword + * iPhone + */ + public Optional topHeadlinesQuery() { + return topHeadlinesQuery; + } + + /** + * This parameter allows you to change the category for the request. + */ + public Optional topHeadlinesTopic() { + return topHeadlinesTopic; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Key + */ + public SourceGnews withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * This parameter allows you to specify the country where the news articles returned by the API were published, the contents of the articles are not necessarily related to the specified country. You have to set as value the 2 letters code of the country you want to filter. + */ + public SourceGnews withCountry(Country country) { + Utils.checkNotNull(country, "country"); + this.country = Optional.ofNullable(country); + return this; + } + + /** + * This parameter allows you to specify the country where the news articles returned by the API were published, the contents of the articles are not necessarily related to the specified country. You have to set as value the 2 letters code of the country you want to filter. + */ + public SourceGnews withCountry(Optional country) { + Utils.checkNotNull(country, "country"); + this.country = country; + return this; + } + + /** + * This parameter allows you to filter the articles that have a publication date smaller than or equal to the specified value. The date must respect the following format: YYYY-MM-DD hh:mm:ss (in UTC) + */ + public SourceGnews withEndDate(String endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * This parameter allows you to filter the articles that have a publication date smaller than or equal to the specified value. The date must respect the following format: YYYY-MM-DD hh:mm:ss (in UTC) + */ + public SourceGnews withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * This parameter allows you to choose in which attributes the keywords are searched. The attributes that can be set are title, description and content. It is possible to combine several attributes. + */ + public SourceGnews withIn(java.util.List in) { + Utils.checkNotNull(in, "in"); + this.in = Optional.ofNullable(in); + return this; + } + + /** + * This parameter allows you to choose in which attributes the keywords are searched. The attributes that can be set are title, description and content. It is possible to combine several attributes. + */ + public SourceGnews withIn(Optional> in) { + Utils.checkNotNull(in, "in"); + this.in = in; + return this; + } + + public SourceGnews withLanguage(Language language) { + Utils.checkNotNull(language, "language"); + this.language = Optional.ofNullable(language); + return this; + } + + public SourceGnews withLanguage(Optional language) { + Utils.checkNotNull(language, "language"); + this.language = language; + return this; + } + + /** + * This parameter allows you to specify the attributes that you allow to return null values. The attributes that can be set are title, description and content. It is possible to combine several attributes + */ + public SourceGnews withNullable(java.util.List nullable) { + Utils.checkNotNull(nullable, "nullable"); + this.nullable = Optional.ofNullable(nullable); + return this; + } + + /** + * This parameter allows you to specify the attributes that you allow to return null values. The attributes that can be set are title, description and content. It is possible to combine several attributes + */ + public SourceGnews withNullable(Optional> nullable) { + Utils.checkNotNull(nullable, "nullable"); + this.nullable = nullable; + return this; + } + + /** + * This parameter allows you to specify your search keywords to find the news articles you are looking for. The keywords will be used to return the most relevant articles. It is possible to use logical operators with keywords. - Phrase Search Operator: This operator allows you to make an exact search. Keywords surrounded by + * quotation marks are used to search for articles with the exact same keyword sequence. + * For example the query: "Apple iPhone" will return articles matching at least once this sequence of keywords. + * - Logical AND Operator: This operator allows you to make sure that several keywords are all used in the article + * search. By default the space character acts as an AND operator, it is possible to replace the space character + * by AND to obtain the same result. For example the query: Apple Microsoft is equivalent to Apple AND Microsoft + * - Logical OR Operator: This operator allows you to retrieve articles matching the keyword a or the keyword b. + * It is important to note that this operator has a higher precedence than the AND operator. For example the + * query: Apple OR Microsoft will return all articles matching the keyword Apple as well as all articles matching + * the keyword Microsoft + * - Logical NOT Operator: This operator allows you to remove from the results the articles corresponding to the + * specified keywords. To use it, you need to add NOT in front of each word or phrase surrounded by quotes. + * For example the query: Apple NOT iPhone will return all articles matching the keyword Apple but not the keyword + * iPhone + */ + public SourceGnews withQuery(String query) { + Utils.checkNotNull(query, "query"); + this.query = query; + return this; + } + + /** + * This parameter allows you to choose with which type of sorting the articles should be returned. Two values are possible: + * - publishedAt = sort by publication date, the articles with the most recent publication date are returned first + * - relevance = sort by best match to keywords, the articles with the best match are returned first + */ + public SourceGnews withSortby(SortBy sortby) { + Utils.checkNotNull(sortby, "sortby"); + this.sortby = Optional.ofNullable(sortby); + return this; + } + + /** + * This parameter allows you to choose with which type of sorting the articles should be returned. Two values are possible: + * - publishedAt = sort by publication date, the articles with the most recent publication date are returned first + * - relevance = sort by best match to keywords, the articles with the best match are returned first + */ + public SourceGnews withSortby(Optional sortby) { + Utils.checkNotNull(sortby, "sortby"); + this.sortby = sortby; + return this; + } + + /** + * This parameter allows you to filter the articles that have a publication date greater than or equal to the specified value. The date must respect the following format: YYYY-MM-DD hh:mm:ss (in UTC) + */ + public SourceGnews withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * This parameter allows you to filter the articles that have a publication date greater than or equal to the specified value. The date must respect the following format: YYYY-MM-DD hh:mm:ss (in UTC) + */ + public SourceGnews withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * This parameter allows you to specify your search keywords to find the news articles you are looking for. The keywords will be used to return the most relevant articles. It is possible to use logical operators with keywords. - Phrase Search Operator: This operator allows you to make an exact search. Keywords surrounded by + * quotation marks are used to search for articles with the exact same keyword sequence. + * For example the query: "Apple iPhone" will return articles matching at least once this sequence of keywords. + * - Logical AND Operator: This operator allows you to make sure that several keywords are all used in the article + * search. By default the space character acts as an AND operator, it is possible to replace the space character + * by AND to obtain the same result. For example the query: Apple Microsoft is equivalent to Apple AND Microsoft + * - Logical OR Operator: This operator allows you to retrieve articles matching the keyword a or the keyword b. + * It is important to note that this operator has a higher precedence than the AND operator. For example the + * query: Apple OR Microsoft will return all articles matching the keyword Apple as well as all articles matching + * the keyword Microsoft + * - Logical NOT Operator: This operator allows you to remove from the results the articles corresponding to the + * specified keywords. To use it, you need to add NOT in front of each word or phrase surrounded by quotes. + * For example the query: Apple NOT iPhone will return all articles matching the keyword Apple but not the keyword + * iPhone + */ + public SourceGnews withTopHeadlinesQuery(String topHeadlinesQuery) { + Utils.checkNotNull(topHeadlinesQuery, "topHeadlinesQuery"); + this.topHeadlinesQuery = Optional.ofNullable(topHeadlinesQuery); + return this; + } + + /** + * This parameter allows you to specify your search keywords to find the news articles you are looking for. The keywords will be used to return the most relevant articles. It is possible to use logical operators with keywords. - Phrase Search Operator: This operator allows you to make an exact search. Keywords surrounded by + * quotation marks are used to search for articles with the exact same keyword sequence. + * For example the query: "Apple iPhone" will return articles matching at least once this sequence of keywords. + * - Logical AND Operator: This operator allows you to make sure that several keywords are all used in the article + * search. By default the space character acts as an AND operator, it is possible to replace the space character + * by AND to obtain the same result. For example the query: Apple Microsoft is equivalent to Apple AND Microsoft + * - Logical OR Operator: This operator allows you to retrieve articles matching the keyword a or the keyword b. + * It is important to note that this operator has a higher precedence than the AND operator. For example the + * query: Apple OR Microsoft will return all articles matching the keyword Apple as well as all articles matching + * the keyword Microsoft + * - Logical NOT Operator: This operator allows you to remove from the results the articles corresponding to the + * specified keywords. To use it, you need to add NOT in front of each word or phrase surrounded by quotes. + * For example the query: Apple NOT iPhone will return all articles matching the keyword Apple but not the keyword + * iPhone + */ + public SourceGnews withTopHeadlinesQuery(Optional topHeadlinesQuery) { + Utils.checkNotNull(topHeadlinesQuery, "topHeadlinesQuery"); + this.topHeadlinesQuery = topHeadlinesQuery; + return this; + } + + /** + * This parameter allows you to change the category for the request. + */ + public SourceGnews withTopHeadlinesTopic(TopHeadlinesTopic topHeadlinesTopic) { + Utils.checkNotNull(topHeadlinesTopic, "topHeadlinesTopic"); + this.topHeadlinesTopic = Optional.ofNullable(topHeadlinesTopic); + return this; + } + + /** + * This parameter allows you to change the category for the request. + */ + public SourceGnews withTopHeadlinesTopic(Optional topHeadlinesTopic) { + Utils.checkNotNull(topHeadlinesTopic, "topHeadlinesTopic"); + this.topHeadlinesTopic = topHeadlinesTopic; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGnews other = (SourceGnews) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.country, other.country) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.in, other.in) && + java.util.Objects.deepEquals(this.language, other.language) && + java.util.Objects.deepEquals(this.nullable, other.nullable) && + java.util.Objects.deepEquals(this.query, other.query) && + java.util.Objects.deepEquals(this.sortby, other.sortby) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.topHeadlinesQuery, other.topHeadlinesQuery) && + java.util.Objects.deepEquals(this.topHeadlinesTopic, other.topHeadlinesTopic); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + country, + endDate, + in, + language, + nullable, + query, + sortby, + sourceType, + startDate, + topHeadlinesQuery, + topHeadlinesTopic); + } + + @Override + public String toString() { + return Utils.toString(SourceGnews.class, + "apiKey", apiKey, + "country", country, + "endDate", endDate, + "in", in, + "language", language, + "nullable", nullable, + "query", query, + "sortby", sortby, + "sourceType", sourceType, + "startDate", startDate, + "topHeadlinesQuery", topHeadlinesQuery, + "topHeadlinesTopic", topHeadlinesTopic); + } + + public final static class Builder { + + private String apiKey; + + private Optional country = Optional.empty(); + + private Optional endDate = Optional.empty(); + + private Optional> in = Optional.empty(); + + private Optional language = Optional.empty(); + + private Optional> nullable = Optional.empty(); + + private String query; + + private Optional sortby = Optional.empty(); + + private Optional startDate = Optional.empty(); + + private Optional topHeadlinesQuery = Optional.empty(); + + private Optional topHeadlinesTopic = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * API Key + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * This parameter allows you to specify the country where the news articles returned by the API were published, the contents of the articles are not necessarily related to the specified country. You have to set as value the 2 letters code of the country you want to filter. + */ + public Builder country(Country country) { + Utils.checkNotNull(country, "country"); + this.country = Optional.ofNullable(country); + return this; + } + + /** + * This parameter allows you to specify the country where the news articles returned by the API were published, the contents of the articles are not necessarily related to the specified country. You have to set as value the 2 letters code of the country you want to filter. + */ + public Builder country(Optional country) { + Utils.checkNotNull(country, "country"); + this.country = country; + return this; + } + + /** + * This parameter allows you to filter the articles that have a publication date smaller than or equal to the specified value. The date must respect the following format: YYYY-MM-DD hh:mm:ss (in UTC) + */ + public Builder endDate(String endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * This parameter allows you to filter the articles that have a publication date smaller than or equal to the specified value. The date must respect the following format: YYYY-MM-DD hh:mm:ss (in UTC) + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * This parameter allows you to choose in which attributes the keywords are searched. The attributes that can be set are title, description and content. It is possible to combine several attributes. + */ + public Builder in(java.util.List in) { + Utils.checkNotNull(in, "in"); + this.in = Optional.ofNullable(in); + return this; + } + + /** + * This parameter allows you to choose in which attributes the keywords are searched. The attributes that can be set are title, description and content. It is possible to combine several attributes. + */ + public Builder in(Optional> in) { + Utils.checkNotNull(in, "in"); + this.in = in; + return this; + } + + public Builder language(Language language) { + Utils.checkNotNull(language, "language"); + this.language = Optional.ofNullable(language); + return this; + } + + public Builder language(Optional language) { + Utils.checkNotNull(language, "language"); + this.language = language; + return this; + } + + /** + * This parameter allows you to specify the attributes that you allow to return null values. The attributes that can be set are title, description and content. It is possible to combine several attributes + */ + public Builder nullable(java.util.List nullable) { + Utils.checkNotNull(nullable, "nullable"); + this.nullable = Optional.ofNullable(nullable); + return this; + } + + /** + * This parameter allows you to specify the attributes that you allow to return null values. The attributes that can be set are title, description and content. It is possible to combine several attributes + */ + public Builder nullable(Optional> nullable) { + Utils.checkNotNull(nullable, "nullable"); + this.nullable = nullable; + return this; + } + + /** + * This parameter allows you to specify your search keywords to find the news articles you are looking for. The keywords will be used to return the most relevant articles. It is possible to use logical operators with keywords. - Phrase Search Operator: This operator allows you to make an exact search. Keywords surrounded by + * quotation marks are used to search for articles with the exact same keyword sequence. + * For example the query: "Apple iPhone" will return articles matching at least once this sequence of keywords. + * - Logical AND Operator: This operator allows you to make sure that several keywords are all used in the article + * search. By default the space character acts as an AND operator, it is possible to replace the space character + * by AND to obtain the same result. For example the query: Apple Microsoft is equivalent to Apple AND Microsoft + * - Logical OR Operator: This operator allows you to retrieve articles matching the keyword a or the keyword b. + * It is important to note that this operator has a higher precedence than the AND operator. For example the + * query: Apple OR Microsoft will return all articles matching the keyword Apple as well as all articles matching + * the keyword Microsoft + * - Logical NOT Operator: This operator allows you to remove from the results the articles corresponding to the + * specified keywords. To use it, you need to add NOT in front of each word or phrase surrounded by quotes. + * For example the query: Apple NOT iPhone will return all articles matching the keyword Apple but not the keyword + * iPhone + */ + public Builder query(String query) { + Utils.checkNotNull(query, "query"); + this.query = query; + return this; + } + + /** + * This parameter allows you to choose with which type of sorting the articles should be returned. Two values are possible: + * - publishedAt = sort by publication date, the articles with the most recent publication date are returned first + * - relevance = sort by best match to keywords, the articles with the best match are returned first + */ + public Builder sortby(SortBy sortby) { + Utils.checkNotNull(sortby, "sortby"); + this.sortby = Optional.ofNullable(sortby); + return this; + } + + /** + * This parameter allows you to choose with which type of sorting the articles should be returned. Two values are possible: + * - publishedAt = sort by publication date, the articles with the most recent publication date are returned first + * - relevance = sort by best match to keywords, the articles with the best match are returned first + */ + public Builder sortby(Optional sortby) { + Utils.checkNotNull(sortby, "sortby"); + this.sortby = sortby; + return this; + } + + /** + * This parameter allows you to filter the articles that have a publication date greater than or equal to the specified value. The date must respect the following format: YYYY-MM-DD hh:mm:ss (in UTC) + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * This parameter allows you to filter the articles that have a publication date greater than or equal to the specified value. The date must respect the following format: YYYY-MM-DD hh:mm:ss (in UTC) + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * This parameter allows you to specify your search keywords to find the news articles you are looking for. The keywords will be used to return the most relevant articles. It is possible to use logical operators with keywords. - Phrase Search Operator: This operator allows you to make an exact search. Keywords surrounded by + * quotation marks are used to search for articles with the exact same keyword sequence. + * For example the query: "Apple iPhone" will return articles matching at least once this sequence of keywords. + * - Logical AND Operator: This operator allows you to make sure that several keywords are all used in the article + * search. By default the space character acts as an AND operator, it is possible to replace the space character + * by AND to obtain the same result. For example the query: Apple Microsoft is equivalent to Apple AND Microsoft + * - Logical OR Operator: This operator allows you to retrieve articles matching the keyword a or the keyword b. + * It is important to note that this operator has a higher precedence than the AND operator. For example the + * query: Apple OR Microsoft will return all articles matching the keyword Apple as well as all articles matching + * the keyword Microsoft + * - Logical NOT Operator: This operator allows you to remove from the results the articles corresponding to the + * specified keywords. To use it, you need to add NOT in front of each word or phrase surrounded by quotes. + * For example the query: Apple NOT iPhone will return all articles matching the keyword Apple but not the keyword + * iPhone + */ + public Builder topHeadlinesQuery(String topHeadlinesQuery) { + Utils.checkNotNull(topHeadlinesQuery, "topHeadlinesQuery"); + this.topHeadlinesQuery = Optional.ofNullable(topHeadlinesQuery); + return this; + } + + /** + * This parameter allows you to specify your search keywords to find the news articles you are looking for. The keywords will be used to return the most relevant articles. It is possible to use logical operators with keywords. - Phrase Search Operator: This operator allows you to make an exact search. Keywords surrounded by + * quotation marks are used to search for articles with the exact same keyword sequence. + * For example the query: "Apple iPhone" will return articles matching at least once this sequence of keywords. + * - Logical AND Operator: This operator allows you to make sure that several keywords are all used in the article + * search. By default the space character acts as an AND operator, it is possible to replace the space character + * by AND to obtain the same result. For example the query: Apple Microsoft is equivalent to Apple AND Microsoft + * - Logical OR Operator: This operator allows you to retrieve articles matching the keyword a or the keyword b. + * It is important to note that this operator has a higher precedence than the AND operator. For example the + * query: Apple OR Microsoft will return all articles matching the keyword Apple as well as all articles matching + * the keyword Microsoft + * - Logical NOT Operator: This operator allows you to remove from the results the articles corresponding to the + * specified keywords. To use it, you need to add NOT in front of each word or phrase surrounded by quotes. + * For example the query: Apple NOT iPhone will return all articles matching the keyword Apple but not the keyword + * iPhone + */ + public Builder topHeadlinesQuery(Optional topHeadlinesQuery) { + Utils.checkNotNull(topHeadlinesQuery, "topHeadlinesQuery"); + this.topHeadlinesQuery = topHeadlinesQuery; + return this; + } + + /** + * This parameter allows you to change the category for the request. + */ + public Builder topHeadlinesTopic(TopHeadlinesTopic topHeadlinesTopic) { + Utils.checkNotNull(topHeadlinesTopic, "topHeadlinesTopic"); + this.topHeadlinesTopic = Optional.ofNullable(topHeadlinesTopic); + return this; + } + + /** + * This parameter allows you to change the category for the request. + */ + public Builder topHeadlinesTopic(Optional topHeadlinesTopic) { + Utils.checkNotNull(topHeadlinesTopic, "topHeadlinesTopic"); + this.topHeadlinesTopic = topHeadlinesTopic; + return this; + } + + public SourceGnews build() { + return new SourceGnews( + apiKey, + country, + endDate, + in, + language, + nullable, + query, + sortby, + startDate, + topHeadlinesQuery, + topHeadlinesTopic); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"gnews\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAds.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAds.java new file mode 100644 index 000000000..97a73ae47 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAds.java @@ -0,0 +1,454 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceGoogleAds { + + /** + * A conversion window is the number of days after an ad interaction (such as an ad click or video view) during which a conversion, such as a purchase, is recorded in Google Ads. For more information, see <a href="https://support.google.com/google-ads/answer/3123169?hl=en">Google's documentation</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("conversion_window_days") + private Optional conversionWindowDays; + + @JsonProperty("credentials") + private GoogleCredentials credentials; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("custom_queries_array") + private Optional> customQueriesArray; + + /** + * Comma-separated list of (client) customer IDs. Each customer ID must be specified as a 10-digit number without dashes. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("customer_id") + private Optional customerId; + + /** + * A list of customer statuses to filter on. For detailed info about what each status mean refer to Google Ads <a href="https://developers.google.com/google-ads/api/reference/rpc/v15/CustomerStatusEnum.CustomerStatus">documentation</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("customer_status_filter") + private Optional> customerStatusFilter; + + /** + * UTC date in the format YYYY-MM-DD. Any data after this date will not be replicated. (Default value of today is used if not set) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + @JsonProperty("sourceType") + private SourceGoogleAdsGoogleAds sourceType; + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. (Default value of two years ago is used if not set) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceGoogleAds( + @JsonProperty("conversion_window_days") Optional conversionWindowDays, + @JsonProperty("credentials") GoogleCredentials credentials, + @JsonProperty("custom_queries_array") Optional> customQueriesArray, + @JsonProperty("customer_id") Optional customerId, + @JsonProperty("customer_status_filter") Optional> customerStatusFilter, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(conversionWindowDays, "conversionWindowDays"); + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(customQueriesArray, "customQueriesArray"); + Utils.checkNotNull(customerId, "customerId"); + Utils.checkNotNull(customerStatusFilter, "customerStatusFilter"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(startDate, "startDate"); + this.conversionWindowDays = conversionWindowDays; + this.credentials = credentials; + this.customQueriesArray = customQueriesArray; + this.customerId = customerId; + this.customerStatusFilter = customerStatusFilter; + this.endDate = endDate; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * A conversion window is the number of days after an ad interaction (such as an ad click or video view) during which a conversion, such as a purchase, is recorded in Google Ads. For more information, see <a href="https://support.google.com/google-ads/answer/3123169?hl=en">Google's documentation</a>. + */ + public Optional conversionWindowDays() { + return conversionWindowDays; + } + + public GoogleCredentials credentials() { + return credentials; + } + + public Optional> customQueriesArray() { + return customQueriesArray; + } + + /** + * Comma-separated list of (client) customer IDs. Each customer ID must be specified as a 10-digit number without dashes. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Optional customerId() { + return customerId; + } + + /** + * A list of customer statuses to filter on. For detailed info about what each status mean refer to Google Ads <a href="https://developers.google.com/google-ads/api/reference/rpc/v15/CustomerStatusEnum.CustomerStatus">documentation</a>. + */ + public Optional> customerStatusFilter() { + return customerStatusFilter; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data after this date will not be replicated. (Default value of today is used if not set) + */ + public Optional endDate() { + return endDate; + } + + public SourceGoogleAdsGoogleAds sourceType() { + return sourceType; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. (Default value of two years ago is used if not set) + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * A conversion window is the number of days after an ad interaction (such as an ad click or video view) during which a conversion, such as a purchase, is recorded in Google Ads. For more information, see <a href="https://support.google.com/google-ads/answer/3123169?hl=en">Google's documentation</a>. + */ + public SourceGoogleAds withConversionWindowDays(long conversionWindowDays) { + Utils.checkNotNull(conversionWindowDays, "conversionWindowDays"); + this.conversionWindowDays = Optional.ofNullable(conversionWindowDays); + return this; + } + + /** + * A conversion window is the number of days after an ad interaction (such as an ad click or video view) during which a conversion, such as a purchase, is recorded in Google Ads. For more information, see <a href="https://support.google.com/google-ads/answer/3123169?hl=en">Google's documentation</a>. + */ + public SourceGoogleAds withConversionWindowDays(Optional conversionWindowDays) { + Utils.checkNotNull(conversionWindowDays, "conversionWindowDays"); + this.conversionWindowDays = conversionWindowDays; + return this; + } + + public SourceGoogleAds withCredentials(GoogleCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public SourceGoogleAds withCustomQueriesArray(java.util.List customQueriesArray) { + Utils.checkNotNull(customQueriesArray, "customQueriesArray"); + this.customQueriesArray = Optional.ofNullable(customQueriesArray); + return this; + } + + public SourceGoogleAds withCustomQueriesArray(Optional> customQueriesArray) { + Utils.checkNotNull(customQueriesArray, "customQueriesArray"); + this.customQueriesArray = customQueriesArray; + return this; + } + + /** + * Comma-separated list of (client) customer IDs. Each customer ID must be specified as a 10-digit number without dashes. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public SourceGoogleAds withCustomerId(String customerId) { + Utils.checkNotNull(customerId, "customerId"); + this.customerId = Optional.ofNullable(customerId); + return this; + } + + /** + * Comma-separated list of (client) customer IDs. Each customer ID must be specified as a 10-digit number without dashes. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public SourceGoogleAds withCustomerId(Optional customerId) { + Utils.checkNotNull(customerId, "customerId"); + this.customerId = customerId; + return this; + } + + /** + * A list of customer statuses to filter on. For detailed info about what each status mean refer to Google Ads <a href="https://developers.google.com/google-ads/api/reference/rpc/v15/CustomerStatusEnum.CustomerStatus">documentation</a>. + */ + public SourceGoogleAds withCustomerStatusFilter(java.util.List customerStatusFilter) { + Utils.checkNotNull(customerStatusFilter, "customerStatusFilter"); + this.customerStatusFilter = Optional.ofNullable(customerStatusFilter); + return this; + } + + /** + * A list of customer statuses to filter on. For detailed info about what each status mean refer to Google Ads <a href="https://developers.google.com/google-ads/api/reference/rpc/v15/CustomerStatusEnum.CustomerStatus">documentation</a>. + */ + public SourceGoogleAds withCustomerStatusFilter(Optional> customerStatusFilter) { + Utils.checkNotNull(customerStatusFilter, "customerStatusFilter"); + this.customerStatusFilter = customerStatusFilter; + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data after this date will not be replicated. (Default value of today is used if not set) + */ + public SourceGoogleAds withEndDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data after this date will not be replicated. (Default value of today is used if not set) + */ + public SourceGoogleAds withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. (Default value of two years ago is used if not set) + */ + public SourceGoogleAds withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. (Default value of two years ago is used if not set) + */ + public SourceGoogleAds withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAds other = (SourceGoogleAds) o; + return + java.util.Objects.deepEquals(this.conversionWindowDays, other.conversionWindowDays) && + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.customQueriesArray, other.customQueriesArray) && + java.util.Objects.deepEquals(this.customerId, other.customerId) && + java.util.Objects.deepEquals(this.customerStatusFilter, other.customerStatusFilter) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + conversionWindowDays, + credentials, + customQueriesArray, + customerId, + customerStatusFilter, + endDate, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAds.class, + "conversionWindowDays", conversionWindowDays, + "credentials", credentials, + "customQueriesArray", customQueriesArray, + "customerId", customerId, + "customerStatusFilter", customerStatusFilter, + "endDate", endDate, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private Optional conversionWindowDays; + + private GoogleCredentials credentials; + + private Optional> customQueriesArray = Optional.empty(); + + private Optional customerId = Optional.empty(); + + private Optional> customerStatusFilter = Optional.empty(); + + private Optional endDate = Optional.empty(); + + private Optional startDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * A conversion window is the number of days after an ad interaction (such as an ad click or video view) during which a conversion, such as a purchase, is recorded in Google Ads. For more information, see <a href="https://support.google.com/google-ads/answer/3123169?hl=en">Google's documentation</a>. + */ + public Builder conversionWindowDays(long conversionWindowDays) { + Utils.checkNotNull(conversionWindowDays, "conversionWindowDays"); + this.conversionWindowDays = Optional.ofNullable(conversionWindowDays); + return this; + } + + /** + * A conversion window is the number of days after an ad interaction (such as an ad click or video view) during which a conversion, such as a purchase, is recorded in Google Ads. For more information, see <a href="https://support.google.com/google-ads/answer/3123169?hl=en">Google's documentation</a>. + */ + public Builder conversionWindowDays(Optional conversionWindowDays) { + Utils.checkNotNull(conversionWindowDays, "conversionWindowDays"); + this.conversionWindowDays = conversionWindowDays; + return this; + } + + public Builder credentials(GoogleCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Builder customQueriesArray(java.util.List customQueriesArray) { + Utils.checkNotNull(customQueriesArray, "customQueriesArray"); + this.customQueriesArray = Optional.ofNullable(customQueriesArray); + return this; + } + + public Builder customQueriesArray(Optional> customQueriesArray) { + Utils.checkNotNull(customQueriesArray, "customQueriesArray"); + this.customQueriesArray = customQueriesArray; + return this; + } + + /** + * Comma-separated list of (client) customer IDs. Each customer ID must be specified as a 10-digit number without dashes. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Builder customerId(String customerId) { + Utils.checkNotNull(customerId, "customerId"); + this.customerId = Optional.ofNullable(customerId); + return this; + } + + /** + * Comma-separated list of (client) customer IDs. Each customer ID must be specified as a 10-digit number without dashes. For detailed instructions on finding this value, refer to our <a href="https://docs.airbyte.com/integrations/sources/google-ads#setup-guide">documentation</a>. + */ + public Builder customerId(Optional customerId) { + Utils.checkNotNull(customerId, "customerId"); + this.customerId = customerId; + return this; + } + + /** + * A list of customer statuses to filter on. For detailed info about what each status mean refer to Google Ads <a href="https://developers.google.com/google-ads/api/reference/rpc/v15/CustomerStatusEnum.CustomerStatus">documentation</a>. + */ + public Builder customerStatusFilter(java.util.List customerStatusFilter) { + Utils.checkNotNull(customerStatusFilter, "customerStatusFilter"); + this.customerStatusFilter = Optional.ofNullable(customerStatusFilter); + return this; + } + + /** + * A list of customer statuses to filter on. For detailed info about what each status mean refer to Google Ads <a href="https://developers.google.com/google-ads/api/reference/rpc/v15/CustomerStatusEnum.CustomerStatus">documentation</a>. + */ + public Builder customerStatusFilter(Optional> customerStatusFilter) { + Utils.checkNotNull(customerStatusFilter, "customerStatusFilter"); + this.customerStatusFilter = customerStatusFilter; + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data after this date will not be replicated. (Default value of today is used if not set) + */ + public Builder endDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data after this date will not be replicated. (Default value of today is used if not set) + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. (Default value of two years ago is used if not set) + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. (Default value of two years ago is used if not set) + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceGoogleAds build() { + if (conversionWindowDays == null) { + conversionWindowDays = _SINGLETON_VALUE_ConversionWindowDays.value(); + } + return new SourceGoogleAds( + conversionWindowDays, + credentials, + customQueriesArray, + customerId, + customerStatusFilter, + endDate, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ConversionWindowDays = + new LazySingletonValue<>( + "conversion_window_days", + "14", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"google-ads\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAdsGoogleAds.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAdsGoogleAds.java new file mode 100644 index 000000000..42b669f26 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAdsGoogleAds.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAdsGoogleAds { + GOOGLE_ADS("google-ads"); + + @JsonValue + private final String value; + + private SourceGoogleAdsGoogleAds(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApi.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApi.java new file mode 100644 index 000000000..b2f1ecb0e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApi.java @@ -0,0 +1,502 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceGoogleAnalyticsDataApi { + + /** + * Enables conversion of `conversions:*` event metrics from integers to floats. This is beneficial for preventing data rounding when the API returns float values for any `conversions:*` fields. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("convert_conversions_event") + private Optional convertConversionsEvent; + + /** + * Credentials for the service + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + /** + * You can add your Custom Analytics report by creating one. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("custom_reports_array") + private Optional> customReportsArray; + + /** + * The start date from which to replicate report data in the format YYYY-MM-DD. Data generated before this date will not be included in the report. Not applied to custom Cohort reports. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("date_ranges_start_date") + private Optional dateRangesStartDate; + + /** + * If false, each row with all metrics equal to 0 will not be returned. If true, these rows will be returned if they are not separately removed by a filter. More information is available in <a href="https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/runReport#request-body">the documentation</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("keep_empty_rows") + private Optional keepEmptyRows; + + /** + * A list of your Property IDs. The Property ID is a unique number assigned to each property in Google Analytics, found in your GA4 property URL. This ID allows the connector to track the specific events associated with your property. Refer to the <a href='https://developers.google.com/analytics/devguides/reporting/data/v1/property-id#what_is_my_property_id'>Google Analytics documentation</a> to locate your property ID. + */ + @JsonProperty("property_ids") + private java.util.List propertyIds; + + @JsonProperty("sourceType") + private SourceGoogleAnalyticsDataApiGoogleAnalyticsDataApi sourceType; + + /** + * The interval in days for each data request made to the Google Analytics API. A larger value speeds up data sync, but increases the chance of data sampling, which may result in inaccuracies. We recommend a value of 1 to minimize sampling, unless speed is an absolute priority over accuracy. Acceptable values range from 1 to 364. Does not apply to custom Cohort reports. More information is available in <a href="https://docs.airbyte.com/integrations/sources/google-analytics-data-api">the documentation</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("window_in_days") + private Optional windowInDays; + + public SourceGoogleAnalyticsDataApi( + @JsonProperty("convert_conversions_event") Optional convertConversionsEvent, + @JsonProperty("credentials") Optional credentials, + @JsonProperty("custom_reports_array") Optional> customReportsArray, + @JsonProperty("date_ranges_start_date") Optional dateRangesStartDate, + @JsonProperty("keep_empty_rows") Optional keepEmptyRows, + @JsonProperty("property_ids") java.util.List propertyIds, + @JsonProperty("window_in_days") Optional windowInDays) { + Utils.checkNotNull(convertConversionsEvent, "convertConversionsEvent"); + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(customReportsArray, "customReportsArray"); + Utils.checkNotNull(dateRangesStartDate, "dateRangesStartDate"); + Utils.checkNotNull(keepEmptyRows, "keepEmptyRows"); + Utils.checkNotNull(propertyIds, "propertyIds"); + Utils.checkNotNull(windowInDays, "windowInDays"); + this.convertConversionsEvent = convertConversionsEvent; + this.credentials = credentials; + this.customReportsArray = customReportsArray; + this.dateRangesStartDate = dateRangesStartDate; + this.keepEmptyRows = keepEmptyRows; + this.propertyIds = propertyIds; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.windowInDays = windowInDays; + } + + /** + * Enables conversion of `conversions:*` event metrics from integers to floats. This is beneficial for preventing data rounding when the API returns float values for any `conversions:*` fields. + */ + public Optional convertConversionsEvent() { + return convertConversionsEvent; + } + + /** + * Credentials for the service + */ + public Optional credentials() { + return credentials; + } + + /** + * You can add your Custom Analytics report by creating one. + */ + public Optional> customReportsArray() { + return customReportsArray; + } + + /** + * The start date from which to replicate report data in the format YYYY-MM-DD. Data generated before this date will not be included in the report. Not applied to custom Cohort reports. + */ + public Optional dateRangesStartDate() { + return dateRangesStartDate; + } + + /** + * If false, each row with all metrics equal to 0 will not be returned. If true, these rows will be returned if they are not separately removed by a filter. More information is available in <a href="https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/runReport#request-body">the documentation</a>. + */ + public Optional keepEmptyRows() { + return keepEmptyRows; + } + + /** + * A list of your Property IDs. The Property ID is a unique number assigned to each property in Google Analytics, found in your GA4 property URL. This ID allows the connector to track the specific events associated with your property. Refer to the <a href='https://developers.google.com/analytics/devguides/reporting/data/v1/property-id#what_is_my_property_id'>Google Analytics documentation</a> to locate your property ID. + */ + public java.util.List propertyIds() { + return propertyIds; + } + + public SourceGoogleAnalyticsDataApiGoogleAnalyticsDataApi sourceType() { + return sourceType; + } + + /** + * The interval in days for each data request made to the Google Analytics API. A larger value speeds up data sync, but increases the chance of data sampling, which may result in inaccuracies. We recommend a value of 1 to minimize sampling, unless speed is an absolute priority over accuracy. Acceptable values range from 1 to 364. Does not apply to custom Cohort reports. More information is available in <a href="https://docs.airbyte.com/integrations/sources/google-analytics-data-api">the documentation</a>. + */ + public Optional windowInDays() { + return windowInDays; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Enables conversion of `conversions:*` event metrics from integers to floats. This is beneficial for preventing data rounding when the API returns float values for any `conversions:*` fields. + */ + public SourceGoogleAnalyticsDataApi withConvertConversionsEvent(boolean convertConversionsEvent) { + Utils.checkNotNull(convertConversionsEvent, "convertConversionsEvent"); + this.convertConversionsEvent = Optional.ofNullable(convertConversionsEvent); + return this; + } + + /** + * Enables conversion of `conversions:*` event metrics from integers to floats. This is beneficial for preventing data rounding when the API returns float values for any `conversions:*` fields. + */ + public SourceGoogleAnalyticsDataApi withConvertConversionsEvent(Optional convertConversionsEvent) { + Utils.checkNotNull(convertConversionsEvent, "convertConversionsEvent"); + this.convertConversionsEvent = convertConversionsEvent; + return this; + } + + /** + * Credentials for the service + */ + public SourceGoogleAnalyticsDataApi withCredentials(SourceGoogleAnalyticsDataApiCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Credentials for the service + */ + public SourceGoogleAnalyticsDataApi withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * You can add your Custom Analytics report by creating one. + */ + public SourceGoogleAnalyticsDataApi withCustomReportsArray(java.util.List customReportsArray) { + Utils.checkNotNull(customReportsArray, "customReportsArray"); + this.customReportsArray = Optional.ofNullable(customReportsArray); + return this; + } + + /** + * You can add your Custom Analytics report by creating one. + */ + public SourceGoogleAnalyticsDataApi withCustomReportsArray(Optional> customReportsArray) { + Utils.checkNotNull(customReportsArray, "customReportsArray"); + this.customReportsArray = customReportsArray; + return this; + } + + /** + * The start date from which to replicate report data in the format YYYY-MM-DD. Data generated before this date will not be included in the report. Not applied to custom Cohort reports. + */ + public SourceGoogleAnalyticsDataApi withDateRangesStartDate(LocalDate dateRangesStartDate) { + Utils.checkNotNull(dateRangesStartDate, "dateRangesStartDate"); + this.dateRangesStartDate = Optional.ofNullable(dateRangesStartDate); + return this; + } + + /** + * The start date from which to replicate report data in the format YYYY-MM-DD. Data generated before this date will not be included in the report. Not applied to custom Cohort reports. + */ + public SourceGoogleAnalyticsDataApi withDateRangesStartDate(Optional dateRangesStartDate) { + Utils.checkNotNull(dateRangesStartDate, "dateRangesStartDate"); + this.dateRangesStartDate = dateRangesStartDate; + return this; + } + + /** + * If false, each row with all metrics equal to 0 will not be returned. If true, these rows will be returned if they are not separately removed by a filter. More information is available in <a href="https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/runReport#request-body">the documentation</a>. + */ + public SourceGoogleAnalyticsDataApi withKeepEmptyRows(boolean keepEmptyRows) { + Utils.checkNotNull(keepEmptyRows, "keepEmptyRows"); + this.keepEmptyRows = Optional.ofNullable(keepEmptyRows); + return this; + } + + /** + * If false, each row with all metrics equal to 0 will not be returned. If true, these rows will be returned if they are not separately removed by a filter. More information is available in <a href="https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/runReport#request-body">the documentation</a>. + */ + public SourceGoogleAnalyticsDataApi withKeepEmptyRows(Optional keepEmptyRows) { + Utils.checkNotNull(keepEmptyRows, "keepEmptyRows"); + this.keepEmptyRows = keepEmptyRows; + return this; + } + + /** + * A list of your Property IDs. The Property ID is a unique number assigned to each property in Google Analytics, found in your GA4 property URL. This ID allows the connector to track the specific events associated with your property. Refer to the <a href='https://developers.google.com/analytics/devguides/reporting/data/v1/property-id#what_is_my_property_id'>Google Analytics documentation</a> to locate your property ID. + */ + public SourceGoogleAnalyticsDataApi withPropertyIds(java.util.List propertyIds) { + Utils.checkNotNull(propertyIds, "propertyIds"); + this.propertyIds = propertyIds; + return this; + } + + /** + * The interval in days for each data request made to the Google Analytics API. A larger value speeds up data sync, but increases the chance of data sampling, which may result in inaccuracies. We recommend a value of 1 to minimize sampling, unless speed is an absolute priority over accuracy. Acceptable values range from 1 to 364. Does not apply to custom Cohort reports. More information is available in <a href="https://docs.airbyte.com/integrations/sources/google-analytics-data-api">the documentation</a>. + */ + public SourceGoogleAnalyticsDataApi withWindowInDays(long windowInDays) { + Utils.checkNotNull(windowInDays, "windowInDays"); + this.windowInDays = Optional.ofNullable(windowInDays); + return this; + } + + /** + * The interval in days for each data request made to the Google Analytics API. A larger value speeds up data sync, but increases the chance of data sampling, which may result in inaccuracies. We recommend a value of 1 to minimize sampling, unless speed is an absolute priority over accuracy. Acceptable values range from 1 to 364. Does not apply to custom Cohort reports. More information is available in <a href="https://docs.airbyte.com/integrations/sources/google-analytics-data-api">the documentation</a>. + */ + public SourceGoogleAnalyticsDataApi withWindowInDays(Optional windowInDays) { + Utils.checkNotNull(windowInDays, "windowInDays"); + this.windowInDays = windowInDays; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApi other = (SourceGoogleAnalyticsDataApi) o; + return + java.util.Objects.deepEquals(this.convertConversionsEvent, other.convertConversionsEvent) && + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.customReportsArray, other.customReportsArray) && + java.util.Objects.deepEquals(this.dateRangesStartDate, other.dateRangesStartDate) && + java.util.Objects.deepEquals(this.keepEmptyRows, other.keepEmptyRows) && + java.util.Objects.deepEquals(this.propertyIds, other.propertyIds) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.windowInDays, other.windowInDays); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + convertConversionsEvent, + credentials, + customReportsArray, + dateRangesStartDate, + keepEmptyRows, + propertyIds, + sourceType, + windowInDays); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApi.class, + "convertConversionsEvent", convertConversionsEvent, + "credentials", credentials, + "customReportsArray", customReportsArray, + "dateRangesStartDate", dateRangesStartDate, + "keepEmptyRows", keepEmptyRows, + "propertyIds", propertyIds, + "sourceType", sourceType, + "windowInDays", windowInDays); + } + + public final static class Builder { + + private Optional convertConversionsEvent; + + private Optional credentials = Optional.empty(); + + private Optional> customReportsArray = Optional.empty(); + + private Optional dateRangesStartDate = Optional.empty(); + + private Optional keepEmptyRows; + + private java.util.List propertyIds; + + private Optional windowInDays; + + private Builder() { + // force use of static builder() method + } + + /** + * Enables conversion of `conversions:*` event metrics from integers to floats. This is beneficial for preventing data rounding when the API returns float values for any `conversions:*` fields. + */ + public Builder convertConversionsEvent(boolean convertConversionsEvent) { + Utils.checkNotNull(convertConversionsEvent, "convertConversionsEvent"); + this.convertConversionsEvent = Optional.ofNullable(convertConversionsEvent); + return this; + } + + /** + * Enables conversion of `conversions:*` event metrics from integers to floats. This is beneficial for preventing data rounding when the API returns float values for any `conversions:*` fields. + */ + public Builder convertConversionsEvent(Optional convertConversionsEvent) { + Utils.checkNotNull(convertConversionsEvent, "convertConversionsEvent"); + this.convertConversionsEvent = convertConversionsEvent; + return this; + } + + /** + * Credentials for the service + */ + public Builder credentials(SourceGoogleAnalyticsDataApiCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Credentials for the service + */ + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * You can add your Custom Analytics report by creating one. + */ + public Builder customReportsArray(java.util.List customReportsArray) { + Utils.checkNotNull(customReportsArray, "customReportsArray"); + this.customReportsArray = Optional.ofNullable(customReportsArray); + return this; + } + + /** + * You can add your Custom Analytics report by creating one. + */ + public Builder customReportsArray(Optional> customReportsArray) { + Utils.checkNotNull(customReportsArray, "customReportsArray"); + this.customReportsArray = customReportsArray; + return this; + } + + /** + * The start date from which to replicate report data in the format YYYY-MM-DD. Data generated before this date will not be included in the report. Not applied to custom Cohort reports. + */ + public Builder dateRangesStartDate(LocalDate dateRangesStartDate) { + Utils.checkNotNull(dateRangesStartDate, "dateRangesStartDate"); + this.dateRangesStartDate = Optional.ofNullable(dateRangesStartDate); + return this; + } + + /** + * The start date from which to replicate report data in the format YYYY-MM-DD. Data generated before this date will not be included in the report. Not applied to custom Cohort reports. + */ + public Builder dateRangesStartDate(Optional dateRangesStartDate) { + Utils.checkNotNull(dateRangesStartDate, "dateRangesStartDate"); + this.dateRangesStartDate = dateRangesStartDate; + return this; + } + + /** + * If false, each row with all metrics equal to 0 will not be returned. If true, these rows will be returned if they are not separately removed by a filter. More information is available in <a href="https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/runReport#request-body">the documentation</a>. + */ + public Builder keepEmptyRows(boolean keepEmptyRows) { + Utils.checkNotNull(keepEmptyRows, "keepEmptyRows"); + this.keepEmptyRows = Optional.ofNullable(keepEmptyRows); + return this; + } + + /** + * If false, each row with all metrics equal to 0 will not be returned. If true, these rows will be returned if they are not separately removed by a filter. More information is available in <a href="https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties/runReport#request-body">the documentation</a>. + */ + public Builder keepEmptyRows(Optional keepEmptyRows) { + Utils.checkNotNull(keepEmptyRows, "keepEmptyRows"); + this.keepEmptyRows = keepEmptyRows; + return this; + } + + /** + * A list of your Property IDs. The Property ID is a unique number assigned to each property in Google Analytics, found in your GA4 property URL. This ID allows the connector to track the specific events associated with your property. Refer to the <a href='https://developers.google.com/analytics/devguides/reporting/data/v1/property-id#what_is_my_property_id'>Google Analytics documentation</a> to locate your property ID. + */ + public Builder propertyIds(java.util.List propertyIds) { + Utils.checkNotNull(propertyIds, "propertyIds"); + this.propertyIds = propertyIds; + return this; + } + + /** + * The interval in days for each data request made to the Google Analytics API. A larger value speeds up data sync, but increases the chance of data sampling, which may result in inaccuracies. We recommend a value of 1 to minimize sampling, unless speed is an absolute priority over accuracy. Acceptable values range from 1 to 364. Does not apply to custom Cohort reports. More information is available in <a href="https://docs.airbyte.com/integrations/sources/google-analytics-data-api">the documentation</a>. + */ + public Builder windowInDays(long windowInDays) { + Utils.checkNotNull(windowInDays, "windowInDays"); + this.windowInDays = Optional.ofNullable(windowInDays); + return this; + } + + /** + * The interval in days for each data request made to the Google Analytics API. A larger value speeds up data sync, but increases the chance of data sampling, which may result in inaccuracies. We recommend a value of 1 to minimize sampling, unless speed is an absolute priority over accuracy. Acceptable values range from 1 to 364. Does not apply to custom Cohort reports. More information is available in <a href="https://docs.airbyte.com/integrations/sources/google-analytics-data-api">the documentation</a>. + */ + public Builder windowInDays(Optional windowInDays) { + Utils.checkNotNull(windowInDays, "windowInDays"); + this.windowInDays = windowInDays; + return this; + } + + public SourceGoogleAnalyticsDataApi build() { + if (convertConversionsEvent == null) { + convertConversionsEvent = _SINGLETON_VALUE_ConvertConversionsEvent.value(); + } + if (keepEmptyRows == null) { + keepEmptyRows = _SINGLETON_VALUE_KeepEmptyRows.value(); + } + if (windowInDays == null) { + windowInDays = _SINGLETON_VALUE_WindowInDays.value(); + } + return new SourceGoogleAnalyticsDataApi( + convertConversionsEvent, + credentials, + customReportsArray, + dateRangesStartDate, + keepEmptyRows, + propertyIds, + windowInDays); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ConvertConversionsEvent = + new LazySingletonValue<>( + "convert_conversions_event", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_KeepEmptyRows = + new LazySingletonValue<>( + "keep_empty_rows", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"google-analytics-data-api\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_WindowInDays = + new LazySingletonValue<>( + "window_in_days", + "1", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiAndGroup.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiAndGroup.java new file mode 100644 index 000000000..8cc197036 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiAndGroup.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceGoogleAnalyticsDataApiAndGroup - The FilterExpressions in andGroup have an AND relationship. + */ + +public class SourceGoogleAnalyticsDataApiAndGroup { + + @JsonProperty("expressions") + private java.util.List expressions; + + @JsonProperty("filter_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterType filterType; + + public SourceGoogleAnalyticsDataApiAndGroup( + @JsonProperty("expressions") java.util.List expressions) { + Utils.checkNotNull(expressions, "expressions"); + this.expressions = expressions; + this.filterType = Builder._SINGLETON_VALUE_FilterType.value(); + } + + public java.util.List expressions() { + return expressions; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterType filterType() { + return filterType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiAndGroup withExpressions(java.util.List expressions) { + Utils.checkNotNull(expressions, "expressions"); + this.expressions = expressions; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiAndGroup other = (SourceGoogleAnalyticsDataApiAndGroup) o; + return + java.util.Objects.deepEquals(this.expressions, other.expressions) && + java.util.Objects.deepEquals(this.filterType, other.filterType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + expressions, + filterType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiAndGroup.class, + "expressions", expressions, + "filterType", filterType); + } + + public final static class Builder { + + private java.util.List expressions; + + private Builder() { + // force use of static builder() method + } + + public Builder expressions(java.util.List expressions) { + Utils.checkNotNull(expressions, "expressions"); + this.expressions = expressions; + return this; + } + + public SourceGoogleAnalyticsDataApiAndGroup build() { + return new SourceGoogleAnalyticsDataApiAndGroup( + expressions); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterType = + new LazySingletonValue<>( + "filter_type", + "\"andGroup\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiAuthType.java new file mode 100644 index 000000000..0bbdc8391 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiAuthType { + CLIENT("Client"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiBetweenFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiBetweenFilter.java new file mode 100644 index 000000000..5b32776c7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiBetweenFilter.java @@ -0,0 +1,133 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiBetweenFilter { + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterName filterName; + + @JsonProperty("fromValue") + private SourceGoogleAnalyticsDataApiFromValue fromValue; + + @JsonProperty("toValue") + private SourceGoogleAnalyticsDataApiToValue toValue; + + public SourceGoogleAnalyticsDataApiBetweenFilter( + @JsonProperty("fromValue") SourceGoogleAnalyticsDataApiFromValue fromValue, + @JsonProperty("toValue") SourceGoogleAnalyticsDataApiToValue toValue) { + Utils.checkNotNull(fromValue, "fromValue"); + Utils.checkNotNull(toValue, "toValue"); + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.fromValue = fromValue; + this.toValue = toValue; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterName filterName() { + return filterName; + } + + public SourceGoogleAnalyticsDataApiFromValue fromValue() { + return fromValue; + } + + public SourceGoogleAnalyticsDataApiToValue toValue() { + return toValue; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiBetweenFilter withFromValue(SourceGoogleAnalyticsDataApiFromValue fromValue) { + Utils.checkNotNull(fromValue, "fromValue"); + this.fromValue = fromValue; + return this; + } + + public SourceGoogleAnalyticsDataApiBetweenFilter withToValue(SourceGoogleAnalyticsDataApiToValue toValue) { + Utils.checkNotNull(toValue, "toValue"); + this.toValue = toValue; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiBetweenFilter other = (SourceGoogleAnalyticsDataApiBetweenFilter) o; + return + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.fromValue, other.fromValue) && + java.util.Objects.deepEquals(this.toValue, other.toValue); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filterName, + fromValue, + toValue); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiBetweenFilter.class, + "filterName", filterName, + "fromValue", fromValue, + "toValue", toValue); + } + + public final static class Builder { + + private SourceGoogleAnalyticsDataApiFromValue fromValue; + + private SourceGoogleAnalyticsDataApiToValue toValue; + + private Builder() { + // force use of static builder() method + } + + public Builder fromValue(SourceGoogleAnalyticsDataApiFromValue fromValue) { + Utils.checkNotNull(fromValue, "fromValue"); + this.fromValue = fromValue; + return this; + } + + public Builder toValue(SourceGoogleAnalyticsDataApiToValue toValue) { + Utils.checkNotNull(toValue, "toValue"); + this.toValue = toValue; + return this; + } + + public SourceGoogleAnalyticsDataApiBetweenFilter build() { + return new SourceGoogleAnalyticsDataApiBetweenFilter( + fromValue, + toValue); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"betweenFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiCredentials.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiCredentials.java new file mode 100644 index 000000000..3eba4c540 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiCredentials.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceGoogleAnalyticsDataApiCredentials - Credentials for the service + */ + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiCredentials._Deserializer.class) +public class SourceGoogleAnalyticsDataApiCredentials { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiCredentials(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiCredentials of(AuthenticateViaGoogleOauth value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiCredentials(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiCredentials of(ServiceAccountKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiCredentials(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code AuthenticateViaGoogleOauth}
    • + *
    • {@code ServiceAccountKeyAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiCredentials other = (SourceGoogleAnalyticsDataApiCredentials) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiCredentials.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiCredentials.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiCustomReportConfig.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiCustomReportConfig.java new file mode 100644 index 000000000..cb0f44eb0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiCustomReportConfig.java @@ -0,0 +1,359 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleAnalyticsDataApiCustomReportConfig { + + /** + * Cohort reports creates a time series of user retention for the cohort. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("cohortSpec") + private Optional cohortSpec; + + /** + * Dimensions filter + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("dimensionFilter") + private Optional dimensionFilter; + + /** + * A list of dimensions. + */ + @JsonProperty("dimensions") + private java.util.List dimensions; + + /** + * Metrics filter + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("metricFilter") + private Optional metricFilter; + + /** + * A list of metrics. + */ + @JsonProperty("metrics") + private java.util.List metrics; + + /** + * The name of the custom report, this name would be used as stream name. + */ + @JsonProperty("name") + private String name; + + public SourceGoogleAnalyticsDataApiCustomReportConfig( + @JsonProperty("cohortSpec") Optional cohortSpec, + @JsonProperty("dimensionFilter") Optional dimensionFilter, + @JsonProperty("dimensions") java.util.List dimensions, + @JsonProperty("metricFilter") Optional metricFilter, + @JsonProperty("metrics") java.util.List metrics, + @JsonProperty("name") String name) { + Utils.checkNotNull(cohortSpec, "cohortSpec"); + Utils.checkNotNull(dimensionFilter, "dimensionFilter"); + Utils.checkNotNull(dimensions, "dimensions"); + Utils.checkNotNull(metricFilter, "metricFilter"); + Utils.checkNotNull(metrics, "metrics"); + Utils.checkNotNull(name, "name"); + this.cohortSpec = cohortSpec; + this.dimensionFilter = dimensionFilter; + this.dimensions = dimensions; + this.metricFilter = metricFilter; + this.metrics = metrics; + this.name = name; + } + + /** + * Cohort reports creates a time series of user retention for the cohort. + */ + public Optional cohortSpec() { + return cohortSpec; + } + + /** + * Dimensions filter + */ + public Optional dimensionFilter() { + return dimensionFilter; + } + + /** + * A list of dimensions. + */ + public java.util.List dimensions() { + return dimensions; + } + + /** + * Metrics filter + */ + public Optional metricFilter() { + return metricFilter; + } + + /** + * A list of metrics. + */ + public java.util.List metrics() { + return metrics; + } + + /** + * The name of the custom report, this name would be used as stream name. + */ + public String name() { + return name; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Cohort reports creates a time series of user retention for the cohort. + */ + public SourceGoogleAnalyticsDataApiCustomReportConfig withCohortSpec(CohortReports cohortSpec) { + Utils.checkNotNull(cohortSpec, "cohortSpec"); + this.cohortSpec = Optional.ofNullable(cohortSpec); + return this; + } + + /** + * Cohort reports creates a time series of user retention for the cohort. + */ + public SourceGoogleAnalyticsDataApiCustomReportConfig withCohortSpec(Optional cohortSpec) { + Utils.checkNotNull(cohortSpec, "cohortSpec"); + this.cohortSpec = cohortSpec; + return this; + } + + /** + * Dimensions filter + */ + public SourceGoogleAnalyticsDataApiCustomReportConfig withDimensionFilter(DimensionsFilter dimensionFilter) { + Utils.checkNotNull(dimensionFilter, "dimensionFilter"); + this.dimensionFilter = Optional.ofNullable(dimensionFilter); + return this; + } + + /** + * Dimensions filter + */ + public SourceGoogleAnalyticsDataApiCustomReportConfig withDimensionFilter(Optional dimensionFilter) { + Utils.checkNotNull(dimensionFilter, "dimensionFilter"); + this.dimensionFilter = dimensionFilter; + return this; + } + + /** + * A list of dimensions. + */ + public SourceGoogleAnalyticsDataApiCustomReportConfig withDimensions(java.util.List dimensions) { + Utils.checkNotNull(dimensions, "dimensions"); + this.dimensions = dimensions; + return this; + } + + /** + * Metrics filter + */ + public SourceGoogleAnalyticsDataApiCustomReportConfig withMetricFilter(MetricsFilter metricFilter) { + Utils.checkNotNull(metricFilter, "metricFilter"); + this.metricFilter = Optional.ofNullable(metricFilter); + return this; + } + + /** + * Metrics filter + */ + public SourceGoogleAnalyticsDataApiCustomReportConfig withMetricFilter(Optional metricFilter) { + Utils.checkNotNull(metricFilter, "metricFilter"); + this.metricFilter = metricFilter; + return this; + } + + /** + * A list of metrics. + */ + public SourceGoogleAnalyticsDataApiCustomReportConfig withMetrics(java.util.List metrics) { + Utils.checkNotNull(metrics, "metrics"); + this.metrics = metrics; + return this; + } + + /** + * The name of the custom report, this name would be used as stream name. + */ + public SourceGoogleAnalyticsDataApiCustomReportConfig withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiCustomReportConfig other = (SourceGoogleAnalyticsDataApiCustomReportConfig) o; + return + java.util.Objects.deepEquals(this.cohortSpec, other.cohortSpec) && + java.util.Objects.deepEquals(this.dimensionFilter, other.dimensionFilter) && + java.util.Objects.deepEquals(this.dimensions, other.dimensions) && + java.util.Objects.deepEquals(this.metricFilter, other.metricFilter) && + java.util.Objects.deepEquals(this.metrics, other.metrics) && + java.util.Objects.deepEquals(this.name, other.name); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + cohortSpec, + dimensionFilter, + dimensions, + metricFilter, + metrics, + name); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiCustomReportConfig.class, + "cohortSpec", cohortSpec, + "dimensionFilter", dimensionFilter, + "dimensions", dimensions, + "metricFilter", metricFilter, + "metrics", metrics, + "name", name); + } + + public final static class Builder { + + private Optional cohortSpec = Optional.empty(); + + private Optional dimensionFilter = Optional.empty(); + + private java.util.List dimensions; + + private Optional metricFilter = Optional.empty(); + + private java.util.List metrics; + + private String name; + + private Builder() { + // force use of static builder() method + } + + /** + * Cohort reports creates a time series of user retention for the cohort. + */ + public Builder cohortSpec(CohortReports cohortSpec) { + Utils.checkNotNull(cohortSpec, "cohortSpec"); + this.cohortSpec = Optional.ofNullable(cohortSpec); + return this; + } + + /** + * Cohort reports creates a time series of user retention for the cohort. + */ + public Builder cohortSpec(Optional cohortSpec) { + Utils.checkNotNull(cohortSpec, "cohortSpec"); + this.cohortSpec = cohortSpec; + return this; + } + + /** + * Dimensions filter + */ + public Builder dimensionFilter(DimensionsFilter dimensionFilter) { + Utils.checkNotNull(dimensionFilter, "dimensionFilter"); + this.dimensionFilter = Optional.ofNullable(dimensionFilter); + return this; + } + + /** + * Dimensions filter + */ + public Builder dimensionFilter(Optional dimensionFilter) { + Utils.checkNotNull(dimensionFilter, "dimensionFilter"); + this.dimensionFilter = dimensionFilter; + return this; + } + + /** + * A list of dimensions. + */ + public Builder dimensions(java.util.List dimensions) { + Utils.checkNotNull(dimensions, "dimensions"); + this.dimensions = dimensions; + return this; + } + + /** + * Metrics filter + */ + public Builder metricFilter(MetricsFilter metricFilter) { + Utils.checkNotNull(metricFilter, "metricFilter"); + this.metricFilter = Optional.ofNullable(metricFilter); + return this; + } + + /** + * Metrics filter + */ + public Builder metricFilter(Optional metricFilter) { + Utils.checkNotNull(metricFilter, "metricFilter"); + this.metricFilter = metricFilter; + return this; + } + + /** + * A list of metrics. + */ + public Builder metrics(java.util.List metrics) { + Utils.checkNotNull(metrics, "metrics"); + this.metrics = metrics; + return this; + } + + /** + * The name of the custom report, this name would be used as stream name. + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + public SourceGoogleAnalyticsDataApiCustomReportConfig build() { + return new SourceGoogleAnalyticsDataApiCustomReportConfig( + cohortSpec, + dimensionFilter, + dimensions, + metricFilter, + metrics, + name); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiDisabled.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiDisabled.java new file mode 100644 index 000000000..228b3e0eb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiDisabled.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleAnalyticsDataApiDisabled { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("enabled") + private Optional enabled; + + public SourceGoogleAnalyticsDataApiDisabled() { + + this.enabled = Builder._SINGLETON_VALUE_Enabled.value(); + } + + public Optional enabled() { + return enabled; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiDisabled other = (SourceGoogleAnalyticsDataApiDisabled) o; + return + java.util.Objects.deepEquals(this.enabled, other.enabled); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + enabled); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiDisabled.class, + "enabled", enabled); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceGoogleAnalyticsDataApiDisabled build() { + return new SourceGoogleAnalyticsDataApiDisabled( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Enabled = + new LazySingletonValue<>( + "enabled", + "\"false\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiDoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiDoubleValue.java new file mode 100644 index 000000000..f604f79e2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiDoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiDoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValueType valueType; + + public SourceGoogleAnalyticsDataApiDoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiDoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiDoubleValue other = (SourceGoogleAnalyticsDataApiDoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiDoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiDoubleValue build() { + return new SourceGoogleAnalyticsDataApiDoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiEnabled.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiEnabled.java new file mode 100644 index 000000000..99e07d945 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiEnabled.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiEnabled { + FALSE("false"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiEnabled(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiExpression.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiExpression.java new file mode 100644 index 000000000..5ca5825ec --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiExpression.java @@ -0,0 +1,115 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiExpression { + + @JsonProperty("field_name") + private String fieldName; + + @JsonProperty("filter") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter filter; + + public SourceGoogleAnalyticsDataApiExpression( + @JsonProperty("field_name") String fieldName, + @JsonProperty("filter") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter filter) { + Utils.checkNotNull(fieldName, "fieldName"); + Utils.checkNotNull(filter, "filter"); + this.fieldName = fieldName; + this.filter = filter; + } + + public String fieldName() { + return fieldName; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter filter() { + return filter; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiExpression withFieldName(String fieldName) { + Utils.checkNotNull(fieldName, "fieldName"); + this.fieldName = fieldName; + return this; + } + + public SourceGoogleAnalyticsDataApiExpression withFilter(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiExpression other = (SourceGoogleAnalyticsDataApiExpression) o; + return + java.util.Objects.deepEquals(this.fieldName, other.fieldName) && + java.util.Objects.deepEquals(this.filter, other.filter); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + fieldName, + filter); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiExpression.class, + "fieldName", fieldName, + "filter", filter); + } + + public final static class Builder { + + private String fieldName; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter filter; + + private Builder() { + // force use of static builder() method + } + + public Builder fieldName(String fieldName) { + Utils.checkNotNull(fieldName, "fieldName"); + this.fieldName = fieldName; + return this; + } + + public Builder filter(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + public SourceGoogleAnalyticsDataApiExpression build() { + return new SourceGoogleAnalyticsDataApiExpression( + fieldName, + filter); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiFilter.java new file mode 100644 index 000000000..43015ac4c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiFilter.java @@ -0,0 +1,140 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SourceGoogleAnalyticsDataApiFilter - A primitive filter. In the same FilterExpression, all of the filter's field names need to be either all metrics. + */ + +public class SourceGoogleAnalyticsDataApiFilter { + + @JsonProperty("field_name") + private String fieldName; + + @JsonProperty("filter") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter filter; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filter_type") + private Optional filterType; + + public SourceGoogleAnalyticsDataApiFilter( + @JsonProperty("field_name") String fieldName, + @JsonProperty("filter") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter filter) { + Utils.checkNotNull(fieldName, "fieldName"); + Utils.checkNotNull(filter, "filter"); + this.fieldName = fieldName; + this.filter = filter; + this.filterType = Builder._SINGLETON_VALUE_FilterType.value(); + } + + public String fieldName() { + return fieldName; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter filter() { + return filter; + } + + public Optional filterType() { + return filterType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiFilter withFieldName(String fieldName) { + Utils.checkNotNull(fieldName, "fieldName"); + this.fieldName = fieldName; + return this; + } + + public SourceGoogleAnalyticsDataApiFilter withFilter(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiFilter other = (SourceGoogleAnalyticsDataApiFilter) o; + return + java.util.Objects.deepEquals(this.fieldName, other.fieldName) && + java.util.Objects.deepEquals(this.filter, other.filter) && + java.util.Objects.deepEquals(this.filterType, other.filterType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + fieldName, + filter, + filterType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiFilter.class, + "fieldName", fieldName, + "filter", filter, + "filterType", filterType); + } + + public final static class Builder { + + private String fieldName; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter filter; + + private Builder() { + // force use of static builder() method + } + + public Builder fieldName(String fieldName) { + Utils.checkNotNull(fieldName, "fieldName"); + this.fieldName = fieldName; + return this; + } + + public Builder filter(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + public SourceGoogleAnalyticsDataApiFilter build() { + return new SourceGoogleAnalyticsDataApiFilter( + fieldName, + filter); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_FilterType = + new LazySingletonValue<>( + "filter_type", + "\"filter\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiFilterName.java new file mode 100644 index 000000000..035a5f90c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiFilterName { + IN_LIST_FILTER("inListFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiFilterType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiFilterType.java new file mode 100644 index 000000000..6aa69058d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiFilterType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiFilterType { + OR_GROUP("orGroup"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiFilterType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiFromValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiFromValue.java new file mode 100644 index 000000000..4093bcd96 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiFromValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiFromValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiFromValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiFromValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiFromValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiFromValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiFromValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiFromValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiFromValue other = (SourceGoogleAnalyticsDataApiFromValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiFromValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiFromValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiGoogleAnalyticsDataApi.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiGoogleAnalyticsDataApi.java new file mode 100644 index 000000000..578f857d9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiGoogleAnalyticsDataApi.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiGoogleAnalyticsDataApi { + GOOGLE_ANALYTICS_DATA_API("google-analytics-data-api"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiGoogleAnalyticsDataApi(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiGranularity.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiGranularity.java new file mode 100644 index 000000000..97c824c5a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiGranularity.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceGoogleAnalyticsDataApiGranularity - The granularity used to interpret the startOffset and endOffset for the extended reporting date range for a cohort report. + */ +public enum SourceGoogleAnalyticsDataApiGranularity { + GRANULARITY_UNSPECIFIED("GRANULARITY_UNSPECIFIED"), + DAILY("DAILY"), + WEEKLY("WEEKLY"), + MONTHLY("MONTHLY"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiGranularity(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiInListFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiInListFilter.java new file mode 100644 index 000000000..f0ef9a5b4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiInListFilter.java @@ -0,0 +1,149 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleAnalyticsDataApiInListFilter { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("caseSensitive") + private Optional caseSensitive; + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterName filterName; + + @JsonProperty("values") + private java.util.List values; + + public SourceGoogleAnalyticsDataApiInListFilter( + @JsonProperty("caseSensitive") Optional caseSensitive, + @JsonProperty("values") java.util.List values) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + Utils.checkNotNull(values, "values"); + this.caseSensitive = caseSensitive; + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.values = values; + } + + public Optional caseSensitive() { + return caseSensitive; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterName filterName() { + return filterName; + } + + public java.util.List values() { + return values; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiInListFilter withCaseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public SourceGoogleAnalyticsDataApiInListFilter withCaseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public SourceGoogleAnalyticsDataApiInListFilter withValues(java.util.List values) { + Utils.checkNotNull(values, "values"); + this.values = values; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiInListFilter other = (SourceGoogleAnalyticsDataApiInListFilter) o; + return + java.util.Objects.deepEquals(this.caseSensitive, other.caseSensitive) && + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.values, other.values); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caseSensitive, + filterName, + values); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiInListFilter.class, + "caseSensitive", caseSensitive, + "filterName", filterName, + "values", values); + } + + public final static class Builder { + + private Optional caseSensitive = Optional.empty(); + + private java.util.List values; + + private Builder() { + // force use of static builder() method + } + + public Builder caseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public Builder caseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public Builder values(java.util.List values) { + Utils.checkNotNull(values, "values"); + this.values = values; + return this; + } + + public SourceGoogleAnalyticsDataApiInListFilter build() { + return new SourceGoogleAnalyticsDataApiInListFilter( + caseSensitive, + values); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"inListFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiInt64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiInt64Value.java new file mode 100644 index 000000000..43ef4edd4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiInt64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiInt64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasValueType valueType; + + public SourceGoogleAnalyticsDataApiInt64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiInt64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiInt64Value other = (SourceGoogleAnalyticsDataApiInt64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiInt64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiInt64Value build() { + return new SourceGoogleAnalyticsDataApiInt64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiNotExpression.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiNotExpression.java new file mode 100644 index 000000000..ae9d45580 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiNotExpression.java @@ -0,0 +1,125 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SourceGoogleAnalyticsDataApiNotExpression - The FilterExpression is NOT of notExpression. + */ + +public class SourceGoogleAnalyticsDataApiNotExpression { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("expression") + private Optional expression; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filter_type") + private Optional filterType; + + public SourceGoogleAnalyticsDataApiNotExpression( + @JsonProperty("expression") Optional expression) { + Utils.checkNotNull(expression, "expression"); + this.expression = expression; + this.filterType = Builder._SINGLETON_VALUE_FilterType.value(); + } + + public Optional expression() { + return expression; + } + + public Optional filterType() { + return filterType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiNotExpression withExpression(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression expression) { + Utils.checkNotNull(expression, "expression"); + this.expression = Optional.ofNullable(expression); + return this; + } + + public SourceGoogleAnalyticsDataApiNotExpression withExpression(Optional expression) { + Utils.checkNotNull(expression, "expression"); + this.expression = expression; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiNotExpression other = (SourceGoogleAnalyticsDataApiNotExpression) o; + return + java.util.Objects.deepEquals(this.expression, other.expression) && + java.util.Objects.deepEquals(this.filterType, other.filterType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + expression, + filterType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiNotExpression.class, + "expression", expression, + "filterType", filterType); + } + + public final static class Builder { + + private Optional expression = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder expression(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression expression) { + Utils.checkNotNull(expression, "expression"); + this.expression = Optional.ofNullable(expression); + return this; + } + + public Builder expression(Optional expression) { + Utils.checkNotNull(expression, "expression"); + this.expression = expression; + return this; + } + + public SourceGoogleAnalyticsDataApiNotExpression build() { + return new SourceGoogleAnalyticsDataApiNotExpression( + expression); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_FilterType = + new LazySingletonValue<>( + "filter_type", + "\"notExpression\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiNumericFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiNumericFilter.java new file mode 100644 index 000000000..176335ac4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiNumericFilter.java @@ -0,0 +1,133 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiNumericFilter { + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterName filterName; + + @JsonProperty("operation") + private java.util.List operation; + + @JsonProperty("value") + private SourceGoogleAnalyticsDataApiValue value; + + public SourceGoogleAnalyticsDataApiNumericFilter( + @JsonProperty("operation") java.util.List operation, + @JsonProperty("value") SourceGoogleAnalyticsDataApiValue value) { + Utils.checkNotNull(operation, "operation"); + Utils.checkNotNull(value, "value"); + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.operation = operation; + this.value = value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterName filterName() { + return filterName; + } + + public java.util.List operation() { + return operation; + } + + public SourceGoogleAnalyticsDataApiValue value() { + return value; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiNumericFilter withOperation(java.util.List operation) { + Utils.checkNotNull(operation, "operation"); + this.operation = operation; + return this; + } + + public SourceGoogleAnalyticsDataApiNumericFilter withValue(SourceGoogleAnalyticsDataApiValue value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiNumericFilter other = (SourceGoogleAnalyticsDataApiNumericFilter) o; + return + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.operation, other.operation) && + java.util.Objects.deepEquals(this.value, other.value); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filterName, + operation, + value); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiNumericFilter.class, + "filterName", filterName, + "operation", operation, + "value", value); + } + + public final static class Builder { + + private java.util.List operation; + + private SourceGoogleAnalyticsDataApiValue value; + + private Builder() { + // force use of static builder() method + } + + public Builder operation(java.util.List operation) { + Utils.checkNotNull(operation, "operation"); + this.operation = operation; + return this; + } + + public Builder value(SourceGoogleAnalyticsDataApiValue value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiNumericFilter build() { + return new SourceGoogleAnalyticsDataApiNumericFilter( + operation, + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"numericFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiOrGroup.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiOrGroup.java new file mode 100644 index 000000000..0d8e45c9e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiOrGroup.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceGoogleAnalyticsDataApiOrGroup - The FilterExpressions in orGroup have an OR relationship. + */ + +public class SourceGoogleAnalyticsDataApiOrGroup { + + @JsonProperty("expressions") + private java.util.List expressions; + + @JsonProperty("filter_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterType filterType; + + public SourceGoogleAnalyticsDataApiOrGroup( + @JsonProperty("expressions") java.util.List expressions) { + Utils.checkNotNull(expressions, "expressions"); + this.expressions = expressions; + this.filterType = Builder._SINGLETON_VALUE_FilterType.value(); + } + + public java.util.List expressions() { + return expressions; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterType filterType() { + return filterType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiOrGroup withExpressions(java.util.List expressions) { + Utils.checkNotNull(expressions, "expressions"); + this.expressions = expressions; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiOrGroup other = (SourceGoogleAnalyticsDataApiOrGroup) o; + return + java.util.Objects.deepEquals(this.expressions, other.expressions) && + java.util.Objects.deepEquals(this.filterType, other.filterType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + expressions, + filterType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiOrGroup.class, + "expressions", expressions, + "filterType", filterType); + } + + public final static class Builder { + + private java.util.List expressions; + + private Builder() { + // force use of static builder() method + } + + public Builder expressions(java.util.List expressions) { + Utils.checkNotNull(expressions, "expressions"); + this.expressions = expressions; + return this; + } + + public SourceGoogleAnalyticsDataApiOrGroup build() { + return new SourceGoogleAnalyticsDataApiOrGroup( + expressions); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterType = + new LazySingletonValue<>( + "filter_type", + "\"orGroup\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasAuthType.java new file mode 100644 index 000000000..4b42186a4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasAuthType { + SERVICE("Service"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasBetweenFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasBetweenFilter.java new file mode 100644 index 000000000..5a088b5b2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasBetweenFilter.java @@ -0,0 +1,133 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasBetweenFilter { + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterFilterName filterName; + + @JsonProperty("fromValue") + private SourceGoogleAnalyticsDataApiSchemasFromValue fromValue; + + @JsonProperty("toValue") + private SourceGoogleAnalyticsDataApiSchemasToValue toValue; + + public SourceGoogleAnalyticsDataApiSchemasBetweenFilter( + @JsonProperty("fromValue") SourceGoogleAnalyticsDataApiSchemasFromValue fromValue, + @JsonProperty("toValue") SourceGoogleAnalyticsDataApiSchemasToValue toValue) { + Utils.checkNotNull(fromValue, "fromValue"); + Utils.checkNotNull(toValue, "toValue"); + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.fromValue = fromValue; + this.toValue = toValue; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterFilterName filterName() { + return filterName; + } + + public SourceGoogleAnalyticsDataApiSchemasFromValue fromValue() { + return fromValue; + } + + public SourceGoogleAnalyticsDataApiSchemasToValue toValue() { + return toValue; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasBetweenFilter withFromValue(SourceGoogleAnalyticsDataApiSchemasFromValue fromValue) { + Utils.checkNotNull(fromValue, "fromValue"); + this.fromValue = fromValue; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasBetweenFilter withToValue(SourceGoogleAnalyticsDataApiSchemasToValue toValue) { + Utils.checkNotNull(toValue, "toValue"); + this.toValue = toValue; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasBetweenFilter other = (SourceGoogleAnalyticsDataApiSchemasBetweenFilter) o; + return + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.fromValue, other.fromValue) && + java.util.Objects.deepEquals(this.toValue, other.toValue); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filterName, + fromValue, + toValue); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasBetweenFilter.class, + "filterName", filterName, + "fromValue", fromValue, + "toValue", toValue); + } + + public final static class Builder { + + private SourceGoogleAnalyticsDataApiSchemasFromValue fromValue; + + private SourceGoogleAnalyticsDataApiSchemasToValue toValue; + + private Builder() { + // force use of static builder() method + } + + public Builder fromValue(SourceGoogleAnalyticsDataApiSchemasFromValue fromValue) { + Utils.checkNotNull(fromValue, "fromValue"); + this.fromValue = fromValue; + return this; + } + + public Builder toValue(SourceGoogleAnalyticsDataApiSchemasToValue toValue) { + Utils.checkNotNull(toValue, "toValue"); + this.toValue = toValue; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasBetweenFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasBetweenFilter( + fromValue, + toValue); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"betweenFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter.java new file mode 100644 index 000000000..077f17555 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter.java @@ -0,0 +1,133 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter { + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterFilterName filterName; + + @JsonProperty("fromValue") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue fromValue; + + @JsonProperty("toValue") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue toValue; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter( + @JsonProperty("fromValue") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue fromValue, + @JsonProperty("toValue") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue toValue) { + Utils.checkNotNull(fromValue, "fromValue"); + Utils.checkNotNull(toValue, "toValue"); + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.fromValue = fromValue; + this.toValue = toValue; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterFilterName filterName() { + return filterName; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue fromValue() { + return fromValue; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue toValue() { + return toValue; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter withFromValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue fromValue) { + Utils.checkNotNull(fromValue, "fromValue"); + this.fromValue = fromValue; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter withToValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue toValue) { + Utils.checkNotNull(toValue, "toValue"); + this.toValue = toValue; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter) o; + return + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.fromValue, other.fromValue) && + java.util.Objects.deepEquals(this.toValue, other.toValue); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filterName, + fromValue, + toValue); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter.class, + "filterName", filterName, + "fromValue", fromValue, + "toValue", toValue); + } + + public final static class Builder { + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue fromValue; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue toValue; + + private Builder() { + // force use of static builder() method + } + + public Builder fromValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue fromValue) { + Utils.checkNotNull(fromValue, "fromValue"); + this.fromValue = fromValue; + return this; + } + + public Builder toValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue toValue) { + Utils.checkNotNull(toValue, "toValue"); + this.toValue = toValue; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter( + fromValue, + toValue); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"betweenFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter.java new file mode 100644 index 000000000..932ca1abc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter.java @@ -0,0 +1,133 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter { + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterName filterName; + + @JsonProperty("fromValue") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue fromValue; + + @JsonProperty("toValue") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue toValue; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter( + @JsonProperty("fromValue") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue fromValue, + @JsonProperty("toValue") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue toValue) { + Utils.checkNotNull(fromValue, "fromValue"); + Utils.checkNotNull(toValue, "toValue"); + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.fromValue = fromValue; + this.toValue = toValue; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterName filterName() { + return filterName; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue fromValue() { + return fromValue; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue toValue() { + return toValue; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter withFromValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue fromValue) { + Utils.checkNotNull(fromValue, "fromValue"); + this.fromValue = fromValue; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter withToValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue toValue) { + Utils.checkNotNull(toValue, "toValue"); + this.toValue = toValue; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter) o; + return + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.fromValue, other.fromValue) && + java.util.Objects.deepEquals(this.toValue, other.toValue); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filterName, + fromValue, + toValue); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter.class, + "filterName", filterName, + "fromValue", fromValue, + "toValue", toValue); + } + + public final static class Builder { + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue fromValue; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue toValue; + + private Builder() { + // force use of static builder() method + } + + public Builder fromValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue fromValue) { + Utils.checkNotNull(fromValue, "fromValue"); + this.fromValue = fromValue; + return this; + } + + public Builder toValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue toValue) { + Utils.checkNotNull(toValue, "toValue"); + this.toValue = toValue; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter( + fromValue, + toValue); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"betweenFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue.java new file mode 100644 index 000000000..6d2b43400 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue.java new file mode 100644 index 000000000..3e56899fb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue.java new file mode 100644 index 000000000..62fd82093 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ToValueValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ToValueValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ToValueValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ToValueValueType.java new file mode 100644 index 000000000..9faf1dc6a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ToValueValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ToValueValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ToValueValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ValueType.java new file mode 100644 index 000000000..171047373 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterFilterName.java new file mode 100644 index 000000000..15c0c1bb0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterFilterName { + BETWEEN_FILTER("betweenFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterName.java new file mode 100644 index 000000000..b10239367 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterName { + NUMERIC_FILTER("numericFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterValueType.java new file mode 100644 index 000000000..3c9277b61 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value.java new file mode 100644 index 000000000..36ee805fb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilter4ValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterName.java new file mode 100644 index 000000000..0677a22f1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterName { + IN_LIST_FILTER("inListFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterValueType.java new file mode 100644 index 000000000..e28e9fbd5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value.java new file mode 100644 index 000000000..1596bfaa9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums.java new file mode 100644 index 000000000..33ceff315 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums { + OPERATION_UNSPECIFIED("OPERATION_UNSPECIFIED"), + EQUAL("EQUAL"), + LESS_THAN("LESS_THAN"), + LESS_THAN_OR_EQUAL("LESS_THAN_OR_EQUAL"), + GREATER_THAN("GREATER_THAN"), + GREATER_THAN_OR_EQUAL("GREATER_THAN_OR_EQUAL"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValueType.java new file mode 100644 index 000000000..95918ddc7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter.java new file mode 100644 index 000000000..6a772e858 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayBetweenFilter}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1FilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1FilterName.java new file mode 100644 index 000000000..63db0b5f2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1FilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1FilterName { + STRING_FILTER("stringFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1FilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value.java new file mode 100644 index 000000000..c48004197 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums.java new file mode 100644 index 000000000..12c35b532 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums { + MATCH_TYPE_UNSPECIFIED("MATCH_TYPE_UNSPECIFIED"), + EXACT("EXACT"), + BEGINS_WITH("BEGINS_WITH"), + ENDS_WITH("ENDS_WITH"), + CONTAINS("CONTAINS"), + FULL_REGEXP("FULL_REGEXP"), + PARTIAL_REGEXP("PARTIAL_REGEXP"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValueType.java new file mode 100644 index 000000000..9f2a5a4a7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue.java new file mode 100644 index 000000000..3b3c80a30 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ToValueValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ToValueValueType.java new file mode 100644 index 000000000..0b7010b3d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ToValueValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ToValueValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ToValueValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ValueType.java new file mode 100644 index 000000000..d41cabee0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilterValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilterValueType.java new file mode 100644 index 000000000..b29536333 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilterValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilterValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilterValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterName.java new file mode 100644 index 000000000..ad192de2a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterName { + BETWEEN_FILTER("betweenFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterValueType.java new file mode 100644 index 000000000..d47911d96 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsValueType.java new file mode 100644 index 000000000..df8a6e01a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2FilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2FilterName.java new file mode 100644 index 000000000..c984d2c2e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2FilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2FilterName { + NUMERIC_FILTER("numericFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2FilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value.java new file mode 100644 index 000000000..600e7e7d9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums.java new file mode 100644 index 000000000..6dd63d36d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums { + MATCH_TYPE_UNSPECIFIED("MATCH_TYPE_UNSPECIFIED"), + EXACT("EXACT"), + BEGINS_WITH("BEGINS_WITH"), + ENDS_WITH("ENDS_WITH"), + CONTAINS("CONTAINS"), + FULL_REGEXP("FULL_REGEXP"), + PARTIAL_REGEXP("PARTIAL_REGEXP"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValueType.java new file mode 100644 index 000000000..c625de2bc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue.java new file mode 100644 index 000000000..dcdec96a4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue.java new file mode 100644 index 000000000..6fc1d14d5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue.java new file mode 100644 index 000000000..bbcf90f95 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ToValueValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ToValueValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ToValueValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ToValueValueType.java new file mode 100644 index 000000000..63d393191 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ToValueValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ToValueValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ToValueValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ValueType.java new file mode 100644 index 000000000..bd5de07e8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterFilterName.java new file mode 100644 index 000000000..cddf034df --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterFilterName { + BETWEEN_FILTER("betweenFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterName.java new file mode 100644 index 000000000..a7abb124b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterName { + NUMERIC_FILTER("numericFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterValueType.java new file mode 100644 index 000000000..7b862951a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value.java new file mode 100644 index 000000000..711b0118a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilter4ValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterName.java new file mode 100644 index 000000000..d81acdbd6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterName { + IN_LIST_FILTER("inListFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterValueType.java new file mode 100644 index 000000000..26354dab1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value.java new file mode 100644 index 000000000..82ebbc5f6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionValueType.java new file mode 100644 index 000000000..3ec676b19 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3FilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3FilterName.java new file mode 100644 index 000000000..96b85447e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3FilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3FilterName { + STRING_FILTER("stringFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3FilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value.java new file mode 100644 index 000000000..75b3313ee --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums.java new file mode 100644 index 000000000..1874e1e54 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums { + OPERATION_UNSPECIFIED("OPERATION_UNSPECIFIED"), + EQUAL("EQUAL"), + LESS_THAN("LESS_THAN"), + LESS_THAN_OR_EQUAL("LESS_THAN_OR_EQUAL"), + GREATER_THAN("GREATER_THAN"), + GREATER_THAN_OR_EQUAL("GREATER_THAN_OR_EQUAL"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValueType.java new file mode 100644 index 000000000..f842cce1f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue.java new file mode 100644 index 000000000..99028ee43 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ToValueValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ToValueValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter.java new file mode 100644 index 000000000..10dc39261 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter of(SourceGoogleAnalyticsDataApiSchemasStringFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter of(SourceGoogleAnalyticsDataApiSchemasInListFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter of(SourceGoogleAnalyticsDataApiSchemasNumericFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter of(SourceGoogleAnalyticsDataApiSchemasBetweenFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasStringFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasInListFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasNumericFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasBetweenFilter}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilterName.java new file mode 100644 index 000000000..d6582a3e4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilterName { + IN_LIST_FILTER("inListFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value.java new file mode 100644 index 000000000..1ea86a6d2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilter4ValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums.java new file mode 100644 index 000000000..58bb04440 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums { + MATCH_TYPE_UNSPECIFIED("MATCH_TYPE_UNSPECIFIED"), + EXACT("EXACT"), + BEGINS_WITH("BEGINS_WITH"), + ENDS_WITH("ENDS_WITH"), + CONTAINS("CONTAINS"), + FULL_REGEXP("FULL_REGEXP"), + PARTIAL_REGEXP("PARTIAL_REGEXP"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValueType.java new file mode 100644 index 000000000..525ab58c1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue.java new file mode 100644 index 000000000..54fb77d13 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilterValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterFilterValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter.java new file mode 100644 index 000000000..de702d1bf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterBetweenFilter}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilter.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilterName.java new file mode 100644 index 000000000..e1a5b48c6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilterName { + STRING_FILTER("stringFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue.java new file mode 100644 index 000000000..b2dfb3e2a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFromValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter.java new file mode 100644 index 000000000..84f43538e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter.java @@ -0,0 +1,149 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("caseSensitive") + private Optional caseSensitive; + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilterName filterName; + + @JsonProperty("values") + private java.util.List values; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter( + @JsonProperty("caseSensitive") Optional caseSensitive, + @JsonProperty("values") java.util.List values) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + Utils.checkNotNull(values, "values"); + this.caseSensitive = caseSensitive; + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.values = values; + } + + public Optional caseSensitive() { + return caseSensitive; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilterName filterName() { + return filterName; + } + + public java.util.List values() { + return values; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter withCaseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter withCaseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter withValues(java.util.List values) { + Utils.checkNotNull(values, "values"); + this.values = values; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter) o; + return + java.util.Objects.deepEquals(this.caseSensitive, other.caseSensitive) && + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.values, other.values); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caseSensitive, + filterName, + values); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter.class, + "caseSensitive", caseSensitive, + "filterName", filterName, + "values", values); + } + + public final static class Builder { + + private Optional caseSensitive = Optional.empty(); + + private java.util.List values; + + private Builder() { + // force use of static builder() method + } + + public Builder caseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public Builder caseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public Builder values(java.util.List values) { + Utils.checkNotNull(values, "values"); + this.values = values; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInListFilter( + caseSensitive, + values); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"inListFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value.java new file mode 100644 index 000000000..145f6e5c9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ExpressionsFilterValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterInt64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter.java new file mode 100644 index 000000000..1b99f3e9f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter.java @@ -0,0 +1,133 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter { + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2FilterName filterName; + + @JsonProperty("operation") + private java.util.List operation; + + @JsonProperty("value") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue value; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter( + @JsonProperty("operation") java.util.List operation, + @JsonProperty("value") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue value) { + Utils.checkNotNull(operation, "operation"); + Utils.checkNotNull(value, "value"); + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.operation = operation; + this.value = value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2FilterName filterName() { + return filterName; + } + + public java.util.List operation() { + return operation; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue value() { + return value; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter withOperation(java.util.List operation) { + Utils.checkNotNull(operation, "operation"); + this.operation = operation; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter withValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter) o; + return + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.operation, other.operation) && + java.util.Objects.deepEquals(this.value, other.value); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filterName, + operation, + value); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter.class, + "filterName", filterName, + "operation", operation, + "value", value); + } + + public final static class Builder { + + private java.util.List operation; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue value; + + private Builder() { + // force use of static builder() method + } + + public Builder operation(java.util.List operation) { + Utils.checkNotNull(operation, "operation"); + this.operation = operation; + return this; + } + + public Builder value(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterNumericFilter( + operation, + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"numericFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter.java new file mode 100644 index 000000000..be4b32fed --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter.java @@ -0,0 +1,190 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("caseSensitive") + private Optional caseSensitive; + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilterName filterName; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("matchType") + private Optional> matchType; + + @JsonProperty("value") + private String value; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter( + @JsonProperty("caseSensitive") Optional caseSensitive, + @JsonProperty("matchType") Optional> matchType, + @JsonProperty("value") String value) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + Utils.checkNotNull(matchType, "matchType"); + Utils.checkNotNull(value, "value"); + this.caseSensitive = caseSensitive; + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.matchType = matchType; + this.value = value; + } + + public Optional caseSensitive() { + return caseSensitive; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterFilterName filterName() { + return filterName; + } + + public Optional> matchType() { + return matchType; + } + + public String value() { + return value; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter withCaseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter withCaseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter withMatchType(java.util.List matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = Optional.ofNullable(matchType); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter withMatchType(Optional> matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = matchType; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter) o; + return + java.util.Objects.deepEquals(this.caseSensitive, other.caseSensitive) && + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.matchType, other.matchType) && + java.util.Objects.deepEquals(this.value, other.value); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caseSensitive, + filterName, + matchType, + value); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter.class, + "caseSensitive", caseSensitive, + "filterName", filterName, + "matchType", matchType, + "value", value); + } + + public final static class Builder { + + private Optional caseSensitive = Optional.empty(); + + private Optional> matchType = Optional.empty(); + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder caseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public Builder caseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public Builder matchType(java.util.List matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = Optional.ofNullable(matchType); + return this; + } + + public Builder matchType(Optional> matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = matchType; + return this; + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterStringFilter( + caseSensitive, + matchType, + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"stringFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue.java new file mode 100644 index 000000000..f57182c3a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterToValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValidEnums.java new file mode 100644 index 000000000..23979c026 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValidEnums.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValidEnums { + OPERATION_UNSPECIFIED("OPERATION_UNSPECIFIED"), + EQUAL("EQUAL"), + LESS_THAN("LESS_THAN"), + LESS_THAN_OR_EQUAL("LESS_THAN_OR_EQUAL"), + GREATER_THAN("GREATER_THAN"), + GREATER_THAN_OR_EQUAL("GREATER_THAN_OR_EQUAL"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue.java new file mode 100644 index 000000000..339bc8049 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValueType.java new file mode 100644 index 000000000..7970c0292 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue.java new file mode 100644 index 000000000..cd23a2104 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayEnabled.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayEnabled.java new file mode 100644 index 000000000..b966e7cde --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayEnabled.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayEnabled { + TRUE("true"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayEnabled(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression.java new file mode 100644 index 000000000..38e1f82f7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression.java @@ -0,0 +1,115 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression { + + @JsonProperty("field_name") + private String fieldName; + + @JsonProperty("filter") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter filter; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression( + @JsonProperty("field_name") String fieldName, + @JsonProperty("filter") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter filter) { + Utils.checkNotNull(fieldName, "fieldName"); + Utils.checkNotNull(filter, "filter"); + this.fieldName = fieldName; + this.filter = filter; + } + + public String fieldName() { + return fieldName; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter filter() { + return filter; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression withFieldName(String fieldName) { + Utils.checkNotNull(fieldName, "fieldName"); + this.fieldName = fieldName; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression withFilter(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression) o; + return + java.util.Objects.deepEquals(this.fieldName, other.fieldName) && + java.util.Objects.deepEquals(this.filter, other.filter); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + fieldName, + filter); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression.class, + "fieldName", fieldName, + "filter", filter); + } + + public final static class Builder { + + private String fieldName; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter filter; + + private Builder() { + // force use of static builder() method + } + + public Builder fieldName(String fieldName) { + Utils.checkNotNull(fieldName, "fieldName"); + this.fieldName = fieldName; + return this; + } + + public Builder filter(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayExpression( + fieldName, + filter); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter.java new file mode 100644 index 000000000..43b1ed5ef --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter of(SourceGoogleAnalyticsDataApiStringFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter of(SourceGoogleAnalyticsDataApiInListFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter of(SourceGoogleAnalyticsDataApiNumericFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter of(SourceGoogleAnalyticsDataApiBetweenFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiStringFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiInListFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiNumericFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiBetweenFilter}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilter.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterName.java new file mode 100644 index 000000000..c2dd5d41e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterName { + BETWEEN_FILTER("betweenFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterType.java new file mode 100644 index 000000000..dc62fcfc1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterType { + FILTER("filter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFilterType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue.java new file mode 100644 index 000000000..ea4827037 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayFromValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter.java new file mode 100644 index 000000000..3910d9d48 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter.java @@ -0,0 +1,149 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("caseSensitive") + private Optional caseSensitive; + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterName filterName; + + @JsonProperty("values") + private java.util.List values; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter( + @JsonProperty("caseSensitive") Optional caseSensitive, + @JsonProperty("values") java.util.List values) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + Utils.checkNotNull(values, "values"); + this.caseSensitive = caseSensitive; + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.values = values; + } + + public Optional caseSensitive() { + return caseSensitive; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterName filterName() { + return filterName; + } + + public java.util.List values() { + return values; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter withCaseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter withCaseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter withValues(java.util.List values) { + Utils.checkNotNull(values, "values"); + this.values = values; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter) o; + return + java.util.Objects.deepEquals(this.caseSensitive, other.caseSensitive) && + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.values, other.values); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caseSensitive, + filterName, + values); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter.class, + "caseSensitive", caseSensitive, + "filterName", filterName, + "values", values); + } + + public final static class Builder { + + private Optional caseSensitive = Optional.empty(); + + private java.util.List values; + + private Builder() { + // force use of static builder() method + } + + public Builder caseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public Builder caseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public Builder values(java.util.List values) { + Utils.checkNotNull(values, "values"); + this.values = values; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInListFilter( + caseSensitive, + values); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"inListFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value.java new file mode 100644 index 000000000..8fde8fe1f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter.java new file mode 100644 index 000000000..39be7cdcb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter.java @@ -0,0 +1,133 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter { + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterName filterName; + + @JsonProperty("fromValue") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue fromValue; + + @JsonProperty("toValue") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue toValue; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter( + @JsonProperty("fromValue") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue fromValue, + @JsonProperty("toValue") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue toValue) { + Utils.checkNotNull(fromValue, "fromValue"); + Utils.checkNotNull(toValue, "toValue"); + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.fromValue = fromValue; + this.toValue = toValue; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterName filterName() { + return filterName; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue fromValue() { + return fromValue; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue toValue() { + return toValue; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter withFromValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue fromValue) { + Utils.checkNotNull(fromValue, "fromValue"); + this.fromValue = fromValue; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter withToValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue toValue) { + Utils.checkNotNull(toValue, "toValue"); + this.toValue = toValue; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter) o; + return + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.fromValue, other.fromValue) && + java.util.Objects.deepEquals(this.toValue, other.toValue); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filterName, + fromValue, + toValue); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter.class, + "filterName", filterName, + "fromValue", fromValue, + "toValue", toValue); + } + + public final static class Builder { + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue fromValue; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue toValue; + + private Builder() { + // force use of static builder() method + } + + public Builder fromValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue fromValue) { + Utils.checkNotNull(fromValue, "fromValue"); + this.fromValue = fromValue; + return this; + } + + public Builder toValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue toValue) { + Utils.checkNotNull(toValue, "toValue"); + this.toValue = toValue; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter( + fromValue, + toValue); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"betweenFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue.java new file mode 100644 index 000000000..762f64991 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterDoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression.java new file mode 100644 index 000000000..b1ce75b79 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression.java @@ -0,0 +1,115 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression { + + @JsonProperty("field_name") + private String fieldName; + + @JsonProperty("filter") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter filter; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression( + @JsonProperty("field_name") String fieldName, + @JsonProperty("filter") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter filter) { + Utils.checkNotNull(fieldName, "fieldName"); + Utils.checkNotNull(filter, "filter"); + this.fieldName = fieldName; + this.filter = filter; + } + + public String fieldName() { + return fieldName; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter filter() { + return filter; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression withFieldName(String fieldName) { + Utils.checkNotNull(fieldName, "fieldName"); + this.fieldName = fieldName; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression withFilter(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression) o; + return + java.util.Objects.deepEquals(this.fieldName, other.fieldName) && + java.util.Objects.deepEquals(this.filter, other.filter); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + fieldName, + filter); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression.class, + "fieldName", fieldName, + "filter", filter); + } + + public final static class Builder { + + private String fieldName; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter filter; + + private Builder() { + // force use of static builder() method + } + + public Builder fieldName(String fieldName) { + Utils.checkNotNull(fieldName, "fieldName"); + this.fieldName = fieldName; + return this; + } + + public Builder filter(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterExpression( + fieldName, + filter); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter.java new file mode 100644 index 000000000..7535f62fe --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterBetweenFilter}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilter.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterName.java new file mode 100644 index 000000000..9a9d3c212 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterName { + STRING_FILTER("stringFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterType.java new file mode 100644 index 000000000..626d6c3de --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterType { + AND_GROUP("andGroup"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue.java new file mode 100644 index 000000000..3166c3895 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFromValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter.java new file mode 100644 index 000000000..d56748857 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter.java @@ -0,0 +1,149 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("caseSensitive") + private Optional caseSensitive; + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterFilterName filterName; + + @JsonProperty("values") + private java.util.List values; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter( + @JsonProperty("caseSensitive") Optional caseSensitive, + @JsonProperty("values") java.util.List values) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + Utils.checkNotNull(values, "values"); + this.caseSensitive = caseSensitive; + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.values = values; + } + + public Optional caseSensitive() { + return caseSensitive; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterFilterName filterName() { + return filterName; + } + + public java.util.List values() { + return values; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter withCaseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter withCaseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter withValues(java.util.List values) { + Utils.checkNotNull(values, "values"); + this.values = values; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter) o; + return + java.util.Objects.deepEquals(this.caseSensitive, other.caseSensitive) && + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.values, other.values); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caseSensitive, + filterName, + values); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter.class, + "caseSensitive", caseSensitive, + "filterName", filterName, + "values", values); + } + + public final static class Builder { + + private Optional caseSensitive = Optional.empty(); + + private java.util.List values; + + private Builder() { + // force use of static builder() method + } + + public Builder caseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public Builder caseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public Builder values(java.util.List values) { + Utils.checkNotNull(values, "values"); + this.values = values; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInListFilter( + caseSensitive, + values); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"inListFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value.java new file mode 100644 index 000000000..af69726e4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4ValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4ValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterInt64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue.java new file mode 100644 index 000000000..76696d011 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue.java new file mode 100644 index 000000000..cdf9fe11f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue.java new file mode 100644 index 000000000..9bc70535e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueType.java new file mode 100644 index 000000000..1ec4a1269 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueValueType.java new file mode 100644 index 000000000..e99ce901c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterFilterName.java new file mode 100644 index 000000000..5feee73e2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterFilterName { + IN_LIST_FILTER("inListFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterName.java new file mode 100644 index 000000000..98843a66f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterName { + STRING_FILTER("stringFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterValueType.java new file mode 100644 index 000000000..ab07fc10d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value.java new file mode 100644 index 000000000..a91945393 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterName.java new file mode 100644 index 000000000..671570d6a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterName { + BETWEEN_FILTER("betweenFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterValueType.java new file mode 100644 index 000000000..0eddb0023 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value.java new file mode 100644 index 000000000..b5da7546e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilter3ValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsValueType.java new file mode 100644 index 000000000..4732f61b9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1FilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1FilterName.java new file mode 100644 index 000000000..736679755 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1FilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1FilterName { + NUMERIC_FILTER("numericFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1FilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value.java new file mode 100644 index 000000000..466cec132 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums.java new file mode 100644 index 000000000..49415a852 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums { + MATCH_TYPE_UNSPECIFIED("MATCH_TYPE_UNSPECIFIED"), + EXACT("EXACT"), + BEGINS_WITH("BEGINS_WITH"), + ENDS_WITH("ENDS_WITH"), + CONTAINS("CONTAINS"), + FULL_REGEXP("FULL_REGEXP"), + PARTIAL_REGEXP("PARTIAL_REGEXP"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValueType.java new file mode 100644 index 000000000..7268c3d34 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue.java new file mode 100644 index 000000000..5250fedfe --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue.java new file mode 100644 index 000000000..9e8c84555 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue.java new file mode 100644 index 000000000..421943ddd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ToValueValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ToValueValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ToValueValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ToValueValueType.java new file mode 100644 index 000000000..712352ba3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ToValueValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ToValueValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ToValueValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ValueType.java new file mode 100644 index 000000000..214b298c3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterFilterName.java new file mode 100644 index 000000000..979ab685d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterFilterName { + BETWEEN_FILTER("betweenFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterName.java new file mode 100644 index 000000000..1bb5751b6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterName { + NUMERIC_FILTER("numericFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterValueType.java new file mode 100644 index 000000000..c55f690da --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value.java new file mode 100644 index 000000000..bffb4d86f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilter4ValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterName.java new file mode 100644 index 000000000..ff948a9a3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterName { + IN_LIST_FILTER("inListFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterValueType.java new file mode 100644 index 000000000..ac9d80acf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value.java new file mode 100644 index 000000000..c707fcbc9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums.java new file mode 100644 index 000000000..54a19cab1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums { + OPERATION_UNSPECIFIED("OPERATION_UNSPECIFIED"), + EQUAL("EQUAL"), + LESS_THAN("LESS_THAN"), + LESS_THAN_OR_EQUAL("LESS_THAN_OR_EQUAL"), + GREATER_THAN("GREATER_THAN"), + GREATER_THAN_OR_EQUAL("GREATER_THAN_OR_EQUAL"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValueType.java new file mode 100644 index 000000000..b6bfac834 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2FilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2FilterName.java new file mode 100644 index 000000000..d28fdbb3c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2FilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2FilterName { + STRING_FILTER("stringFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2FilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value.java new file mode 100644 index 000000000..4863ad4a8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums.java new file mode 100644 index 000000000..bf7cc061c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums { + MATCH_TYPE_UNSPECIFIED("MATCH_TYPE_UNSPECIFIED"), + EXACT("EXACT"), + BEGINS_WITH("BEGINS_WITH"), + ENDS_WITH("ENDS_WITH"), + CONTAINS("CONTAINS"), + FULL_REGEXP("FULL_REGEXP"), + PARTIAL_REGEXP("PARTIAL_REGEXP"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValueType.java new file mode 100644 index 000000000..d69093781 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter.java new file mode 100644 index 000000000..2564ebbf8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter.java @@ -0,0 +1,133 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter { + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterFilterName filterName; + + @JsonProperty("fromValue") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue fromValue; + + @JsonProperty("toValue") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue toValue; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter( + @JsonProperty("fromValue") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue fromValue, + @JsonProperty("toValue") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue toValue) { + Utils.checkNotNull(fromValue, "fromValue"); + Utils.checkNotNull(toValue, "toValue"); + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.fromValue = fromValue; + this.toValue = toValue; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterFilterName filterName() { + return filterName; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue fromValue() { + return fromValue; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue toValue() { + return toValue; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter withFromValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue fromValue) { + Utils.checkNotNull(fromValue, "fromValue"); + this.fromValue = fromValue; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter withToValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue toValue) { + Utils.checkNotNull(toValue, "toValue"); + this.toValue = toValue; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter) o; + return + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.fromValue, other.fromValue) && + java.util.Objects.deepEquals(this.toValue, other.toValue); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filterName, + fromValue, + toValue); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter.class, + "filterName", filterName, + "fromValue", fromValue, + "toValue", toValue); + } + + public final static class Builder { + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue fromValue; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue toValue; + + private Builder() { + // force use of static builder() method + } + + public Builder fromValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue fromValue) { + Utils.checkNotNull(fromValue, "fromValue"); + this.fromValue = fromValue; + return this; + } + + public Builder toValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue toValue) { + Utils.checkNotNull(toValue, "toValue"); + this.toValue = toValue; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter( + fromValue, + toValue); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"betweenFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue.java new file mode 100644 index 000000000..3a47cb4ea --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue.java new file mode 100644 index 000000000..929048345 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue.java new file mode 100644 index 000000000..d41a0ce00 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ToValueValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ToValueValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ToValueValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ToValueValueType.java new file mode 100644 index 000000000..0ab495f57 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ToValueValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ToValueValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ToValueValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ValueType.java new file mode 100644 index 000000000..9528b8f4f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterFilterName.java new file mode 100644 index 000000000..71c3b4078 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterFilterName { + BETWEEN_FILTER("betweenFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterName.java new file mode 100644 index 000000000..0d0a79756 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterName { + NUMERIC_FILTER("numericFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterValueType.java new file mode 100644 index 000000000..9de8c4183 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value.java new file mode 100644 index 000000000..06f9c727b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilter4ValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterName.java new file mode 100644 index 000000000..130775774 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterName { + IN_LIST_FILTER("inListFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterValueType.java new file mode 100644 index 000000000..39e492288 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value.java new file mode 100644 index 000000000..0fda981a0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums.java new file mode 100644 index 000000000..d20fc51f5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums { + OPERATION_UNSPECIFIED("OPERATION_UNSPECIFIED"), + EQUAL("EQUAL"), + LESS_THAN("LESS_THAN"), + LESS_THAN_OR_EQUAL("LESS_THAN_OR_EQUAL"), + GREATER_THAN("GREATER_THAN"), + GREATER_THAN_OR_EQUAL("GREATER_THAN_OR_EQUAL"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValueType.java new file mode 100644 index 000000000..a48abbed9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter.java new file mode 100644 index 000000000..fc9621abf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterName.java new file mode 100644 index 000000000..6db12a959 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterName { + STRING_FILTER("stringFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterType.java new file mode 100644 index 000000000..4628466dd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterType { + NOT_EXPRESSION("notExpression"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue.java new file mode 100644 index 000000000..bbce9c378 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter.java new file mode 100644 index 000000000..a82b2fa87 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter.java @@ -0,0 +1,149 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("caseSensitive") + private Optional caseSensitive; + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterName filterName; + + @JsonProperty("values") + private java.util.List values; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter( + @JsonProperty("caseSensitive") Optional caseSensitive, + @JsonProperty("values") java.util.List values) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + Utils.checkNotNull(values, "values"); + this.caseSensitive = caseSensitive; + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.values = values; + } + + public Optional caseSensitive() { + return caseSensitive; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterName filterName() { + return filterName; + } + + public java.util.List values() { + return values; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter withCaseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter withCaseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter withValues(java.util.List values) { + Utils.checkNotNull(values, "values"); + this.values = values; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter) o; + return + java.util.Objects.deepEquals(this.caseSensitive, other.caseSensitive) && + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.values, other.values); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caseSensitive, + filterName, + values); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter.class, + "caseSensitive", caseSensitive, + "filterName", filterName, + "values", values); + } + + public final static class Builder { + + private Optional caseSensitive = Optional.empty(); + + private java.util.List values; + + private Builder() { + // force use of static builder() method + } + + public Builder caseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public Builder caseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public Builder values(java.util.List values) { + Utils.checkNotNull(values, "values"); + this.values = values; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter( + caseSensitive, + values); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"inListFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value.java new file mode 100644 index 000000000..7a8697e9c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter.java new file mode 100644 index 000000000..d97b0e315 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter.java @@ -0,0 +1,133 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter { + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterName filterName; + + @JsonProperty("operation") + private java.util.List operation; + + @JsonProperty("value") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value value; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter( + @JsonProperty("operation") java.util.List operation, + @JsonProperty("value") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value value) { + Utils.checkNotNull(operation, "operation"); + Utils.checkNotNull(value, "value"); + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.operation = operation; + this.value = value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterFilterName filterName() { + return filterName; + } + + public java.util.List operation() { + return operation; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value value() { + return value; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter withOperation(java.util.List operation) { + Utils.checkNotNull(operation, "operation"); + this.operation = operation; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter withValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter) o; + return + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.operation, other.operation) && + java.util.Objects.deepEquals(this.value, other.value); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filterName, + operation, + value); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter.class, + "filterName", filterName, + "operation", operation, + "value", value); + } + + public final static class Builder { + + private java.util.List operation; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value value; + + private Builder() { + // force use of static builder() method + } + + public Builder operation(java.util.List operation) { + Utils.checkNotNull(operation, "operation"); + this.operation = operation; + return this; + } + + public Builder value(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter( + operation, + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"numericFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter.java new file mode 100644 index 000000000..ec4659b37 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter.java @@ -0,0 +1,190 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("caseSensitive") + private Optional caseSensitive; + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterName filterName; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("matchType") + private Optional> matchType; + + @JsonProperty("value") + private String value; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter( + @JsonProperty("caseSensitive") Optional caseSensitive, + @JsonProperty("matchType") Optional> matchType, + @JsonProperty("value") String value) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + Utils.checkNotNull(matchType, "matchType"); + Utils.checkNotNull(value, "value"); + this.caseSensitive = caseSensitive; + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.matchType = matchType; + this.value = value; + } + + public Optional caseSensitive() { + return caseSensitive; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3FilterName filterName() { + return filterName; + } + + public Optional> matchType() { + return matchType; + } + + public String value() { + return value; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter withCaseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter withCaseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter withMatchType(java.util.List matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = Optional.ofNullable(matchType); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter withMatchType(Optional> matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = matchType; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter) o; + return + java.util.Objects.deepEquals(this.caseSensitive, other.caseSensitive) && + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.matchType, other.matchType) && + java.util.Objects.deepEquals(this.value, other.value); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caseSensitive, + filterName, + matchType, + value); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter.class, + "caseSensitive", caseSensitive, + "filterName", filterName, + "matchType", matchType, + "value", value); + } + + public final static class Builder { + + private Optional caseSensitive = Optional.empty(); + + private Optional> matchType = Optional.empty(); + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder caseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public Builder caseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public Builder matchType(java.util.List matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = Optional.ofNullable(matchType); + return this; + } + + public Builder matchType(Optional> matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = matchType; + return this; + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter( + caseSensitive, + matchType, + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"stringFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue.java new file mode 100644 index 000000000..0c765c83b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums.java new file mode 100644 index 000000000..99a92eb0a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums { + MATCH_TYPE_UNSPECIFIED("MATCH_TYPE_UNSPECIFIED"), + EXACT("EXACT"), + BEGINS_WITH("BEGINS_WITH"), + ENDS_WITH("ENDS_WITH"), + CONTAINS("CONTAINS"), + FULL_REGEXP("FULL_REGEXP"), + PARTIAL_REGEXP("PARTIAL_REGEXP"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value.java new file mode 100644 index 000000000..98f06eef1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Value.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValueType.java new file mode 100644 index 000000000..a360ab09f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3ValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilter4ValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilter4ValueType.java new file mode 100644 index 000000000..26f489430 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilter4ValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilter4ValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilter4ValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterName.java new file mode 100644 index 000000000..756e0df73 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterName { + BETWEEN_FILTER("betweenFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterValueType.java new file mode 100644 index 000000000..62fbde9a8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterName.java new file mode 100644 index 000000000..4dae1f0d1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterName { + NUMERIC_FILTER("numericFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterType.java new file mode 100644 index 000000000..e4707247a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterType { + FILTER("filter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterValueType.java new file mode 100644 index 000000000..f72ec7392 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4ValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4ValueType.java new file mode 100644 index 000000000..de2e45da6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4ValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4ValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4ValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter.java new file mode 100644 index 000000000..293630060 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter.java @@ -0,0 +1,133 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter { + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterFilterName filterName; + + @JsonProperty("fromValue") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue fromValue; + + @JsonProperty("toValue") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue toValue; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter( + @JsonProperty("fromValue") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue fromValue, + @JsonProperty("toValue") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue toValue) { + Utils.checkNotNull(fromValue, "fromValue"); + Utils.checkNotNull(toValue, "toValue"); + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.fromValue = fromValue; + this.toValue = toValue; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterFilterName filterName() { + return filterName; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue fromValue() { + return fromValue; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue toValue() { + return toValue; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter withFromValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue fromValue) { + Utils.checkNotNull(fromValue, "fromValue"); + this.fromValue = fromValue; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter withToValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue toValue) { + Utils.checkNotNull(toValue, "toValue"); + this.toValue = toValue; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter) o; + return + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.fromValue, other.fromValue) && + java.util.Objects.deepEquals(this.toValue, other.toValue); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filterName, + fromValue, + toValue); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter.class, + "filterName", filterName, + "fromValue", fromValue, + "toValue", toValue); + } + + public final static class Builder { + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue fromValue; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue toValue; + + private Builder() { + // force use of static builder() method + } + + public Builder fromValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue fromValue) { + Utils.checkNotNull(fromValue, "fromValue"); + this.fromValue = fromValue; + return this; + } + + public Builder toValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue toValue) { + Utils.checkNotNull(toValue, "toValue"); + this.toValue = toValue; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter( + fromValue, + toValue); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"betweenFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue.java new file mode 100644 index 000000000..404d57187 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilter4ValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilter4ValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression.java new file mode 100644 index 000000000..d9bf824a5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression.java @@ -0,0 +1,115 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression { + + @JsonProperty("field_name") + private String fieldName; + + @JsonProperty("filter") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter filter; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression( + @JsonProperty("field_name") String fieldName, + @JsonProperty("filter") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter filter) { + Utils.checkNotNull(fieldName, "fieldName"); + Utils.checkNotNull(filter, "filter"); + this.fieldName = fieldName; + this.filter = filter; + } + + public String fieldName() { + return fieldName; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter filter() { + return filter; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression withFieldName(String fieldName) { + Utils.checkNotNull(fieldName, "fieldName"); + this.fieldName = fieldName; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression withFilter(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression) o; + return + java.util.Objects.deepEquals(this.fieldName, other.fieldName) && + java.util.Objects.deepEquals(this.filter, other.filter); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + fieldName, + filter); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression.class, + "fieldName", fieldName, + "filter", filter); + } + + public final static class Builder { + + private String fieldName; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter filter; + + private Builder() { + // force use of static builder() method + } + + public Builder fieldName(String fieldName) { + Utils.checkNotNull(fieldName, "fieldName"); + this.fieldName = fieldName; + return this; + } + + public Builder filter(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterExpression( + fieldName, + filter); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter.java new file mode 100644 index 000000000..02206c7df --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilter.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterName.java new file mode 100644 index 000000000..6c645a8a5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterName { + IN_LIST_FILTER("inListFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterType.java new file mode 100644 index 000000000..d93a1fc09 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterType { + OR_GROUP("orGroup"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFilterType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue.java new file mode 100644 index 000000000..b36789cf1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter.java new file mode 100644 index 000000000..8caf14571 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter.java @@ -0,0 +1,149 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("caseSensitive") + private Optional caseSensitive; + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterName filterName; + + @JsonProperty("values") + private java.util.List values; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter( + @JsonProperty("caseSensitive") Optional caseSensitive, + @JsonProperty("values") java.util.List values) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + Utils.checkNotNull(values, "values"); + this.caseSensitive = caseSensitive; + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.values = values; + } + + public Optional caseSensitive() { + return caseSensitive; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterName filterName() { + return filterName; + } + + public java.util.List values() { + return values; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter withCaseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter withCaseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter withValues(java.util.List values) { + Utils.checkNotNull(values, "values"); + this.values = values; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter) o; + return + java.util.Objects.deepEquals(this.caseSensitive, other.caseSensitive) && + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.values, other.values); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caseSensitive, + filterName, + values); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter.class, + "caseSensitive", caseSensitive, + "filterName", filterName, + "values", values); + } + + public final static class Builder { + + private Optional caseSensitive = Optional.empty(); + + private java.util.List values; + + private Builder() { + // force use of static builder() method + } + + public Builder caseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public Builder caseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public Builder values(java.util.List values) { + Utils.checkNotNull(values, "values"); + this.values = values; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter( + caseSensitive, + values); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"inListFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value.java new file mode 100644 index 000000000..40338b5f4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter4FilterFilterValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter.java new file mode 100644 index 000000000..10155f8a3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter.java @@ -0,0 +1,133 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter { + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterName filterName; + + @JsonProperty("operation") + private java.util.List operation; + + @JsonProperty("value") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue value; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter( + @JsonProperty("operation") java.util.List operation, + @JsonProperty("value") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue value) { + Utils.checkNotNull(operation, "operation"); + Utils.checkNotNull(value, "value"); + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.operation = operation; + this.value = value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterFilterName filterName() { + return filterName; + } + + public java.util.List operation() { + return operation; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue value() { + return value; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter withOperation(java.util.List operation) { + Utils.checkNotNull(operation, "operation"); + this.operation = operation; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter withValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter) o; + return + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.operation, other.operation) && + java.util.Objects.deepEquals(this.value, other.value); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filterName, + operation, + value); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter.class, + "filterName", filterName, + "operation", operation, + "value", value); + } + + public final static class Builder { + + private java.util.List operation; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue value; + + private Builder() { + // force use of static builder() method + } + + public Builder operation(java.util.List operation) { + Utils.checkNotNull(operation, "operation"); + this.operation = operation; + return this; + } + + public Builder value(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter( + operation, + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"numericFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter.java new file mode 100644 index 000000000..bd8ac512f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter.java @@ -0,0 +1,190 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("caseSensitive") + private Optional caseSensitive; + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2FilterName filterName; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("matchType") + private Optional> matchType; + + @JsonProperty("value") + private String value; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter( + @JsonProperty("caseSensitive") Optional caseSensitive, + @JsonProperty("matchType") Optional> matchType, + @JsonProperty("value") String value) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + Utils.checkNotNull(matchType, "matchType"); + Utils.checkNotNull(value, "value"); + this.caseSensitive = caseSensitive; + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.matchType = matchType; + this.value = value; + } + + public Optional caseSensitive() { + return caseSensitive; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2FilterName filterName() { + return filterName; + } + + public Optional> matchType() { + return matchType; + } + + public String value() { + return value; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter withCaseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter withCaseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter withMatchType(java.util.List matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = Optional.ofNullable(matchType); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter withMatchType(Optional> matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = matchType; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter) o; + return + java.util.Objects.deepEquals(this.caseSensitive, other.caseSensitive) && + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.matchType, other.matchType) && + java.util.Objects.deepEquals(this.value, other.value); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caseSensitive, + filterName, + matchType, + value); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter.class, + "caseSensitive", caseSensitive, + "filterName", filterName, + "matchType", matchType, + "value", value); + } + + public final static class Builder { + + private Optional caseSensitive = Optional.empty(); + + private Optional> matchType = Optional.empty(); + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder caseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public Builder caseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public Builder matchType(java.util.List matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = Optional.ofNullable(matchType); + return this; + } + + public Builder matchType(Optional> matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = matchType; + return this; + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter( + caseSensitive, + matchType, + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"stringFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue.java new file mode 100644 index 000000000..983cec2cd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterToValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums.java new file mode 100644 index 000000000..eba82b18d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums { + OPERATION_UNSPECIFIED("OPERATION_UNSPECIFIED"), + EQUAL("EQUAL"), + LESS_THAN("LESS_THAN"), + LESS_THAN_OR_EQUAL("LESS_THAN_OR_EQUAL"), + GREATER_THAN("GREATER_THAN"), + GREATER_THAN_OR_EQUAL("GREATER_THAN_OR_EQUAL"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue.java new file mode 100644 index 000000000..c9b8e4f3d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValueType.java new file mode 100644 index 000000000..926035aff --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter.java new file mode 100644 index 000000000..55fb0f867 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter.java @@ -0,0 +1,133 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter { + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1FilterName filterName; + + @JsonProperty("operation") + private java.util.List operation; + + @JsonProperty("value") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue value; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter( + @JsonProperty("operation") java.util.List operation, + @JsonProperty("value") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue value) { + Utils.checkNotNull(operation, "operation"); + Utils.checkNotNull(value, "value"); + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.operation = operation; + this.value = value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1FilterName filterName() { + return filterName; + } + + public java.util.List operation() { + return operation; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue value() { + return value; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter withOperation(java.util.List operation) { + Utils.checkNotNull(operation, "operation"); + this.operation = operation; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter withValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter) o; + return + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.operation, other.operation) && + java.util.Objects.deepEquals(this.value, other.value); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filterName, + operation, + value); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter.class, + "filterName", filterName, + "operation", operation, + "value", value); + } + + public final static class Builder { + + private java.util.List operation; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue value; + + private Builder() { + // force use of static builder() method + } + + public Builder operation(java.util.List operation) { + Utils.checkNotNull(operation, "operation"); + this.operation = operation; + return this; + } + + public Builder value(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterNumericFilter( + operation, + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"numericFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter.java new file mode 100644 index 000000000..6d8b1bca1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter.java @@ -0,0 +1,190 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("caseSensitive") + private Optional caseSensitive; + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterName filterName; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("matchType") + private Optional> matchType; + + @JsonProperty("value") + private String value; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter( + @JsonProperty("caseSensitive") Optional caseSensitive, + @JsonProperty("matchType") Optional> matchType, + @JsonProperty("value") String value) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + Utils.checkNotNull(matchType, "matchType"); + Utils.checkNotNull(value, "value"); + this.caseSensitive = caseSensitive; + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.matchType = matchType; + this.value = value; + } + + public Optional caseSensitive() { + return caseSensitive; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterFilterName filterName() { + return filterName; + } + + public Optional> matchType() { + return matchType; + } + + public String value() { + return value; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter withCaseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter withCaseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter withMatchType(java.util.List matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = Optional.ofNullable(matchType); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter withMatchType(Optional> matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = matchType; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter) o; + return + java.util.Objects.deepEquals(this.caseSensitive, other.caseSensitive) && + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.matchType, other.matchType) && + java.util.Objects.deepEquals(this.value, other.value); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caseSensitive, + filterName, + matchType, + value); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter.class, + "caseSensitive", caseSensitive, + "filterName", filterName, + "matchType", matchType, + "value", value); + } + + public final static class Builder { + + private Optional caseSensitive = Optional.empty(); + + private Optional> matchType = Optional.empty(); + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder caseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public Builder caseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public Builder matchType(java.util.List matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = Optional.ofNullable(matchType); + return this; + } + + public Builder matchType(Optional> matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = matchType; + return this; + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterStringFilter( + caseSensitive, + matchType, + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"stringFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue.java new file mode 100644 index 000000000..b3b8e6caf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterToValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValidEnums.java new file mode 100644 index 000000000..acf72936c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValidEnums.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValidEnums { + OPERATION_UNSPECIFIED("OPERATION_UNSPECIFIED"), + EQUAL("EQUAL"), + LESS_THAN("LESS_THAN"), + LESS_THAN_OR_EQUAL("LESS_THAN_OR_EQUAL"), + GREATER_THAN("GREATER_THAN"), + GREATER_THAN_OR_EQUAL("GREATER_THAN_OR_EQUAL"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue.java new file mode 100644 index 000000000..9d4be8fdd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValueType.java new file mode 100644 index 000000000..fede1d801 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter.java new file mode 100644 index 000000000..59b8d0ff1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter.java @@ -0,0 +1,133 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter { + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterName filterName; + + @JsonProperty("operation") + private java.util.List operation; + + @JsonProperty("value") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue value; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter( + @JsonProperty("operation") java.util.List operation, + @JsonProperty("value") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue value) { + Utils.checkNotNull(operation, "operation"); + Utils.checkNotNull(value, "value"); + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.operation = operation; + this.value = value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterFilterName filterName() { + return filterName; + } + + public java.util.List operation() { + return operation; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue value() { + return value; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter withOperation(java.util.List operation) { + Utils.checkNotNull(operation, "operation"); + this.operation = operation; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter withValue(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter) o; + return + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.operation, other.operation) && + java.util.Objects.deepEquals(this.value, other.value); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filterName, + operation, + value); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter.class, + "filterName", filterName, + "operation", operation, + "value", value); + } + + public final static class Builder { + + private java.util.List operation; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue value; + + private Builder() { + // force use of static builder() method + } + + public Builder operation(java.util.List operation) { + Utils.checkNotNull(operation, "operation"); + this.operation = operation; + return this; + } + + public Builder value(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayNumericFilter( + operation, + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"numericFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter.java new file mode 100644 index 000000000..039b653b6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter.java @@ -0,0 +1,190 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("caseSensitive") + private Optional caseSensitive; + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1FilterName filterName; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("matchType") + private Optional> matchType; + + @JsonProperty("value") + private String value; + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter( + @JsonProperty("caseSensitive") Optional caseSensitive, + @JsonProperty("matchType") Optional> matchType, + @JsonProperty("value") String value) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + Utils.checkNotNull(matchType, "matchType"); + Utils.checkNotNull(value, "value"); + this.caseSensitive = caseSensitive; + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.matchType = matchType; + this.value = value; + } + + public Optional caseSensitive() { + return caseSensitive; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1FilterName filterName() { + return filterName; + } + + public Optional> matchType() { + return matchType; + } + + public String value() { + return value; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter withCaseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter withCaseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter withMatchType(java.util.List matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = Optional.ofNullable(matchType); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter withMatchType(Optional> matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = matchType; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter) o; + return + java.util.Objects.deepEquals(this.caseSensitive, other.caseSensitive) && + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.matchType, other.matchType) && + java.util.Objects.deepEquals(this.value, other.value); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caseSensitive, + filterName, + matchType, + value); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter.class, + "caseSensitive", caseSensitive, + "filterName", filterName, + "matchType", matchType, + "value", value); + } + + public final static class Builder { + + private Optional caseSensitive = Optional.empty(); + + private Optional> matchType = Optional.empty(); + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder caseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public Builder caseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public Builder matchType(java.util.List matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = Optional.ofNullable(matchType); + return this; + } + + public Builder matchType(Optional> matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = matchType; + return this; + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayStringFilter( + caseSensitive, + matchType, + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"stringFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue.java new file mode 100644 index 000000000..59441790c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayToValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValidEnums.java new file mode 100644 index 000000000..c23af0520 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValidEnums.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValidEnums { + MATCH_TYPE_UNSPECIFIED("MATCH_TYPE_UNSPECIFIED"), + EXACT("EXACT"), + BEGINS_WITH("BEGINS_WITH"), + ENDS_WITH("ENDS_WITH"), + CONTAINS("CONTAINS"), + FULL_REGEXP("FULL_REGEXP"), + PARTIAL_REGEXP("PARTIAL_REGEXP"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue.java new file mode 100644 index 000000000..e6344cd6f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue other = (SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValueType.java new file mode 100644 index 000000000..e99f14ddb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasDoubleValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasDoubleValue.java new file mode 100644 index 000000000..67945318d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasDoubleValue.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasDoubleValue { + + @JsonProperty("value") + private double value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasDoubleValue( + @JsonProperty("value") double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public double value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasDoubleValue withValue(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasDoubleValue other = (SourceGoogleAnalyticsDataApiSchemasDoubleValue) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasDoubleValue.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private Double value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(double value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasDoubleValue build() { + return new SourceGoogleAnalyticsDataApiSchemasDoubleValue( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"doubleValue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasEnabled.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasEnabled.java new file mode 100644 index 000000000..2af35b125 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasEnabled.java @@ -0,0 +1,222 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleAnalyticsDataApiSchemasEnabled { + + /** + * Optional settings for a cohort report. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("cohortReportSettings") + private Optional cohortReportSettings; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("cohorts") + private Optional> cohorts; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("cohortsRange") + private Optional cohortsRange; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("enabled") + private Optional enabled; + + public SourceGoogleAnalyticsDataApiSchemasEnabled( + @JsonProperty("cohortReportSettings") Optional cohortReportSettings, + @JsonProperty("cohorts") Optional> cohorts, + @JsonProperty("cohortsRange") Optional cohortsRange) { + Utils.checkNotNull(cohortReportSettings, "cohortReportSettings"); + Utils.checkNotNull(cohorts, "cohorts"); + Utils.checkNotNull(cohortsRange, "cohortsRange"); + this.cohortReportSettings = cohortReportSettings; + this.cohorts = cohorts; + this.cohortsRange = cohortsRange; + this.enabled = Builder._SINGLETON_VALUE_Enabled.value(); + } + + /** + * Optional settings for a cohort report. + */ + public Optional cohortReportSettings() { + return cohortReportSettings; + } + + public Optional> cohorts() { + return cohorts; + } + + public Optional cohortsRange() { + return cohortsRange; + } + + public Optional enabled() { + return enabled; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Optional settings for a cohort report. + */ + public SourceGoogleAnalyticsDataApiSchemasEnabled withCohortReportSettings(CohortReportSettings cohortReportSettings) { + Utils.checkNotNull(cohortReportSettings, "cohortReportSettings"); + this.cohortReportSettings = Optional.ofNullable(cohortReportSettings); + return this; + } + + /** + * Optional settings for a cohort report. + */ + public SourceGoogleAnalyticsDataApiSchemasEnabled withCohortReportSettings(Optional cohortReportSettings) { + Utils.checkNotNull(cohortReportSettings, "cohortReportSettings"); + this.cohortReportSettings = cohortReportSettings; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasEnabled withCohorts(java.util.List cohorts) { + Utils.checkNotNull(cohorts, "cohorts"); + this.cohorts = Optional.ofNullable(cohorts); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasEnabled withCohorts(Optional> cohorts) { + Utils.checkNotNull(cohorts, "cohorts"); + this.cohorts = cohorts; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasEnabled withCohortsRange(CohortsRange cohortsRange) { + Utils.checkNotNull(cohortsRange, "cohortsRange"); + this.cohortsRange = Optional.ofNullable(cohortsRange); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasEnabled withCohortsRange(Optional cohortsRange) { + Utils.checkNotNull(cohortsRange, "cohortsRange"); + this.cohortsRange = cohortsRange; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasEnabled other = (SourceGoogleAnalyticsDataApiSchemasEnabled) o; + return + java.util.Objects.deepEquals(this.cohortReportSettings, other.cohortReportSettings) && + java.util.Objects.deepEquals(this.cohorts, other.cohorts) && + java.util.Objects.deepEquals(this.cohortsRange, other.cohortsRange) && + java.util.Objects.deepEquals(this.enabled, other.enabled); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + cohortReportSettings, + cohorts, + cohortsRange, + enabled); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasEnabled.class, + "cohortReportSettings", cohortReportSettings, + "cohorts", cohorts, + "cohortsRange", cohortsRange, + "enabled", enabled); + } + + public final static class Builder { + + private Optional cohortReportSettings = Optional.empty(); + + private Optional> cohorts = Optional.empty(); + + private Optional cohortsRange = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Optional settings for a cohort report. + */ + public Builder cohortReportSettings(CohortReportSettings cohortReportSettings) { + Utils.checkNotNull(cohortReportSettings, "cohortReportSettings"); + this.cohortReportSettings = Optional.ofNullable(cohortReportSettings); + return this; + } + + /** + * Optional settings for a cohort report. + */ + public Builder cohortReportSettings(Optional cohortReportSettings) { + Utils.checkNotNull(cohortReportSettings, "cohortReportSettings"); + this.cohortReportSettings = cohortReportSettings; + return this; + } + + public Builder cohorts(java.util.List cohorts) { + Utils.checkNotNull(cohorts, "cohorts"); + this.cohorts = Optional.ofNullable(cohorts); + return this; + } + + public Builder cohorts(Optional> cohorts) { + Utils.checkNotNull(cohorts, "cohorts"); + this.cohorts = cohorts; + return this; + } + + public Builder cohortsRange(CohortsRange cohortsRange) { + Utils.checkNotNull(cohortsRange, "cohortsRange"); + this.cohortsRange = Optional.ofNullable(cohortsRange); + return this; + } + + public Builder cohortsRange(Optional cohortsRange) { + Utils.checkNotNull(cohortsRange, "cohortsRange"); + this.cohortsRange = cohortsRange; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasEnabled build() { + return new SourceGoogleAnalyticsDataApiSchemasEnabled( + cohortReportSettings, + cohorts, + cohortsRange); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Enabled = + new LazySingletonValue<>( + "enabled", + "\"true\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasExpression.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasExpression.java new file mode 100644 index 000000000..a412542da --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasExpression.java @@ -0,0 +1,115 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasExpression { + + @JsonProperty("field_name") + private String fieldName; + + @JsonProperty("filter") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter filter; + + public SourceGoogleAnalyticsDataApiSchemasExpression( + @JsonProperty("field_name") String fieldName, + @JsonProperty("filter") SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter filter) { + Utils.checkNotNull(fieldName, "fieldName"); + Utils.checkNotNull(filter, "filter"); + this.fieldName = fieldName; + this.filter = filter; + } + + public String fieldName() { + return fieldName; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter filter() { + return filter; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasExpression withFieldName(String fieldName) { + Utils.checkNotNull(fieldName, "fieldName"); + this.fieldName = fieldName; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasExpression withFilter(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasExpression other = (SourceGoogleAnalyticsDataApiSchemasExpression) o; + return + java.util.Objects.deepEquals(this.fieldName, other.fieldName) && + java.util.Objects.deepEquals(this.filter, other.filter); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + fieldName, + filter); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasExpression.class, + "fieldName", fieldName, + "filter", filter); + } + + public final static class Builder { + + private String fieldName; + + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter filter; + + private Builder() { + // force use of static builder() method + } + + public Builder fieldName(String fieldName) { + Utils.checkNotNull(fieldName, "fieldName"); + this.fieldName = fieldName; + return this; + } + + public Builder filter(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasExpression build() { + return new SourceGoogleAnalyticsDataApiSchemasExpression( + fieldName, + filter); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasFilter.java new file mode 100644 index 000000000..42080cbe4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasFilter.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasFilter._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasFilter { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasFilter(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasFilter of(StringFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasFilter of(InListFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasFilter of(NumericFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasFilter of(BetweenFilter value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasFilter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code StringFilter}
    • + *
    • {@code InListFilter}
    • + *
    • {@code NumericFilter}
    • + *
    • {@code BetweenFilter}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasFilter other = (SourceGoogleAnalyticsDataApiSchemasFilter) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasFilter.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasFilter.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasFilterName.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasFilterName.java new file mode 100644 index 000000000..060086d59 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasFilterName.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasFilterName { + NUMERIC_FILTER("numericFilter"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasFilterName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasFilterType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasFilterType.java new file mode 100644 index 000000000..9fced3563 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasFilterType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasFilterType { + NOT_EXPRESSION("notExpression"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasFilterType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasFromValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasFromValue.java new file mode 100644 index 000000000..ffed54e6d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasFromValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasFromValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasFromValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasFromValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasFromValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasFromValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasFromValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasFromValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasFromValue other = (SourceGoogleAnalyticsDataApiSchemasFromValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasFromValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasFromValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasInListFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasInListFilter.java new file mode 100644 index 000000000..db652ded7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasInListFilter.java @@ -0,0 +1,149 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleAnalyticsDataApiSchemasInListFilter { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("caseSensitive") + private Optional caseSensitive; + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterName filterName; + + @JsonProperty("values") + private java.util.List values; + + public SourceGoogleAnalyticsDataApiSchemasInListFilter( + @JsonProperty("caseSensitive") Optional caseSensitive, + @JsonProperty("values") java.util.List values) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + Utils.checkNotNull(values, "values"); + this.caseSensitive = caseSensitive; + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.values = values; + } + + public Optional caseSensitive() { + return caseSensitive; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterName filterName() { + return filterName; + } + + public java.util.List values() { + return values; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasInListFilter withCaseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasInListFilter withCaseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasInListFilter withValues(java.util.List values) { + Utils.checkNotNull(values, "values"); + this.values = values; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasInListFilter other = (SourceGoogleAnalyticsDataApiSchemasInListFilter) o; + return + java.util.Objects.deepEquals(this.caseSensitive, other.caseSensitive) && + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.values, other.values); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caseSensitive, + filterName, + values); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasInListFilter.class, + "caseSensitive", caseSensitive, + "filterName", filterName, + "values", values); + } + + public final static class Builder { + + private Optional caseSensitive = Optional.empty(); + + private java.util.List values; + + private Builder() { + // force use of static builder() method + } + + public Builder caseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public Builder caseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public Builder values(java.util.List values) { + Utils.checkNotNull(values, "values"); + this.values = values; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasInListFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasInListFilter( + caseSensitive, + values); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"inListFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasInt64Value.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasInt64Value.java new file mode 100644 index 000000000..6ad94cae9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasInt64Value.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasInt64Value { + + @JsonProperty("value") + private String value; + + @JsonProperty("value_type") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValueType valueType; + + public SourceGoogleAnalyticsDataApiSchemasInt64Value( + @JsonProperty("value") String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + this.valueType = Builder._SINGLETON_VALUE_ValueType.value(); + } + + public String value() { + return value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterValueType valueType() { + return valueType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasInt64Value withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasInt64Value other = (SourceGoogleAnalyticsDataApiSchemasInt64Value) o; + return + java.util.Objects.deepEquals(this.value, other.value) && + java.util.Objects.deepEquals(this.valueType, other.valueType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + value, + valueType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasInt64Value.class, + "value", value, + "valueType", valueType); + } + + public final static class Builder { + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasInt64Value build() { + return new SourceGoogleAnalyticsDataApiSchemasInt64Value( + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_ValueType = + new LazySingletonValue<>( + "value_type", + "\"int64Value\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasNumericFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasNumericFilter.java new file mode 100644 index 000000000..1ab58d2a2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasNumericFilter.java @@ -0,0 +1,133 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleAnalyticsDataApiSchemasNumericFilter { + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterName filterName; + + @JsonProperty("operation") + private java.util.List operation; + + @JsonProperty("value") + private SourceGoogleAnalyticsDataApiSchemasValue value; + + public SourceGoogleAnalyticsDataApiSchemasNumericFilter( + @JsonProperty("operation") java.util.List operation, + @JsonProperty("value") SourceGoogleAnalyticsDataApiSchemasValue value) { + Utils.checkNotNull(operation, "operation"); + Utils.checkNotNull(value, "value"); + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.operation = operation; + this.value = value; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterFilterName filterName() { + return filterName; + } + + public java.util.List operation() { + return operation; + } + + public SourceGoogleAnalyticsDataApiSchemasValue value() { + return value; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasNumericFilter withOperation(java.util.List operation) { + Utils.checkNotNull(operation, "operation"); + this.operation = operation; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasNumericFilter withValue(SourceGoogleAnalyticsDataApiSchemasValue value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasNumericFilter other = (SourceGoogleAnalyticsDataApiSchemasNumericFilter) o; + return + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.operation, other.operation) && + java.util.Objects.deepEquals(this.value, other.value); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filterName, + operation, + value); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasNumericFilter.class, + "filterName", filterName, + "operation", operation, + "value", value); + } + + public final static class Builder { + + private java.util.List operation; + + private SourceGoogleAnalyticsDataApiSchemasValue value; + + private Builder() { + // force use of static builder() method + } + + public Builder operation(java.util.List operation) { + Utils.checkNotNull(operation, "operation"); + this.operation = operation; + return this; + } + + public Builder value(SourceGoogleAnalyticsDataApiSchemasValue value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasNumericFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasNumericFilter( + operation, + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"numericFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasStringFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasStringFilter.java new file mode 100644 index 000000000..1974bfb6d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasStringFilter.java @@ -0,0 +1,190 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleAnalyticsDataApiSchemasStringFilter { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("caseSensitive") + private Optional caseSensitive; + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3FilterName filterName; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("matchType") + private Optional> matchType; + + @JsonProperty("value") + private String value; + + public SourceGoogleAnalyticsDataApiSchemasStringFilter( + @JsonProperty("caseSensitive") Optional caseSensitive, + @JsonProperty("matchType") Optional> matchType, + @JsonProperty("value") String value) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + Utils.checkNotNull(matchType, "matchType"); + Utils.checkNotNull(value, "value"); + this.caseSensitive = caseSensitive; + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.matchType = matchType; + this.value = value; + } + + public Optional caseSensitive() { + return caseSensitive; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3FilterName filterName() { + return filterName; + } + + public Optional> matchType() { + return matchType; + } + + public String value() { + return value; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiSchemasStringFilter withCaseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasStringFilter withCaseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasStringFilter withMatchType(java.util.List matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = Optional.ofNullable(matchType); + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasStringFilter withMatchType(Optional> matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = matchType; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasStringFilter withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasStringFilter other = (SourceGoogleAnalyticsDataApiSchemasStringFilter) o; + return + java.util.Objects.deepEquals(this.caseSensitive, other.caseSensitive) && + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.matchType, other.matchType) && + java.util.Objects.deepEquals(this.value, other.value); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caseSensitive, + filterName, + matchType, + value); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasStringFilter.class, + "caseSensitive", caseSensitive, + "filterName", filterName, + "matchType", matchType, + "value", value); + } + + public final static class Builder { + + private Optional caseSensitive = Optional.empty(); + + private Optional> matchType = Optional.empty(); + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder caseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public Builder caseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public Builder matchType(java.util.List matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = Optional.ofNullable(matchType); + return this; + } + + public Builder matchType(Optional> matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = matchType; + return this; + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiSchemasStringFilter build() { + return new SourceGoogleAnalyticsDataApiSchemasStringFilter( + caseSensitive, + matchType, + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"stringFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasToValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasToValue.java new file mode 100644 index 000000000..289a66ead --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasToValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasToValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasToValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasToValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasToValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasToValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasToValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasToValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasToValue other = (SourceGoogleAnalyticsDataApiSchemasToValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasToValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasToValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasValidEnums.java new file mode 100644 index 000000000..5466e12ef --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasValidEnums.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasValidEnums { + OPERATION_UNSPECIFIED("OPERATION_UNSPECIFIED"), + EQUAL("EQUAL"), + LESS_THAN("LESS_THAN"), + LESS_THAN_OR_EQUAL("LESS_THAN_OR_EQUAL"), + GREATER_THAN("GREATER_THAN"), + GREATER_THAN_OR_EQUAL("GREATER_THAN_OR_EQUAL"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasValue.java new file mode 100644 index 000000000..9330a8e5b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiSchemasValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiSchemasValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiSchemasValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiSchemasValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiSchemasValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiSchemasValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiSchemasValue other = (SourceGoogleAnalyticsDataApiSchemasValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiSchemasValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiSchemasValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasValueType.java new file mode 100644 index 000000000..b156c45cc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiSchemasValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiSchemasValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiSchemasValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiStringFilter.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiStringFilter.java new file mode 100644 index 000000000..f0a48a4fb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiStringFilter.java @@ -0,0 +1,190 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleAnalyticsDataApiStringFilter { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("caseSensitive") + private Optional caseSensitive; + + @JsonProperty("filter_name") + private SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterName filterName; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("matchType") + private Optional> matchType; + + @JsonProperty("value") + private String value; + + public SourceGoogleAnalyticsDataApiStringFilter( + @JsonProperty("caseSensitive") Optional caseSensitive, + @JsonProperty("matchType") Optional> matchType, + @JsonProperty("value") String value) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + Utils.checkNotNull(matchType, "matchType"); + Utils.checkNotNull(value, "value"); + this.caseSensitive = caseSensitive; + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.matchType = matchType; + this.value = value; + } + + public Optional caseSensitive() { + return caseSensitive; + } + + public SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterFilterName filterName() { + return filterName; + } + + public Optional> matchType() { + return matchType; + } + + public String value() { + return value; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleAnalyticsDataApiStringFilter withCaseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public SourceGoogleAnalyticsDataApiStringFilter withCaseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public SourceGoogleAnalyticsDataApiStringFilter withMatchType(java.util.List matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = Optional.ofNullable(matchType); + return this; + } + + public SourceGoogleAnalyticsDataApiStringFilter withMatchType(Optional> matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = matchType; + return this; + } + + public SourceGoogleAnalyticsDataApiStringFilter withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiStringFilter other = (SourceGoogleAnalyticsDataApiStringFilter) o; + return + java.util.Objects.deepEquals(this.caseSensitive, other.caseSensitive) && + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.matchType, other.matchType) && + java.util.Objects.deepEquals(this.value, other.value); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caseSensitive, + filterName, + matchType, + value); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiStringFilter.class, + "caseSensitive", caseSensitive, + "filterName", filterName, + "matchType", matchType, + "value", value); + } + + public final static class Builder { + + private Optional caseSensitive = Optional.empty(); + + private Optional> matchType = Optional.empty(); + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder caseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public Builder caseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public Builder matchType(java.util.List matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = Optional.ofNullable(matchType); + return this; + } + + public Builder matchType(Optional> matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = matchType; + return this; + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public SourceGoogleAnalyticsDataApiStringFilter build() { + return new SourceGoogleAnalyticsDataApiStringFilter( + caseSensitive, + matchType, + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"stringFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiToValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiToValue.java new file mode 100644 index 000000000..534a2a44f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiToValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiToValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiToValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiToValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiToValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiToValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiToValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiToValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiToValue other = (SourceGoogleAnalyticsDataApiToValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiToValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiToValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiValidEnums.java new file mode 100644 index 000000000..7b3c84465 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiValidEnums.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiValidEnums { + MATCH_TYPE_UNSPECIFIED("MATCH_TYPE_UNSPECIFIED"), + EXACT("EXACT"), + BEGINS_WITH("BEGINS_WITH"), + ENDS_WITH("ENDS_WITH"), + CONTAINS("CONTAINS"), + FULL_REGEXP("FULL_REGEXP"), + PARTIAL_REGEXP("PARTIAL_REGEXP"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiValue.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiValue.java new file mode 100644 index 000000000..6144bd323 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceGoogleAnalyticsDataApiValue._Deserializer.class) +public class SourceGoogleAnalyticsDataApiValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsDataApiValue(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsDataApiValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleAnalyticsDataApiValue of(SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsDataApiValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayInt64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasCustomReportsArrayDoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsDataApiValue other = (SourceGoogleAnalyticsDataApiValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsDataApiValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsDataApiValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiValueType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiValueType.java new file mode 100644 index 000000000..2a1af7606 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsDataApiValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsDataApiValueType { + DOUBLE_VALUE("doubleValue"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsDataApiValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnly.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnly.java new file mode 100644 index 000000000..63b637559 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnly.java @@ -0,0 +1,406 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceGoogleAnalyticsV4ServiceAccountOnly { + + /** + * Credentials for the service + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + /** + * A JSON array describing the custom reports you want to sync from Google Analytics. See <a href="https://docs.airbyte.com/integrations/sources/google-analytics-v4#data-processing-latency">the docs</a> for more information about the exact format you can use to fill out this field. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("custom_reports") + private Optional customReports; + + /** + * The date in the format YYYY-MM-DD. Any data after this date will not be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + @JsonProperty("sourceType") + private GoogleAnalyticsV4ServiceAccountOnly sourceType; + + /** + * The date in the format YYYY-MM-DD. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private LocalDate startDate; + + /** + * The ID for the Google Analytics View you want to fetch data from. This can be found from the <a href="https://ga-dev-tools.appspot.com/account-explorer/">Google Analytics Account Explorer</a>. + */ + @JsonProperty("view_id") + private String viewId; + + /** + * The time increment used by the connector when requesting data from the Google Analytics API. More information is available in the <a href="https://docs.airbyte.com/integrations/sources/google-analytics-v4/#sampling-in-reports">the docs</a>. The bigger this value is, the faster the sync will be, but the more likely that sampling will be applied to your data, potentially causing inaccuracies in the returned results. We recommend setting this to 1 unless you have a hard requirement to make the sync faster at the expense of accuracy. The minimum allowed value for this field is 1, and the maximum is 364. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("window_in_days") + private Optional windowInDays; + + public SourceGoogleAnalyticsV4ServiceAccountOnly( + @JsonProperty("credentials") Optional credentials, + @JsonProperty("custom_reports") Optional customReports, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("start_date") LocalDate startDate, + @JsonProperty("view_id") String viewId, + @JsonProperty("window_in_days") Optional windowInDays) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(customReports, "customReports"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(viewId, "viewId"); + Utils.checkNotNull(windowInDays, "windowInDays"); + this.credentials = credentials; + this.customReports = customReports; + this.endDate = endDate; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.viewId = viewId; + this.windowInDays = windowInDays; + } + + /** + * Credentials for the service + */ + public Optional credentials() { + return credentials; + } + + /** + * A JSON array describing the custom reports you want to sync from Google Analytics. See <a href="https://docs.airbyte.com/integrations/sources/google-analytics-v4#data-processing-latency">the docs</a> for more information about the exact format you can use to fill out this field. + */ + public Optional customReports() { + return customReports; + } + + /** + * The date in the format YYYY-MM-DD. Any data after this date will not be replicated. + */ + public Optional endDate() { + return endDate; + } + + public GoogleAnalyticsV4ServiceAccountOnly sourceType() { + return sourceType; + } + + /** + * The date in the format YYYY-MM-DD. Any data before this date will not be replicated. + */ + public LocalDate startDate() { + return startDate; + } + + /** + * The ID for the Google Analytics View you want to fetch data from. This can be found from the <a href="https://ga-dev-tools.appspot.com/account-explorer/">Google Analytics Account Explorer</a>. + */ + public String viewId() { + return viewId; + } + + /** + * The time increment used by the connector when requesting data from the Google Analytics API. More information is available in the <a href="https://docs.airbyte.com/integrations/sources/google-analytics-v4/#sampling-in-reports">the docs</a>. The bigger this value is, the faster the sync will be, but the more likely that sampling will be applied to your data, potentially causing inaccuracies in the returned results. We recommend setting this to 1 unless you have a hard requirement to make the sync faster at the expense of accuracy. The minimum allowed value for this field is 1, and the maximum is 364. + */ + public Optional windowInDays() { + return windowInDays; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Credentials for the service + */ + public SourceGoogleAnalyticsV4ServiceAccountOnly withCredentials(SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Credentials for the service + */ + public SourceGoogleAnalyticsV4ServiceAccountOnly withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * A JSON array describing the custom reports you want to sync from Google Analytics. See <a href="https://docs.airbyte.com/integrations/sources/google-analytics-v4#data-processing-latency">the docs</a> for more information about the exact format you can use to fill out this field. + */ + public SourceGoogleAnalyticsV4ServiceAccountOnly withCustomReports(String customReports) { + Utils.checkNotNull(customReports, "customReports"); + this.customReports = Optional.ofNullable(customReports); + return this; + } + + /** + * A JSON array describing the custom reports you want to sync from Google Analytics. See <a href="https://docs.airbyte.com/integrations/sources/google-analytics-v4#data-processing-latency">the docs</a> for more information about the exact format you can use to fill out this field. + */ + public SourceGoogleAnalyticsV4ServiceAccountOnly withCustomReports(Optional customReports) { + Utils.checkNotNull(customReports, "customReports"); + this.customReports = customReports; + return this; + } + + /** + * The date in the format YYYY-MM-DD. Any data after this date will not be replicated. + */ + public SourceGoogleAnalyticsV4ServiceAccountOnly withEndDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * The date in the format YYYY-MM-DD. Any data after this date will not be replicated. + */ + public SourceGoogleAnalyticsV4ServiceAccountOnly withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * The date in the format YYYY-MM-DD. Any data before this date will not be replicated. + */ + public SourceGoogleAnalyticsV4ServiceAccountOnly withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * The ID for the Google Analytics View you want to fetch data from. This can be found from the <a href="https://ga-dev-tools.appspot.com/account-explorer/">Google Analytics Account Explorer</a>. + */ + public SourceGoogleAnalyticsV4ServiceAccountOnly withViewId(String viewId) { + Utils.checkNotNull(viewId, "viewId"); + this.viewId = viewId; + return this; + } + + /** + * The time increment used by the connector when requesting data from the Google Analytics API. More information is available in the <a href="https://docs.airbyte.com/integrations/sources/google-analytics-v4/#sampling-in-reports">the docs</a>. The bigger this value is, the faster the sync will be, but the more likely that sampling will be applied to your data, potentially causing inaccuracies in the returned results. We recommend setting this to 1 unless you have a hard requirement to make the sync faster at the expense of accuracy. The minimum allowed value for this field is 1, and the maximum is 364. + */ + public SourceGoogleAnalyticsV4ServiceAccountOnly withWindowInDays(long windowInDays) { + Utils.checkNotNull(windowInDays, "windowInDays"); + this.windowInDays = Optional.ofNullable(windowInDays); + return this; + } + + /** + * The time increment used by the connector when requesting data from the Google Analytics API. More information is available in the <a href="https://docs.airbyte.com/integrations/sources/google-analytics-v4/#sampling-in-reports">the docs</a>. The bigger this value is, the faster the sync will be, but the more likely that sampling will be applied to your data, potentially causing inaccuracies in the returned results. We recommend setting this to 1 unless you have a hard requirement to make the sync faster at the expense of accuracy. The minimum allowed value for this field is 1, and the maximum is 364. + */ + public SourceGoogleAnalyticsV4ServiceAccountOnly withWindowInDays(Optional windowInDays) { + Utils.checkNotNull(windowInDays, "windowInDays"); + this.windowInDays = windowInDays; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsV4ServiceAccountOnly other = (SourceGoogleAnalyticsV4ServiceAccountOnly) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.customReports, other.customReports) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.viewId, other.viewId) && + java.util.Objects.deepEquals(this.windowInDays, other.windowInDays); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + customReports, + endDate, + sourceType, + startDate, + viewId, + windowInDays); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsV4ServiceAccountOnly.class, + "credentials", credentials, + "customReports", customReports, + "endDate", endDate, + "sourceType", sourceType, + "startDate", startDate, + "viewId", viewId, + "windowInDays", windowInDays); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Optional customReports = Optional.empty(); + + private Optional endDate = Optional.empty(); + + private LocalDate startDate; + + private String viewId; + + private Optional windowInDays; + + private Builder() { + // force use of static builder() method + } + + /** + * Credentials for the service + */ + public Builder credentials(SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Credentials for the service + */ + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * A JSON array describing the custom reports you want to sync from Google Analytics. See <a href="https://docs.airbyte.com/integrations/sources/google-analytics-v4#data-processing-latency">the docs</a> for more information about the exact format you can use to fill out this field. + */ + public Builder customReports(String customReports) { + Utils.checkNotNull(customReports, "customReports"); + this.customReports = Optional.ofNullable(customReports); + return this; + } + + /** + * A JSON array describing the custom reports you want to sync from Google Analytics. See <a href="https://docs.airbyte.com/integrations/sources/google-analytics-v4#data-processing-latency">the docs</a> for more information about the exact format you can use to fill out this field. + */ + public Builder customReports(Optional customReports) { + Utils.checkNotNull(customReports, "customReports"); + this.customReports = customReports; + return this; + } + + /** + * The date in the format YYYY-MM-DD. Any data after this date will not be replicated. + */ + public Builder endDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * The date in the format YYYY-MM-DD. Any data after this date will not be replicated. + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * The date in the format YYYY-MM-DD. Any data before this date will not be replicated. + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * The ID for the Google Analytics View you want to fetch data from. This can be found from the <a href="https://ga-dev-tools.appspot.com/account-explorer/">Google Analytics Account Explorer</a>. + */ + public Builder viewId(String viewId) { + Utils.checkNotNull(viewId, "viewId"); + this.viewId = viewId; + return this; + } + + /** + * The time increment used by the connector when requesting data from the Google Analytics API. More information is available in the <a href="https://docs.airbyte.com/integrations/sources/google-analytics-v4/#sampling-in-reports">the docs</a>. The bigger this value is, the faster the sync will be, but the more likely that sampling will be applied to your data, potentially causing inaccuracies in the returned results. We recommend setting this to 1 unless you have a hard requirement to make the sync faster at the expense of accuracy. The minimum allowed value for this field is 1, and the maximum is 364. + */ + public Builder windowInDays(long windowInDays) { + Utils.checkNotNull(windowInDays, "windowInDays"); + this.windowInDays = Optional.ofNullable(windowInDays); + return this; + } + + /** + * The time increment used by the connector when requesting data from the Google Analytics API. More information is available in the <a href="https://docs.airbyte.com/integrations/sources/google-analytics-v4/#sampling-in-reports">the docs</a>. The bigger this value is, the faster the sync will be, but the more likely that sampling will be applied to your data, potentially causing inaccuracies in the returned results. We recommend setting this to 1 unless you have a hard requirement to make the sync faster at the expense of accuracy. The minimum allowed value for this field is 1, and the maximum is 364. + */ + public Builder windowInDays(Optional windowInDays) { + Utils.checkNotNull(windowInDays, "windowInDays"); + this.windowInDays = windowInDays; + return this; + } + + public SourceGoogleAnalyticsV4ServiceAccountOnly build() { + if (windowInDays == null) { + windowInDays = _SINGLETON_VALUE_WindowInDays.value(); + } + return new SourceGoogleAnalyticsV4ServiceAccountOnly( + credentials, + customReports, + endDate, + startDate, + viewId, + windowInDays); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"google-analytics-v4-service-account-only\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_WindowInDays = + new LazySingletonValue<>( + "window_in_days", + "1", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyAuthType.java new file mode 100644 index 000000000..9d3751f19 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleAnalyticsV4ServiceAccountOnlyAuthType { + SERVICE("Service"); + + @JsonValue + private final String value; + + private SourceGoogleAnalyticsV4ServiceAccountOnlyAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials.java new file mode 100644 index 000000000..cf8a4559d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials.java @@ -0,0 +1,94 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials - Credentials for the service + */ + +@JsonDeserialize(using = SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials._Deserializer.class) +public class SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials(TypedObject value) { + this.value = value; + } + + public static SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials of(SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials other = (SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsV4ServiceAccountOnlyCredentials.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication.java new file mode 100644 index 000000000..caafc5a00 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * The JSON key of the service account to use for authorization + */ + @JsonProperty("credentials_json") + private String credentialsJson; + + public SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication( + @JsonProperty("credentials_json") String credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.credentialsJson = credentialsJson; + } + + public Optional authType() { + return authType; + } + + /** + * The JSON key of the service account to use for authorization + */ + public String credentialsJson() { + return credentialsJson; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The JSON key of the service account to use for authorization + */ + public SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication withCredentialsJson(String credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.credentialsJson = credentialsJson; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication other = (SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.credentialsJson, other.credentialsJson); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + credentialsJson); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication.class, + "authType", authType, + "credentialsJson", credentialsJson); + } + + public final static class Builder { + + private String credentialsJson; + + private Builder() { + // force use of static builder() method + } + + /** + * The JSON key of the service account to use for authorization + */ + public Builder credentialsJson(String credentialsJson) { + Utils.checkNotNull(credentialsJson, "credentialsJson"); + this.credentialsJson = credentialsJson; + return this; + } + + public SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication build() { + return new SourceGoogleAnalyticsV4ServiceAccountOnlyServiceAccountKeyAuthentication( + credentialsJson); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Service\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDirectory.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDirectory.java new file mode 100644 index 000000000..b65ec04bf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDirectory.java @@ -0,0 +1,139 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleDirectory { + + /** + * Google APIs use the OAuth 2.0 protocol for authentication and authorization. The Source supports <a href="https://developers.google.com/identity/protocols/oauth2#webserver" target="_blank">Web server application</a> and <a href="https://developers.google.com/identity/protocols/oauth2#serviceaccount" target="_blank">Service accounts</a> scenarios. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + @JsonProperty("sourceType") + private GoogleDirectory sourceType; + + public SourceGoogleDirectory( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Google APIs use the OAuth 2.0 protocol for authentication and authorization. The Source supports <a href="https://developers.google.com/identity/protocols/oauth2#webserver" target="_blank">Web server application</a> and <a href="https://developers.google.com/identity/protocols/oauth2#serviceaccount" target="_blank">Service accounts</a> scenarios. + */ + public Optional credentials() { + return credentials; + } + + public GoogleDirectory sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Google APIs use the OAuth 2.0 protocol for authentication and authorization. The Source supports <a href="https://developers.google.com/identity/protocols/oauth2#webserver" target="_blank">Web server application</a> and <a href="https://developers.google.com/identity/protocols/oauth2#serviceaccount" target="_blank">Service accounts</a> scenarios. + */ + public SourceGoogleDirectory withCredentials(SourceGoogleDirectoryGoogleCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Google APIs use the OAuth 2.0 protocol for authentication and authorization. The Source supports <a href="https://developers.google.com/identity/protocols/oauth2#webserver" target="_blank">Web server application</a> and <a href="https://developers.google.com/identity/protocols/oauth2#serviceaccount" target="_blank">Service accounts</a> scenarios. + */ + public SourceGoogleDirectory withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDirectory other = (SourceGoogleDirectory) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDirectory.class, + "credentials", credentials, + "sourceType", sourceType); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Google APIs use the OAuth 2.0 protocol for authentication and authorization. The Source supports <a href="https://developers.google.com/identity/protocols/oauth2#webserver" target="_blank">Web server application</a> and <a href="https://developers.google.com/identity/protocols/oauth2#serviceaccount" target="_blank">Service accounts</a> scenarios. + */ + public Builder credentials(SourceGoogleDirectoryGoogleCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Google APIs use the OAuth 2.0 protocol for authentication and authorization. The Source supports <a href="https://developers.google.com/identity/protocols/oauth2#webserver" target="_blank">Web server application</a> and <a href="https://developers.google.com/identity/protocols/oauth2#serviceaccount" target="_blank">Service accounts</a> scenarios. + */ + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public SourceGoogleDirectory build() { + return new SourceGoogleDirectory( + credentials); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"google-directory\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDirectoryCredentialsTitle.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDirectoryCredentialsTitle.java new file mode 100644 index 000000000..3a46cfd9a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDirectoryCredentialsTitle.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceGoogleDirectoryCredentialsTitle - Authentication Scenario + */ +public enum SourceGoogleDirectoryCredentialsTitle { + WEB_SERVER_APP("Web server app"); + + @JsonValue + private final String value; + + private SourceGoogleDirectoryCredentialsTitle(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDirectoryGoogleCredentials.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDirectoryGoogleCredentials.java new file mode 100644 index 000000000..ec83948c0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDirectoryGoogleCredentials.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceGoogleDirectoryGoogleCredentials - Google APIs use the OAuth 2.0 protocol for authentication and authorization. The Source supports <a href="https://developers.google.com/identity/protocols/oauth2#webserver" target="_blank">Web server application</a> and <a href="https://developers.google.com/identity/protocols/oauth2#serviceaccount" target="_blank">Service accounts</a> scenarios. + */ + +@JsonDeserialize(using = SourceGoogleDirectoryGoogleCredentials._Deserializer.class) +public class SourceGoogleDirectoryGoogleCredentials { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleDirectoryGoogleCredentials(TypedObject value) { + this.value = value; + } + + public static SourceGoogleDirectoryGoogleCredentials of(SignInViaGoogleOAuth value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleDirectoryGoogleCredentials(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleDirectoryGoogleCredentials of(ServiceAccountKey value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleDirectoryGoogleCredentials(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SignInViaGoogleOAuth}
    • + *
    • {@code ServiceAccountKey}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDirectoryGoogleCredentials other = (SourceGoogleDirectoryGoogleCredentials) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleDirectoryGoogleCredentials.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDirectoryGoogleCredentials.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDirectorySchemasCredentialsTitle.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDirectorySchemasCredentialsTitle.java new file mode 100644 index 000000000..78f7b65f0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDirectorySchemasCredentialsTitle.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceGoogleDirectorySchemasCredentialsTitle - Authentication Scenario + */ +public enum SourceGoogleDirectorySchemasCredentialsTitle { + SERVICE_ACCOUNTS("Service accounts"); + + @JsonValue + private final String value; + + private SourceGoogleDirectorySchemasCredentialsTitle(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDrive.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDrive.java new file mode 100644 index 000000000..c47c532cb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDrive.java @@ -0,0 +1,266 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + +/** + * SourceGoogleDrive - Used during spec; allows the developer to configure the cloud provider specific options + * that are needed when users configure a file-based source. + */ + +public class SourceGoogleDrive { + + /** + * Credentials for connecting to the Google Drive API + */ + @JsonProperty("credentials") + private SourceGoogleDriveAuthentication credentials; + + /** + * URL for the folder you want to sync. Using individual streams and glob patterns, it's possible to only sync a subset of all files located in the folder. + */ + @JsonProperty("folder_url") + private String folderUrl; + + @JsonProperty("sourceType") + private SourceGoogleDriveGoogleDrive sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + @JsonProperty("streams") + private java.util.List streams; + + public SourceGoogleDrive( + @JsonProperty("credentials") SourceGoogleDriveAuthentication credentials, + @JsonProperty("folder_url") String folderUrl, + @JsonProperty("start_date") Optional startDate, + @JsonProperty("streams") java.util.List streams) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(folderUrl, "folderUrl"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(streams, "streams"); + this.credentials = credentials; + this.folderUrl = folderUrl; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.streams = streams; + } + + /** + * Credentials for connecting to the Google Drive API + */ + public SourceGoogleDriveAuthentication credentials() { + return credentials; + } + + /** + * URL for the folder you want to sync. Using individual streams and glob patterns, it's possible to only sync a subset of all files located in the folder. + */ + public String folderUrl() { + return folderUrl; + } + + public SourceGoogleDriveGoogleDrive sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public Optional startDate() { + return startDate; + } + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + public java.util.List streams() { + return streams; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Credentials for connecting to the Google Drive API + */ + public SourceGoogleDrive withCredentials(SourceGoogleDriveAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * URL for the folder you want to sync. Using individual streams and glob patterns, it's possible to only sync a subset of all files located in the folder. + */ + public SourceGoogleDrive withFolderUrl(String folderUrl) { + Utils.checkNotNull(folderUrl, "folderUrl"); + this.folderUrl = folderUrl; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public SourceGoogleDrive withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public SourceGoogleDrive withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + public SourceGoogleDrive withStreams(java.util.List streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = streams; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDrive other = (SourceGoogleDrive) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.folderUrl, other.folderUrl) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.streams, other.streams); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + folderUrl, + sourceType, + startDate, + streams); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDrive.class, + "credentials", credentials, + "folderUrl", folderUrl, + "sourceType", sourceType, + "startDate", startDate, + "streams", streams); + } + + public final static class Builder { + + private SourceGoogleDriveAuthentication credentials; + + private String folderUrl; + + private Optional startDate = Optional.empty(); + + private java.util.List streams; + + private Builder() { + // force use of static builder() method + } + + /** + * Credentials for connecting to the Google Drive API + */ + public Builder credentials(SourceGoogleDriveAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * URL for the folder you want to sync. Using individual streams and glob patterns, it's possible to only sync a subset of all files located in the folder. + */ + public Builder folderUrl(String folderUrl) { + Utils.checkNotNull(folderUrl, "folderUrl"); + this.folderUrl = folderUrl; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + public Builder streams(java.util.List streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = streams; + return this; + } + + public SourceGoogleDrive build() { + return new SourceGoogleDrive( + credentials, + folderUrl, + startDate, + streams); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"google-drive\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAuthType.java new file mode 100644 index 000000000..0b0e07e1c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleDriveAuthType { + CLIENT("Client"); + + @JsonValue + private final String value; + + private SourceGoogleDriveAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAuthenticateViaGoogleOAuth.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAuthenticateViaGoogleOAuth.java new file mode 100644 index 000000000..47f9273ff --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAuthenticateViaGoogleOAuth.java @@ -0,0 +1,201 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleDriveAuthenticateViaGoogleOAuth { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * Client ID for the Google Drive API + */ + @JsonProperty("client_id") + private String clientId; + + /** + * Client Secret for the Google Drive API + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * Refresh Token for the Google Drive API + */ + @JsonProperty("refresh_token") + private String refreshToken; + + public SourceGoogleDriveAuthenticateViaGoogleOAuth( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + } + + public Optional authType() { + return authType; + } + + /** + * Client ID for the Google Drive API + */ + public String clientId() { + return clientId; + } + + /** + * Client Secret for the Google Drive API + */ + public String clientSecret() { + return clientSecret; + } + + /** + * Refresh Token for the Google Drive API + */ + public String refreshToken() { + return refreshToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Client ID for the Google Drive API + */ + public SourceGoogleDriveAuthenticateViaGoogleOAuth withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret for the Google Drive API + */ + public SourceGoogleDriveAuthenticateViaGoogleOAuth withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Refresh Token for the Google Drive API + */ + public SourceGoogleDriveAuthenticateViaGoogleOAuth withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDriveAuthenticateViaGoogleOAuth other = (SourceGoogleDriveAuthenticateViaGoogleOAuth) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + clientId, + clientSecret, + refreshToken); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDriveAuthenticateViaGoogleOAuth.class, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private Builder() { + // force use of static builder() method + } + + /** + * Client ID for the Google Drive API + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret for the Google Drive API + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Refresh Token for the Google Drive API + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + public SourceGoogleDriveAuthenticateViaGoogleOAuth build() { + return new SourceGoogleDriveAuthenticateViaGoogleOAuth( + clientId, + clientSecret, + refreshToken); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Client\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAuthentication.java new file mode 100644 index 000000000..5362b633a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAuthentication.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceGoogleDriveAuthentication - Credentials for connecting to the Google Drive API + */ + +@JsonDeserialize(using = SourceGoogleDriveAuthentication._Deserializer.class) +public class SourceGoogleDriveAuthentication { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleDriveAuthentication(TypedObject value) { + this.value = value; + } + + public static SourceGoogleDriveAuthentication of(SourceGoogleDriveAuthenticateViaGoogleOAuth value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleDriveAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleDriveAuthentication of(SourceGoogleDriveServiceAccountKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleDriveAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleDriveAuthenticateViaGoogleOAuth}
    • + *
    • {@code SourceGoogleDriveServiceAccountKeyAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDriveAuthentication other = (SourceGoogleDriveAuthentication) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleDriveAuthentication.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDriveAuthentication.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAutogenerated.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAutogenerated.java new file mode 100644 index 000000000..8a95ec99b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAutogenerated.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleDriveAutogenerated { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition_type") + private Optional headerDefinitionType; + + public SourceGoogleDriveAutogenerated() { + + this.headerDefinitionType = Builder._SINGLETON_VALUE_HeaderDefinitionType.value(); + } + + public Optional headerDefinitionType() { + return headerDefinitionType; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDriveAutogenerated other = (SourceGoogleDriveAutogenerated) o; + return + java.util.Objects.deepEquals(this.headerDefinitionType, other.headerDefinitionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + headerDefinitionType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDriveAutogenerated.class, + "headerDefinitionType", headerDefinitionType); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceGoogleDriveAutogenerated build() { + return new SourceGoogleDriveAutogenerated( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_HeaderDefinitionType = + new LazySingletonValue<>( + "header_definition_type", + "\"Autogenerated\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAvroFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAvroFormat.java new file mode 100644 index 000000000..522c95336 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveAvroFormat.java @@ -0,0 +1,149 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleDriveAvroFormat { + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("double_as_string") + private Optional doubleAsString; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + public SourceGoogleDriveAvroFormat( + @JsonProperty("double_as_string") Optional doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = doubleAsString; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public Optional doubleAsString() { + return doubleAsString; + } + + public Optional filetype() { + return filetype; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public SourceGoogleDriveAvroFormat withDoubleAsString(boolean doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = Optional.ofNullable(doubleAsString); + return this; + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public SourceGoogleDriveAvroFormat withDoubleAsString(Optional doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = doubleAsString; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDriveAvroFormat other = (SourceGoogleDriveAvroFormat) o; + return + java.util.Objects.deepEquals(this.doubleAsString, other.doubleAsString) && + java.util.Objects.deepEquals(this.filetype, other.filetype); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + doubleAsString, + filetype); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDriveAvroFormat.class, + "doubleAsString", doubleAsString, + "filetype", filetype); + } + + public final static class Builder { + + private Optional doubleAsString; + + private Builder() { + // force use of static builder() method + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public Builder doubleAsString(boolean doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = Optional.ofNullable(doubleAsString); + return this; + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public Builder doubleAsString(Optional doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = doubleAsString; + return this; + } + + public SourceGoogleDriveAvroFormat build() { + if (doubleAsString == null) { + doubleAsString = _SINGLETON_VALUE_DoubleAsString.value(); + } + return new SourceGoogleDriveAvroFormat( + doubleAsString); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DoubleAsString = + new LazySingletonValue<>( + "double_as_string", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"avro\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveCSVFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveCSVFormat.java new file mode 100644 index 000000000..ec913d658 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveCSVFormat.java @@ -0,0 +1,852 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleDriveCSVFormat { + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("delimiter") + private Optional delimiter; + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("double_quote") + private Optional doubleQuote; + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("encoding") + private Optional encoding; + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("escape_char") + private Optional escapeChar; + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("false_values") + private Optional> falseValues; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition") + private Optional headerDefinition; + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("null_values") + private Optional> nullValues; + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("quote_char") + private Optional quoteChar; + + /** + * The number of rows to skip after the header row. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("skip_rows_after_header") + private Optional skipRowsAfterHeader; + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("skip_rows_before_header") + private Optional skipRowsBeforeHeader; + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("strings_can_be_null") + private Optional stringsCanBeNull; + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("true_values") + private Optional> trueValues; + + public SourceGoogleDriveCSVFormat( + @JsonProperty("delimiter") Optional delimiter, + @JsonProperty("double_quote") Optional doubleQuote, + @JsonProperty("encoding") Optional encoding, + @JsonProperty("escape_char") Optional escapeChar, + @JsonProperty("false_values") Optional> falseValues, + @JsonProperty("header_definition") Optional headerDefinition, + @JsonProperty("null_values") Optional> nullValues, + @JsonProperty("quote_char") Optional quoteChar, + @JsonProperty("skip_rows_after_header") Optional skipRowsAfterHeader, + @JsonProperty("skip_rows_before_header") Optional skipRowsBeforeHeader, + @JsonProperty("strings_can_be_null") Optional stringsCanBeNull, + @JsonProperty("true_values") Optional> trueValues) { + Utils.checkNotNull(delimiter, "delimiter"); + Utils.checkNotNull(doubleQuote, "doubleQuote"); + Utils.checkNotNull(encoding, "encoding"); + Utils.checkNotNull(escapeChar, "escapeChar"); + Utils.checkNotNull(falseValues, "falseValues"); + Utils.checkNotNull(headerDefinition, "headerDefinition"); + Utils.checkNotNull(nullValues, "nullValues"); + Utils.checkNotNull(quoteChar, "quoteChar"); + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + Utils.checkNotNull(trueValues, "trueValues"); + this.delimiter = delimiter; + this.doubleQuote = doubleQuote; + this.encoding = encoding; + this.escapeChar = escapeChar; + this.falseValues = falseValues; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + this.headerDefinition = headerDefinition; + this.nullValues = nullValues; + this.quoteChar = quoteChar; + this.skipRowsAfterHeader = skipRowsAfterHeader; + this.skipRowsBeforeHeader = skipRowsBeforeHeader; + this.stringsCanBeNull = stringsCanBeNull; + this.trueValues = trueValues; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Optional delimiter() { + return delimiter; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Optional doubleQuote() { + return doubleQuote; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Optional encoding() { + return encoding; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Optional escapeChar() { + return escapeChar; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public Optional> falseValues() { + return falseValues; + } + + public Optional filetype() { + return filetype; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public Optional headerDefinition() { + return headerDefinition; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public Optional> nullValues() { + return nullValues; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Optional quoteChar() { + return quoteChar; + } + + /** + * The number of rows to skip after the header row. + */ + public Optional skipRowsAfterHeader() { + return skipRowsAfterHeader; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public Optional skipRowsBeforeHeader() { + return skipRowsBeforeHeader; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public Optional stringsCanBeNull() { + return stringsCanBeNull; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public Optional> trueValues() { + return trueValues; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public SourceGoogleDriveCSVFormat withDelimiter(String delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = Optional.ofNullable(delimiter); + return this; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public SourceGoogleDriveCSVFormat withDelimiter(Optional delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = delimiter; + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public SourceGoogleDriveCSVFormat withDoubleQuote(boolean doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = Optional.ofNullable(doubleQuote); + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public SourceGoogleDriveCSVFormat withDoubleQuote(Optional doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = doubleQuote; + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public SourceGoogleDriveCSVFormat withEncoding(String encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = Optional.ofNullable(encoding); + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public SourceGoogleDriveCSVFormat withEncoding(Optional encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = encoding; + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public SourceGoogleDriveCSVFormat withEscapeChar(String escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = Optional.ofNullable(escapeChar); + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public SourceGoogleDriveCSVFormat withEscapeChar(Optional escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = escapeChar; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public SourceGoogleDriveCSVFormat withFalseValues(java.util.List falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = Optional.ofNullable(falseValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public SourceGoogleDriveCSVFormat withFalseValues(Optional> falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = falseValues; + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public SourceGoogleDriveCSVFormat withHeaderDefinition(SourceGoogleDriveCSVHeaderDefinition headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = Optional.ofNullable(headerDefinition); + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public SourceGoogleDriveCSVFormat withHeaderDefinition(Optional headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = headerDefinition; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public SourceGoogleDriveCSVFormat withNullValues(java.util.List nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = Optional.ofNullable(nullValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public SourceGoogleDriveCSVFormat withNullValues(Optional> nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = nullValues; + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public SourceGoogleDriveCSVFormat withQuoteChar(String quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = Optional.ofNullable(quoteChar); + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public SourceGoogleDriveCSVFormat withQuoteChar(Optional quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = quoteChar; + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public SourceGoogleDriveCSVFormat withSkipRowsAfterHeader(long skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = Optional.ofNullable(skipRowsAfterHeader); + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public SourceGoogleDriveCSVFormat withSkipRowsAfterHeader(Optional skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = skipRowsAfterHeader; + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public SourceGoogleDriveCSVFormat withSkipRowsBeforeHeader(long skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = Optional.ofNullable(skipRowsBeforeHeader); + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public SourceGoogleDriveCSVFormat withSkipRowsBeforeHeader(Optional skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = skipRowsBeforeHeader; + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public SourceGoogleDriveCSVFormat withStringsCanBeNull(boolean stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = Optional.ofNullable(stringsCanBeNull); + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public SourceGoogleDriveCSVFormat withStringsCanBeNull(Optional stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = stringsCanBeNull; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public SourceGoogleDriveCSVFormat withTrueValues(java.util.List trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = Optional.ofNullable(trueValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public SourceGoogleDriveCSVFormat withTrueValues(Optional> trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = trueValues; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDriveCSVFormat other = (SourceGoogleDriveCSVFormat) o; + return + java.util.Objects.deepEquals(this.delimiter, other.delimiter) && + java.util.Objects.deepEquals(this.doubleQuote, other.doubleQuote) && + java.util.Objects.deepEquals(this.encoding, other.encoding) && + java.util.Objects.deepEquals(this.escapeChar, other.escapeChar) && + java.util.Objects.deepEquals(this.falseValues, other.falseValues) && + java.util.Objects.deepEquals(this.filetype, other.filetype) && + java.util.Objects.deepEquals(this.headerDefinition, other.headerDefinition) && + java.util.Objects.deepEquals(this.nullValues, other.nullValues) && + java.util.Objects.deepEquals(this.quoteChar, other.quoteChar) && + java.util.Objects.deepEquals(this.skipRowsAfterHeader, other.skipRowsAfterHeader) && + java.util.Objects.deepEquals(this.skipRowsBeforeHeader, other.skipRowsBeforeHeader) && + java.util.Objects.deepEquals(this.stringsCanBeNull, other.stringsCanBeNull) && + java.util.Objects.deepEquals(this.trueValues, other.trueValues); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + delimiter, + doubleQuote, + encoding, + escapeChar, + falseValues, + filetype, + headerDefinition, + nullValues, + quoteChar, + skipRowsAfterHeader, + skipRowsBeforeHeader, + stringsCanBeNull, + trueValues); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDriveCSVFormat.class, + "delimiter", delimiter, + "doubleQuote", doubleQuote, + "encoding", encoding, + "escapeChar", escapeChar, + "falseValues", falseValues, + "filetype", filetype, + "headerDefinition", headerDefinition, + "nullValues", nullValues, + "quoteChar", quoteChar, + "skipRowsAfterHeader", skipRowsAfterHeader, + "skipRowsBeforeHeader", skipRowsBeforeHeader, + "stringsCanBeNull", stringsCanBeNull, + "trueValues", trueValues); + } + + public final static class Builder { + + private Optional delimiter; + + private Optional doubleQuote; + + private Optional encoding; + + private Optional escapeChar = Optional.empty(); + + private Optional> falseValues = Optional.empty(); + + private Optional headerDefinition = Optional.empty(); + + private Optional> nullValues = Optional.empty(); + + private Optional quoteChar; + + private Optional skipRowsAfterHeader; + + private Optional skipRowsBeforeHeader; + + private Optional stringsCanBeNull; + + private Optional> trueValues = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Builder delimiter(String delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = Optional.ofNullable(delimiter); + return this; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Builder delimiter(Optional delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = delimiter; + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Builder doubleQuote(boolean doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = Optional.ofNullable(doubleQuote); + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Builder doubleQuote(Optional doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = doubleQuote; + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Builder encoding(String encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = Optional.ofNullable(encoding); + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Builder encoding(Optional encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = encoding; + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Builder escapeChar(String escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = Optional.ofNullable(escapeChar); + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Builder escapeChar(Optional escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = escapeChar; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public Builder falseValues(java.util.List falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = Optional.ofNullable(falseValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public Builder falseValues(Optional> falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = falseValues; + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public Builder headerDefinition(SourceGoogleDriveCSVHeaderDefinition headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = Optional.ofNullable(headerDefinition); + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public Builder headerDefinition(Optional headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = headerDefinition; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public Builder nullValues(java.util.List nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = Optional.ofNullable(nullValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public Builder nullValues(Optional> nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = nullValues; + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Builder quoteChar(String quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = Optional.ofNullable(quoteChar); + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Builder quoteChar(Optional quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = quoteChar; + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public Builder skipRowsAfterHeader(long skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = Optional.ofNullable(skipRowsAfterHeader); + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public Builder skipRowsAfterHeader(Optional skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = skipRowsAfterHeader; + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public Builder skipRowsBeforeHeader(long skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = Optional.ofNullable(skipRowsBeforeHeader); + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public Builder skipRowsBeforeHeader(Optional skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = skipRowsBeforeHeader; + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public Builder stringsCanBeNull(boolean stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = Optional.ofNullable(stringsCanBeNull); + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public Builder stringsCanBeNull(Optional stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = stringsCanBeNull; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public Builder trueValues(java.util.List trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = Optional.ofNullable(trueValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public Builder trueValues(Optional> trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = trueValues; + return this; + } + + public SourceGoogleDriveCSVFormat build() { + if (delimiter == null) { + delimiter = _SINGLETON_VALUE_Delimiter.value(); + } + if (doubleQuote == null) { + doubleQuote = _SINGLETON_VALUE_DoubleQuote.value(); + } + if (encoding == null) { + encoding = _SINGLETON_VALUE_Encoding.value(); + } + if (quoteChar == null) { + quoteChar = _SINGLETON_VALUE_QuoteChar.value(); + } + if (skipRowsAfterHeader == null) { + skipRowsAfterHeader = _SINGLETON_VALUE_SkipRowsAfterHeader.value(); + } + if (skipRowsBeforeHeader == null) { + skipRowsBeforeHeader = _SINGLETON_VALUE_SkipRowsBeforeHeader.value(); + } + if (stringsCanBeNull == null) { + stringsCanBeNull = _SINGLETON_VALUE_StringsCanBeNull.value(); + } + return new SourceGoogleDriveCSVFormat( + delimiter, + doubleQuote, + encoding, + escapeChar, + falseValues, + headerDefinition, + nullValues, + quoteChar, + skipRowsAfterHeader, + skipRowsBeforeHeader, + stringsCanBeNull, + trueValues); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Delimiter = + new LazySingletonValue<>( + "delimiter", + "\",\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DoubleQuote = + new LazySingletonValue<>( + "double_quote", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Encoding = + new LazySingletonValue<>( + "encoding", + "\"utf8\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"csv\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_QuoteChar = + new LazySingletonValue<>( + "quote_char", + "\"\\\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SkipRowsAfterHeader = + new LazySingletonValue<>( + "skip_rows_after_header", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SkipRowsBeforeHeader = + new LazySingletonValue<>( + "skip_rows_before_header", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_StringsCanBeNull = + new LazySingletonValue<>( + "strings_can_be_null", + "true", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveCSVHeaderDefinition.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveCSVHeaderDefinition.java new file mode 100644 index 000000000..29917da8f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveCSVHeaderDefinition.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceGoogleDriveCSVHeaderDefinition - How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + +@JsonDeserialize(using = SourceGoogleDriveCSVHeaderDefinition._Deserializer.class) +public class SourceGoogleDriveCSVHeaderDefinition { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleDriveCSVHeaderDefinition(TypedObject value) { + this.value = value; + } + + public static SourceGoogleDriveCSVHeaderDefinition of(SourceGoogleDriveFromCSV value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleDriveCSVHeaderDefinition(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleDriveCSVHeaderDefinition of(SourceGoogleDriveAutogenerated value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleDriveCSVHeaderDefinition(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleDriveCSVHeaderDefinition of(SourceGoogleDriveUserProvided value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleDriveCSVHeaderDefinition(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleDriveFromCSV}
    • + *
    • {@code SourceGoogleDriveAutogenerated}
    • + *
    • {@code SourceGoogleDriveUserProvided}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDriveCSVHeaderDefinition other = (SourceGoogleDriveCSVHeaderDefinition) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleDriveCSVHeaderDefinition.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDriveCSVHeaderDefinition.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveDocumentFileTypeFormatExperimental.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveDocumentFileTypeFormatExperimental.java new file mode 100644 index 000000000..fe268ca4b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveDocumentFileTypeFormatExperimental.java @@ -0,0 +1,279 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SourceGoogleDriveDocumentFileTypeFormatExperimental - Extract text from document formats (.pdf, .docx, .md, .pptx) and emit as one record per file. + */ + +public class SourceGoogleDriveDocumentFileTypeFormatExperimental { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + /** + * Processing configuration + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("processing") + private Optional processing; + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("skip_unprocessable_files") + private Optional skipUnprocessableFiles; + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("strategy") + private Optional strategy; + + public SourceGoogleDriveDocumentFileTypeFormatExperimental( + @JsonProperty("processing") Optional processing, + @JsonProperty("skip_unprocessable_files") Optional skipUnprocessableFiles, + @JsonProperty("strategy") Optional strategy) { + Utils.checkNotNull(processing, "processing"); + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + Utils.checkNotNull(strategy, "strategy"); + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + this.processing = processing; + this.skipUnprocessableFiles = skipUnprocessableFiles; + this.strategy = strategy; + } + + public Optional filetype() { + return filetype; + } + + /** + * Processing configuration + */ + public Optional processing() { + return processing; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public Optional skipUnprocessableFiles() { + return skipUnprocessableFiles; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public Optional strategy() { + return strategy; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Processing configuration + */ + public SourceGoogleDriveDocumentFileTypeFormatExperimental withProcessing(SourceGoogleDriveProcessing processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = Optional.ofNullable(processing); + return this; + } + + /** + * Processing configuration + */ + public SourceGoogleDriveDocumentFileTypeFormatExperimental withProcessing(Optional processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public SourceGoogleDriveDocumentFileTypeFormatExperimental withSkipUnprocessableFiles(boolean skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = Optional.ofNullable(skipUnprocessableFiles); + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public SourceGoogleDriveDocumentFileTypeFormatExperimental withSkipUnprocessableFiles(Optional skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = skipUnprocessableFiles; + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public SourceGoogleDriveDocumentFileTypeFormatExperimental withStrategy(SourceGoogleDriveParsingStrategy strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = Optional.ofNullable(strategy); + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public SourceGoogleDriveDocumentFileTypeFormatExperimental withStrategy(Optional strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = strategy; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDriveDocumentFileTypeFormatExperimental other = (SourceGoogleDriveDocumentFileTypeFormatExperimental) o; + return + java.util.Objects.deepEquals(this.filetype, other.filetype) && + java.util.Objects.deepEquals(this.processing, other.processing) && + java.util.Objects.deepEquals(this.skipUnprocessableFiles, other.skipUnprocessableFiles) && + java.util.Objects.deepEquals(this.strategy, other.strategy); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filetype, + processing, + skipUnprocessableFiles, + strategy); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDriveDocumentFileTypeFormatExperimental.class, + "filetype", filetype, + "processing", processing, + "skipUnprocessableFiles", skipUnprocessableFiles, + "strategy", strategy); + } + + public final static class Builder { + + private Optional processing = Optional.empty(); + + private Optional skipUnprocessableFiles; + + private Optional strategy; + + private Builder() { + // force use of static builder() method + } + + /** + * Processing configuration + */ + public Builder processing(SourceGoogleDriveProcessing processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = Optional.ofNullable(processing); + return this; + } + + /** + * Processing configuration + */ + public Builder processing(Optional processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public Builder skipUnprocessableFiles(boolean skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = Optional.ofNullable(skipUnprocessableFiles); + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public Builder skipUnprocessableFiles(Optional skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = skipUnprocessableFiles; + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public Builder strategy(SourceGoogleDriveParsingStrategy strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = Optional.ofNullable(strategy); + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public Builder strategy(Optional strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = strategy; + return this; + } + + public SourceGoogleDriveDocumentFileTypeFormatExperimental build() { + if (skipUnprocessableFiles == null) { + skipUnprocessableFiles = _SINGLETON_VALUE_SkipUnprocessableFiles.value(); + } + if (strategy == null) { + strategy = _SINGLETON_VALUE_Strategy.value(); + } + return new SourceGoogleDriveDocumentFileTypeFormatExperimental( + processing, + skipUnprocessableFiles, + strategy); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"unstructured\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SkipUnprocessableFiles = + new LazySingletonValue<>( + "skip_unprocessable_files", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Strategy = + new LazySingletonValue<>( + "strategy", + "\"auto\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveFileBasedStreamConfig.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveFileBasedStreamConfig.java new file mode 100644 index 000000000..9e92b427d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveFileBasedStreamConfig.java @@ -0,0 +1,524 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleDriveFileBasedStreamConfig { + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("days_to_sync_if_history_is_full") + private Optional daysToSyncIfHistoryIsFull; + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + @JsonProperty("format") + private SourceGoogleDriveFormat format; + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("globs") + private Optional> globs; + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("input_schema") + private Optional inputSchema; + + /** + * The name of the stream. + */ + @JsonProperty("name") + private String name; + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("primary_key") + private Optional primaryKey; + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schemaless") + private Optional schemaless; + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("validation_policy") + private Optional validationPolicy; + + public SourceGoogleDriveFileBasedStreamConfig( + @JsonProperty("days_to_sync_if_history_is_full") Optional daysToSyncIfHistoryIsFull, + @JsonProperty("format") SourceGoogleDriveFormat format, + @JsonProperty("globs") Optional> globs, + @JsonProperty("input_schema") Optional inputSchema, + @JsonProperty("name") String name, + @JsonProperty("primary_key") Optional primaryKey, + @JsonProperty("schemaless") Optional schemaless, + @JsonProperty("validation_policy") Optional validationPolicy) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + Utils.checkNotNull(format, "format"); + Utils.checkNotNull(globs, "globs"); + Utils.checkNotNull(inputSchema, "inputSchema"); + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(primaryKey, "primaryKey"); + Utils.checkNotNull(schemaless, "schemaless"); + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.daysToSyncIfHistoryIsFull = daysToSyncIfHistoryIsFull; + this.format = format; + this.globs = globs; + this.inputSchema = inputSchema; + this.name = name; + this.primaryKey = primaryKey; + this.schemaless = schemaless; + this.validationPolicy = validationPolicy; + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public Optional daysToSyncIfHistoryIsFull() { + return daysToSyncIfHistoryIsFull; + } + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + public SourceGoogleDriveFormat format() { + return format; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public Optional> globs() { + return globs; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public Optional inputSchema() { + return inputSchema; + } + + /** + * The name of the stream. + */ + public String name() { + return name; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public Optional primaryKey() { + return primaryKey; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public Optional schemaless() { + return schemaless; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public Optional validationPolicy() { + return validationPolicy; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public SourceGoogleDriveFileBasedStreamConfig withDaysToSyncIfHistoryIsFull(long daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = Optional.ofNullable(daysToSyncIfHistoryIsFull); + return this; + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public SourceGoogleDriveFileBasedStreamConfig withDaysToSyncIfHistoryIsFull(Optional daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = daysToSyncIfHistoryIsFull; + return this; + } + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + public SourceGoogleDriveFileBasedStreamConfig withFormat(SourceGoogleDriveFormat format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public SourceGoogleDriveFileBasedStreamConfig withGlobs(java.util.List globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = Optional.ofNullable(globs); + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public SourceGoogleDriveFileBasedStreamConfig withGlobs(Optional> globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = globs; + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public SourceGoogleDriveFileBasedStreamConfig withInputSchema(String inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = Optional.ofNullable(inputSchema); + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public SourceGoogleDriveFileBasedStreamConfig withInputSchema(Optional inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = inputSchema; + return this; + } + + /** + * The name of the stream. + */ + public SourceGoogleDriveFileBasedStreamConfig withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public SourceGoogleDriveFileBasedStreamConfig withPrimaryKey(String primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = Optional.ofNullable(primaryKey); + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public SourceGoogleDriveFileBasedStreamConfig withPrimaryKey(Optional primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = primaryKey; + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public SourceGoogleDriveFileBasedStreamConfig withSchemaless(boolean schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = Optional.ofNullable(schemaless); + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public SourceGoogleDriveFileBasedStreamConfig withSchemaless(Optional schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = schemaless; + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public SourceGoogleDriveFileBasedStreamConfig withValidationPolicy(SourceGoogleDriveValidationPolicy validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = Optional.ofNullable(validationPolicy); + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public SourceGoogleDriveFileBasedStreamConfig withValidationPolicy(Optional validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = validationPolicy; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDriveFileBasedStreamConfig other = (SourceGoogleDriveFileBasedStreamConfig) o; + return + java.util.Objects.deepEquals(this.daysToSyncIfHistoryIsFull, other.daysToSyncIfHistoryIsFull) && + java.util.Objects.deepEquals(this.format, other.format) && + java.util.Objects.deepEquals(this.globs, other.globs) && + java.util.Objects.deepEquals(this.inputSchema, other.inputSchema) && + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.primaryKey, other.primaryKey) && + java.util.Objects.deepEquals(this.schemaless, other.schemaless) && + java.util.Objects.deepEquals(this.validationPolicy, other.validationPolicy); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + daysToSyncIfHistoryIsFull, + format, + globs, + inputSchema, + name, + primaryKey, + schemaless, + validationPolicy); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDriveFileBasedStreamConfig.class, + "daysToSyncIfHistoryIsFull", daysToSyncIfHistoryIsFull, + "format", format, + "globs", globs, + "inputSchema", inputSchema, + "name", name, + "primaryKey", primaryKey, + "schemaless", schemaless, + "validationPolicy", validationPolicy); + } + + public final static class Builder { + + private Optional daysToSyncIfHistoryIsFull; + + private SourceGoogleDriveFormat format; + + private Optional> globs = Optional.empty(); + + private Optional inputSchema = Optional.empty(); + + private String name; + + private Optional primaryKey = Optional.empty(); + + private Optional schemaless; + + private Optional validationPolicy; + + private Builder() { + // force use of static builder() method + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public Builder daysToSyncIfHistoryIsFull(long daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = Optional.ofNullable(daysToSyncIfHistoryIsFull); + return this; + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public Builder daysToSyncIfHistoryIsFull(Optional daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = daysToSyncIfHistoryIsFull; + return this; + } + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + public Builder format(SourceGoogleDriveFormat format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public Builder globs(java.util.List globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = Optional.ofNullable(globs); + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public Builder globs(Optional> globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = globs; + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public Builder inputSchema(String inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = Optional.ofNullable(inputSchema); + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public Builder inputSchema(Optional inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = inputSchema; + return this; + } + + /** + * The name of the stream. + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public Builder primaryKey(String primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = Optional.ofNullable(primaryKey); + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public Builder primaryKey(Optional primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = primaryKey; + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public Builder schemaless(boolean schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = Optional.ofNullable(schemaless); + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public Builder schemaless(Optional schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = schemaless; + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public Builder validationPolicy(SourceGoogleDriveValidationPolicy validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = Optional.ofNullable(validationPolicy); + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public Builder validationPolicy(Optional validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = validationPolicy; + return this; + } + + public SourceGoogleDriveFileBasedStreamConfig build() { + if (daysToSyncIfHistoryIsFull == null) { + daysToSyncIfHistoryIsFull = _SINGLETON_VALUE_DaysToSyncIfHistoryIsFull.value(); + } + if (schemaless == null) { + schemaless = _SINGLETON_VALUE_Schemaless.value(); + } + if (validationPolicy == null) { + validationPolicy = _SINGLETON_VALUE_ValidationPolicy.value(); + } + return new SourceGoogleDriveFileBasedStreamConfig( + daysToSyncIfHistoryIsFull, + format, + globs, + inputSchema, + name, + primaryKey, + schemaless, + validationPolicy); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DaysToSyncIfHistoryIsFull = + new LazySingletonValue<>( + "days_to_sync_if_history_is_full", + "3", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Schemaless = + new LazySingletonValue<>( + "schemaless", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ValidationPolicy = + new LazySingletonValue<>( + "validation_policy", + "\"Emit Record\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveFiletype.java new file mode 100644 index 000000000..f8d95c436 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleDriveFiletype { + AVRO("avro"); + + @JsonValue + private final String value; + + private SourceGoogleDriveFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveFormat.java new file mode 100644 index 000000000..72636ea35 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveFormat.java @@ -0,0 +1,122 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceGoogleDriveFormat - The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + +@JsonDeserialize(using = SourceGoogleDriveFormat._Deserializer.class) +public class SourceGoogleDriveFormat { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleDriveFormat(TypedObject value) { + this.value = value; + } + + public static SourceGoogleDriveFormat of(SourceGoogleDriveAvroFormat value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleDriveFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleDriveFormat of(SourceGoogleDriveCSVFormat value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleDriveFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleDriveFormat of(SourceGoogleDriveJsonlFormat value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleDriveFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleDriveFormat of(SourceGoogleDriveParquetFormat value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleDriveFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleDriveFormat of(SourceGoogleDriveDocumentFileTypeFormatExperimental value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleDriveFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleDriveAvroFormat}
    • + *
    • {@code SourceGoogleDriveCSVFormat}
    • + *
    • {@code SourceGoogleDriveJsonlFormat}
    • + *
    • {@code SourceGoogleDriveParquetFormat}
    • + *
    • {@code SourceGoogleDriveDocumentFileTypeFormatExperimental}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDriveFormat other = (SourceGoogleDriveFormat) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleDriveFormat.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDriveFormat.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveFromCSV.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveFromCSV.java new file mode 100644 index 000000000..d5ffc9e4a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveFromCSV.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleDriveFromCSV { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition_type") + private Optional headerDefinitionType; + + public SourceGoogleDriveFromCSV() { + + this.headerDefinitionType = Builder._SINGLETON_VALUE_HeaderDefinitionType.value(); + } + + public Optional headerDefinitionType() { + return headerDefinitionType; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDriveFromCSV other = (SourceGoogleDriveFromCSV) o; + return + java.util.Objects.deepEquals(this.headerDefinitionType, other.headerDefinitionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + headerDefinitionType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDriveFromCSV.class, + "headerDefinitionType", headerDefinitionType); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceGoogleDriveFromCSV build() { + return new SourceGoogleDriveFromCSV( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_HeaderDefinitionType = + new LazySingletonValue<>( + "header_definition_type", + "\"From CSV\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveGoogleDrive.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveGoogleDrive.java new file mode 100644 index 000000000..1d1a1100d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveGoogleDrive.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleDriveGoogleDrive { + GOOGLE_DRIVE("google-drive"); + + @JsonValue + private final String value; + + private SourceGoogleDriveGoogleDrive(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveHeaderDefinitionType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveHeaderDefinitionType.java new file mode 100644 index 000000000..32b8c6054 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveHeaderDefinitionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleDriveHeaderDefinitionType { + FROM_CSV("From CSV"); + + @JsonValue + private final String value; + + private SourceGoogleDriveHeaderDefinitionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveJsonlFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveJsonlFormat.java new file mode 100644 index 000000000..69a7d34cc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveJsonlFormat.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleDriveJsonlFormat { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + public SourceGoogleDriveJsonlFormat() { + + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + } + + public Optional filetype() { + return filetype; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDriveJsonlFormat other = (SourceGoogleDriveJsonlFormat) o; + return + java.util.Objects.deepEquals(this.filetype, other.filetype); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filetype); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDriveJsonlFormat.class, + "filetype", filetype); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceGoogleDriveJsonlFormat build() { + return new SourceGoogleDriveJsonlFormat( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"jsonl\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveLocal.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveLocal.java new file mode 100644 index 000000000..e62690cd5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveLocal.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SourceGoogleDriveLocal - Process files locally, supporting `fast` and `ocr` modes. This is the default option. + */ + +public class SourceGoogleDriveLocal { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public SourceGoogleDriveLocal() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDriveLocal other = (SourceGoogleDriveLocal) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDriveLocal.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceGoogleDriveLocal build() { + return new SourceGoogleDriveLocal( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"local\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveMode.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveMode.java new file mode 100644 index 000000000..4aaa0e089 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleDriveMode { + LOCAL("local"); + + @JsonValue + private final String value; + + private SourceGoogleDriveMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveParquetFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveParquetFormat.java new file mode 100644 index 000000000..262a82530 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveParquetFormat.java @@ -0,0 +1,149 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleDriveParquetFormat { + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("decimal_as_float") + private Optional decimalAsFloat; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + public SourceGoogleDriveParquetFormat( + @JsonProperty("decimal_as_float") Optional decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = decimalAsFloat; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public Optional decimalAsFloat() { + return decimalAsFloat; + } + + public Optional filetype() { + return filetype; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public SourceGoogleDriveParquetFormat withDecimalAsFloat(boolean decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = Optional.ofNullable(decimalAsFloat); + return this; + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public SourceGoogleDriveParquetFormat withDecimalAsFloat(Optional decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = decimalAsFloat; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDriveParquetFormat other = (SourceGoogleDriveParquetFormat) o; + return + java.util.Objects.deepEquals(this.decimalAsFloat, other.decimalAsFloat) && + java.util.Objects.deepEquals(this.filetype, other.filetype); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + decimalAsFloat, + filetype); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDriveParquetFormat.class, + "decimalAsFloat", decimalAsFloat, + "filetype", filetype); + } + + public final static class Builder { + + private Optional decimalAsFloat; + + private Builder() { + // force use of static builder() method + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public Builder decimalAsFloat(boolean decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = Optional.ofNullable(decimalAsFloat); + return this; + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public Builder decimalAsFloat(Optional decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = decimalAsFloat; + return this; + } + + public SourceGoogleDriveParquetFormat build() { + if (decimalAsFloat == null) { + decimalAsFloat = _SINGLETON_VALUE_DecimalAsFloat.value(); + } + return new SourceGoogleDriveParquetFormat( + decimalAsFloat); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DecimalAsFloat = + new LazySingletonValue<>( + "decimal_as_float", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"parquet\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveParsingStrategy.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveParsingStrategy.java new file mode 100644 index 000000000..62e6bb46a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveParsingStrategy.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceGoogleDriveParsingStrategy - The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ +public enum SourceGoogleDriveParsingStrategy { + AUTO("auto"), + FAST("fast"), + OCR_ONLY("ocr_only"), + HI_RES("hi_res"); + + @JsonValue + private final String value; + + private SourceGoogleDriveParsingStrategy(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveProcessing.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveProcessing.java new file mode 100644 index 000000000..32aaa762e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveProcessing.java @@ -0,0 +1,94 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceGoogleDriveProcessing - Processing configuration + */ + +@JsonDeserialize(using = SourceGoogleDriveProcessing._Deserializer.class) +public class SourceGoogleDriveProcessing { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleDriveProcessing(TypedObject value) { + this.value = value; + } + + public static SourceGoogleDriveProcessing of(SourceGoogleDriveLocal value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleDriveProcessing(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleDriveLocal}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDriveProcessing other = (SourceGoogleDriveProcessing) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleDriveProcessing.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDriveProcessing.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasAuthType.java new file mode 100644 index 000000000..4cccd8751 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleDriveSchemasAuthType { + SERVICE("Service"); + + @JsonValue + private final String value; + + private SourceGoogleDriveSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasFiletype.java new file mode 100644 index 000000000..e65f41ac2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleDriveSchemasFiletype { + CSV("csv"); + + @JsonValue + private final String value; + + private SourceGoogleDriveSchemasFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasHeaderDefinitionType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasHeaderDefinitionType.java new file mode 100644 index 000000000..6dd5bea56 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasHeaderDefinitionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleDriveSchemasHeaderDefinitionType { + AUTOGENERATED("Autogenerated"); + + @JsonValue + private final String value; + + private SourceGoogleDriveSchemasHeaderDefinitionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasStreamsFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasStreamsFiletype.java new file mode 100644 index 000000000..4bd1702a2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasStreamsFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleDriveSchemasStreamsFiletype { + JSONL("jsonl"); + + @JsonValue + private final String value; + + private SourceGoogleDriveSchemasStreamsFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasStreamsFormatFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasStreamsFormatFiletype.java new file mode 100644 index 000000000..8d5c06b83 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasStreamsFormatFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleDriveSchemasStreamsFormatFiletype { + PARQUET("parquet"); + + @JsonValue + private final String value; + + private SourceGoogleDriveSchemasStreamsFormatFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasStreamsFormatFormatFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasStreamsFormatFormatFiletype.java new file mode 100644 index 000000000..69fcf7669 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasStreamsFormatFormatFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleDriveSchemasStreamsFormatFormatFiletype { + UNSTRUCTURED("unstructured"); + + @JsonValue + private final String value; + + private SourceGoogleDriveSchemasStreamsFormatFormatFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasStreamsHeaderDefinitionType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasStreamsHeaderDefinitionType.java new file mode 100644 index 000000000..d97748945 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveSchemasStreamsHeaderDefinitionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleDriveSchemasStreamsHeaderDefinitionType { + USER_PROVIDED("User Provided"); + + @JsonValue + private final String value; + + private SourceGoogleDriveSchemasStreamsHeaderDefinitionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveServiceAccountKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveServiceAccountKeyAuthentication.java new file mode 100644 index 000000000..d77564c30 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveServiceAccountKeyAuthentication.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleDriveServiceAccountKeyAuthentication { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * The JSON key of the service account to use for authorization. Read more <a href="https://cloud.google.com/iam/docs/creating-managing-service-account-keys#creating_service_account_keys">here</a>. + */ + @JsonProperty("service_account_info") + private String serviceAccountInfo; + + public SourceGoogleDriveServiceAccountKeyAuthentication( + @JsonProperty("service_account_info") String serviceAccountInfo) { + Utils.checkNotNull(serviceAccountInfo, "serviceAccountInfo"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.serviceAccountInfo = serviceAccountInfo; + } + + public Optional authType() { + return authType; + } + + /** + * The JSON key of the service account to use for authorization. Read more <a href="https://cloud.google.com/iam/docs/creating-managing-service-account-keys#creating_service_account_keys">here</a>. + */ + public String serviceAccountInfo() { + return serviceAccountInfo; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The JSON key of the service account to use for authorization. Read more <a href="https://cloud.google.com/iam/docs/creating-managing-service-account-keys#creating_service_account_keys">here</a>. + */ + public SourceGoogleDriveServiceAccountKeyAuthentication withServiceAccountInfo(String serviceAccountInfo) { + Utils.checkNotNull(serviceAccountInfo, "serviceAccountInfo"); + this.serviceAccountInfo = serviceAccountInfo; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDriveServiceAccountKeyAuthentication other = (SourceGoogleDriveServiceAccountKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.serviceAccountInfo, other.serviceAccountInfo); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + serviceAccountInfo); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDriveServiceAccountKeyAuthentication.class, + "authType", authType, + "serviceAccountInfo", serviceAccountInfo); + } + + public final static class Builder { + + private String serviceAccountInfo; + + private Builder() { + // force use of static builder() method + } + + /** + * The JSON key of the service account to use for authorization. Read more <a href="https://cloud.google.com/iam/docs/creating-managing-service-account-keys#creating_service_account_keys">here</a>. + */ + public Builder serviceAccountInfo(String serviceAccountInfo) { + Utils.checkNotNull(serviceAccountInfo, "serviceAccountInfo"); + this.serviceAccountInfo = serviceAccountInfo; + return this; + } + + public SourceGoogleDriveServiceAccountKeyAuthentication build() { + return new SourceGoogleDriveServiceAccountKeyAuthentication( + serviceAccountInfo); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Service\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveUserProvided.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveUserProvided.java new file mode 100644 index 000000000..108099e3b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveUserProvided.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleDriveUserProvided { + + /** + * The column names that will be used while emitting the CSV records + */ + @JsonProperty("column_names") + private java.util.List columnNames; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition_type") + private Optional headerDefinitionType; + + public SourceGoogleDriveUserProvided( + @JsonProperty("column_names") java.util.List columnNames) { + Utils.checkNotNull(columnNames, "columnNames"); + this.columnNames = columnNames; + this.headerDefinitionType = Builder._SINGLETON_VALUE_HeaderDefinitionType.value(); + } + + /** + * The column names that will be used while emitting the CSV records + */ + public java.util.List columnNames() { + return columnNames; + } + + public Optional headerDefinitionType() { + return headerDefinitionType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The column names that will be used while emitting the CSV records + */ + public SourceGoogleDriveUserProvided withColumnNames(java.util.List columnNames) { + Utils.checkNotNull(columnNames, "columnNames"); + this.columnNames = columnNames; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleDriveUserProvided other = (SourceGoogleDriveUserProvided) o; + return + java.util.Objects.deepEquals(this.columnNames, other.columnNames) && + java.util.Objects.deepEquals(this.headerDefinitionType, other.headerDefinitionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + columnNames, + headerDefinitionType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleDriveUserProvided.class, + "columnNames", columnNames, + "headerDefinitionType", headerDefinitionType); + } + + public final static class Builder { + + private java.util.List columnNames; + + private Builder() { + // force use of static builder() method + } + + /** + * The column names that will be used while emitting the CSV records + */ + public Builder columnNames(java.util.List columnNames) { + Utils.checkNotNull(columnNames, "columnNames"); + this.columnNames = columnNames; + return this; + } + + public SourceGoogleDriveUserProvided build() { + return new SourceGoogleDriveUserProvided( + columnNames); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_HeaderDefinitionType = + new LazySingletonValue<>( + "header_definition_type", + "\"User Provided\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveValidationPolicy.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveValidationPolicy.java new file mode 100644 index 000000000..734a776f2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleDriveValidationPolicy.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceGoogleDriveValidationPolicy - The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ +public enum SourceGoogleDriveValidationPolicy { + EMIT_RECORD("Emit Record"), + SKIP_RECORD("Skip Record"), + WAIT_FOR_DISCOVER("Wait for Discover"); + + @JsonValue + private final String value; + + private SourceGoogleDriveValidationPolicy(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGooglePagespeedInsights.java b/src/main/java/com/airbyte/api/models/shared/SourceGooglePagespeedInsights.java new file mode 100644 index 000000000..8fd84e4cc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGooglePagespeedInsights.java @@ -0,0 +1,259 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGooglePagespeedInsights { + + /** + * Google PageSpeed API Key. See <a href="https://developers.google.com/speed/docs/insights/v5/get-started#APIKey">here</a>. The key is optional - however the API is heavily rate limited when using without API Key. Creating and using the API key therefore is recommended. The key is case sensitive. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("api_key") + private Optional apiKey; + + /** + * Defines which Lighthouse category to run. One or many of: "accessibility", "best-practices", "performance", "pwa", "seo". + */ + @JsonProperty("categories") + private java.util.List categories; + + @JsonProperty("sourceType") + private GooglePagespeedInsights sourceType; + + /** + * The analyses strategy to use. Either "desktop" or "mobile". + */ + @JsonProperty("strategies") + private java.util.List strategies; + + /** + * The URLs to retrieve pagespeed information from. The connector will attempt to sync PageSpeed reports for all the defined URLs. Format: https://(www.)url.domain + */ + @JsonProperty("urls") + private java.util.List urls; + + public SourceGooglePagespeedInsights( + @JsonProperty("api_key") Optional apiKey, + @JsonProperty("categories") java.util.List categories, + @JsonProperty("strategies") java.util.List strategies, + @JsonProperty("urls") java.util.List urls) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(categories, "categories"); + Utils.checkNotNull(strategies, "strategies"); + Utils.checkNotNull(urls, "urls"); + this.apiKey = apiKey; + this.categories = categories; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.strategies = strategies; + this.urls = urls; + } + + /** + * Google PageSpeed API Key. See <a href="https://developers.google.com/speed/docs/insights/v5/get-started#APIKey">here</a>. The key is optional - however the API is heavily rate limited when using without API Key. Creating and using the API key therefore is recommended. The key is case sensitive. + */ + public Optional apiKey() { + return apiKey; + } + + /** + * Defines which Lighthouse category to run. One or many of: "accessibility", "best-practices", "performance", "pwa", "seo". + */ + public java.util.List categories() { + return categories; + } + + public GooglePagespeedInsights sourceType() { + return sourceType; + } + + /** + * The analyses strategy to use. Either "desktop" or "mobile". + */ + public java.util.List strategies() { + return strategies; + } + + /** + * The URLs to retrieve pagespeed information from. The connector will attempt to sync PageSpeed reports for all the defined URLs. Format: https://(www.)url.domain + */ + public java.util.List urls() { + return urls; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Google PageSpeed API Key. See <a href="https://developers.google.com/speed/docs/insights/v5/get-started#APIKey">here</a>. The key is optional - however the API is heavily rate limited when using without API Key. Creating and using the API key therefore is recommended. The key is case sensitive. + */ + public SourceGooglePagespeedInsights withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = Optional.ofNullable(apiKey); + return this; + } + + /** + * Google PageSpeed API Key. See <a href="https://developers.google.com/speed/docs/insights/v5/get-started#APIKey">here</a>. The key is optional - however the API is heavily rate limited when using without API Key. Creating and using the API key therefore is recommended. The key is case sensitive. + */ + public SourceGooglePagespeedInsights withApiKey(Optional apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Defines which Lighthouse category to run. One or many of: "accessibility", "best-practices", "performance", "pwa", "seo". + */ + public SourceGooglePagespeedInsights withCategories(java.util.List categories) { + Utils.checkNotNull(categories, "categories"); + this.categories = categories; + return this; + } + + /** + * The analyses strategy to use. Either "desktop" or "mobile". + */ + public SourceGooglePagespeedInsights withStrategies(java.util.List strategies) { + Utils.checkNotNull(strategies, "strategies"); + this.strategies = strategies; + return this; + } + + /** + * The URLs to retrieve pagespeed information from. The connector will attempt to sync PageSpeed reports for all the defined URLs. Format: https://(www.)url.domain + */ + public SourceGooglePagespeedInsights withUrls(java.util.List urls) { + Utils.checkNotNull(urls, "urls"); + this.urls = urls; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGooglePagespeedInsights other = (SourceGooglePagespeedInsights) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.categories, other.categories) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.strategies, other.strategies) && + java.util.Objects.deepEquals(this.urls, other.urls); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + categories, + sourceType, + strategies, + urls); + } + + @Override + public String toString() { + return Utils.toString(SourceGooglePagespeedInsights.class, + "apiKey", apiKey, + "categories", categories, + "sourceType", sourceType, + "strategies", strategies, + "urls", urls); + } + + public final static class Builder { + + private Optional apiKey = Optional.empty(); + + private java.util.List categories; + + private java.util.List strategies; + + private java.util.List urls; + + private Builder() { + // force use of static builder() method + } + + /** + * Google PageSpeed API Key. See <a href="https://developers.google.com/speed/docs/insights/v5/get-started#APIKey">here</a>. The key is optional - however the API is heavily rate limited when using without API Key. Creating and using the API key therefore is recommended. The key is case sensitive. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = Optional.ofNullable(apiKey); + return this; + } + + /** + * Google PageSpeed API Key. See <a href="https://developers.google.com/speed/docs/insights/v5/get-started#APIKey">here</a>. The key is optional - however the API is heavily rate limited when using without API Key. Creating and using the API key therefore is recommended. The key is case sensitive. + */ + public Builder apiKey(Optional apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Defines which Lighthouse category to run. One or many of: "accessibility", "best-practices", "performance", "pwa", "seo". + */ + public Builder categories(java.util.List categories) { + Utils.checkNotNull(categories, "categories"); + this.categories = categories; + return this; + } + + /** + * The analyses strategy to use. Either "desktop" or "mobile". + */ + public Builder strategies(java.util.List strategies) { + Utils.checkNotNull(strategies, "strategies"); + this.strategies = strategies; + return this; + } + + /** + * The URLs to retrieve pagespeed information from. The connector will attempt to sync PageSpeed reports for all the defined URLs. Format: https://(www.)url.domain + */ + public Builder urls(java.util.List urls) { + Utils.checkNotNull(urls, "urls"); + this.urls = urls; + return this; + } + + public SourceGooglePagespeedInsights build() { + return new SourceGooglePagespeedInsights( + apiKey, + categories, + strategies, + urls); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"google-pagespeed-insights\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsole.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsole.java new file mode 100644 index 000000000..356b3bfdc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsole.java @@ -0,0 +1,462 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceGoogleSearchConsole { + + @JsonProperty("authorization") + private AuthenticationType authorization; + + /** + * (DEPRCATED) A JSON array describing the custom reports you want to sync from Google Search Console. See our <a href='https://docs.airbyte.com/integrations/sources/google-search-console'>documentation</a> for more information on formulating custom reports. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("custom_reports") + private Optional customReports; + + /** + * You can add your Custom Analytics report by creating one. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("custom_reports_array") + private Optional> customReportsArray; + + /** + * If set to 'final', the returned data will include only finalized, stable data. If set to 'all', fresh data will be included. When using Incremental sync mode, we do not recommend setting this parameter to 'all' as it may cause data loss. More information can be found in our <a href='https://docs.airbyte.com/integrations/source/google-search-console'>full documentation</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("data_state") + private Optional dataState; + + /** + * UTC date in the format YYYY-MM-DD. Any data created after this date will not be replicated. Must be greater or equal to the start date field. Leaving this field blank will replicate all data from the start date onward. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + /** + * The URLs of the website property attached to your GSC account. Learn more about properties <a href="https://support.google.com/webmasters/answer/34592?hl=en">here</a>. + */ + @JsonProperty("site_urls") + private java.util.List siteUrls; + + @JsonProperty("sourceType") + private SourceGoogleSearchConsoleGoogleSearchConsole sourceType; + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceGoogleSearchConsole( + @JsonProperty("authorization") AuthenticationType authorization, + @JsonProperty("custom_reports") Optional customReports, + @JsonProperty("custom_reports_array") Optional> customReportsArray, + @JsonProperty("data_state") Optional dataState, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("site_urls") java.util.List siteUrls, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(authorization, "authorization"); + Utils.checkNotNull(customReports, "customReports"); + Utils.checkNotNull(customReportsArray, "customReportsArray"); + Utils.checkNotNull(dataState, "dataState"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(siteUrls, "siteUrls"); + Utils.checkNotNull(startDate, "startDate"); + this.authorization = authorization; + this.customReports = customReports; + this.customReportsArray = customReportsArray; + this.dataState = dataState; + this.endDate = endDate; + this.siteUrls = siteUrls; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + public AuthenticationType authorization() { + return authorization; + } + + /** + * (DEPRCATED) A JSON array describing the custom reports you want to sync from Google Search Console. See our <a href='https://docs.airbyte.com/integrations/sources/google-search-console'>documentation</a> for more information on formulating custom reports. + */ + public Optional customReports() { + return customReports; + } + + /** + * You can add your Custom Analytics report by creating one. + */ + public Optional> customReportsArray() { + return customReportsArray; + } + + /** + * If set to 'final', the returned data will include only finalized, stable data. If set to 'all', fresh data will be included. When using Incremental sync mode, we do not recommend setting this parameter to 'all' as it may cause data loss. More information can be found in our <a href='https://docs.airbyte.com/integrations/source/google-search-console'>full documentation</a>. + */ + public Optional dataState() { + return dataState; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data created after this date will not be replicated. Must be greater or equal to the start date field. Leaving this field blank will replicate all data from the start date onward. + */ + public Optional endDate() { + return endDate; + } + + /** + * The URLs of the website property attached to your GSC account. Learn more about properties <a href="https://support.google.com/webmasters/answer/34592?hl=en">here</a>. + */ + public java.util.List siteUrls() { + return siteUrls; + } + + public SourceGoogleSearchConsoleGoogleSearchConsole sourceType() { + return sourceType; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGoogleSearchConsole withAuthorization(AuthenticationType authorization) { + Utils.checkNotNull(authorization, "authorization"); + this.authorization = authorization; + return this; + } + + /** + * (DEPRCATED) A JSON array describing the custom reports you want to sync from Google Search Console. See our <a href='https://docs.airbyte.com/integrations/sources/google-search-console'>documentation</a> for more information on formulating custom reports. + */ + public SourceGoogleSearchConsole withCustomReports(String customReports) { + Utils.checkNotNull(customReports, "customReports"); + this.customReports = Optional.ofNullable(customReports); + return this; + } + + /** + * (DEPRCATED) A JSON array describing the custom reports you want to sync from Google Search Console. See our <a href='https://docs.airbyte.com/integrations/sources/google-search-console'>documentation</a> for more information on formulating custom reports. + */ + public SourceGoogleSearchConsole withCustomReports(Optional customReports) { + Utils.checkNotNull(customReports, "customReports"); + this.customReports = customReports; + return this; + } + + /** + * You can add your Custom Analytics report by creating one. + */ + public SourceGoogleSearchConsole withCustomReportsArray(java.util.List customReportsArray) { + Utils.checkNotNull(customReportsArray, "customReportsArray"); + this.customReportsArray = Optional.ofNullable(customReportsArray); + return this; + } + + /** + * You can add your Custom Analytics report by creating one. + */ + public SourceGoogleSearchConsole withCustomReportsArray(Optional> customReportsArray) { + Utils.checkNotNull(customReportsArray, "customReportsArray"); + this.customReportsArray = customReportsArray; + return this; + } + + /** + * If set to 'final', the returned data will include only finalized, stable data. If set to 'all', fresh data will be included. When using Incremental sync mode, we do not recommend setting this parameter to 'all' as it may cause data loss. More information can be found in our <a href='https://docs.airbyte.com/integrations/source/google-search-console'>full documentation</a>. + */ + public SourceGoogleSearchConsole withDataState(DataFreshness dataState) { + Utils.checkNotNull(dataState, "dataState"); + this.dataState = Optional.ofNullable(dataState); + return this; + } + + /** + * If set to 'final', the returned data will include only finalized, stable data. If set to 'all', fresh data will be included. When using Incremental sync mode, we do not recommend setting this parameter to 'all' as it may cause data loss. More information can be found in our <a href='https://docs.airbyte.com/integrations/source/google-search-console'>full documentation</a>. + */ + public SourceGoogleSearchConsole withDataState(Optional dataState) { + Utils.checkNotNull(dataState, "dataState"); + this.dataState = dataState; + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data created after this date will not be replicated. Must be greater or equal to the start date field. Leaving this field blank will replicate all data from the start date onward. + */ + public SourceGoogleSearchConsole withEndDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data created after this date will not be replicated. Must be greater or equal to the start date field. Leaving this field blank will replicate all data from the start date onward. + */ + public SourceGoogleSearchConsole withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * The URLs of the website property attached to your GSC account. Learn more about properties <a href="https://support.google.com/webmasters/answer/34592?hl=en">here</a>. + */ + public SourceGoogleSearchConsole withSiteUrls(java.util.List siteUrls) { + Utils.checkNotNull(siteUrls, "siteUrls"); + this.siteUrls = siteUrls; + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. + */ + public SourceGoogleSearchConsole withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. + */ + public SourceGoogleSearchConsole withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleSearchConsole other = (SourceGoogleSearchConsole) o; + return + java.util.Objects.deepEquals(this.authorization, other.authorization) && + java.util.Objects.deepEquals(this.customReports, other.customReports) && + java.util.Objects.deepEquals(this.customReportsArray, other.customReportsArray) && + java.util.Objects.deepEquals(this.dataState, other.dataState) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.siteUrls, other.siteUrls) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authorization, + customReports, + customReportsArray, + dataState, + endDate, + siteUrls, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleSearchConsole.class, + "authorization", authorization, + "customReports", customReports, + "customReportsArray", customReportsArray, + "dataState", dataState, + "endDate", endDate, + "siteUrls", siteUrls, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private AuthenticationType authorization; + + private Optional customReports = Optional.empty(); + + private Optional> customReportsArray = Optional.empty(); + + private Optional dataState; + + private Optional endDate = Optional.empty(); + + private java.util.List siteUrls; + + private Optional startDate; + + private Builder() { + // force use of static builder() method + } + + public Builder authorization(AuthenticationType authorization) { + Utils.checkNotNull(authorization, "authorization"); + this.authorization = authorization; + return this; + } + + /** + * (DEPRCATED) A JSON array describing the custom reports you want to sync from Google Search Console. See our <a href='https://docs.airbyte.com/integrations/sources/google-search-console'>documentation</a> for more information on formulating custom reports. + */ + public Builder customReports(String customReports) { + Utils.checkNotNull(customReports, "customReports"); + this.customReports = Optional.ofNullable(customReports); + return this; + } + + /** + * (DEPRCATED) A JSON array describing the custom reports you want to sync from Google Search Console. See our <a href='https://docs.airbyte.com/integrations/sources/google-search-console'>documentation</a> for more information on formulating custom reports. + */ + public Builder customReports(Optional customReports) { + Utils.checkNotNull(customReports, "customReports"); + this.customReports = customReports; + return this; + } + + /** + * You can add your Custom Analytics report by creating one. + */ + public Builder customReportsArray(java.util.List customReportsArray) { + Utils.checkNotNull(customReportsArray, "customReportsArray"); + this.customReportsArray = Optional.ofNullable(customReportsArray); + return this; + } + + /** + * You can add your Custom Analytics report by creating one. + */ + public Builder customReportsArray(Optional> customReportsArray) { + Utils.checkNotNull(customReportsArray, "customReportsArray"); + this.customReportsArray = customReportsArray; + return this; + } + + /** + * If set to 'final', the returned data will include only finalized, stable data. If set to 'all', fresh data will be included. When using Incremental sync mode, we do not recommend setting this parameter to 'all' as it may cause data loss. More information can be found in our <a href='https://docs.airbyte.com/integrations/source/google-search-console'>full documentation</a>. + */ + public Builder dataState(DataFreshness dataState) { + Utils.checkNotNull(dataState, "dataState"); + this.dataState = Optional.ofNullable(dataState); + return this; + } + + /** + * If set to 'final', the returned data will include only finalized, stable data. If set to 'all', fresh data will be included. When using Incremental sync mode, we do not recommend setting this parameter to 'all' as it may cause data loss. More information can be found in our <a href='https://docs.airbyte.com/integrations/source/google-search-console'>full documentation</a>. + */ + public Builder dataState(Optional dataState) { + Utils.checkNotNull(dataState, "dataState"); + this.dataState = dataState; + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data created after this date will not be replicated. Must be greater or equal to the start date field. Leaving this field blank will replicate all data from the start date onward. + */ + public Builder endDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data created after this date will not be replicated. Must be greater or equal to the start date field. Leaving this field blank will replicate all data from the start date onward. + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * The URLs of the website property attached to your GSC account. Learn more about properties <a href="https://support.google.com/webmasters/answer/34592?hl=en">here</a>. + */ + public Builder siteUrls(java.util.List siteUrls) { + Utils.checkNotNull(siteUrls, "siteUrls"); + this.siteUrls = siteUrls; + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceGoogleSearchConsole build() { + if (dataState == null) { + dataState = _SINGLETON_VALUE_DataState.value(); + } + if (startDate == null) { + startDate = _SINGLETON_VALUE_StartDate.value(); + } + return new SourceGoogleSearchConsole( + authorization, + customReports, + customReportsArray, + dataState, + endDate, + siteUrls, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DataState = + new LazySingletonValue<>( + "data_state", + "\"final\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"google-search-console\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_StartDate = + new LazySingletonValue<>( + "start_date", + "\"2021-01-01\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleAuthType.java new file mode 100644 index 000000000..2855a53b8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleSearchConsoleAuthType { + CLIENT("Client"); + + @JsonValue + private final String value; + + private SourceGoogleSearchConsoleAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleCustomReportConfig.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleCustomReportConfig.java new file mode 100644 index 000000000..1e7bd1002 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleCustomReportConfig.java @@ -0,0 +1,139 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleSearchConsoleCustomReportConfig { + + /** + * A list of available dimensions. Please note, that for technical reasons `date` is the default dimension which will be included in your query whether you specify it or not. Primary key will consist of your custom dimensions and the default dimension along with `site_url` and `search_type`. + */ + @JsonProperty("dimensions") + private java.util.List dimensions; + + /** + * The name of the custom report, this name would be used as stream name + */ + @JsonProperty("name") + private String name; + + public SourceGoogleSearchConsoleCustomReportConfig( + @JsonProperty("dimensions") java.util.List dimensions, + @JsonProperty("name") String name) { + Utils.checkNotNull(dimensions, "dimensions"); + Utils.checkNotNull(name, "name"); + this.dimensions = dimensions; + this.name = name; + } + + /** + * A list of available dimensions. Please note, that for technical reasons `date` is the default dimension which will be included in your query whether you specify it or not. Primary key will consist of your custom dimensions and the default dimension along with `site_url` and `search_type`. + */ + public java.util.List dimensions() { + return dimensions; + } + + /** + * The name of the custom report, this name would be used as stream name + */ + public String name() { + return name; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * A list of available dimensions. Please note, that for technical reasons `date` is the default dimension which will be included in your query whether you specify it or not. Primary key will consist of your custom dimensions and the default dimension along with `site_url` and `search_type`. + */ + public SourceGoogleSearchConsoleCustomReportConfig withDimensions(java.util.List dimensions) { + Utils.checkNotNull(dimensions, "dimensions"); + this.dimensions = dimensions; + return this; + } + + /** + * The name of the custom report, this name would be used as stream name + */ + public SourceGoogleSearchConsoleCustomReportConfig withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleSearchConsoleCustomReportConfig other = (SourceGoogleSearchConsoleCustomReportConfig) o; + return + java.util.Objects.deepEquals(this.dimensions, other.dimensions) && + java.util.Objects.deepEquals(this.name, other.name); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + dimensions, + name); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleSearchConsoleCustomReportConfig.class, + "dimensions", dimensions, + "name", name); + } + + public final static class Builder { + + private java.util.List dimensions; + + private String name; + + private Builder() { + // force use of static builder() method + } + + /** + * A list of available dimensions. Please note, that for technical reasons `date` is the default dimension which will be included in your query whether you specify it or not. Primary key will consist of your custom dimensions and the default dimension along with `site_url` and `search_type`. + */ + public Builder dimensions(java.util.List dimensions) { + Utils.checkNotNull(dimensions, "dimensions"); + this.dimensions = dimensions; + return this; + } + + /** + * The name of the custom report, this name would be used as stream name + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + public SourceGoogleSearchConsoleCustomReportConfig build() { + return new SourceGoogleSearchConsoleCustomReportConfig( + dimensions, + name); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleGoogleSearchConsole.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleGoogleSearchConsole.java new file mode 100644 index 000000000..e6a6e0672 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleGoogleSearchConsole.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleSearchConsoleGoogleSearchConsole { + GOOGLE_SEARCH_CONSOLE("google-search-console"); + + @JsonValue + private final String value; + + private SourceGoogleSearchConsoleGoogleSearchConsole(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleOAuth.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleOAuth.java new file mode 100644 index 000000000..eea80968a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleOAuth.java @@ -0,0 +1,259 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleSearchConsoleOAuth { + + /** + * Access token for making authenticated requests. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("access_token") + private Optional accessToken; + + @JsonProperty("auth_type") + private SourceGoogleSearchConsoleAuthType authType; + + /** + * The client ID of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The client secret of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * The token for obtaining a new access token. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + public SourceGoogleSearchConsoleOAuth( + @JsonProperty("access_token") Optional accessToken, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + this.accessToken = accessToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + } + + /** + * Access token for making authenticated requests. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public Optional accessToken() { + return accessToken; + } + + public SourceGoogleSearchConsoleAuthType authType() { + return authType; + } + + /** + * The client ID of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public String clientId() { + return clientId; + } + + /** + * The client secret of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * The token for obtaining a new access token. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public String refreshToken() { + return refreshToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Access token for making authenticated requests. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public SourceGoogleSearchConsoleOAuth withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = Optional.ofNullable(accessToken); + return this; + } + + /** + * Access token for making authenticated requests. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public SourceGoogleSearchConsoleOAuth withAccessToken(Optional accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The client ID of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public SourceGoogleSearchConsoleOAuth withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public SourceGoogleSearchConsoleOAuth withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The token for obtaining a new access token. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public SourceGoogleSearchConsoleOAuth withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleSearchConsoleOAuth other = (SourceGoogleSearchConsoleOAuth) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authType, + clientId, + clientSecret, + refreshToken); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleSearchConsoleOAuth.class, + "accessToken", accessToken, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken); + } + + public final static class Builder { + + private Optional accessToken = Optional.empty(); + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private Builder() { + // force use of static builder() method + } + + /** + * Access token for making authenticated requests. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = Optional.ofNullable(accessToken); + return this; + } + + /** + * Access token for making authenticated requests. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public Builder accessToken(Optional accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The client ID of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret of your Google Search Console developer application. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The token for obtaining a new access token. Read more <a href="https://developers.google.com/webmaster-tools/v1/how-tos/authorizing">here</a>. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + public SourceGoogleSearchConsoleOAuth build() { + return new SourceGoogleSearchConsoleOAuth( + accessToken, + clientId, + clientSecret, + refreshToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Client\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleSchemasAuthType.java new file mode 100644 index 000000000..aeaff0e0f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleSearchConsoleSchemasAuthType { + SERVICE("Service"); + + @JsonValue + private final String value; + + private SourceGoogleSearchConsoleSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleServiceAccountKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleServiceAccountKeyAuthentication.java new file mode 100644 index 000000000..e9909cf9c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleServiceAccountKeyAuthentication.java @@ -0,0 +1,157 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleSearchConsoleServiceAccountKeyAuthentication { + + @JsonProperty("auth_type") + private SourceGoogleSearchConsoleSchemasAuthType authType; + + /** + * The email of the user which has permissions to access the Google Workspace Admin APIs. + */ + @JsonProperty("email") + private String email; + + /** + * The JSON key of the service account to use for authorization. Read more <a href="https://cloud.google.com/iam/docs/creating-managing-service-account-keys">here</a>. + */ + @JsonProperty("service_account_info") + private String serviceAccountInfo; + + public SourceGoogleSearchConsoleServiceAccountKeyAuthentication( + @JsonProperty("email") String email, + @JsonProperty("service_account_info") String serviceAccountInfo) { + Utils.checkNotNull(email, "email"); + Utils.checkNotNull(serviceAccountInfo, "serviceAccountInfo"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.email = email; + this.serviceAccountInfo = serviceAccountInfo; + } + + public SourceGoogleSearchConsoleSchemasAuthType authType() { + return authType; + } + + /** + * The email of the user which has permissions to access the Google Workspace Admin APIs. + */ + public String email() { + return email; + } + + /** + * The JSON key of the service account to use for authorization. Read more <a href="https://cloud.google.com/iam/docs/creating-managing-service-account-keys">here</a>. + */ + public String serviceAccountInfo() { + return serviceAccountInfo; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The email of the user which has permissions to access the Google Workspace Admin APIs. + */ + public SourceGoogleSearchConsoleServiceAccountKeyAuthentication withEmail(String email) { + Utils.checkNotNull(email, "email"); + this.email = email; + return this; + } + + /** + * The JSON key of the service account to use for authorization. Read more <a href="https://cloud.google.com/iam/docs/creating-managing-service-account-keys">here</a>. + */ + public SourceGoogleSearchConsoleServiceAccountKeyAuthentication withServiceAccountInfo(String serviceAccountInfo) { + Utils.checkNotNull(serviceAccountInfo, "serviceAccountInfo"); + this.serviceAccountInfo = serviceAccountInfo; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleSearchConsoleServiceAccountKeyAuthentication other = (SourceGoogleSearchConsoleServiceAccountKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.email, other.email) && + java.util.Objects.deepEquals(this.serviceAccountInfo, other.serviceAccountInfo); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + email, + serviceAccountInfo); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleSearchConsoleServiceAccountKeyAuthentication.class, + "authType", authType, + "email", email, + "serviceAccountInfo", serviceAccountInfo); + } + + public final static class Builder { + + private String email; + + private String serviceAccountInfo; + + private Builder() { + // force use of static builder() method + } + + /** + * The email of the user which has permissions to access the Google Workspace Admin APIs. + */ + public Builder email(String email) { + Utils.checkNotNull(email, "email"); + this.email = email; + return this; + } + + /** + * The JSON key of the service account to use for authorization. Read more <a href="https://cloud.google.com/iam/docs/creating-managing-service-account-keys">here</a>. + */ + public Builder serviceAccountInfo(String serviceAccountInfo) { + Utils.checkNotNull(serviceAccountInfo, "serviceAccountInfo"); + this.serviceAccountInfo = serviceAccountInfo; + return this; + } + + public SourceGoogleSearchConsoleServiceAccountKeyAuthentication build() { + return new SourceGoogleSearchConsoleServiceAccountKeyAuthentication( + email, + serviceAccountInfo); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Service\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleValidEnums.java new file mode 100644 index 000000000..caccd97b4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSearchConsoleValidEnums.java @@ -0,0 +1,36 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceGoogleSearchConsoleValidEnums - An enumeration of dimensions. + */ +public enum SourceGoogleSearchConsoleValidEnums { + COUNTRY("country"), + DATE("date"), + DEVICE("device"), + PAGE("page"), + QUERY("query"); + + @JsonValue + private final String value; + + private SourceGoogleSearchConsoleValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheets.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheets.java new file mode 100644 index 000000000..f2dfad016 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheets.java @@ -0,0 +1,228 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleSheets { + + /** + * Credentials for connecting to the Google Sheets API + */ + @JsonProperty("credentials") + private SourceGoogleSheetsAuthentication credentials; + + /** + * Enables the conversion of column names to a standardized, SQL-compliant format. For example, 'My Name' -> 'my_name'. Enable this option if your destination is SQL-based. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("names_conversion") + private Optional namesConversion; + + @JsonProperty("sourceType") + private SourceGoogleSheetsGoogleSheets sourceType; + + /** + * Enter the link to the Google spreadsheet you want to sync. To copy the link, click the 'Share' button in the top-right corner of the spreadsheet, then click 'Copy link'. + */ + @JsonProperty("spreadsheet_id") + private String spreadsheetId; + + public SourceGoogleSheets( + @JsonProperty("credentials") SourceGoogleSheetsAuthentication credentials, + @JsonProperty("names_conversion") Optional namesConversion, + @JsonProperty("spreadsheet_id") String spreadsheetId) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(namesConversion, "namesConversion"); + Utils.checkNotNull(spreadsheetId, "spreadsheetId"); + this.credentials = credentials; + this.namesConversion = namesConversion; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.spreadsheetId = spreadsheetId; + } + + /** + * Credentials for connecting to the Google Sheets API + */ + public SourceGoogleSheetsAuthentication credentials() { + return credentials; + } + + /** + * Enables the conversion of column names to a standardized, SQL-compliant format. For example, 'My Name' -> 'my_name'. Enable this option if your destination is SQL-based. + */ + public Optional namesConversion() { + return namesConversion; + } + + public SourceGoogleSheetsGoogleSheets sourceType() { + return sourceType; + } + + /** + * Enter the link to the Google spreadsheet you want to sync. To copy the link, click the 'Share' button in the top-right corner of the spreadsheet, then click 'Copy link'. + */ + public String spreadsheetId() { + return spreadsheetId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Credentials for connecting to the Google Sheets API + */ + public SourceGoogleSheets withCredentials(SourceGoogleSheetsAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Enables the conversion of column names to a standardized, SQL-compliant format. For example, 'My Name' -> 'my_name'. Enable this option if your destination is SQL-based. + */ + public SourceGoogleSheets withNamesConversion(boolean namesConversion) { + Utils.checkNotNull(namesConversion, "namesConversion"); + this.namesConversion = Optional.ofNullable(namesConversion); + return this; + } + + /** + * Enables the conversion of column names to a standardized, SQL-compliant format. For example, 'My Name' -> 'my_name'. Enable this option if your destination is SQL-based. + */ + public SourceGoogleSheets withNamesConversion(Optional namesConversion) { + Utils.checkNotNull(namesConversion, "namesConversion"); + this.namesConversion = namesConversion; + return this; + } + + /** + * Enter the link to the Google spreadsheet you want to sync. To copy the link, click the 'Share' button in the top-right corner of the spreadsheet, then click 'Copy link'. + */ + public SourceGoogleSheets withSpreadsheetId(String spreadsheetId) { + Utils.checkNotNull(spreadsheetId, "spreadsheetId"); + this.spreadsheetId = spreadsheetId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleSheets other = (SourceGoogleSheets) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.namesConversion, other.namesConversion) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.spreadsheetId, other.spreadsheetId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + namesConversion, + sourceType, + spreadsheetId); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleSheets.class, + "credentials", credentials, + "namesConversion", namesConversion, + "sourceType", sourceType, + "spreadsheetId", spreadsheetId); + } + + public final static class Builder { + + private SourceGoogleSheetsAuthentication credentials; + + private Optional namesConversion; + + private String spreadsheetId; + + private Builder() { + // force use of static builder() method + } + + /** + * Credentials for connecting to the Google Sheets API + */ + public Builder credentials(SourceGoogleSheetsAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Enables the conversion of column names to a standardized, SQL-compliant format. For example, 'My Name' -> 'my_name'. Enable this option if your destination is SQL-based. + */ + public Builder namesConversion(boolean namesConversion) { + Utils.checkNotNull(namesConversion, "namesConversion"); + this.namesConversion = Optional.ofNullable(namesConversion); + return this; + } + + /** + * Enables the conversion of column names to a standardized, SQL-compliant format. For example, 'My Name' -> 'my_name'. Enable this option if your destination is SQL-based. + */ + public Builder namesConversion(Optional namesConversion) { + Utils.checkNotNull(namesConversion, "namesConversion"); + this.namesConversion = namesConversion; + return this; + } + + /** + * Enter the link to the Google spreadsheet you want to sync. To copy the link, click the 'Share' button in the top-right corner of the spreadsheet, then click 'Copy link'. + */ + public Builder spreadsheetId(String spreadsheetId) { + Utils.checkNotNull(spreadsheetId, "spreadsheetId"); + this.spreadsheetId = spreadsheetId; + return this; + } + + public SourceGoogleSheets build() { + if (namesConversion == null) { + namesConversion = _SINGLETON_VALUE_NamesConversion.value(); + } + return new SourceGoogleSheets( + credentials, + namesConversion, + spreadsheetId); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_NamesConversion = + new LazySingletonValue<>( + "names_conversion", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"google-sheets\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsAuthType.java new file mode 100644 index 000000000..517bf695b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleSheetsAuthType { + CLIENT("Client"); + + @JsonValue + private final String value; + + private SourceGoogleSheetsAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsAuthenticateViaGoogleOAuth.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsAuthenticateViaGoogleOAuth.java new file mode 100644 index 000000000..f3a12b091 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsAuthenticateViaGoogleOAuth.java @@ -0,0 +1,197 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleSheetsAuthenticateViaGoogleOAuth { + + @JsonProperty("auth_type") + private SourceGoogleSheetsAuthType authType; + + /** + * Enter your Google application's Client ID. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * Enter your Google application's Client Secret. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * Enter your Google application's refresh token. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + public SourceGoogleSheetsAuthenticateViaGoogleOAuth( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + } + + public SourceGoogleSheetsAuthType authType() { + return authType; + } + + /** + * Enter your Google application's Client ID. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public String clientId() { + return clientId; + } + + /** + * Enter your Google application's Client Secret. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * Enter your Google application's refresh token. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public String refreshToken() { + return refreshToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Enter your Google application's Client ID. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public SourceGoogleSheetsAuthenticateViaGoogleOAuth withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Enter your Google application's Client Secret. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public SourceGoogleSheetsAuthenticateViaGoogleOAuth withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Enter your Google application's refresh token. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public SourceGoogleSheetsAuthenticateViaGoogleOAuth withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleSheetsAuthenticateViaGoogleOAuth other = (SourceGoogleSheetsAuthenticateViaGoogleOAuth) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + clientId, + clientSecret, + refreshToken); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleSheetsAuthenticateViaGoogleOAuth.class, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private Builder() { + // force use of static builder() method + } + + /** + * Enter your Google application's Client ID. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Enter your Google application's Client Secret. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Enter your Google application's refresh token. See <a href='https://developers.google.com/identity/protocols/oauth2'>Google's documentation</a> for more information. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + public SourceGoogleSheetsAuthenticateViaGoogleOAuth build() { + return new SourceGoogleSheetsAuthenticateViaGoogleOAuth( + clientId, + clientSecret, + refreshToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Client\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsAuthentication.java new file mode 100644 index 000000000..a7f97ad3a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsAuthentication.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceGoogleSheetsAuthentication - Credentials for connecting to the Google Sheets API + */ + +@JsonDeserialize(using = SourceGoogleSheetsAuthentication._Deserializer.class) +public class SourceGoogleSheetsAuthentication { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceGoogleSheetsAuthentication(TypedObject value) { + this.value = value; + } + + public static SourceGoogleSheetsAuthentication of(SourceGoogleSheetsAuthenticateViaGoogleOAuth value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleSheetsAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceGoogleSheetsAuthentication of(SourceGoogleSheetsServiceAccountKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourceGoogleSheetsAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleSheetsAuthenticateViaGoogleOAuth}
    • + *
    • {@code SourceGoogleSheetsServiceAccountKeyAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleSheetsAuthentication other = (SourceGoogleSheetsAuthentication) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceGoogleSheetsAuthentication.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleSheetsAuthentication.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsGoogleSheets.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsGoogleSheets.java new file mode 100644 index 000000000..3060cb71a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsGoogleSheets.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleSheetsGoogleSheets { + GOOGLE_SHEETS("google-sheets"); + + @JsonValue + private final String value; + + private SourceGoogleSheetsGoogleSheets(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsSchemasAuthType.java new file mode 100644 index 000000000..d8518f44f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceGoogleSheetsSchemasAuthType { + SERVICE("Service"); + + @JsonValue + private final String value; + + private SourceGoogleSheetsSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsServiceAccountKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsServiceAccountKeyAuthentication.java new file mode 100644 index 000000000..dcca479c1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleSheetsServiceAccountKeyAuthentication.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGoogleSheetsServiceAccountKeyAuthentication { + + @JsonProperty("auth_type") + private SourceGoogleSheetsSchemasAuthType authType; + + /** + * The JSON key of the service account to use for authorization. Read more <a href="https://cloud.google.com/iam/docs/creating-managing-service-account-keys#creating_service_account_keys">here</a>. + */ + @JsonProperty("service_account_info") + private String serviceAccountInfo; + + public SourceGoogleSheetsServiceAccountKeyAuthentication( + @JsonProperty("service_account_info") String serviceAccountInfo) { + Utils.checkNotNull(serviceAccountInfo, "serviceAccountInfo"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.serviceAccountInfo = serviceAccountInfo; + } + + public SourceGoogleSheetsSchemasAuthType authType() { + return authType; + } + + /** + * The JSON key of the service account to use for authorization. Read more <a href="https://cloud.google.com/iam/docs/creating-managing-service-account-keys#creating_service_account_keys">here</a>. + */ + public String serviceAccountInfo() { + return serviceAccountInfo; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The JSON key of the service account to use for authorization. Read more <a href="https://cloud.google.com/iam/docs/creating-managing-service-account-keys#creating_service_account_keys">here</a>. + */ + public SourceGoogleSheetsServiceAccountKeyAuthentication withServiceAccountInfo(String serviceAccountInfo) { + Utils.checkNotNull(serviceAccountInfo, "serviceAccountInfo"); + this.serviceAccountInfo = serviceAccountInfo; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleSheetsServiceAccountKeyAuthentication other = (SourceGoogleSheetsServiceAccountKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.serviceAccountInfo, other.serviceAccountInfo); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + serviceAccountInfo); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleSheetsServiceAccountKeyAuthentication.class, + "authType", authType, + "serviceAccountInfo", serviceAccountInfo); + } + + public final static class Builder { + + private String serviceAccountInfo; + + private Builder() { + // force use of static builder() method + } + + /** + * The JSON key of the service account to use for authorization. Read more <a href="https://cloud.google.com/iam/docs/creating-managing-service-account-keys#creating_service_account_keys">here</a>. + */ + public Builder serviceAccountInfo(String serviceAccountInfo) { + Utils.checkNotNull(serviceAccountInfo, "serviceAccountInfo"); + this.serviceAccountInfo = serviceAccountInfo; + return this; + } + + public SourceGoogleSheetsServiceAccountKeyAuthentication build() { + return new SourceGoogleSheetsServiceAccountKeyAuthentication( + serviceAccountInfo); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Service\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGoogleWebfonts.java b/src/main/java/com/airbyte/api/models/shared/SourceGoogleWebfonts.java new file mode 100644 index 000000000..0a0b90796 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGoogleWebfonts.java @@ -0,0 +1,297 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceGoogleWebfonts { + + /** + * Optional, Available params- json, media, proto + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("alt") + private Optional alt; + + /** + * API key is required to access google apis, For getting your's goto google console and generate api key for Webfonts + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * Optional, boolean type + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("prettyPrint") + private Optional prettyPrint; + + /** + * Optional, to find how to sort + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sort") + private Optional sort; + + @JsonProperty("sourceType") + private GoogleWebfonts sourceType; + + public SourceGoogleWebfonts( + @JsonProperty("alt") Optional alt, + @JsonProperty("api_key") String apiKey, + @JsonProperty("prettyPrint") Optional prettyPrint, + @JsonProperty("sort") Optional sort) { + Utils.checkNotNull(alt, "alt"); + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(prettyPrint, "prettyPrint"); + Utils.checkNotNull(sort, "sort"); + this.alt = alt; + this.apiKey = apiKey; + this.prettyPrint = prettyPrint; + this.sort = sort; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Optional, Available params- json, media, proto + */ + public Optional alt() { + return alt; + } + + /** + * API key is required to access google apis, For getting your's goto google console and generate api key for Webfonts + */ + public String apiKey() { + return apiKey; + } + + /** + * Optional, boolean type + */ + public Optional prettyPrint() { + return prettyPrint; + } + + /** + * Optional, to find how to sort + */ + public Optional sort() { + return sort; + } + + public GoogleWebfonts sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Optional, Available params- json, media, proto + */ + public SourceGoogleWebfonts withAlt(String alt) { + Utils.checkNotNull(alt, "alt"); + this.alt = Optional.ofNullable(alt); + return this; + } + + /** + * Optional, Available params- json, media, proto + */ + public SourceGoogleWebfonts withAlt(Optional alt) { + Utils.checkNotNull(alt, "alt"); + this.alt = alt; + return this; + } + + /** + * API key is required to access google apis, For getting your's goto google console and generate api key for Webfonts + */ + public SourceGoogleWebfonts withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Optional, boolean type + */ + public SourceGoogleWebfonts withPrettyPrint(String prettyPrint) { + Utils.checkNotNull(prettyPrint, "prettyPrint"); + this.prettyPrint = Optional.ofNullable(prettyPrint); + return this; + } + + /** + * Optional, boolean type + */ + public SourceGoogleWebfonts withPrettyPrint(Optional prettyPrint) { + Utils.checkNotNull(prettyPrint, "prettyPrint"); + this.prettyPrint = prettyPrint; + return this; + } + + /** + * Optional, to find how to sort + */ + public SourceGoogleWebfonts withSort(String sort) { + Utils.checkNotNull(sort, "sort"); + this.sort = Optional.ofNullable(sort); + return this; + } + + /** + * Optional, to find how to sort + */ + public SourceGoogleWebfonts withSort(Optional sort) { + Utils.checkNotNull(sort, "sort"); + this.sort = sort; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGoogleWebfonts other = (SourceGoogleWebfonts) o; + return + java.util.Objects.deepEquals(this.alt, other.alt) && + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.prettyPrint, other.prettyPrint) && + java.util.Objects.deepEquals(this.sort, other.sort) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + alt, + apiKey, + prettyPrint, + sort, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceGoogleWebfonts.class, + "alt", alt, + "apiKey", apiKey, + "prettyPrint", prettyPrint, + "sort", sort, + "sourceType", sourceType); + } + + public final static class Builder { + + private Optional alt = Optional.empty(); + + private String apiKey; + + private Optional prettyPrint = Optional.empty(); + + private Optional sort = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Optional, Available params- json, media, proto + */ + public Builder alt(String alt) { + Utils.checkNotNull(alt, "alt"); + this.alt = Optional.ofNullable(alt); + return this; + } + + /** + * Optional, Available params- json, media, proto + */ + public Builder alt(Optional alt) { + Utils.checkNotNull(alt, "alt"); + this.alt = alt; + return this; + } + + /** + * API key is required to access google apis, For getting your's goto google console and generate api key for Webfonts + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Optional, boolean type + */ + public Builder prettyPrint(String prettyPrint) { + Utils.checkNotNull(prettyPrint, "prettyPrint"); + this.prettyPrint = Optional.ofNullable(prettyPrint); + return this; + } + + /** + * Optional, boolean type + */ + public Builder prettyPrint(Optional prettyPrint) { + Utils.checkNotNull(prettyPrint, "prettyPrint"); + this.prettyPrint = prettyPrint; + return this; + } + + /** + * Optional, to find how to sort + */ + public Builder sort(String sort) { + Utils.checkNotNull(sort, "sort"); + this.sort = Optional.ofNullable(sort); + return this; + } + + /** + * Optional, to find how to sort + */ + public Builder sort(Optional sort) { + Utils.checkNotNull(sort, "sort"); + this.sort = sort; + return this; + } + + public SourceGoogleWebfonts build() { + return new SourceGoogleWebfonts( + alt, + apiKey, + prettyPrint, + sort); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"google-webfonts\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGreenhouse.java b/src/main/java/com/airbyte/api/models/shared/SourceGreenhouse.java new file mode 100644 index 000000000..76ad82353 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGreenhouse.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGreenhouse { + + /** + * Greenhouse API Key. See the <a href="https://docs.airbyte.com/integrations/sources/greenhouse">docs</a> for more information on how to generate this key. + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private Greenhouse sourceType; + + public SourceGreenhouse( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Greenhouse API Key. See the <a href="https://docs.airbyte.com/integrations/sources/greenhouse">docs</a> for more information on how to generate this key. + */ + public String apiKey() { + return apiKey; + } + + public Greenhouse sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Greenhouse API Key. See the <a href="https://docs.airbyte.com/integrations/sources/greenhouse">docs</a> for more information on how to generate this key. + */ + public SourceGreenhouse withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGreenhouse other = (SourceGreenhouse) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceGreenhouse.class, + "apiKey", apiKey, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * Greenhouse API Key. See the <a href="https://docs.airbyte.com/integrations/sources/greenhouse">docs</a> for more information on how to generate this key. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public SourceGreenhouse build() { + return new SourceGreenhouse( + apiKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"greenhouse\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceGridly.java b/src/main/java/com/airbyte/api/models/shared/SourceGridly.java new file mode 100644 index 000000000..4b490a4b4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceGridly.java @@ -0,0 +1,145 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceGridly { + + @JsonProperty("api_key") + private String apiKey; + + /** + * ID of a grid, or can be ID of a branch + */ + @JsonProperty("grid_id") + private String gridId; + + @JsonProperty("sourceType") + private Gridly sourceType; + + public SourceGridly( + @JsonProperty("api_key") String apiKey, + @JsonProperty("grid_id") String gridId) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(gridId, "gridId"); + this.apiKey = apiKey; + this.gridId = gridId; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + public String apiKey() { + return apiKey; + } + + /** + * ID of a grid, or can be ID of a branch + */ + public String gridId() { + return gridId; + } + + public Gridly sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceGridly withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * ID of a grid, or can be ID of a branch + */ + public SourceGridly withGridId(String gridId) { + Utils.checkNotNull(gridId, "gridId"); + this.gridId = gridId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceGridly other = (SourceGridly) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.gridId, other.gridId) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + gridId, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceGridly.class, + "apiKey", apiKey, + "gridId", gridId, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private String gridId; + + private Builder() { + // force use of static builder() method + } + + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * ID of a grid, or can be ID of a branch + */ + public Builder gridId(String gridId) { + Utils.checkNotNull(gridId, "gridId"); + this.gridId = gridId; + return this; + } + + public SourceGridly build() { + return new SourceGridly( + apiKey, + gridId); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"gridly\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceHarvest.java b/src/main/java/com/airbyte/api/models/shared/SourceHarvest.java new file mode 100644 index 000000000..0de4601ef --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceHarvest.java @@ -0,0 +1,281 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceHarvest { + + /** + * Harvest account ID. Required for all Harvest requests in pair with Personal Access Token + */ + @JsonProperty("account_id") + private String accountId; + + /** + * Choose how to authenticate to Harvest. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data after this date will not be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("replication_end_date") + private Optional replicationEndDate; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + @JsonProperty("replication_start_date") + private OffsetDateTime replicationStartDate; + + @JsonProperty("sourceType") + private SourceHarvestHarvest sourceType; + + public SourceHarvest( + @JsonProperty("account_id") String accountId, + @JsonProperty("credentials") Optional credentials, + @JsonProperty("replication_end_date") Optional replicationEndDate, + @JsonProperty("replication_start_date") OffsetDateTime replicationStartDate) { + Utils.checkNotNull(accountId, "accountId"); + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(replicationEndDate, "replicationEndDate"); + Utils.checkNotNull(replicationStartDate, "replicationStartDate"); + this.accountId = accountId; + this.credentials = credentials; + this.replicationEndDate = replicationEndDate; + this.replicationStartDate = replicationStartDate; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Harvest account ID. Required for all Harvest requests in pair with Personal Access Token + */ + public String accountId() { + return accountId; + } + + /** + * Choose how to authenticate to Harvest. + */ + public Optional credentials() { + return credentials; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data after this date will not be replicated. + */ + public Optional replicationEndDate() { + return replicationEndDate; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public OffsetDateTime replicationStartDate() { + return replicationStartDate; + } + + public SourceHarvestHarvest sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Harvest account ID. Required for all Harvest requests in pair with Personal Access Token + */ + public SourceHarvest withAccountId(String accountId) { + Utils.checkNotNull(accountId, "accountId"); + this.accountId = accountId; + return this; + } + + /** + * Choose how to authenticate to Harvest. + */ + public SourceHarvest withCredentials(java.lang.Object credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Choose how to authenticate to Harvest. + */ + public SourceHarvest withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data after this date will not be replicated. + */ + public SourceHarvest withReplicationEndDate(OffsetDateTime replicationEndDate) { + Utils.checkNotNull(replicationEndDate, "replicationEndDate"); + this.replicationEndDate = Optional.ofNullable(replicationEndDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data after this date will not be replicated. + */ + public SourceHarvest withReplicationEndDate(Optional replicationEndDate) { + Utils.checkNotNull(replicationEndDate, "replicationEndDate"); + this.replicationEndDate = replicationEndDate; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public SourceHarvest withReplicationStartDate(OffsetDateTime replicationStartDate) { + Utils.checkNotNull(replicationStartDate, "replicationStartDate"); + this.replicationStartDate = replicationStartDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceHarvest other = (SourceHarvest) o; + return + java.util.Objects.deepEquals(this.accountId, other.accountId) && + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.replicationEndDate, other.replicationEndDate) && + java.util.Objects.deepEquals(this.replicationStartDate, other.replicationStartDate) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accountId, + credentials, + replicationEndDate, + replicationStartDate, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceHarvest.class, + "accountId", accountId, + "credentials", credentials, + "replicationEndDate", replicationEndDate, + "replicationStartDate", replicationStartDate, + "sourceType", sourceType); + } + + public final static class Builder { + + private String accountId; + + private Optional credentials = Optional.empty(); + + private Optional replicationEndDate = Optional.empty(); + + private OffsetDateTime replicationStartDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Harvest account ID. Required for all Harvest requests in pair with Personal Access Token + */ + public Builder accountId(String accountId) { + Utils.checkNotNull(accountId, "accountId"); + this.accountId = accountId; + return this; + } + + /** + * Choose how to authenticate to Harvest. + */ + public Builder credentials(java.lang.Object credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Choose how to authenticate to Harvest. + */ + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data after this date will not be replicated. + */ + public Builder replicationEndDate(OffsetDateTime replicationEndDate) { + Utils.checkNotNull(replicationEndDate, "replicationEndDate"); + this.replicationEndDate = Optional.ofNullable(replicationEndDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data after this date will not be replicated. + */ + public Builder replicationEndDate(Optional replicationEndDate) { + Utils.checkNotNull(replicationEndDate, "replicationEndDate"); + this.replicationEndDate = replicationEndDate; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public Builder replicationStartDate(OffsetDateTime replicationStartDate) { + Utils.checkNotNull(replicationStartDate, "replicationStartDate"); + this.replicationStartDate = replicationStartDate; + return this; + } + + public SourceHarvest build() { + return new SourceHarvest( + accountId, + credentials, + replicationEndDate, + replicationStartDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"harvest\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceHarvestHarvest.java b/src/main/java/com/airbyte/api/models/shared/SourceHarvestHarvest.java new file mode 100644 index 000000000..2d60bf118 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceHarvestHarvest.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceHarvestHarvest { + HARVEST("harvest"); + + @JsonValue + private final String value; + + private SourceHarvestHarvest(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceHubplanner.java b/src/main/java/com/airbyte/api/models/shared/SourceHubplanner.java new file mode 100644 index 000000000..bb40d185c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceHubplanner.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceHubplanner { + + /** + * Hubplanner API key. See https://github.com/hubplanner/API#authentication for more details. + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private Hubplanner sourceType; + + public SourceHubplanner( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Hubplanner API key. See https://github.com/hubplanner/API#authentication for more details. + */ + public String apiKey() { + return apiKey; + } + + public Hubplanner sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Hubplanner API key. See https://github.com/hubplanner/API#authentication for more details. + */ + public SourceHubplanner withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceHubplanner other = (SourceHubplanner) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceHubplanner.class, + "apiKey", apiKey, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * Hubplanner API key. See https://github.com/hubplanner/API#authentication for more details. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public SourceHubplanner build() { + return new SourceHubplanner( + apiKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"hubplanner\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceHubspot.java b/src/main/java/com/airbyte/api/models/shared/SourceHubspot.java new file mode 100644 index 000000000..259b4d291 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceHubspot.java @@ -0,0 +1,250 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceHubspot { + + /** + * Choose how to authenticate to HubSpot. + */ + @JsonProperty("credentials") + private SourceHubspotAuthentication credentials; + + /** + * If enabled then experimental streams become available for sync. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("enable_experimental_streams") + private Optional enableExperimentalStreams; + + @JsonProperty("sourceType") + private SourceHubspotHubspot sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. If not set, "2006-06-01T00:00:00Z" (Hubspot creation date) will be used as start date. It's recommended to provide relevant to your data start date value to optimize synchronization. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceHubspot( + @JsonProperty("credentials") SourceHubspotAuthentication credentials, + @JsonProperty("enable_experimental_streams") Optional enableExperimentalStreams, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(enableExperimentalStreams, "enableExperimentalStreams"); + Utils.checkNotNull(startDate, "startDate"); + this.credentials = credentials; + this.enableExperimentalStreams = enableExperimentalStreams; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Choose how to authenticate to HubSpot. + */ + public SourceHubspotAuthentication credentials() { + return credentials; + } + + /** + * If enabled then experimental streams become available for sync. + */ + public Optional enableExperimentalStreams() { + return enableExperimentalStreams; + } + + public SourceHubspotHubspot sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. If not set, "2006-06-01T00:00:00Z" (Hubspot creation date) will be used as start date. It's recommended to provide relevant to your data start date value to optimize synchronization. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Choose how to authenticate to HubSpot. + */ + public SourceHubspot withCredentials(SourceHubspotAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * If enabled then experimental streams become available for sync. + */ + public SourceHubspot withEnableExperimentalStreams(boolean enableExperimentalStreams) { + Utils.checkNotNull(enableExperimentalStreams, "enableExperimentalStreams"); + this.enableExperimentalStreams = Optional.ofNullable(enableExperimentalStreams); + return this; + } + + /** + * If enabled then experimental streams become available for sync. + */ + public SourceHubspot withEnableExperimentalStreams(Optional enableExperimentalStreams) { + Utils.checkNotNull(enableExperimentalStreams, "enableExperimentalStreams"); + this.enableExperimentalStreams = enableExperimentalStreams; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. If not set, "2006-06-01T00:00:00Z" (Hubspot creation date) will be used as start date. It's recommended to provide relevant to your data start date value to optimize synchronization. + */ + public SourceHubspot withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. If not set, "2006-06-01T00:00:00Z" (Hubspot creation date) will be used as start date. It's recommended to provide relevant to your data start date value to optimize synchronization. + */ + public SourceHubspot withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceHubspot other = (SourceHubspot) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.enableExperimentalStreams, other.enableExperimentalStreams) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + enableExperimentalStreams, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceHubspot.class, + "credentials", credentials, + "enableExperimentalStreams", enableExperimentalStreams, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private SourceHubspotAuthentication credentials; + + private Optional enableExperimentalStreams; + + private Optional startDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Choose how to authenticate to HubSpot. + */ + public Builder credentials(SourceHubspotAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * If enabled then experimental streams become available for sync. + */ + public Builder enableExperimentalStreams(boolean enableExperimentalStreams) { + Utils.checkNotNull(enableExperimentalStreams, "enableExperimentalStreams"); + this.enableExperimentalStreams = Optional.ofNullable(enableExperimentalStreams); + return this; + } + + /** + * If enabled then experimental streams become available for sync. + */ + public Builder enableExperimentalStreams(Optional enableExperimentalStreams) { + Utils.checkNotNull(enableExperimentalStreams, "enableExperimentalStreams"); + this.enableExperimentalStreams = enableExperimentalStreams; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. If not set, "2006-06-01T00:00:00Z" (Hubspot creation date) will be used as start date. It's recommended to provide relevant to your data start date value to optimize synchronization. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. If not set, "2006-06-01T00:00:00Z" (Hubspot creation date) will be used as start date. It's recommended to provide relevant to your data start date value to optimize synchronization. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceHubspot build() { + if (enableExperimentalStreams == null) { + enableExperimentalStreams = _SINGLETON_VALUE_EnableExperimentalStreams.value(); + } + return new SourceHubspot( + credentials, + enableExperimentalStreams, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_EnableExperimentalStreams = + new LazySingletonValue<>( + "enable_experimental_streams", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"hubspot\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceHubspotAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceHubspotAuthType.java new file mode 100644 index 000000000..ed801a613 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceHubspotAuthType.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceHubspotAuthType - Name of the credentials + */ +public enum SourceHubspotAuthType { + O_AUTH_CREDENTIALS("OAuth Credentials"); + + @JsonValue + private final String value; + + private SourceHubspotAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceHubspotAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceHubspotAuthentication.java new file mode 100644 index 000000000..3891602ba --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceHubspotAuthentication.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceHubspotAuthentication - Choose how to authenticate to HubSpot. + */ + +@JsonDeserialize(using = SourceHubspotAuthentication._Deserializer.class) +public class SourceHubspotAuthentication { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceHubspotAuthentication(TypedObject value) { + this.value = value; + } + + public static SourceHubspotAuthentication of(SourceHubspotOAuth value) { + Utils.checkNotNull(value, "value"); + return new SourceHubspotAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceHubspotAuthentication of(PrivateApp value) { + Utils.checkNotNull(value, "value"); + return new SourceHubspotAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceHubspotOAuth}
    • + *
    • {@code PrivateApp}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceHubspotAuthentication other = (SourceHubspotAuthentication) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceHubspotAuthentication.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceHubspotAuthentication.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceHubspotHubspot.java b/src/main/java/com/airbyte/api/models/shared/SourceHubspotHubspot.java new file mode 100644 index 000000000..826b95be4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceHubspotHubspot.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceHubspotHubspot { + HUBSPOT("hubspot"); + + @JsonValue + private final String value; + + private SourceHubspotHubspot(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceHubspotOAuth.java b/src/main/java/com/airbyte/api/models/shared/SourceHubspotOAuth.java new file mode 100644 index 000000000..6b3e16970 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceHubspotOAuth.java @@ -0,0 +1,203 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceHubspotOAuth { + + /** + * The Client ID of your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this ID. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The client secret for your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this secret. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * Name of the credentials + */ + @JsonProperty("credentials_title") + private SourceHubspotAuthType credentialsTitle; + + /** + * Refresh token to renew an expired access token. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this token. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + public SourceHubspotOAuth( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.credentialsTitle = Builder._SINGLETON_VALUE_CredentialsTitle.value(); + this.refreshToken = refreshToken; + } + + /** + * The Client ID of your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this ID. + */ + public String clientId() { + return clientId; + } + + /** + * The client secret for your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this secret. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * Name of the credentials + */ + public SourceHubspotAuthType credentialsTitle() { + return credentialsTitle; + } + + /** + * Refresh token to renew an expired access token. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this token. + */ + public String refreshToken() { + return refreshToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this ID. + */ + public SourceHubspotOAuth withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret for your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this secret. + */ + public SourceHubspotOAuth withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Refresh token to renew an expired access token. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this token. + */ + public SourceHubspotOAuth withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceHubspotOAuth other = (SourceHubspotOAuth) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.credentialsTitle, other.credentialsTitle) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret, + credentialsTitle, + refreshToken); + } + + @Override + public String toString() { + return Utils.toString(SourceHubspotOAuth.class, + "clientId", clientId, + "clientSecret", clientSecret, + "credentialsTitle", credentialsTitle, + "refreshToken", refreshToken); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this ID. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret for your HubSpot developer application. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this secret. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Refresh token to renew an expired access token. See the <a href="https://legacydocs.hubspot.com/docs/methods/oauth2/oauth2-quickstart">Hubspot docs</a> if you need help finding this token. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + public SourceHubspotOAuth build() { + return new SourceHubspotOAuth( + clientId, + clientSecret, + refreshToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_CredentialsTitle = + new LazySingletonValue<>( + "credentials_title", + "\"OAuth Credentials\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceHubspotSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceHubspotSchemasAuthType.java new file mode 100644 index 000000000..31471411f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceHubspotSchemasAuthType.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceHubspotSchemasAuthType - Name of the credentials set + */ +public enum SourceHubspotSchemasAuthType { + PRIVATE_APP_CREDENTIALS("Private App Credentials"); + + @JsonValue + private final String value; + + private SourceHubspotSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceInsightly.java b/src/main/java/com/airbyte/api/models/shared/SourceInsightly.java new file mode 100644 index 000000000..c05be2553 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceInsightly.java @@ -0,0 +1,198 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceInsightly { + + @JsonProperty("sourceType") + private Insightly sourceType; + + /** + * The date from which you'd like to replicate data for Insightly in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. Note that it will be used only for incremental streams. + */ + @JsonInclude(Include.ALWAYS) + @JsonProperty("start_date") + private Optional startDate; + + /** + * Your Insightly API token. + */ + @JsonInclude(Include.ALWAYS) + @JsonProperty("token") + private Optional token; + + public SourceInsightly( + @JsonProperty("start_date") Optional startDate, + @JsonProperty("token") Optional token) { + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(token, "token"); + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.token = token; + } + + public Insightly sourceType() { + return sourceType; + } + + /** + * The date from which you'd like to replicate data for Insightly in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. Note that it will be used only for incremental streams. + */ + public Optional startDate() { + return startDate; + } + + /** + * Your Insightly API token. + */ + public Optional token() { + return token; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The date from which you'd like to replicate data for Insightly in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. Note that it will be used only for incremental streams. + */ + public SourceInsightly withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date from which you'd like to replicate data for Insightly in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. Note that it will be used only for incremental streams. + */ + public SourceInsightly withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Your Insightly API token. + */ + public SourceInsightly withToken(String token) { + Utils.checkNotNull(token, "token"); + this.token = Optional.ofNullable(token); + return this; + } + + /** + * Your Insightly API token. + */ + public SourceInsightly withToken(Optional token) { + Utils.checkNotNull(token, "token"); + this.token = token; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceInsightly other = (SourceInsightly) o; + return + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.token, other.token); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sourceType, + startDate, + token); + } + + @Override + public String toString() { + return Utils.toString(SourceInsightly.class, + "sourceType", sourceType, + "startDate", startDate, + "token", token); + } + + public final static class Builder { + + private Optional startDate = Optional.empty(); + + private Optional token = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The date from which you'd like to replicate data for Insightly in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. Note that it will be used only for incremental streams. + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date from which you'd like to replicate data for Insightly in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. Note that it will be used only for incremental streams. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Your Insightly API token. + */ + public Builder token(String token) { + Utils.checkNotNull(token, "token"); + this.token = Optional.ofNullable(token); + return this; + } + + /** + * Your Insightly API token. + */ + public Builder token(Optional token) { + Utils.checkNotNull(token, "token"); + this.token = token; + return this; + } + + public SourceInsightly build() { + return new SourceInsightly( + startDate, + token); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"insightly\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceInstagram.java b/src/main/java/com/airbyte/api/models/shared/SourceInstagram.java new file mode 100644 index 000000000..e1f658be0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceInstagram.java @@ -0,0 +1,300 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceInstagram { + + /** + * The value of the access token generated with <b>instagram_basic, instagram_manage_insights, pages_show_list, pages_read_engagement, Instagram Public Content Access</b> permissions. See the <a href="https://docs.airbyte.com/integrations/sources/instagram/#step-1-set-up-instagram">docs</a> for more information + */ + @JsonProperty("access_token") + private String accessToken; + + /** + * The Client ID for your Oauth application + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret for your Oauth application + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + @JsonProperty("sourceType") + private SourceInstagramInstagram sourceType; + + /** + * The date from which you'd like to replicate data for User Insights, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. If left blank, the start date will be set to 2 years before the present date. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceInstagram( + @JsonProperty("access_token") String accessToken, + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(startDate, "startDate"); + this.accessToken = accessToken; + this.clientId = clientId; + this.clientSecret = clientSecret; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * The value of the access token generated with <b>instagram_basic, instagram_manage_insights, pages_show_list, pages_read_engagement, Instagram Public Content Access</b> permissions. See the <a href="https://docs.airbyte.com/integrations/sources/instagram/#step-1-set-up-instagram">docs</a> for more information + */ + public String accessToken() { + return accessToken; + } + + /** + * The Client ID for your Oauth application + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret for your Oauth application + */ + public Optional clientSecret() { + return clientSecret; + } + + public SourceInstagramInstagram sourceType() { + return sourceType; + } + + /** + * The date from which you'd like to replicate data for User Insights, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. If left blank, the start date will be set to 2 years before the present date. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The value of the access token generated with <b>instagram_basic, instagram_manage_insights, pages_show_list, pages_read_engagement, Instagram Public Content Access</b> permissions. See the <a href="https://docs.airbyte.com/integrations/sources/instagram/#step-1-set-up-instagram">docs</a> for more information + */ + public SourceInstagram withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID for your Oauth application + */ + public SourceInstagram withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID for your Oauth application + */ + public SourceInstagram withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret for your Oauth application + */ + public SourceInstagram withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret for your Oauth application + */ + public SourceInstagram withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The date from which you'd like to replicate data for User Insights, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. If left blank, the start date will be set to 2 years before the present date. + */ + public SourceInstagram withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date from which you'd like to replicate data for User Insights, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. If left blank, the start date will be set to 2 years before the present date. + */ + public SourceInstagram withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceInstagram other = (SourceInstagram) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + clientId, + clientSecret, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceInstagram.class, + "accessToken", accessToken, + "clientId", clientId, + "clientSecret", clientSecret, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String accessToken; + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Optional startDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The value of the access token generated with <b>instagram_basic, instagram_manage_insights, pages_show_list, pages_read_engagement, Instagram Public Content Access</b> permissions. See the <a href="https://docs.airbyte.com/integrations/sources/instagram/#step-1-set-up-instagram">docs</a> for more information + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID for your Oauth application + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID for your Oauth application + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret for your Oauth application + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret for your Oauth application + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The date from which you'd like to replicate data for User Insights, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. If left blank, the start date will be set to 2 years before the present date. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date from which you'd like to replicate data for User Insights, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. If left blank, the start date will be set to 2 years before the present date. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceInstagram build() { + return new SourceInstagram( + accessToken, + clientId, + clientSecret, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"instagram\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceInstagramInstagram.java b/src/main/java/com/airbyte/api/models/shared/SourceInstagramInstagram.java new file mode 100644 index 000000000..719d67b5a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceInstagramInstagram.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceInstagramInstagram { + INSTAGRAM("instagram"); + + @JsonValue + private final String value; + + private SourceInstagramInstagram(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceInstatus.java b/src/main/java/com/airbyte/api/models/shared/SourceInstatus.java new file mode 100644 index 000000000..9eb943b9a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceInstatus.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceInstatus { + + /** + * Instatus REST API key + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private Instatus sourceType; + + public SourceInstatus( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Instatus REST API key + */ + public String apiKey() { + return apiKey; + } + + public Instatus sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Instatus REST API key + */ + public SourceInstatus withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceInstatus other = (SourceInstatus) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceInstatus.class, + "apiKey", apiKey, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * Instatus REST API key + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public SourceInstatus build() { + return new SourceInstatus( + apiKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"instatus\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceIntercom.java b/src/main/java/com/airbyte/api/models/shared/SourceIntercom.java new file mode 100644 index 000000000..e80b992a2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceIntercom.java @@ -0,0 +1,281 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceIntercom { + + /** + * Access token for making authenticated requests. See the <a href="https://developers.intercom.com/building-apps/docs/authentication-types#how-to-get-your-access-token">Intercom docs</a> for more information. + */ + @JsonProperty("access_token") + private String accessToken; + + /** + * Client Id for your Intercom application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * Client Secret for your Intercom application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + @JsonProperty("sourceType") + private SourceIntercomIntercom sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + public SourceIntercom( + @JsonProperty("access_token") String accessToken, + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret, + @JsonProperty("start_date") OffsetDateTime startDate) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(startDate, "startDate"); + this.accessToken = accessToken; + this.clientId = clientId; + this.clientSecret = clientSecret; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Access token for making authenticated requests. See the <a href="https://developers.intercom.com/building-apps/docs/authentication-types#how-to-get-your-access-token">Intercom docs</a> for more information. + */ + public String accessToken() { + return accessToken; + } + + /** + * Client Id for your Intercom application. + */ + public Optional clientId() { + return clientId; + } + + /** + * Client Secret for your Intercom application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public SourceIntercomIntercom sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Access token for making authenticated requests. See the <a href="https://developers.intercom.com/building-apps/docs/authentication-types#how-to-get-your-access-token">Intercom docs</a> for more information. + */ + public SourceIntercom withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * Client Id for your Intercom application. + */ + public SourceIntercom withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Client Id for your Intercom application. + */ + public SourceIntercom withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret for your Intercom application. + */ + public SourceIntercom withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Client Secret for your Intercom application. + */ + public SourceIntercom withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public SourceIntercom withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceIntercom other = (SourceIntercom) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + clientId, + clientSecret, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceIntercom.class, + "accessToken", accessToken, + "clientId", clientId, + "clientSecret", clientSecret, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String accessToken; + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private OffsetDateTime startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Access token for making authenticated requests. See the <a href="https://developers.intercom.com/building-apps/docs/authentication-types#how-to-get-your-access-token">Intercom docs</a> for more information. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * Client Id for your Intercom application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Client Id for your Intercom application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret for your Intercom application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Client Secret for your Intercom application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceIntercom build() { + return new SourceIntercom( + accessToken, + clientId, + clientSecret, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"intercom\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceIntercomIntercom.java b/src/main/java/com/airbyte/api/models/shared/SourceIntercomIntercom.java new file mode 100644 index 000000000..eeb7516ab --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceIntercomIntercom.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceIntercomIntercom { + INTERCOM("intercom"); + + @JsonValue + private final String value; + + private SourceIntercomIntercom(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceIp2whois.java b/src/main/java/com/airbyte/api/models/shared/SourceIp2whois.java new file mode 100644 index 000000000..0f81c0c8b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceIp2whois.java @@ -0,0 +1,199 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceIp2whois { + + /** + * Your API Key. See <a href="https://www.ip2whois.com/developers-api">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("api_key") + private Optional apiKey; + + /** + * Domain name. See <a href="https://www.ip2whois.com/developers-api">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("domain") + private Optional domain; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sourceType") + private Optional sourceType; + + public SourceIp2whois( + @JsonProperty("api_key") Optional apiKey, + @JsonProperty("domain") Optional domain) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(domain, "domain"); + this.apiKey = apiKey; + this.domain = domain; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Your API Key. See <a href="https://www.ip2whois.com/developers-api">here</a>. + */ + public Optional apiKey() { + return apiKey; + } + + /** + * Domain name. See <a href="https://www.ip2whois.com/developers-api">here</a>. + */ + public Optional domain() { + return domain; + } + + public Optional sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your API Key. See <a href="https://www.ip2whois.com/developers-api">here</a>. + */ + public SourceIp2whois withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = Optional.ofNullable(apiKey); + return this; + } + + /** + * Your API Key. See <a href="https://www.ip2whois.com/developers-api">here</a>. + */ + public SourceIp2whois withApiKey(Optional apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Domain name. See <a href="https://www.ip2whois.com/developers-api">here</a>. + */ + public SourceIp2whois withDomain(String domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = Optional.ofNullable(domain); + return this; + } + + /** + * Domain name. See <a href="https://www.ip2whois.com/developers-api">here</a>. + */ + public SourceIp2whois withDomain(Optional domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = domain; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceIp2whois other = (SourceIp2whois) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.domain, other.domain) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + domain, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceIp2whois.class, + "apiKey", apiKey, + "domain", domain, + "sourceType", sourceType); + } + + public final static class Builder { + + private Optional apiKey = Optional.empty(); + + private Optional domain = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Your API Key. See <a href="https://www.ip2whois.com/developers-api">here</a>. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = Optional.ofNullable(apiKey); + return this; + } + + /** + * Your API Key. See <a href="https://www.ip2whois.com/developers-api">here</a>. + */ + public Builder apiKey(Optional apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Domain name. See <a href="https://www.ip2whois.com/developers-api">here</a>. + */ + public Builder domain(String domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = Optional.ofNullable(domain); + return this; + } + + /** + * Domain name. See <a href="https://www.ip2whois.com/developers-api">here</a>. + */ + public Builder domain(Optional domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = domain; + return this; + } + + public SourceIp2whois build() { + return new SourceIp2whois( + apiKey, + domain); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"ip2whois\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceIterable.java b/src/main/java/com/airbyte/api/models/shared/SourceIterable.java new file mode 100644 index 000000000..7ceb35529 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceIterable.java @@ -0,0 +1,160 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; + + +public class SourceIterable { + + /** + * Iterable API Key. See the <a href="https://docs.airbyte.com/integrations/sources/iterable">docs</a> for more information on how to obtain this key. + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private Iterable sourceType; + + /** + * The date from which you'd like to replicate data for Iterable, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + public SourceIterable( + @JsonProperty("api_key") String apiKey, + @JsonProperty("start_date") OffsetDateTime startDate) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(startDate, "startDate"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Iterable API Key. See the <a href="https://docs.airbyte.com/integrations/sources/iterable">docs</a> for more information on how to obtain this key. + */ + public String apiKey() { + return apiKey; + } + + public Iterable sourceType() { + return sourceType; + } + + /** + * The date from which you'd like to replicate data for Iterable, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Iterable API Key. See the <a href="https://docs.airbyte.com/integrations/sources/iterable">docs</a> for more information on how to obtain this key. + */ + public SourceIterable withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The date from which you'd like to replicate data for Iterable, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public SourceIterable withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceIterable other = (SourceIterable) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceIterable.class, + "apiKey", apiKey, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String apiKey; + + private OffsetDateTime startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Iterable API Key. See the <a href="https://docs.airbyte.com/integrations/sources/iterable">docs</a> for more information on how to obtain this key. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The date from which you'd like to replicate data for Iterable, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceIterable build() { + return new SourceIterable( + apiKey, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"iterable\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceJira.java b/src/main/java/com/airbyte/api/models/shared/SourceJira.java new file mode 100644 index 000000000..a7c317950 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceJira.java @@ -0,0 +1,720 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceJira { + + /** + * Jira API Token. See the <a href="https://docs.airbyte.com/integrations/sources/jira">docs</a> for more information on how to generate this key. API Token is used for Authorization to your account by BasicAuth. + */ + @JsonProperty("api_token") + private String apiToken; + + /** + * The Domain for your Jira account, e.g. airbyteio.atlassian.net, airbyteio.jira.com, jira.your-domain.com + */ + @JsonProperty("domain") + private String domain; + + /** + * The user email for your Jira account which you used to generate the API token. This field is used for Authorization to your account by BasicAuth. + */ + @JsonProperty("email") + private String email; + + /** + * Allow the use of experimental streams which rely on undocumented Jira API endpoints. See https://docs.airbyte.com/integrations/sources/jira#experimental-tables for more info. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("enable_experimental_streams") + private Optional enableExperimentalStreams; + + /** + * (DEPRECATED) Expand the changelog when replicating issues. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("expand_issue_changelog") + private Optional expandIssueChangelog; + + /** + * (DEPRECATED) Expand the transitions when replicating issues. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("expand_issue_transition") + private Optional expandIssueTransition; + + /** + * Select fields to Expand the `Issues` stream when replicating with: + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("issues_stream_expand_with") + private Optional> issuesStreamExpandWith; + + /** + * When set to N, the connector will always refresh resources created within the past N minutes. By default, updated objects that are not newly created are not incrementally synced. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lookback_window_minutes") + private Optional lookbackWindowMinutes; + + /** + * List of Jira project keys to replicate data for, or leave it empty if you want to replicate data for all projects. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("projects") + private Optional> projects; + + /** + * (DEPRECATED) Render issue fields in HTML format in addition to Jira JSON-like format. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("render_fields") + private Optional renderFields; + + @JsonProperty("sourceType") + private Jira sourceType; + + /** + * The date from which you want to replicate data from Jira, use the format YYYY-MM-DDT00:00:00Z. Note that this field only applies to certain streams, and only data generated on or after the start date will be replicated. Or leave it empty if you want to replicate all data. For more information, refer to the <a href="https://docs.airbyte.com/integrations/sources/jira/">documentation</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceJira( + @JsonProperty("api_token") String apiToken, + @JsonProperty("domain") String domain, + @JsonProperty("email") String email, + @JsonProperty("enable_experimental_streams") Optional enableExperimentalStreams, + @JsonProperty("expand_issue_changelog") Optional expandIssueChangelog, + @JsonProperty("expand_issue_transition") Optional expandIssueTransition, + @JsonProperty("issues_stream_expand_with") Optional> issuesStreamExpandWith, + @JsonProperty("lookback_window_minutes") Optional lookbackWindowMinutes, + @JsonProperty("projects") Optional> projects, + @JsonProperty("render_fields") Optional renderFields, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(apiToken, "apiToken"); + Utils.checkNotNull(domain, "domain"); + Utils.checkNotNull(email, "email"); + Utils.checkNotNull(enableExperimentalStreams, "enableExperimentalStreams"); + Utils.checkNotNull(expandIssueChangelog, "expandIssueChangelog"); + Utils.checkNotNull(expandIssueTransition, "expandIssueTransition"); + Utils.checkNotNull(issuesStreamExpandWith, "issuesStreamExpandWith"); + Utils.checkNotNull(lookbackWindowMinutes, "lookbackWindowMinutes"); + Utils.checkNotNull(projects, "projects"); + Utils.checkNotNull(renderFields, "renderFields"); + Utils.checkNotNull(startDate, "startDate"); + this.apiToken = apiToken; + this.domain = domain; + this.email = email; + this.enableExperimentalStreams = enableExperimentalStreams; + this.expandIssueChangelog = expandIssueChangelog; + this.expandIssueTransition = expandIssueTransition; + this.issuesStreamExpandWith = issuesStreamExpandWith; + this.lookbackWindowMinutes = lookbackWindowMinutes; + this.projects = projects; + this.renderFields = renderFields; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Jira API Token. See the <a href="https://docs.airbyte.com/integrations/sources/jira">docs</a> for more information on how to generate this key. API Token is used for Authorization to your account by BasicAuth. + */ + public String apiToken() { + return apiToken; + } + + /** + * The Domain for your Jira account, e.g. airbyteio.atlassian.net, airbyteio.jira.com, jira.your-domain.com + */ + public String domain() { + return domain; + } + + /** + * The user email for your Jira account which you used to generate the API token. This field is used for Authorization to your account by BasicAuth. + */ + public String email() { + return email; + } + + /** + * Allow the use of experimental streams which rely on undocumented Jira API endpoints. See https://docs.airbyte.com/integrations/sources/jira#experimental-tables for more info. + */ + public Optional enableExperimentalStreams() { + return enableExperimentalStreams; + } + + /** + * (DEPRECATED) Expand the changelog when replicating issues. + */ + public Optional expandIssueChangelog() { + return expandIssueChangelog; + } + + /** + * (DEPRECATED) Expand the transitions when replicating issues. + */ + public Optional expandIssueTransition() { + return expandIssueTransition; + } + + /** + * Select fields to Expand the `Issues` stream when replicating with: + */ + public Optional> issuesStreamExpandWith() { + return issuesStreamExpandWith; + } + + /** + * When set to N, the connector will always refresh resources created within the past N minutes. By default, updated objects that are not newly created are not incrementally synced. + */ + public Optional lookbackWindowMinutes() { + return lookbackWindowMinutes; + } + + /** + * List of Jira project keys to replicate data for, or leave it empty if you want to replicate data for all projects. + */ + public Optional> projects() { + return projects; + } + + /** + * (DEPRECATED) Render issue fields in HTML format in addition to Jira JSON-like format. + */ + public Optional renderFields() { + return renderFields; + } + + public Jira sourceType() { + return sourceType; + } + + /** + * The date from which you want to replicate data from Jira, use the format YYYY-MM-DDT00:00:00Z. Note that this field only applies to certain streams, and only data generated on or after the start date will be replicated. Or leave it empty if you want to replicate all data. For more information, refer to the <a href="https://docs.airbyte.com/integrations/sources/jira/">documentation</a>. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Jira API Token. See the <a href="https://docs.airbyte.com/integrations/sources/jira">docs</a> for more information on how to generate this key. API Token is used for Authorization to your account by BasicAuth. + */ + public SourceJira withApiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + /** + * The Domain for your Jira account, e.g. airbyteio.atlassian.net, airbyteio.jira.com, jira.your-domain.com + */ + public SourceJira withDomain(String domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = domain; + return this; + } + + /** + * The user email for your Jira account which you used to generate the API token. This field is used for Authorization to your account by BasicAuth. + */ + public SourceJira withEmail(String email) { + Utils.checkNotNull(email, "email"); + this.email = email; + return this; + } + + /** + * Allow the use of experimental streams which rely on undocumented Jira API endpoints. See https://docs.airbyte.com/integrations/sources/jira#experimental-tables for more info. + */ + public SourceJira withEnableExperimentalStreams(boolean enableExperimentalStreams) { + Utils.checkNotNull(enableExperimentalStreams, "enableExperimentalStreams"); + this.enableExperimentalStreams = Optional.ofNullable(enableExperimentalStreams); + return this; + } + + /** + * Allow the use of experimental streams which rely on undocumented Jira API endpoints. See https://docs.airbyte.com/integrations/sources/jira#experimental-tables for more info. + */ + public SourceJira withEnableExperimentalStreams(Optional enableExperimentalStreams) { + Utils.checkNotNull(enableExperimentalStreams, "enableExperimentalStreams"); + this.enableExperimentalStreams = enableExperimentalStreams; + return this; + } + + /** + * (DEPRECATED) Expand the changelog when replicating issues. + */ + public SourceJira withExpandIssueChangelog(boolean expandIssueChangelog) { + Utils.checkNotNull(expandIssueChangelog, "expandIssueChangelog"); + this.expandIssueChangelog = Optional.ofNullable(expandIssueChangelog); + return this; + } + + /** + * (DEPRECATED) Expand the changelog when replicating issues. + */ + public SourceJira withExpandIssueChangelog(Optional expandIssueChangelog) { + Utils.checkNotNull(expandIssueChangelog, "expandIssueChangelog"); + this.expandIssueChangelog = expandIssueChangelog; + return this; + } + + /** + * (DEPRECATED) Expand the transitions when replicating issues. + */ + public SourceJira withExpandIssueTransition(boolean expandIssueTransition) { + Utils.checkNotNull(expandIssueTransition, "expandIssueTransition"); + this.expandIssueTransition = Optional.ofNullable(expandIssueTransition); + return this; + } + + /** + * (DEPRECATED) Expand the transitions when replicating issues. + */ + public SourceJira withExpandIssueTransition(Optional expandIssueTransition) { + Utils.checkNotNull(expandIssueTransition, "expandIssueTransition"); + this.expandIssueTransition = expandIssueTransition; + return this; + } + + /** + * Select fields to Expand the `Issues` stream when replicating with: + */ + public SourceJira withIssuesStreamExpandWith(java.util.List issuesStreamExpandWith) { + Utils.checkNotNull(issuesStreamExpandWith, "issuesStreamExpandWith"); + this.issuesStreamExpandWith = Optional.ofNullable(issuesStreamExpandWith); + return this; + } + + /** + * Select fields to Expand the `Issues` stream when replicating with: + */ + public SourceJira withIssuesStreamExpandWith(Optional> issuesStreamExpandWith) { + Utils.checkNotNull(issuesStreamExpandWith, "issuesStreamExpandWith"); + this.issuesStreamExpandWith = issuesStreamExpandWith; + return this; + } + + /** + * When set to N, the connector will always refresh resources created within the past N minutes. By default, updated objects that are not newly created are not incrementally synced. + */ + public SourceJira withLookbackWindowMinutes(long lookbackWindowMinutes) { + Utils.checkNotNull(lookbackWindowMinutes, "lookbackWindowMinutes"); + this.lookbackWindowMinutes = Optional.ofNullable(lookbackWindowMinutes); + return this; + } + + /** + * When set to N, the connector will always refresh resources created within the past N minutes. By default, updated objects that are not newly created are not incrementally synced. + */ + public SourceJira withLookbackWindowMinutes(Optional lookbackWindowMinutes) { + Utils.checkNotNull(lookbackWindowMinutes, "lookbackWindowMinutes"); + this.lookbackWindowMinutes = lookbackWindowMinutes; + return this; + } + + /** + * List of Jira project keys to replicate data for, or leave it empty if you want to replicate data for all projects. + */ + public SourceJira withProjects(java.util.List projects) { + Utils.checkNotNull(projects, "projects"); + this.projects = Optional.ofNullable(projects); + return this; + } + + /** + * List of Jira project keys to replicate data for, or leave it empty if you want to replicate data for all projects. + */ + public SourceJira withProjects(Optional> projects) { + Utils.checkNotNull(projects, "projects"); + this.projects = projects; + return this; + } + + /** + * (DEPRECATED) Render issue fields in HTML format in addition to Jira JSON-like format. + */ + public SourceJira withRenderFields(boolean renderFields) { + Utils.checkNotNull(renderFields, "renderFields"); + this.renderFields = Optional.ofNullable(renderFields); + return this; + } + + /** + * (DEPRECATED) Render issue fields in HTML format in addition to Jira JSON-like format. + */ + public SourceJira withRenderFields(Optional renderFields) { + Utils.checkNotNull(renderFields, "renderFields"); + this.renderFields = renderFields; + return this; + } + + /** + * The date from which you want to replicate data from Jira, use the format YYYY-MM-DDT00:00:00Z. Note that this field only applies to certain streams, and only data generated on or after the start date will be replicated. Or leave it empty if you want to replicate all data. For more information, refer to the <a href="https://docs.airbyte.com/integrations/sources/jira/">documentation</a>. + */ + public SourceJira withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date from which you want to replicate data from Jira, use the format YYYY-MM-DDT00:00:00Z. Note that this field only applies to certain streams, and only data generated on or after the start date will be replicated. Or leave it empty if you want to replicate all data. For more information, refer to the <a href="https://docs.airbyte.com/integrations/sources/jira/">documentation</a>. + */ + public SourceJira withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceJira other = (SourceJira) o; + return + java.util.Objects.deepEquals(this.apiToken, other.apiToken) && + java.util.Objects.deepEquals(this.domain, other.domain) && + java.util.Objects.deepEquals(this.email, other.email) && + java.util.Objects.deepEquals(this.enableExperimentalStreams, other.enableExperimentalStreams) && + java.util.Objects.deepEquals(this.expandIssueChangelog, other.expandIssueChangelog) && + java.util.Objects.deepEquals(this.expandIssueTransition, other.expandIssueTransition) && + java.util.Objects.deepEquals(this.issuesStreamExpandWith, other.issuesStreamExpandWith) && + java.util.Objects.deepEquals(this.lookbackWindowMinutes, other.lookbackWindowMinutes) && + java.util.Objects.deepEquals(this.projects, other.projects) && + java.util.Objects.deepEquals(this.renderFields, other.renderFields) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiToken, + domain, + email, + enableExperimentalStreams, + expandIssueChangelog, + expandIssueTransition, + issuesStreamExpandWith, + lookbackWindowMinutes, + projects, + renderFields, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceJira.class, + "apiToken", apiToken, + "domain", domain, + "email", email, + "enableExperimentalStreams", enableExperimentalStreams, + "expandIssueChangelog", expandIssueChangelog, + "expandIssueTransition", expandIssueTransition, + "issuesStreamExpandWith", issuesStreamExpandWith, + "lookbackWindowMinutes", lookbackWindowMinutes, + "projects", projects, + "renderFields", renderFields, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String apiToken; + + private String domain; + + private String email; + + private Optional enableExperimentalStreams; + + private Optional expandIssueChangelog; + + private Optional expandIssueTransition; + + private Optional> issuesStreamExpandWith = Optional.empty(); + + private Optional lookbackWindowMinutes; + + private Optional> projects = Optional.empty(); + + private Optional renderFields; + + private Optional startDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Jira API Token. See the <a href="https://docs.airbyte.com/integrations/sources/jira">docs</a> for more information on how to generate this key. API Token is used for Authorization to your account by BasicAuth. + */ + public Builder apiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + /** + * The Domain for your Jira account, e.g. airbyteio.atlassian.net, airbyteio.jira.com, jira.your-domain.com + */ + public Builder domain(String domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = domain; + return this; + } + + /** + * The user email for your Jira account which you used to generate the API token. This field is used for Authorization to your account by BasicAuth. + */ + public Builder email(String email) { + Utils.checkNotNull(email, "email"); + this.email = email; + return this; + } + + /** + * Allow the use of experimental streams which rely on undocumented Jira API endpoints. See https://docs.airbyte.com/integrations/sources/jira#experimental-tables for more info. + */ + public Builder enableExperimentalStreams(boolean enableExperimentalStreams) { + Utils.checkNotNull(enableExperimentalStreams, "enableExperimentalStreams"); + this.enableExperimentalStreams = Optional.ofNullable(enableExperimentalStreams); + return this; + } + + /** + * Allow the use of experimental streams which rely on undocumented Jira API endpoints. See https://docs.airbyte.com/integrations/sources/jira#experimental-tables for more info. + */ + public Builder enableExperimentalStreams(Optional enableExperimentalStreams) { + Utils.checkNotNull(enableExperimentalStreams, "enableExperimentalStreams"); + this.enableExperimentalStreams = enableExperimentalStreams; + return this; + } + + /** + * (DEPRECATED) Expand the changelog when replicating issues. + */ + public Builder expandIssueChangelog(boolean expandIssueChangelog) { + Utils.checkNotNull(expandIssueChangelog, "expandIssueChangelog"); + this.expandIssueChangelog = Optional.ofNullable(expandIssueChangelog); + return this; + } + + /** + * (DEPRECATED) Expand the changelog when replicating issues. + */ + public Builder expandIssueChangelog(Optional expandIssueChangelog) { + Utils.checkNotNull(expandIssueChangelog, "expandIssueChangelog"); + this.expandIssueChangelog = expandIssueChangelog; + return this; + } + + /** + * (DEPRECATED) Expand the transitions when replicating issues. + */ + public Builder expandIssueTransition(boolean expandIssueTransition) { + Utils.checkNotNull(expandIssueTransition, "expandIssueTransition"); + this.expandIssueTransition = Optional.ofNullable(expandIssueTransition); + return this; + } + + /** + * (DEPRECATED) Expand the transitions when replicating issues. + */ + public Builder expandIssueTransition(Optional expandIssueTransition) { + Utils.checkNotNull(expandIssueTransition, "expandIssueTransition"); + this.expandIssueTransition = expandIssueTransition; + return this; + } + + /** + * Select fields to Expand the `Issues` stream when replicating with: + */ + public Builder issuesStreamExpandWith(java.util.List issuesStreamExpandWith) { + Utils.checkNotNull(issuesStreamExpandWith, "issuesStreamExpandWith"); + this.issuesStreamExpandWith = Optional.ofNullable(issuesStreamExpandWith); + return this; + } + + /** + * Select fields to Expand the `Issues` stream when replicating with: + */ + public Builder issuesStreamExpandWith(Optional> issuesStreamExpandWith) { + Utils.checkNotNull(issuesStreamExpandWith, "issuesStreamExpandWith"); + this.issuesStreamExpandWith = issuesStreamExpandWith; + return this; + } + + /** + * When set to N, the connector will always refresh resources created within the past N minutes. By default, updated objects that are not newly created are not incrementally synced. + */ + public Builder lookbackWindowMinutes(long lookbackWindowMinutes) { + Utils.checkNotNull(lookbackWindowMinutes, "lookbackWindowMinutes"); + this.lookbackWindowMinutes = Optional.ofNullable(lookbackWindowMinutes); + return this; + } + + /** + * When set to N, the connector will always refresh resources created within the past N minutes. By default, updated objects that are not newly created are not incrementally synced. + */ + public Builder lookbackWindowMinutes(Optional lookbackWindowMinutes) { + Utils.checkNotNull(lookbackWindowMinutes, "lookbackWindowMinutes"); + this.lookbackWindowMinutes = lookbackWindowMinutes; + return this; + } + + /** + * List of Jira project keys to replicate data for, or leave it empty if you want to replicate data for all projects. + */ + public Builder projects(java.util.List projects) { + Utils.checkNotNull(projects, "projects"); + this.projects = Optional.ofNullable(projects); + return this; + } + + /** + * List of Jira project keys to replicate data for, or leave it empty if you want to replicate data for all projects. + */ + public Builder projects(Optional> projects) { + Utils.checkNotNull(projects, "projects"); + this.projects = projects; + return this; + } + + /** + * (DEPRECATED) Render issue fields in HTML format in addition to Jira JSON-like format. + */ + public Builder renderFields(boolean renderFields) { + Utils.checkNotNull(renderFields, "renderFields"); + this.renderFields = Optional.ofNullable(renderFields); + return this; + } + + /** + * (DEPRECATED) Render issue fields in HTML format in addition to Jira JSON-like format. + */ + public Builder renderFields(Optional renderFields) { + Utils.checkNotNull(renderFields, "renderFields"); + this.renderFields = renderFields; + return this; + } + + /** + * The date from which you want to replicate data from Jira, use the format YYYY-MM-DDT00:00:00Z. Note that this field only applies to certain streams, and only data generated on or after the start date will be replicated. Or leave it empty if you want to replicate all data. For more information, refer to the <a href="https://docs.airbyte.com/integrations/sources/jira/">documentation</a>. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date from which you want to replicate data from Jira, use the format YYYY-MM-DDT00:00:00Z. Note that this field only applies to certain streams, and only data generated on or after the start date will be replicated. Or leave it empty if you want to replicate all data. For more information, refer to the <a href="https://docs.airbyte.com/integrations/sources/jira/">documentation</a>. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceJira build() { + if (enableExperimentalStreams == null) { + enableExperimentalStreams = _SINGLETON_VALUE_EnableExperimentalStreams.value(); + } + if (expandIssueChangelog == null) { + expandIssueChangelog = _SINGLETON_VALUE_ExpandIssueChangelog.value(); + } + if (expandIssueTransition == null) { + expandIssueTransition = _SINGLETON_VALUE_ExpandIssueTransition.value(); + } + if (lookbackWindowMinutes == null) { + lookbackWindowMinutes = _SINGLETON_VALUE_LookbackWindowMinutes.value(); + } + if (renderFields == null) { + renderFields = _SINGLETON_VALUE_RenderFields.value(); + } + return new SourceJira( + apiToken, + domain, + email, + enableExperimentalStreams, + expandIssueChangelog, + expandIssueTransition, + issuesStreamExpandWith, + lookbackWindowMinutes, + projects, + renderFields, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_EnableExperimentalStreams = + new LazySingletonValue<>( + "enable_experimental_streams", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ExpandIssueChangelog = + new LazySingletonValue<>( + "expand_issue_changelog", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ExpandIssueTransition = + new LazySingletonValue<>( + "expand_issue_transition", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_LookbackWindowMinutes = + new LazySingletonValue<>( + "lookback_window_minutes", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_RenderFields = + new LazySingletonValue<>( + "render_fields", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"jira\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceK6Cloud.java b/src/main/java/com/airbyte/api/models/shared/SourceK6Cloud.java new file mode 100644 index 000000000..1bdcafa40 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceK6Cloud.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceK6Cloud { + + /** + * Your API Token. See <a href="https://k6.io/docs/cloud/integrations/token/">here</a>. The key is case sensitive. + */ + @JsonProperty("api_token") + private String apiToken; + + @JsonProperty("sourceType") + private K6Cloud sourceType; + + public SourceK6Cloud( + @JsonProperty("api_token") String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Your API Token. See <a href="https://k6.io/docs/cloud/integrations/token/">here</a>. The key is case sensitive. + */ + public String apiToken() { + return apiToken; + } + + public K6Cloud sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your API Token. See <a href="https://k6.io/docs/cloud/integrations/token/">here</a>. The key is case sensitive. + */ + public SourceK6Cloud withApiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceK6Cloud other = (SourceK6Cloud) o; + return + java.util.Objects.deepEquals(this.apiToken, other.apiToken) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiToken, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceK6Cloud.class, + "apiToken", apiToken, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiToken; + + private Builder() { + // force use of static builder() method + } + + /** + * Your API Token. See <a href="https://k6.io/docs/cloud/integrations/token/">here</a>. The key is case sensitive. + */ + public Builder apiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + public SourceK6Cloud build() { + return new SourceK6Cloud( + apiToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"k6-cloud\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceKlarna.java b/src/main/java/com/airbyte/api/models/shared/SourceKlarna.java new file mode 100644 index 000000000..f557c2e4c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceKlarna.java @@ -0,0 +1,268 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceKlarna { + + /** + * A string which is associated with your Merchant ID and is used to authorize use of Klarna's APIs (https://developers.klarna.com/api/#authentication) + */ + @JsonProperty("password") + private String password; + + /** + * Propertie defining if connector is used against playground or production environment + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("playground") + private Optional playground; + + /** + * Base url region (For playground eu https://docs.klarna.com/klarna-payments/api/payments-api/#tag/API-URLs). Supported 'eu', 'us', 'oc' + */ + @JsonProperty("region") + private SourceKlarnaRegion region; + + @JsonProperty("sourceType") + private Klarna sourceType; + + /** + * Consists of your Merchant ID (eid) - a unique number that identifies your e-store, combined with a random string (https://developers.klarna.com/api/#authentication) + */ + @JsonProperty("username") + private String username; + + public SourceKlarna( + @JsonProperty("password") String password, + @JsonProperty("playground") Optional playground, + @JsonProperty("region") SourceKlarnaRegion region, + @JsonProperty("username") String username) { + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(playground, "playground"); + Utils.checkNotNull(region, "region"); + Utils.checkNotNull(username, "username"); + this.password = password; + this.playground = playground; + this.region = region; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.username = username; + } + + /** + * A string which is associated with your Merchant ID and is used to authorize use of Klarna's APIs (https://developers.klarna.com/api/#authentication) + */ + public String password() { + return password; + } + + /** + * Propertie defining if connector is used against playground or production environment + */ + public Optional playground() { + return playground; + } + + /** + * Base url region (For playground eu https://docs.klarna.com/klarna-payments/api/payments-api/#tag/API-URLs). Supported 'eu', 'us', 'oc' + */ + public SourceKlarnaRegion region() { + return region; + } + + public Klarna sourceType() { + return sourceType; + } + + /** + * Consists of your Merchant ID (eid) - a unique number that identifies your e-store, combined with a random string (https://developers.klarna.com/api/#authentication) + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * A string which is associated with your Merchant ID and is used to authorize use of Klarna's APIs (https://developers.klarna.com/api/#authentication) + */ + public SourceKlarna withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Propertie defining if connector is used against playground or production environment + */ + public SourceKlarna withPlayground(boolean playground) { + Utils.checkNotNull(playground, "playground"); + this.playground = Optional.ofNullable(playground); + return this; + } + + /** + * Propertie defining if connector is used against playground or production environment + */ + public SourceKlarna withPlayground(Optional playground) { + Utils.checkNotNull(playground, "playground"); + this.playground = playground; + return this; + } + + /** + * Base url region (For playground eu https://docs.klarna.com/klarna-payments/api/payments-api/#tag/API-URLs). Supported 'eu', 'us', 'oc' + */ + public SourceKlarna withRegion(SourceKlarnaRegion region) { + Utils.checkNotNull(region, "region"); + this.region = region; + return this; + } + + /** + * Consists of your Merchant ID (eid) - a unique number that identifies your e-store, combined with a random string (https://developers.klarna.com/api/#authentication) + */ + public SourceKlarna withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceKlarna other = (SourceKlarna) o; + return + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.playground, other.playground) && + java.util.Objects.deepEquals(this.region, other.region) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + password, + playground, + region, + sourceType, + username); + } + + @Override + public String toString() { + return Utils.toString(SourceKlarna.class, + "password", password, + "playground", playground, + "region", region, + "sourceType", sourceType, + "username", username); + } + + public final static class Builder { + + private String password; + + private Optional playground; + + private SourceKlarnaRegion region; + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * A string which is associated with your Merchant ID and is used to authorize use of Klarna's APIs (https://developers.klarna.com/api/#authentication) + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Propertie defining if connector is used against playground or production environment + */ + public Builder playground(boolean playground) { + Utils.checkNotNull(playground, "playground"); + this.playground = Optional.ofNullable(playground); + return this; + } + + /** + * Propertie defining if connector is used against playground or production environment + */ + public Builder playground(Optional playground) { + Utils.checkNotNull(playground, "playground"); + this.playground = playground; + return this; + } + + /** + * Base url region (For playground eu https://docs.klarna.com/klarna-payments/api/payments-api/#tag/API-URLs). Supported 'eu', 'us', 'oc' + */ + public Builder region(SourceKlarnaRegion region) { + Utils.checkNotNull(region, "region"); + this.region = region; + return this; + } + + /** + * Consists of your Merchant ID (eid) - a unique number that identifies your e-store, combined with a random string (https://developers.klarna.com/api/#authentication) + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public SourceKlarna build() { + if (playground == null) { + playground = _SINGLETON_VALUE_Playground.value(); + } + return new SourceKlarna( + password, + playground, + region, + username); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Playground = + new LazySingletonValue<>( + "playground", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"klarna\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceKlarnaRegion.java b/src/main/java/com/airbyte/api/models/shared/SourceKlarnaRegion.java new file mode 100644 index 000000000..ab16a572f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceKlarnaRegion.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceKlarnaRegion - Base url region (For playground eu https://docs.klarna.com/klarna-payments/api/payments-api/#tag/API-URLs). Supported 'eu', 'us', 'oc' + */ +public enum SourceKlarnaRegion { + EU("eu"), + US("us"), + OC("oc"); + + @JsonValue + private final String value; + + private SourceKlarnaRegion(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceKlaviyo.java b/src/main/java/com/airbyte/api/models/shared/SourceKlaviyo.java new file mode 100644 index 000000000..9665458d5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceKlaviyo.java @@ -0,0 +1,182 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceKlaviyo { + + /** + * Klaviyo API Key. See our <a href="https://docs.airbyte.com/integrations/sources/klaviyo">docs</a> if you need help finding this key. + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private Klaviyo sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. This field is optional - if not provided, all data will be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceKlaviyo( + @JsonProperty("api_key") String apiKey, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(startDate, "startDate"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Klaviyo API Key. See our <a href="https://docs.airbyte.com/integrations/sources/klaviyo">docs</a> if you need help finding this key. + */ + public String apiKey() { + return apiKey; + } + + public Klaviyo sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. This field is optional - if not provided, all data will be replicated. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Klaviyo API Key. See our <a href="https://docs.airbyte.com/integrations/sources/klaviyo">docs</a> if you need help finding this key. + */ + public SourceKlaviyo withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. This field is optional - if not provided, all data will be replicated. + */ + public SourceKlaviyo withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. This field is optional - if not provided, all data will be replicated. + */ + public SourceKlaviyo withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceKlaviyo other = (SourceKlaviyo) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceKlaviyo.class, + "apiKey", apiKey, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String apiKey; + + private Optional startDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Klaviyo API Key. See our <a href="https://docs.airbyte.com/integrations/sources/klaviyo">docs</a> if you need help finding this key. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. This field is optional - if not provided, all data will be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. This field is optional - if not provided, all data will be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceKlaviyo build() { + return new SourceKlaviyo( + apiKey, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"klaviyo\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceKyve.java b/src/main/java/com/airbyte/api/models/shared/SourceKyve.java new file mode 100644 index 000000000..a08881e48 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceKyve.java @@ -0,0 +1,355 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceKyve { + + /** + * The maximum amount of pages to go trough. Set to 'null' for all pages. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("max_pages") + private Optional maxPages; + + /** + * The pagesize for pagination, smaller numbers are used in integration tests. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("page_size") + private Optional pageSize; + + /** + * The IDs of the KYVE storage pool you want to archive. (Comma separated) + */ + @JsonProperty("pool_ids") + private String poolIds; + + @JsonProperty("sourceType") + private Kyve sourceType; + + /** + * The start-id defines, from which bundle id the pipeline should start to extract the data. (Comma separated) + */ + @JsonProperty("start_ids") + private String startIds; + + /** + * URL to the KYVE Chain API. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("url_base") + private Optional urlBase; + + public SourceKyve( + @JsonProperty("max_pages") Optional maxPages, + @JsonProperty("page_size") Optional pageSize, + @JsonProperty("pool_ids") String poolIds, + @JsonProperty("start_ids") String startIds, + @JsonProperty("url_base") Optional urlBase) { + Utils.checkNotNull(maxPages, "maxPages"); + Utils.checkNotNull(pageSize, "pageSize"); + Utils.checkNotNull(poolIds, "poolIds"); + Utils.checkNotNull(startIds, "startIds"); + Utils.checkNotNull(urlBase, "urlBase"); + this.maxPages = maxPages; + this.pageSize = pageSize; + this.poolIds = poolIds; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startIds = startIds; + this.urlBase = urlBase; + } + + /** + * The maximum amount of pages to go trough. Set to 'null' for all pages. + */ + public Optional maxPages() { + return maxPages; + } + + /** + * The pagesize for pagination, smaller numbers are used in integration tests. + */ + public Optional pageSize() { + return pageSize; + } + + /** + * The IDs of the KYVE storage pool you want to archive. (Comma separated) + */ + public String poolIds() { + return poolIds; + } + + public Kyve sourceType() { + return sourceType; + } + + /** + * The start-id defines, from which bundle id the pipeline should start to extract the data. (Comma separated) + */ + public String startIds() { + return startIds; + } + + /** + * URL to the KYVE Chain API. + */ + public Optional urlBase() { + return urlBase; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The maximum amount of pages to go trough. Set to 'null' for all pages. + */ + public SourceKyve withMaxPages(long maxPages) { + Utils.checkNotNull(maxPages, "maxPages"); + this.maxPages = Optional.ofNullable(maxPages); + return this; + } + + /** + * The maximum amount of pages to go trough. Set to 'null' for all pages. + */ + public SourceKyve withMaxPages(Optional maxPages) { + Utils.checkNotNull(maxPages, "maxPages"); + this.maxPages = maxPages; + return this; + } + + /** + * The pagesize for pagination, smaller numbers are used in integration tests. + */ + public SourceKyve withPageSize(long pageSize) { + Utils.checkNotNull(pageSize, "pageSize"); + this.pageSize = Optional.ofNullable(pageSize); + return this; + } + + /** + * The pagesize for pagination, smaller numbers are used in integration tests. + */ + public SourceKyve withPageSize(Optional pageSize) { + Utils.checkNotNull(pageSize, "pageSize"); + this.pageSize = pageSize; + return this; + } + + /** + * The IDs of the KYVE storage pool you want to archive. (Comma separated) + */ + public SourceKyve withPoolIds(String poolIds) { + Utils.checkNotNull(poolIds, "poolIds"); + this.poolIds = poolIds; + return this; + } + + /** + * The start-id defines, from which bundle id the pipeline should start to extract the data. (Comma separated) + */ + public SourceKyve withStartIds(String startIds) { + Utils.checkNotNull(startIds, "startIds"); + this.startIds = startIds; + return this; + } + + /** + * URL to the KYVE Chain API. + */ + public SourceKyve withUrlBase(String urlBase) { + Utils.checkNotNull(urlBase, "urlBase"); + this.urlBase = Optional.ofNullable(urlBase); + return this; + } + + /** + * URL to the KYVE Chain API. + */ + public SourceKyve withUrlBase(Optional urlBase) { + Utils.checkNotNull(urlBase, "urlBase"); + this.urlBase = urlBase; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceKyve other = (SourceKyve) o; + return + java.util.Objects.deepEquals(this.maxPages, other.maxPages) && + java.util.Objects.deepEquals(this.pageSize, other.pageSize) && + java.util.Objects.deepEquals(this.poolIds, other.poolIds) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startIds, other.startIds) && + java.util.Objects.deepEquals(this.urlBase, other.urlBase); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + maxPages, + pageSize, + poolIds, + sourceType, + startIds, + urlBase); + } + + @Override + public String toString() { + return Utils.toString(SourceKyve.class, + "maxPages", maxPages, + "pageSize", pageSize, + "poolIds", poolIds, + "sourceType", sourceType, + "startIds", startIds, + "urlBase", urlBase); + } + + public final static class Builder { + + private Optional maxPages = Optional.empty(); + + private Optional pageSize; + + private String poolIds; + + private String startIds; + + private Optional urlBase; + + private Builder() { + // force use of static builder() method + } + + /** + * The maximum amount of pages to go trough. Set to 'null' for all pages. + */ + public Builder maxPages(long maxPages) { + Utils.checkNotNull(maxPages, "maxPages"); + this.maxPages = Optional.ofNullable(maxPages); + return this; + } + + /** + * The maximum amount of pages to go trough. Set to 'null' for all pages. + */ + public Builder maxPages(Optional maxPages) { + Utils.checkNotNull(maxPages, "maxPages"); + this.maxPages = maxPages; + return this; + } + + /** + * The pagesize for pagination, smaller numbers are used in integration tests. + */ + public Builder pageSize(long pageSize) { + Utils.checkNotNull(pageSize, "pageSize"); + this.pageSize = Optional.ofNullable(pageSize); + return this; + } + + /** + * The pagesize for pagination, smaller numbers are used in integration tests. + */ + public Builder pageSize(Optional pageSize) { + Utils.checkNotNull(pageSize, "pageSize"); + this.pageSize = pageSize; + return this; + } + + /** + * The IDs of the KYVE storage pool you want to archive. (Comma separated) + */ + public Builder poolIds(String poolIds) { + Utils.checkNotNull(poolIds, "poolIds"); + this.poolIds = poolIds; + return this; + } + + /** + * The start-id defines, from which bundle id the pipeline should start to extract the data. (Comma separated) + */ + public Builder startIds(String startIds) { + Utils.checkNotNull(startIds, "startIds"); + this.startIds = startIds; + return this; + } + + /** + * URL to the KYVE Chain API. + */ + public Builder urlBase(String urlBase) { + Utils.checkNotNull(urlBase, "urlBase"); + this.urlBase = Optional.ofNullable(urlBase); + return this; + } + + /** + * URL to the KYVE Chain API. + */ + public Builder urlBase(Optional urlBase) { + Utils.checkNotNull(urlBase, "urlBase"); + this.urlBase = urlBase; + return this; + } + + public SourceKyve build() { + if (pageSize == null) { + pageSize = _SINGLETON_VALUE_PageSize.value(); + } + if (urlBase == null) { + urlBase = _SINGLETON_VALUE_UrlBase.value(); + } + return new SourceKyve( + maxPages, + pageSize, + poolIds, + startIds, + urlBase); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_PageSize = + new LazySingletonValue<>( + "page_size", + "100", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"kyve\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_UrlBase = + new LazySingletonValue<>( + "url_base", + "\"https://api.kyve.network\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLaunchdarkly.java b/src/main/java/com/airbyte/api/models/shared/SourceLaunchdarkly.java new file mode 100644 index 000000000..fec056b5a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLaunchdarkly.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceLaunchdarkly { + + /** + * Your Access token. See <a href="https://apidocs.launchdarkly.com/#section/Overview/Authentication">here</a>. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonProperty("sourceType") + private Launchdarkly sourceType; + + public SourceLaunchdarkly( + @JsonProperty("access_token") String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Your Access token. See <a href="https://apidocs.launchdarkly.com/#section/Overview/Authentication">here</a>. + */ + public String accessToken() { + return accessToken; + } + + public Launchdarkly sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your Access token. See <a href="https://apidocs.launchdarkly.com/#section/Overview/Authentication">here</a>. + */ + public SourceLaunchdarkly withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceLaunchdarkly other = (SourceLaunchdarkly) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceLaunchdarkly.class, + "accessToken", accessToken, + "sourceType", sourceType); + } + + public final static class Builder { + + private String accessToken; + + private Builder() { + // force use of static builder() method + } + + /** + * Your Access token. See <a href="https://apidocs.launchdarkly.com/#section/Overview/Authentication">here</a>. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + public SourceLaunchdarkly build() { + return new SourceLaunchdarkly( + accessToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"launchdarkly\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLemlist.java b/src/main/java/com/airbyte/api/models/shared/SourceLemlist.java new file mode 100644 index 000000000..b253d3bed --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLemlist.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceLemlist { + + /** + * Lemlist API key, + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private Lemlist sourceType; + + public SourceLemlist( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Lemlist API key, + */ + public String apiKey() { + return apiKey; + } + + public Lemlist sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Lemlist API key, + */ + public SourceLemlist withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceLemlist other = (SourceLemlist) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceLemlist.class, + "apiKey", apiKey, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * Lemlist API key, + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public SourceLemlist build() { + return new SourceLemlist( + apiKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"lemlist\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLeverHiring.java b/src/main/java/com/airbyte/api/models/shared/SourceLeverHiring.java new file mode 100644 index 000000000..e567b3731 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLeverHiring.java @@ -0,0 +1,247 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceLeverHiring { + + /** + * Choose how to authenticate to Lever Hiring. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + /** + * The environment in which you'd like to replicate data for Lever. This is used to determine which Lever API endpoint to use. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("environment") + private Optional environment; + + @JsonProperty("sourceType") + private SourceLeverHiringLeverHiring sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. Note that it will be used only in the following incremental streams: comments, commits, and issues. + */ + @JsonProperty("start_date") + private String startDate; + + public SourceLeverHiring( + @JsonProperty("credentials") Optional credentials, + @JsonProperty("environment") Optional environment, + @JsonProperty("start_date") String startDate) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(environment, "environment"); + Utils.checkNotNull(startDate, "startDate"); + this.credentials = credentials; + this.environment = environment; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Choose how to authenticate to Lever Hiring. + */ + public Optional credentials() { + return credentials; + } + + /** + * The environment in which you'd like to replicate data for Lever. This is used to determine which Lever API endpoint to use. + */ + public Optional environment() { + return environment; + } + + public SourceLeverHiringLeverHiring sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. Note that it will be used only in the following incremental streams: comments, commits, and issues. + */ + public String startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Choose how to authenticate to Lever Hiring. + */ + public SourceLeverHiring withCredentials(SourceLeverHiringAuthenticationMechanism credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Choose how to authenticate to Lever Hiring. + */ + public SourceLeverHiring withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The environment in which you'd like to replicate data for Lever. This is used to determine which Lever API endpoint to use. + */ + public SourceLeverHiring withEnvironment(SourceLeverHiringEnvironment environment) { + Utils.checkNotNull(environment, "environment"); + this.environment = Optional.ofNullable(environment); + return this; + } + + /** + * The environment in which you'd like to replicate data for Lever. This is used to determine which Lever API endpoint to use. + */ + public SourceLeverHiring withEnvironment(Optional environment) { + Utils.checkNotNull(environment, "environment"); + this.environment = environment; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. Note that it will be used only in the following incremental streams: comments, commits, and issues. + */ + public SourceLeverHiring withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceLeverHiring other = (SourceLeverHiring) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.environment, other.environment) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + environment, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceLeverHiring.class, + "credentials", credentials, + "environment", environment, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Optional environment; + + private String startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Choose how to authenticate to Lever Hiring. + */ + public Builder credentials(SourceLeverHiringAuthenticationMechanism credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Choose how to authenticate to Lever Hiring. + */ + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The environment in which you'd like to replicate data for Lever. This is used to determine which Lever API endpoint to use. + */ + public Builder environment(SourceLeverHiringEnvironment environment) { + Utils.checkNotNull(environment, "environment"); + this.environment = Optional.ofNullable(environment); + return this; + } + + /** + * The environment in which you'd like to replicate data for Lever. This is used to determine which Lever API endpoint to use. + */ + public Builder environment(Optional environment) { + Utils.checkNotNull(environment, "environment"); + this.environment = environment; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. Note that it will be used only in the following incremental streams: comments, commits, and issues. + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceLeverHiring build() { + if (environment == null) { + environment = _SINGLETON_VALUE_Environment.value(); + } + return new SourceLeverHiring( + credentials, + environment, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Environment = + new LazySingletonValue<>( + "environment", + "\"Sandbox\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"lever-hiring\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLeverHiringAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceLeverHiringAuthType.java new file mode 100644 index 000000000..b65dfcc84 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLeverHiringAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceLeverHiringAuthType { + CLIENT("Client"); + + @JsonValue + private final String value; + + private SourceLeverHiringAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLeverHiringAuthenticationMechanism.java b/src/main/java/com/airbyte/api/models/shared/SourceLeverHiringAuthenticationMechanism.java new file mode 100644 index 000000000..4e6aa325b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLeverHiringAuthenticationMechanism.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceLeverHiringAuthenticationMechanism - Choose how to authenticate to Lever Hiring. + */ + +@JsonDeserialize(using = SourceLeverHiringAuthenticationMechanism._Deserializer.class) +public class SourceLeverHiringAuthenticationMechanism { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceLeverHiringAuthenticationMechanism(TypedObject value) { + this.value = value; + } + + public static SourceLeverHiringAuthenticationMechanism of(AuthenticateViaLeverOAuth value) { + Utils.checkNotNull(value, "value"); + return new SourceLeverHiringAuthenticationMechanism(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceLeverHiringAuthenticationMechanism of(AuthenticateViaLeverApiKey value) { + Utils.checkNotNull(value, "value"); + return new SourceLeverHiringAuthenticationMechanism(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code AuthenticateViaLeverOAuth}
    • + *
    • {@code AuthenticateViaLeverApiKey}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceLeverHiringAuthenticationMechanism other = (SourceLeverHiringAuthenticationMechanism) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceLeverHiringAuthenticationMechanism.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceLeverHiringAuthenticationMechanism.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLeverHiringEnvironment.java b/src/main/java/com/airbyte/api/models/shared/SourceLeverHiringEnvironment.java new file mode 100644 index 000000000..19625d918 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLeverHiringEnvironment.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceLeverHiringEnvironment - The environment in which you'd like to replicate data for Lever. This is used to determine which Lever API endpoint to use. + */ +public enum SourceLeverHiringEnvironment { + PRODUCTION("Production"), + SANDBOX("Sandbox"); + + @JsonValue + private final String value; + + private SourceLeverHiringEnvironment(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLeverHiringLeverHiring.java b/src/main/java/com/airbyte/api/models/shared/SourceLeverHiringLeverHiring.java new file mode 100644 index 000000000..8f1ee97f4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLeverHiringLeverHiring.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceLeverHiringLeverHiring { + LEVER_HIRING("lever-hiring"); + + @JsonValue + private final String value; + + private SourceLeverHiringLeverHiring(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLeverHiringSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceLeverHiringSchemasAuthType.java new file mode 100644 index 000000000..9f3079f9f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLeverHiringSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceLeverHiringSchemasAuthType { + API_KEY("Api Key"); + + @JsonValue + private final String value; + + private SourceLeverHiringSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLinkedinAds.java b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinAds.java new file mode 100644 index 000000000..d414ae438 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinAds.java @@ -0,0 +1,262 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceLinkedinAds { + + /** + * Specify the account IDs to pull data from, separated by a space. Leave this field empty if you want to pull the data from all accounts accessible by the authenticated user. See the <a href="https://www.linkedin.com/help/linkedin/answer/a424270/find-linkedin-ads-account-details?lang=en">LinkedIn docs</a> to locate these IDs. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("account_ids") + private Optional> accountIds; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ad_analytics_reports") + private Optional> adAnalyticsReports; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + @JsonProperty("sourceType") + private SourceLinkedinAdsLinkedinAds sourceType; + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private LocalDate startDate; + + public SourceLinkedinAds( + @JsonProperty("account_ids") Optional> accountIds, + @JsonProperty("ad_analytics_reports") Optional> adAnalyticsReports, + @JsonProperty("credentials") Optional credentials, + @JsonProperty("start_date") LocalDate startDate) { + Utils.checkNotNull(accountIds, "accountIds"); + Utils.checkNotNull(adAnalyticsReports, "adAnalyticsReports"); + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(startDate, "startDate"); + this.accountIds = accountIds; + this.adAnalyticsReports = adAnalyticsReports; + this.credentials = credentials; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Specify the account IDs to pull data from, separated by a space. Leave this field empty if you want to pull the data from all accounts accessible by the authenticated user. See the <a href="https://www.linkedin.com/help/linkedin/answer/a424270/find-linkedin-ads-account-details?lang=en">LinkedIn docs</a> to locate these IDs. + */ + public Optional> accountIds() { + return accountIds; + } + + public Optional> adAnalyticsReports() { + return adAnalyticsReports; + } + + public Optional credentials() { + return credentials; + } + + public SourceLinkedinAdsLinkedinAds sourceType() { + return sourceType; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. + */ + public LocalDate startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Specify the account IDs to pull data from, separated by a space. Leave this field empty if you want to pull the data from all accounts accessible by the authenticated user. See the <a href="https://www.linkedin.com/help/linkedin/answer/a424270/find-linkedin-ads-account-details?lang=en">LinkedIn docs</a> to locate these IDs. + */ + public SourceLinkedinAds withAccountIds(java.util.List accountIds) { + Utils.checkNotNull(accountIds, "accountIds"); + this.accountIds = Optional.ofNullable(accountIds); + return this; + } + + /** + * Specify the account IDs to pull data from, separated by a space. Leave this field empty if you want to pull the data from all accounts accessible by the authenticated user. See the <a href="https://www.linkedin.com/help/linkedin/answer/a424270/find-linkedin-ads-account-details?lang=en">LinkedIn docs</a> to locate these IDs. + */ + public SourceLinkedinAds withAccountIds(Optional> accountIds) { + Utils.checkNotNull(accountIds, "accountIds"); + this.accountIds = accountIds; + return this; + } + + public SourceLinkedinAds withAdAnalyticsReports(java.util.List adAnalyticsReports) { + Utils.checkNotNull(adAnalyticsReports, "adAnalyticsReports"); + this.adAnalyticsReports = Optional.ofNullable(adAnalyticsReports); + return this; + } + + public SourceLinkedinAds withAdAnalyticsReports(Optional> adAnalyticsReports) { + Utils.checkNotNull(adAnalyticsReports, "adAnalyticsReports"); + this.adAnalyticsReports = adAnalyticsReports; + return this; + } + + public SourceLinkedinAds withCredentials(SourceLinkedinAdsAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public SourceLinkedinAds withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. + */ + public SourceLinkedinAds withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceLinkedinAds other = (SourceLinkedinAds) o; + return + java.util.Objects.deepEquals(this.accountIds, other.accountIds) && + java.util.Objects.deepEquals(this.adAnalyticsReports, other.adAnalyticsReports) && + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accountIds, + adAnalyticsReports, + credentials, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceLinkedinAds.class, + "accountIds", accountIds, + "adAnalyticsReports", adAnalyticsReports, + "credentials", credentials, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private Optional> accountIds = Optional.empty(); + + private Optional> adAnalyticsReports = Optional.empty(); + + private Optional credentials = Optional.empty(); + + private LocalDate startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Specify the account IDs to pull data from, separated by a space. Leave this field empty if you want to pull the data from all accounts accessible by the authenticated user. See the <a href="https://www.linkedin.com/help/linkedin/answer/a424270/find-linkedin-ads-account-details?lang=en">LinkedIn docs</a> to locate these IDs. + */ + public Builder accountIds(java.util.List accountIds) { + Utils.checkNotNull(accountIds, "accountIds"); + this.accountIds = Optional.ofNullable(accountIds); + return this; + } + + /** + * Specify the account IDs to pull data from, separated by a space. Leave this field empty if you want to pull the data from all accounts accessible by the authenticated user. See the <a href="https://www.linkedin.com/help/linkedin/answer/a424270/find-linkedin-ads-account-details?lang=en">LinkedIn docs</a> to locate these IDs. + */ + public Builder accountIds(Optional> accountIds) { + Utils.checkNotNull(accountIds, "accountIds"); + this.accountIds = accountIds; + return this; + } + + public Builder adAnalyticsReports(java.util.List adAnalyticsReports) { + Utils.checkNotNull(adAnalyticsReports, "adAnalyticsReports"); + this.adAnalyticsReports = Optional.ofNullable(adAnalyticsReports); + return this; + } + + public Builder adAnalyticsReports(Optional> adAnalyticsReports) { + Utils.checkNotNull(adAnalyticsReports, "adAnalyticsReports"); + this.adAnalyticsReports = adAnalyticsReports; + return this; + } + + public Builder credentials(SourceLinkedinAdsAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceLinkedinAds build() { + return new SourceLinkedinAds( + accountIds, + adAnalyticsReports, + credentials, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"linkedin-ads\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsAuthMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsAuthMethod.java new file mode 100644 index 000000000..01e60a739 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsAuthMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceLinkedinAdsAuthMethod { + O_AUTH20("oAuth2.0"); + + @JsonValue + private final String value; + + private SourceLinkedinAdsAuthMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsAuthentication.java new file mode 100644 index 000000000..eb88f01b2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsAuthentication.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceLinkedinAdsAuthentication._Deserializer.class) +public class SourceLinkedinAdsAuthentication { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceLinkedinAdsAuthentication(TypedObject value) { + this.value = value; + } + + public static SourceLinkedinAdsAuthentication of(SourceLinkedinAdsOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new SourceLinkedinAdsAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceLinkedinAdsAuthentication of(AccessToken value) { + Utils.checkNotNull(value, "value"); + return new SourceLinkedinAdsAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceLinkedinAdsOAuth20}
    • + *
    • {@code AccessToken}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceLinkedinAdsAuthentication other = (SourceLinkedinAdsAuthentication) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceLinkedinAdsAuthentication.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceLinkedinAdsAuthentication.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsLinkedinAds.java b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsLinkedinAds.java new file mode 100644 index 000000000..2a979c90b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsLinkedinAds.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceLinkedinAdsLinkedinAds { + LINKEDIN_ADS("linkedin-ads"); + + @JsonValue + private final String value; + + private SourceLinkedinAdsLinkedinAds(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsOAuth20.java b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsOAuth20.java new file mode 100644 index 000000000..d0cdf1695 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsOAuth20.java @@ -0,0 +1,201 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceLinkedinAdsOAuth20 { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_method") + private Optional authMethod; + + /** + * The client ID of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The client secret of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * The key to refresh the expired access token. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + public SourceLinkedinAdsOAuth20( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + this.authMethod = Builder._SINGLETON_VALUE_AuthMethod.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + } + + public Optional authMethod() { + return authMethod; + } + + /** + * The client ID of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public String clientId() { + return clientId; + } + + /** + * The client secret of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * The key to refresh the expired access token. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public String refreshToken() { + return refreshToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The client ID of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public SourceLinkedinAdsOAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public SourceLinkedinAdsOAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The key to refresh the expired access token. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public SourceLinkedinAdsOAuth20 withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceLinkedinAdsOAuth20 other = (SourceLinkedinAdsOAuth20) o; + return + java.util.Objects.deepEquals(this.authMethod, other.authMethod) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authMethod, + clientId, + clientSecret, + refreshToken); + } + + @Override + public String toString() { + return Utils.toString(SourceLinkedinAdsOAuth20.class, + "authMethod", authMethod, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private Builder() { + // force use of static builder() method + } + + /** + * The client ID of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret of your developer application. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The key to refresh the expired access token. Refer to our <a href='https://docs.airbyte.com/integrations/sources/linkedin-ads#setup-guide'>documentation</a> for more information. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + public SourceLinkedinAdsOAuth20 build() { + return new SourceLinkedinAdsOAuth20( + clientId, + clientSecret, + refreshToken); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthMethod = + new LazySingletonValue<>( + "auth_method", + "\"oAuth2.0\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsSchemasAuthMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsSchemasAuthMethod.java new file mode 100644 index 000000000..e655139a6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinAdsSchemasAuthMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceLinkedinAdsSchemasAuthMethod { + ACCESS_TOKEN("access_token"); + + @JsonValue + private final String value; + + private SourceLinkedinAdsSchemasAuthMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLinkedinPages.java b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinPages.java new file mode 100644 index 000000000..93365cc52 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinPages.java @@ -0,0 +1,161 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceLinkedinPages { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + /** + * Specify the Organization ID + */ + @JsonProperty("org_id") + private String orgId; + + @JsonProperty("sourceType") + private LinkedinPages sourceType; + + public SourceLinkedinPages( + @JsonProperty("credentials") Optional credentials, + @JsonProperty("org_id") String orgId) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(orgId, "orgId"); + this.credentials = credentials; + this.orgId = orgId; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + public Optional credentials() { + return credentials; + } + + /** + * Specify the Organization ID + */ + public String orgId() { + return orgId; + } + + public LinkedinPages sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceLinkedinPages withCredentials(SourceLinkedinPagesAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public SourceLinkedinPages withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Specify the Organization ID + */ + public SourceLinkedinPages withOrgId(String orgId) { + Utils.checkNotNull(orgId, "orgId"); + this.orgId = orgId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceLinkedinPages other = (SourceLinkedinPages) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.orgId, other.orgId) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + orgId, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceLinkedinPages.class, + "credentials", credentials, + "orgId", orgId, + "sourceType", sourceType); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private String orgId; + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(SourceLinkedinPagesAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Specify the Organization ID + */ + public Builder orgId(String orgId) { + Utils.checkNotNull(orgId, "orgId"); + this.orgId = orgId; + return this; + } + + public SourceLinkedinPages build() { + return new SourceLinkedinPages( + credentials, + orgId); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"linkedin-pages\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesAccessToken.java b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesAccessToken.java new file mode 100644 index 000000000..d9aa35917 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesAccessToken.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceLinkedinPagesAccessToken { + + /** + * The token value generated using the LinkedIn Developers OAuth Token Tools. See the <a href="https://docs.airbyte.com/integrations/sources/linkedin-pages/">docs</a> to obtain yours. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_method") + private Optional authMethod; + + public SourceLinkedinPagesAccessToken( + @JsonProperty("access_token") String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + this.authMethod = Builder._SINGLETON_VALUE_AuthMethod.value(); + } + + /** + * The token value generated using the LinkedIn Developers OAuth Token Tools. See the <a href="https://docs.airbyte.com/integrations/sources/linkedin-pages/">docs</a> to obtain yours. + */ + public String accessToken() { + return accessToken; + } + + public Optional authMethod() { + return authMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The token value generated using the LinkedIn Developers OAuth Token Tools. See the <a href="https://docs.airbyte.com/integrations/sources/linkedin-pages/">docs</a> to obtain yours. + */ + public SourceLinkedinPagesAccessToken withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceLinkedinPagesAccessToken other = (SourceLinkedinPagesAccessToken) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authMethod, other.authMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authMethod); + } + + @Override + public String toString() { + return Utils.toString(SourceLinkedinPagesAccessToken.class, + "accessToken", accessToken, + "authMethod", authMethod); + } + + public final static class Builder { + + private String accessToken; + + private Builder() { + // force use of static builder() method + } + + /** + * The token value generated using the LinkedIn Developers OAuth Token Tools. See the <a href="https://docs.airbyte.com/integrations/sources/linkedin-pages/">docs</a> to obtain yours. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + public SourceLinkedinPagesAccessToken build() { + return new SourceLinkedinPagesAccessToken( + accessToken); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthMethod = + new LazySingletonValue<>( + "auth_method", + "\"access_token\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesAuthMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesAuthMethod.java new file mode 100644 index 000000000..21d5efdf9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesAuthMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceLinkedinPagesAuthMethod { + O_AUTH20("oAuth2.0"); + + @JsonValue + private final String value; + + private SourceLinkedinPagesAuthMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesAuthentication.java new file mode 100644 index 000000000..526d27118 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesAuthentication.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceLinkedinPagesAuthentication._Deserializer.class) +public class SourceLinkedinPagesAuthentication { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceLinkedinPagesAuthentication(TypedObject value) { + this.value = value; + } + + public static SourceLinkedinPagesAuthentication of(SourceLinkedinPagesOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new SourceLinkedinPagesAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceLinkedinPagesAuthentication of(SourceLinkedinPagesAccessToken value) { + Utils.checkNotNull(value, "value"); + return new SourceLinkedinPagesAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceLinkedinPagesOAuth20}
    • + *
    • {@code SourceLinkedinPagesAccessToken}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceLinkedinPagesAuthentication other = (SourceLinkedinPagesAuthentication) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceLinkedinPagesAuthentication.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceLinkedinPagesAuthentication.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesOAuth20.java b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesOAuth20.java new file mode 100644 index 000000000..c94383e6a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesOAuth20.java @@ -0,0 +1,201 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceLinkedinPagesOAuth20 { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_method") + private Optional authMethod; + + /** + * The client ID of the LinkedIn developer application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The client secret of the LinkedIn developer application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * The token value generated using the LinkedIn Developers OAuth Token Tools. See the <a href="https://docs.airbyte.com/integrations/sources/linkedin-pages/">docs</a> to obtain yours. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + public SourceLinkedinPagesOAuth20( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + this.authMethod = Builder._SINGLETON_VALUE_AuthMethod.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + } + + public Optional authMethod() { + return authMethod; + } + + /** + * The client ID of the LinkedIn developer application. + */ + public String clientId() { + return clientId; + } + + /** + * The client secret of the LinkedIn developer application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * The token value generated using the LinkedIn Developers OAuth Token Tools. See the <a href="https://docs.airbyte.com/integrations/sources/linkedin-pages/">docs</a> to obtain yours. + */ + public String refreshToken() { + return refreshToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The client ID of the LinkedIn developer application. + */ + public SourceLinkedinPagesOAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret of the LinkedIn developer application. + */ + public SourceLinkedinPagesOAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The token value generated using the LinkedIn Developers OAuth Token Tools. See the <a href="https://docs.airbyte.com/integrations/sources/linkedin-pages/">docs</a> to obtain yours. + */ + public SourceLinkedinPagesOAuth20 withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceLinkedinPagesOAuth20 other = (SourceLinkedinPagesOAuth20) o; + return + java.util.Objects.deepEquals(this.authMethod, other.authMethod) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authMethod, + clientId, + clientSecret, + refreshToken); + } + + @Override + public String toString() { + return Utils.toString(SourceLinkedinPagesOAuth20.class, + "authMethod", authMethod, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private Builder() { + // force use of static builder() method + } + + /** + * The client ID of the LinkedIn developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret of the LinkedIn developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The token value generated using the LinkedIn Developers OAuth Token Tools. See the <a href="https://docs.airbyte.com/integrations/sources/linkedin-pages/">docs</a> to obtain yours. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + public SourceLinkedinPagesOAuth20 build() { + return new SourceLinkedinPagesOAuth20( + clientId, + clientSecret, + refreshToken); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthMethod = + new LazySingletonValue<>( + "auth_method", + "\"oAuth2.0\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesSchemasAuthMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesSchemasAuthMethod.java new file mode 100644 index 000000000..6338c82c0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLinkedinPagesSchemasAuthMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceLinkedinPagesSchemasAuthMethod { + ACCESS_TOKEN("access_token"); + + @JsonValue + private final String value; + + private SourceLinkedinPagesSchemasAuthMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLinnworks.java b/src/main/java/com/airbyte/api/models/shared/SourceLinnworks.java new file mode 100644 index 000000000..4231f4136 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLinnworks.java @@ -0,0 +1,228 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; + + +public class SourceLinnworks { + + /** + * Linnworks Application ID + */ + @JsonProperty("application_id") + private String applicationId; + + /** + * Linnworks Application Secret + */ + @JsonProperty("application_secret") + private String applicationSecret; + + @JsonProperty("sourceType") + private Linnworks sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + @JsonProperty("token") + private String token; + + public SourceLinnworks( + @JsonProperty("application_id") String applicationId, + @JsonProperty("application_secret") String applicationSecret, + @JsonProperty("start_date") OffsetDateTime startDate, + @JsonProperty("token") String token) { + Utils.checkNotNull(applicationId, "applicationId"); + Utils.checkNotNull(applicationSecret, "applicationSecret"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(token, "token"); + this.applicationId = applicationId; + this.applicationSecret = applicationSecret; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.token = token; + } + + /** + * Linnworks Application ID + */ + public String applicationId() { + return applicationId; + } + + /** + * Linnworks Application Secret + */ + public String applicationSecret() { + return applicationSecret; + } + + public Linnworks sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + public String token() { + return token; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Linnworks Application ID + */ + public SourceLinnworks withApplicationId(String applicationId) { + Utils.checkNotNull(applicationId, "applicationId"); + this.applicationId = applicationId; + return this; + } + + /** + * Linnworks Application Secret + */ + public SourceLinnworks withApplicationSecret(String applicationSecret) { + Utils.checkNotNull(applicationSecret, "applicationSecret"); + this.applicationSecret = applicationSecret; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public SourceLinnworks withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceLinnworks withToken(String token) { + Utils.checkNotNull(token, "token"); + this.token = token; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceLinnworks other = (SourceLinnworks) o; + return + java.util.Objects.deepEquals(this.applicationId, other.applicationId) && + java.util.Objects.deepEquals(this.applicationSecret, other.applicationSecret) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.token, other.token); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + applicationId, + applicationSecret, + sourceType, + startDate, + token); + } + + @Override + public String toString() { + return Utils.toString(SourceLinnworks.class, + "applicationId", applicationId, + "applicationSecret", applicationSecret, + "sourceType", sourceType, + "startDate", startDate, + "token", token); + } + + public final static class Builder { + + private String applicationId; + + private String applicationSecret; + + private OffsetDateTime startDate; + + private String token; + + private Builder() { + // force use of static builder() method + } + + /** + * Linnworks Application ID + */ + public Builder applicationId(String applicationId) { + Utils.checkNotNull(applicationId, "applicationId"); + this.applicationId = applicationId; + return this; + } + + /** + * Linnworks Application Secret + */ + public Builder applicationSecret(String applicationSecret) { + Utils.checkNotNull(applicationSecret, "applicationSecret"); + this.applicationSecret = applicationSecret; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public Builder token(String token) { + Utils.checkNotNull(token, "token"); + this.token = token; + return this; + } + + public SourceLinnworks build() { + return new SourceLinnworks( + applicationId, + applicationSecret, + startDate, + token); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"linnworks\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceLokalise.java b/src/main/java/com/airbyte/api/models/shared/SourceLokalise.java new file mode 100644 index 000000000..c62abf73f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceLokalise.java @@ -0,0 +1,157 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceLokalise { + + /** + * Lokalise API Key with read-access. Available at Profile settings > API tokens. See <a href="https://docs.lokalise.com/en/articles/1929556-api-tokens">here</a>. + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * Lokalise project ID. Available at Project Settings > General. + */ + @JsonProperty("project_id") + private String projectId; + + @JsonProperty("sourceType") + private Lokalise sourceType; + + public SourceLokalise( + @JsonProperty("api_key") String apiKey, + @JsonProperty("project_id") String projectId) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(projectId, "projectId"); + this.apiKey = apiKey; + this.projectId = projectId; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Lokalise API Key with read-access. Available at Profile settings > API tokens. See <a href="https://docs.lokalise.com/en/articles/1929556-api-tokens">here</a>. + */ + public String apiKey() { + return apiKey; + } + + /** + * Lokalise project ID. Available at Project Settings > General. + */ + public String projectId() { + return projectId; + } + + public Lokalise sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Lokalise API Key with read-access. Available at Profile settings > API tokens. See <a href="https://docs.lokalise.com/en/articles/1929556-api-tokens">here</a>. + */ + public SourceLokalise withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Lokalise project ID. Available at Project Settings > General. + */ + public SourceLokalise withProjectId(String projectId) { + Utils.checkNotNull(projectId, "projectId"); + this.projectId = projectId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceLokalise other = (SourceLokalise) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.projectId, other.projectId) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + projectId, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceLokalise.class, + "apiKey", apiKey, + "projectId", projectId, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private String projectId; + + private Builder() { + // force use of static builder() method + } + + /** + * Lokalise API Key with read-access. Available at Profile settings > API tokens. See <a href="https://docs.lokalise.com/en/articles/1929556-api-tokens">here</a>. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Lokalise project ID. Available at Project Settings > General. + */ + public Builder projectId(String projectId) { + Utils.checkNotNull(projectId, "projectId"); + this.projectId = projectId; + return this; + } + + public SourceLokalise build() { + return new SourceLokalise( + apiKey, + projectId); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"lokalise\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMailchimp.java b/src/main/java/com/airbyte/api/models/shared/SourceMailchimp.java new file mode 100644 index 000000000..10a1d02c5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMailchimp.java @@ -0,0 +1,242 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceMailchimp { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + /** + * Technical fields used to identify datacenter to send request to + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("data_center") + private Optional dataCenter; + + @JsonProperty("sourceType") + private SourceMailchimpMailchimp sourceType; + + /** + * The date from which you want to start syncing data for Incremental streams. Only records that have been created or modified since this date will be synced. If left blank, all data will by synced. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceMailchimp( + @JsonProperty("credentials") Optional credentials, + @JsonProperty("data_center") Optional dataCenter, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(dataCenter, "dataCenter"); + Utils.checkNotNull(startDate, "startDate"); + this.credentials = credentials; + this.dataCenter = dataCenter; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + public Optional credentials() { + return credentials; + } + + /** + * Technical fields used to identify datacenter to send request to + */ + public Optional dataCenter() { + return dataCenter; + } + + public SourceMailchimpMailchimp sourceType() { + return sourceType; + } + + /** + * The date from which you want to start syncing data for Incremental streams. Only records that have been created or modified since this date will be synced. If left blank, all data will by synced. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceMailchimp withCredentials(SourceMailchimpAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public SourceMailchimp withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Technical fields used to identify datacenter to send request to + */ + public SourceMailchimp withDataCenter(String dataCenter) { + Utils.checkNotNull(dataCenter, "dataCenter"); + this.dataCenter = Optional.ofNullable(dataCenter); + return this; + } + + /** + * Technical fields used to identify datacenter to send request to + */ + public SourceMailchimp withDataCenter(Optional dataCenter) { + Utils.checkNotNull(dataCenter, "dataCenter"); + this.dataCenter = dataCenter; + return this; + } + + /** + * The date from which you want to start syncing data for Incremental streams. Only records that have been created or modified since this date will be synced. If left blank, all data will by synced. + */ + public SourceMailchimp withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date from which you want to start syncing data for Incremental streams. Only records that have been created or modified since this date will be synced. If left blank, all data will by synced. + */ + public SourceMailchimp withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMailchimp other = (SourceMailchimp) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.dataCenter, other.dataCenter) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + dataCenter, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceMailchimp.class, + "credentials", credentials, + "dataCenter", dataCenter, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Optional dataCenter = Optional.empty(); + + private Optional startDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(SourceMailchimpAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Technical fields used to identify datacenter to send request to + */ + public Builder dataCenter(String dataCenter) { + Utils.checkNotNull(dataCenter, "dataCenter"); + this.dataCenter = Optional.ofNullable(dataCenter); + return this; + } + + /** + * Technical fields used to identify datacenter to send request to + */ + public Builder dataCenter(Optional dataCenter) { + Utils.checkNotNull(dataCenter, "dataCenter"); + this.dataCenter = dataCenter; + return this; + } + + /** + * The date from which you want to start syncing data for Incremental streams. Only records that have been created or modified since this date will be synced. If left blank, all data will by synced. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date from which you want to start syncing data for Incremental streams. Only records that have been created or modified since this date will be synced. If left blank, all data will by synced. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceMailchimp build() { + return new SourceMailchimp( + credentials, + dataCenter, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"mailchimp\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMailchimpAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceMailchimpAuthType.java new file mode 100644 index 000000000..073664db2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMailchimpAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMailchimpAuthType { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private SourceMailchimpAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMailchimpAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceMailchimpAuthentication.java new file mode 100644 index 000000000..0243cc719 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMailchimpAuthentication.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceMailchimpAuthentication._Deserializer.class) +public class SourceMailchimpAuthentication { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceMailchimpAuthentication(TypedObject value) { + this.value = value; + } + + public static SourceMailchimpAuthentication of(SourceMailchimpOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new SourceMailchimpAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMailchimpAuthentication of(APIKey value) { + Utils.checkNotNull(value, "value"); + return new SourceMailchimpAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceMailchimpOAuth20}
    • + *
    • {@code APIKey}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMailchimpAuthentication other = (SourceMailchimpAuthentication) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceMailchimpAuthentication.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceMailchimpAuthentication.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMailchimpMailchimp.java b/src/main/java/com/airbyte/api/models/shared/SourceMailchimpMailchimp.java new file mode 100644 index 000000000..520791677 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMailchimpMailchimp.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMailchimpMailchimp { + MAILCHIMP("mailchimp"); + + @JsonValue + private final String value; + + private SourceMailchimpMailchimp(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMailchimpOAuth20.java b/src/main/java/com/airbyte/api/models/shared/SourceMailchimpOAuth20.java new file mode 100644 index 000000000..1df36f4cd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMailchimpOAuth20.java @@ -0,0 +1,238 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMailchimpOAuth20 { + + /** + * An access token generated using the above client ID and secret. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonProperty("auth_type") + private SourceMailchimpAuthType authType; + + /** + * The Client ID of your OAuth application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your OAuth application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public SourceMailchimpOAuth20( + @JsonProperty("access_token") String accessToken, + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.accessToken = accessToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * An access token generated using the above client ID and secret. + */ + public String accessToken() { + return accessToken; + } + + public SourceMailchimpAuthType authType() { + return authType; + } + + /** + * The Client ID of your OAuth application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your OAuth application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * An access token generated using the above client ID and secret. + */ + public SourceMailchimpOAuth20 withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of your OAuth application. + */ + public SourceMailchimpOAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your OAuth application. + */ + public SourceMailchimpOAuth20 withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public SourceMailchimpOAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public SourceMailchimpOAuth20 withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMailchimpOAuth20 other = (SourceMailchimpOAuth20) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authType, + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(SourceMailchimpOAuth20.class, + "accessToken", accessToken, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private String accessToken; + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * An access token generated using the above client ID and secret. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of your OAuth application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your OAuth application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public SourceMailchimpOAuth20 build() { + return new SourceMailchimpOAuth20( + accessToken, + clientId, + clientSecret); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"oauth2.0\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMailchimpSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceMailchimpSchemasAuthType.java new file mode 100644 index 000000000..d868eb0c4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMailchimpSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMailchimpSchemasAuthType { + APIKEY("apikey"); + + @JsonValue + private final String value; + + private SourceMailchimpSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMailgun.java b/src/main/java/com/airbyte/api/models/shared/SourceMailgun.java new file mode 100644 index 000000000..1ac5324ea --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMailgun.java @@ -0,0 +1,250 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceMailgun { + + /** + * Domain region code. 'EU' or 'US' are possible values. The default is 'US'. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("domain_region") + private Optional domainRegion; + + /** + * Primary account API key to access your Mailgun data. + */ + @JsonProperty("private_key") + private String privateKey; + + @JsonProperty("sourceType") + private Mailgun sourceType; + + /** + * UTC date and time in the format 2020-10-01 00:00:00. Any data before this date will not be replicated. If omitted, defaults to 3 days ago. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceMailgun( + @JsonProperty("domain_region") Optional domainRegion, + @JsonProperty("private_key") String privateKey, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(domainRegion, "domainRegion"); + Utils.checkNotNull(privateKey, "privateKey"); + Utils.checkNotNull(startDate, "startDate"); + this.domainRegion = domainRegion; + this.privateKey = privateKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Domain region code. 'EU' or 'US' are possible values. The default is 'US'. + */ + public Optional domainRegion() { + return domainRegion; + } + + /** + * Primary account API key to access your Mailgun data. + */ + public String privateKey() { + return privateKey; + } + + public Mailgun sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2020-10-01 00:00:00. Any data before this date will not be replicated. If omitted, defaults to 3 days ago. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Domain region code. 'EU' or 'US' are possible values. The default is 'US'. + */ + public SourceMailgun withDomainRegion(String domainRegion) { + Utils.checkNotNull(domainRegion, "domainRegion"); + this.domainRegion = Optional.ofNullable(domainRegion); + return this; + } + + /** + * Domain region code. 'EU' or 'US' are possible values. The default is 'US'. + */ + public SourceMailgun withDomainRegion(Optional domainRegion) { + Utils.checkNotNull(domainRegion, "domainRegion"); + this.domainRegion = domainRegion; + return this; + } + + /** + * Primary account API key to access your Mailgun data. + */ + public SourceMailgun withPrivateKey(String privateKey) { + Utils.checkNotNull(privateKey, "privateKey"); + this.privateKey = privateKey; + return this; + } + + /** + * UTC date and time in the format 2020-10-01 00:00:00. Any data before this date will not be replicated. If omitted, defaults to 3 days ago. + */ + public SourceMailgun withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2020-10-01 00:00:00. Any data before this date will not be replicated. If omitted, defaults to 3 days ago. + */ + public SourceMailgun withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMailgun other = (SourceMailgun) o; + return + java.util.Objects.deepEquals(this.domainRegion, other.domainRegion) && + java.util.Objects.deepEquals(this.privateKey, other.privateKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + domainRegion, + privateKey, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceMailgun.class, + "domainRegion", domainRegion, + "privateKey", privateKey, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private Optional domainRegion; + + private String privateKey; + + private Optional startDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Domain region code. 'EU' or 'US' are possible values. The default is 'US'. + */ + public Builder domainRegion(String domainRegion) { + Utils.checkNotNull(domainRegion, "domainRegion"); + this.domainRegion = Optional.ofNullable(domainRegion); + return this; + } + + /** + * Domain region code. 'EU' or 'US' are possible values. The default is 'US'. + */ + public Builder domainRegion(Optional domainRegion) { + Utils.checkNotNull(domainRegion, "domainRegion"); + this.domainRegion = domainRegion; + return this; + } + + /** + * Primary account API key to access your Mailgun data. + */ + public Builder privateKey(String privateKey) { + Utils.checkNotNull(privateKey, "privateKey"); + this.privateKey = privateKey; + return this; + } + + /** + * UTC date and time in the format 2020-10-01 00:00:00. Any data before this date will not be replicated. If omitted, defaults to 3 days ago. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2020-10-01 00:00:00. Any data before this date will not be replicated. If omitted, defaults to 3 days ago. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceMailgun build() { + if (domainRegion == null) { + domainRegion = _SINGLETON_VALUE_DomainRegion.value(); + } + return new SourceMailgun( + domainRegion, + privateKey, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DomainRegion = + new LazySingletonValue<>( + "domain_region", + "\"US\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"mailgun\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMailjetSms.java b/src/main/java/com/airbyte/api/models/shared/SourceMailjetSms.java new file mode 100644 index 000000000..dd50fd784 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMailjetSms.java @@ -0,0 +1,238 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMailjetSms { + + /** + * Retrieve SMS messages created before the specified timestamp. Required format - Unix timestamp. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + @JsonProperty("sourceType") + private MailjetSms sourceType; + + /** + * Retrieve SMS messages created after the specified timestamp. Required format - Unix timestamp. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + /** + * Your access token. See <a href="https://dev.mailjet.com/sms/reference/overview/authentication">here</a>. + */ + @JsonProperty("token") + private String token; + + public SourceMailjetSms( + @JsonProperty("end_date") Optional endDate, + @JsonProperty("start_date") Optional startDate, + @JsonProperty("token") String token) { + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(token, "token"); + this.endDate = endDate; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.token = token; + } + + /** + * Retrieve SMS messages created before the specified timestamp. Required format - Unix timestamp. + */ + public Optional endDate() { + return endDate; + } + + public MailjetSms sourceType() { + return sourceType; + } + + /** + * Retrieve SMS messages created after the specified timestamp. Required format - Unix timestamp. + */ + public Optional startDate() { + return startDate; + } + + /** + * Your access token. See <a href="https://dev.mailjet.com/sms/reference/overview/authentication">here</a>. + */ + public String token() { + return token; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Retrieve SMS messages created before the specified timestamp. Required format - Unix timestamp. + */ + public SourceMailjetSms withEndDate(long endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * Retrieve SMS messages created before the specified timestamp. Required format - Unix timestamp. + */ + public SourceMailjetSms withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Retrieve SMS messages created after the specified timestamp. Required format - Unix timestamp. + */ + public SourceMailjetSms withStartDate(long startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * Retrieve SMS messages created after the specified timestamp. Required format - Unix timestamp. + */ + public SourceMailjetSms withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Your access token. See <a href="https://dev.mailjet.com/sms/reference/overview/authentication">here</a>. + */ + public SourceMailjetSms withToken(String token) { + Utils.checkNotNull(token, "token"); + this.token = token; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMailjetSms other = (SourceMailjetSms) o; + return + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.token, other.token); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + endDate, + sourceType, + startDate, + token); + } + + @Override + public String toString() { + return Utils.toString(SourceMailjetSms.class, + "endDate", endDate, + "sourceType", sourceType, + "startDate", startDate, + "token", token); + } + + public final static class Builder { + + private Optional endDate = Optional.empty(); + + private Optional startDate = Optional.empty(); + + private String token; + + private Builder() { + // force use of static builder() method + } + + /** + * Retrieve SMS messages created before the specified timestamp. Required format - Unix timestamp. + */ + public Builder endDate(long endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * Retrieve SMS messages created before the specified timestamp. Required format - Unix timestamp. + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Retrieve SMS messages created after the specified timestamp. Required format - Unix timestamp. + */ + public Builder startDate(long startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * Retrieve SMS messages created after the specified timestamp. Required format - Unix timestamp. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Your access token. See <a href="https://dev.mailjet.com/sms/reference/overview/authentication">here</a>. + */ + public Builder token(String token) { + Utils.checkNotNull(token, "token"); + this.token = token; + return this; + } + + public SourceMailjetSms build() { + return new SourceMailjetSms( + endDate, + startDate, + token); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"mailjet-sms\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMarketo.java b/src/main/java/com/airbyte/api/models/shared/SourceMarketo.java new file mode 100644 index 000000000..23fc9fefb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMarketo.java @@ -0,0 +1,240 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; + + +public class SourceMarketo { + + /** + * The Client ID of your Marketo developer application. See <a href="https://docs.airbyte.com/integrations/sources/marketo"> the docs </a> for info on how to obtain this. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of your Marketo developer application. See <a href="https://docs.airbyte.com/integrations/sources/marketo"> the docs </a> for info on how to obtain this. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * Your Marketo Base URL. See <a href="https://docs.airbyte.com/integrations/sources/marketo"> the docs </a> for info on how to obtain this. + */ + @JsonProperty("domain_url") + private String domainUrl; + + @JsonProperty("sourceType") + private Marketo sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + public SourceMarketo( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("domain_url") String domainUrl, + @JsonProperty("start_date") OffsetDateTime startDate) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(domainUrl, "domainUrl"); + Utils.checkNotNull(startDate, "startDate"); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.domainUrl = domainUrl; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * The Client ID of your Marketo developer application. See <a href="https://docs.airbyte.com/integrations/sources/marketo"> the docs </a> for info on how to obtain this. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of your Marketo developer application. See <a href="https://docs.airbyte.com/integrations/sources/marketo"> the docs </a> for info on how to obtain this. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * Your Marketo Base URL. See <a href="https://docs.airbyte.com/integrations/sources/marketo"> the docs </a> for info on how to obtain this. + */ + public String domainUrl() { + return domainUrl; + } + + public Marketo sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your Marketo developer application. See <a href="https://docs.airbyte.com/integrations/sources/marketo"> the docs </a> for info on how to obtain this. + */ + public SourceMarketo withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Marketo developer application. See <a href="https://docs.airbyte.com/integrations/sources/marketo"> the docs </a> for info on how to obtain this. + */ + public SourceMarketo withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Your Marketo Base URL. See <a href="https://docs.airbyte.com/integrations/sources/marketo"> the docs </a> for info on how to obtain this. + */ + public SourceMarketo withDomainUrl(String domainUrl) { + Utils.checkNotNull(domainUrl, "domainUrl"); + this.domainUrl = domainUrl; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public SourceMarketo withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMarketo other = (SourceMarketo) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.domainUrl, other.domainUrl) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret, + domainUrl, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceMarketo.class, + "clientId", clientId, + "clientSecret", clientSecret, + "domainUrl", domainUrl, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String domainUrl; + + private OffsetDateTime startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your Marketo developer application. See <a href="https://docs.airbyte.com/integrations/sources/marketo"> the docs </a> for info on how to obtain this. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Marketo developer application. See <a href="https://docs.airbyte.com/integrations/sources/marketo"> the docs </a> for info on how to obtain this. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Your Marketo Base URL. See <a href="https://docs.airbyte.com/integrations/sources/marketo"> the docs </a> for info on how to obtain this. + */ + public Builder domainUrl(String domainUrl) { + Utils.checkNotNull(domainUrl, "domainUrl"); + this.domainUrl = domainUrl; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceMarketo build() { + return new SourceMarketo( + clientId, + clientSecret, + domainUrl, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"marketo\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMetabase.java b/src/main/java/com/airbyte/api/models/shared/SourceMetabase.java new file mode 100644 index 000000000..aac7cdb56 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMetabase.java @@ -0,0 +1,291 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMetabase { + + /** + * URL to your metabase instance API + */ + @JsonProperty("instance_api_url") + private String instanceApiUrl; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("password") + private Optional password; + + /** + * To generate your session token, you need to run the following command: ``` curl -X POST \ + * -H "Content-Type: application/json" \ + * -d '{"username": "person@metabase.com", "password": "fakepassword"}' \ + * http://localhost:3000/api/session + * ``` Then copy the value of the `id` field returned by a successful call to that API. + * Note that by default, sessions are good for 14 days and needs to be regenerated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("session_token") + private Optional sessionToken; + + @JsonProperty("sourceType") + private Metabase sourceType; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("username") + private Optional username; + + public SourceMetabase( + @JsonProperty("instance_api_url") String instanceApiUrl, + @JsonProperty("password") Optional password, + @JsonProperty("session_token") Optional sessionToken, + @JsonProperty("username") Optional username) { + Utils.checkNotNull(instanceApiUrl, "instanceApiUrl"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(sessionToken, "sessionToken"); + Utils.checkNotNull(username, "username"); + this.instanceApiUrl = instanceApiUrl; + this.password = password; + this.sessionToken = sessionToken; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.username = username; + } + + /** + * URL to your metabase instance API + */ + public String instanceApiUrl() { + return instanceApiUrl; + } + + public Optional password() { + return password; + } + + /** + * To generate your session token, you need to run the following command: ``` curl -X POST \ + * -H "Content-Type: application/json" \ + * -d '{"username": "person@metabase.com", "password": "fakepassword"}' \ + * http://localhost:3000/api/session + * ``` Then copy the value of the `id` field returned by a successful call to that API. + * Note that by default, sessions are good for 14 days and needs to be regenerated. + */ + public Optional sessionToken() { + return sessionToken; + } + + public Metabase sourceType() { + return sourceType; + } + + public Optional username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * URL to your metabase instance API + */ + public SourceMetabase withInstanceApiUrl(String instanceApiUrl) { + Utils.checkNotNull(instanceApiUrl, "instanceApiUrl"); + this.instanceApiUrl = instanceApiUrl; + return this; + } + + public SourceMetabase withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + public SourceMetabase withPassword(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * To generate your session token, you need to run the following command: ``` curl -X POST \ + * -H "Content-Type: application/json" \ + * -d '{"username": "person@metabase.com", "password": "fakepassword"}' \ + * http://localhost:3000/api/session + * ``` Then copy the value of the `id` field returned by a successful call to that API. + * Note that by default, sessions are good for 14 days and needs to be regenerated. + */ + public SourceMetabase withSessionToken(String sessionToken) { + Utils.checkNotNull(sessionToken, "sessionToken"); + this.sessionToken = Optional.ofNullable(sessionToken); + return this; + } + + /** + * To generate your session token, you need to run the following command: ``` curl -X POST \ + * -H "Content-Type: application/json" \ + * -d '{"username": "person@metabase.com", "password": "fakepassword"}' \ + * http://localhost:3000/api/session + * ``` Then copy the value of the `id` field returned by a successful call to that API. + * Note that by default, sessions are good for 14 days and needs to be regenerated. + */ + public SourceMetabase withSessionToken(Optional sessionToken) { + Utils.checkNotNull(sessionToken, "sessionToken"); + this.sessionToken = sessionToken; + return this; + } + + public SourceMetabase withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = Optional.ofNullable(username); + return this; + } + + public SourceMetabase withUsername(Optional username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMetabase other = (SourceMetabase) o; + return + java.util.Objects.deepEquals(this.instanceApiUrl, other.instanceApiUrl) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.sessionToken, other.sessionToken) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + instanceApiUrl, + password, + sessionToken, + sourceType, + username); + } + + @Override + public String toString() { + return Utils.toString(SourceMetabase.class, + "instanceApiUrl", instanceApiUrl, + "password", password, + "sessionToken", sessionToken, + "sourceType", sourceType, + "username", username); + } + + public final static class Builder { + + private String instanceApiUrl; + + private Optional password = Optional.empty(); + + private Optional sessionToken = Optional.empty(); + + private Optional username = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * URL to your metabase instance API + */ + public Builder instanceApiUrl(String instanceApiUrl) { + Utils.checkNotNull(instanceApiUrl, "instanceApiUrl"); + this.instanceApiUrl = instanceApiUrl; + return this; + } + + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + public Builder password(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * To generate your session token, you need to run the following command: ``` curl -X POST \ + * -H "Content-Type: application/json" \ + * -d '{"username": "person@metabase.com", "password": "fakepassword"}' \ + * http://localhost:3000/api/session + * ``` Then copy the value of the `id` field returned by a successful call to that API. + * Note that by default, sessions are good for 14 days and needs to be regenerated. + */ + public Builder sessionToken(String sessionToken) { + Utils.checkNotNull(sessionToken, "sessionToken"); + this.sessionToken = Optional.ofNullable(sessionToken); + return this; + } + + /** + * To generate your session token, you need to run the following command: ``` curl -X POST \ + * -H "Content-Type: application/json" \ + * -d '{"username": "person@metabase.com", "password": "fakepassword"}' \ + * http://localhost:3000/api/session + * ``` Then copy the value of the `id` field returned by a successful call to that API. + * Note that by default, sessions are good for 14 days and needs to be regenerated. + */ + public Builder sessionToken(Optional sessionToken) { + Utils.checkNotNull(sessionToken, "sessionToken"); + this.sessionToken = sessionToken; + return this; + } + + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = Optional.ofNullable(username); + return this; + } + + public Builder username(Optional username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public SourceMetabase build() { + return new SourceMetabase( + instanceApiUrl, + password, + sessionToken, + username); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"metabase\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedrive.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedrive.java new file mode 100644 index 000000000..33cd02d7c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedrive.java @@ -0,0 +1,430 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + +/** + * SourceMicrosoftOnedrive - SourceMicrosoftOneDriveSpec class for Microsoft OneDrive Source Specification. + * This class combines the authentication details with additional configuration for the OneDrive API. + */ + +public class SourceMicrosoftOnedrive { + + /** + * Credentials for connecting to the One Drive API + */ + @JsonProperty("credentials") + private SourceMicrosoftOnedriveAuthentication credentials; + + /** + * Name of the Microsoft OneDrive drive where the file(s) exist. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("drive_name") + private Optional driveName; + + /** + * Path to a specific folder within the drives to search for files. Leave empty to search all folders of the drives. This does not apply to shared items. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("folder_path") + private Optional folderPath; + + /** + * Specifies the location(s) to search for files. Valid options are 'ACCESSIBLE_DRIVES' to search in the selected OneDrive drive, 'SHARED_ITEMS' for shared items the user has access to, and 'ALL' to search both. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("search_scope") + private Optional searchScope; + + @JsonProperty("sourceType") + private SourceMicrosoftOnedriveMicrosoftOnedrive sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + @JsonProperty("streams") + private java.util.List streams; + + public SourceMicrosoftOnedrive( + @JsonProperty("credentials") SourceMicrosoftOnedriveAuthentication credentials, + @JsonProperty("drive_name") Optional driveName, + @JsonProperty("folder_path") Optional folderPath, + @JsonProperty("search_scope") Optional searchScope, + @JsonProperty("start_date") Optional startDate, + @JsonProperty("streams") java.util.List streams) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(driveName, "driveName"); + Utils.checkNotNull(folderPath, "folderPath"); + Utils.checkNotNull(searchScope, "searchScope"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(streams, "streams"); + this.credentials = credentials; + this.driveName = driveName; + this.folderPath = folderPath; + this.searchScope = searchScope; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.streams = streams; + } + + /** + * Credentials for connecting to the One Drive API + */ + public SourceMicrosoftOnedriveAuthentication credentials() { + return credentials; + } + + /** + * Name of the Microsoft OneDrive drive where the file(s) exist. + */ + public Optional driveName() { + return driveName; + } + + /** + * Path to a specific folder within the drives to search for files. Leave empty to search all folders of the drives. This does not apply to shared items. + */ + public Optional folderPath() { + return folderPath; + } + + /** + * Specifies the location(s) to search for files. Valid options are 'ACCESSIBLE_DRIVES' to search in the selected OneDrive drive, 'SHARED_ITEMS' for shared items the user has access to, and 'ALL' to search both. + */ + public Optional searchScope() { + return searchScope; + } + + public SourceMicrosoftOnedriveMicrosoftOnedrive sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public Optional startDate() { + return startDate; + } + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + public java.util.List streams() { + return streams; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Credentials for connecting to the One Drive API + */ + public SourceMicrosoftOnedrive withCredentials(SourceMicrosoftOnedriveAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Name of the Microsoft OneDrive drive where the file(s) exist. + */ + public SourceMicrosoftOnedrive withDriveName(String driveName) { + Utils.checkNotNull(driveName, "driveName"); + this.driveName = Optional.ofNullable(driveName); + return this; + } + + /** + * Name of the Microsoft OneDrive drive where the file(s) exist. + */ + public SourceMicrosoftOnedrive withDriveName(Optional driveName) { + Utils.checkNotNull(driveName, "driveName"); + this.driveName = driveName; + return this; + } + + /** + * Path to a specific folder within the drives to search for files. Leave empty to search all folders of the drives. This does not apply to shared items. + */ + public SourceMicrosoftOnedrive withFolderPath(String folderPath) { + Utils.checkNotNull(folderPath, "folderPath"); + this.folderPath = Optional.ofNullable(folderPath); + return this; + } + + /** + * Path to a specific folder within the drives to search for files. Leave empty to search all folders of the drives. This does not apply to shared items. + */ + public SourceMicrosoftOnedrive withFolderPath(Optional folderPath) { + Utils.checkNotNull(folderPath, "folderPath"); + this.folderPath = folderPath; + return this; + } + + /** + * Specifies the location(s) to search for files. Valid options are 'ACCESSIBLE_DRIVES' to search in the selected OneDrive drive, 'SHARED_ITEMS' for shared items the user has access to, and 'ALL' to search both. + */ + public SourceMicrosoftOnedrive withSearchScope(SearchScope searchScope) { + Utils.checkNotNull(searchScope, "searchScope"); + this.searchScope = Optional.ofNullable(searchScope); + return this; + } + + /** + * Specifies the location(s) to search for files. Valid options are 'ACCESSIBLE_DRIVES' to search in the selected OneDrive drive, 'SHARED_ITEMS' for shared items the user has access to, and 'ALL' to search both. + */ + public SourceMicrosoftOnedrive withSearchScope(Optional searchScope) { + Utils.checkNotNull(searchScope, "searchScope"); + this.searchScope = searchScope; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public SourceMicrosoftOnedrive withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public SourceMicrosoftOnedrive withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + public SourceMicrosoftOnedrive withStreams(java.util.List streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = streams; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftOnedrive other = (SourceMicrosoftOnedrive) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.driveName, other.driveName) && + java.util.Objects.deepEquals(this.folderPath, other.folderPath) && + java.util.Objects.deepEquals(this.searchScope, other.searchScope) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.streams, other.streams); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + driveName, + folderPath, + searchScope, + sourceType, + startDate, + streams); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftOnedrive.class, + "credentials", credentials, + "driveName", driveName, + "folderPath", folderPath, + "searchScope", searchScope, + "sourceType", sourceType, + "startDate", startDate, + "streams", streams); + } + + public final static class Builder { + + private SourceMicrosoftOnedriveAuthentication credentials; + + private Optional driveName; + + private Optional folderPath; + + private Optional searchScope; + + private Optional startDate = Optional.empty(); + + private java.util.List streams; + + private Builder() { + // force use of static builder() method + } + + /** + * Credentials for connecting to the One Drive API + */ + public Builder credentials(SourceMicrosoftOnedriveAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Name of the Microsoft OneDrive drive where the file(s) exist. + */ + public Builder driveName(String driveName) { + Utils.checkNotNull(driveName, "driveName"); + this.driveName = Optional.ofNullable(driveName); + return this; + } + + /** + * Name of the Microsoft OneDrive drive where the file(s) exist. + */ + public Builder driveName(Optional driveName) { + Utils.checkNotNull(driveName, "driveName"); + this.driveName = driveName; + return this; + } + + /** + * Path to a specific folder within the drives to search for files. Leave empty to search all folders of the drives. This does not apply to shared items. + */ + public Builder folderPath(String folderPath) { + Utils.checkNotNull(folderPath, "folderPath"); + this.folderPath = Optional.ofNullable(folderPath); + return this; + } + + /** + * Path to a specific folder within the drives to search for files. Leave empty to search all folders of the drives. This does not apply to shared items. + */ + public Builder folderPath(Optional folderPath) { + Utils.checkNotNull(folderPath, "folderPath"); + this.folderPath = folderPath; + return this; + } + + /** + * Specifies the location(s) to search for files. Valid options are 'ACCESSIBLE_DRIVES' to search in the selected OneDrive drive, 'SHARED_ITEMS' for shared items the user has access to, and 'ALL' to search both. + */ + public Builder searchScope(SearchScope searchScope) { + Utils.checkNotNull(searchScope, "searchScope"); + this.searchScope = Optional.ofNullable(searchScope); + return this; + } + + /** + * Specifies the location(s) to search for files. Valid options are 'ACCESSIBLE_DRIVES' to search in the selected OneDrive drive, 'SHARED_ITEMS' for shared items the user has access to, and 'ALL' to search both. + */ + public Builder searchScope(Optional searchScope) { + Utils.checkNotNull(searchScope, "searchScope"); + this.searchScope = searchScope; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + public Builder streams(java.util.List streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = streams; + return this; + } + + public SourceMicrosoftOnedrive build() { + if (driveName == null) { + driveName = _SINGLETON_VALUE_DriveName.value(); + } + if (folderPath == null) { + folderPath = _SINGLETON_VALUE_FolderPath.value(); + } + if (searchScope == null) { + searchScope = _SINGLETON_VALUE_SearchScope.value(); + } + return new SourceMicrosoftOnedrive( + credentials, + driveName, + folderPath, + searchScope, + startDate, + streams); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DriveName = + new LazySingletonValue<>( + "drive_name", + "\"OneDrive\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_FolderPath = + new LazySingletonValue<>( + "folder_path", + "\".\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SearchScope = + new LazySingletonValue<>( + "search_scope", + "\"ALL\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"microsoft-onedrive\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveAuthType.java new file mode 100644 index 000000000..a2a4e0740 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftOnedriveAuthType { + CLIENT("Client"); + + @JsonValue + private final String value; + + private SourceMicrosoftOnedriveAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveAuthentication.java new file mode 100644 index 000000000..606d94d82 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveAuthentication.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceMicrosoftOnedriveAuthentication - Credentials for connecting to the One Drive API + */ + +@JsonDeserialize(using = SourceMicrosoftOnedriveAuthentication._Deserializer.class) +public class SourceMicrosoftOnedriveAuthentication { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceMicrosoftOnedriveAuthentication(TypedObject value) { + this.value = value; + } + + public static SourceMicrosoftOnedriveAuthentication of(AuthenticateViaMicrosoftOAuth value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftOnedriveAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMicrosoftOnedriveAuthentication of(ServiceKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftOnedriveAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code AuthenticateViaMicrosoftOAuth}
    • + *
    • {@code ServiceKeyAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftOnedriveAuthentication other = (SourceMicrosoftOnedriveAuthentication) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceMicrosoftOnedriveAuthentication.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftOnedriveAuthentication.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveAutogenerated.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveAutogenerated.java new file mode 100644 index 000000000..db6aabab7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveAutogenerated.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMicrosoftOnedriveAutogenerated { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition_type") + private Optional headerDefinitionType; + + public SourceMicrosoftOnedriveAutogenerated() { + + this.headerDefinitionType = Builder._SINGLETON_VALUE_HeaderDefinitionType.value(); + } + + public Optional headerDefinitionType() { + return headerDefinitionType; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftOnedriveAutogenerated other = (SourceMicrosoftOnedriveAutogenerated) o; + return + java.util.Objects.deepEquals(this.headerDefinitionType, other.headerDefinitionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + headerDefinitionType); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftOnedriveAutogenerated.class, + "headerDefinitionType", headerDefinitionType); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceMicrosoftOnedriveAutogenerated build() { + return new SourceMicrosoftOnedriveAutogenerated( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_HeaderDefinitionType = + new LazySingletonValue<>( + "header_definition_type", + "\"Autogenerated\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveAvroFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveAvroFormat.java new file mode 100644 index 000000000..c73ed4733 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveAvroFormat.java @@ -0,0 +1,149 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMicrosoftOnedriveAvroFormat { + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("double_as_string") + private Optional doubleAsString; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + public SourceMicrosoftOnedriveAvroFormat( + @JsonProperty("double_as_string") Optional doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = doubleAsString; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public Optional doubleAsString() { + return doubleAsString; + } + + public Optional filetype() { + return filetype; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public SourceMicrosoftOnedriveAvroFormat withDoubleAsString(boolean doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = Optional.ofNullable(doubleAsString); + return this; + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public SourceMicrosoftOnedriveAvroFormat withDoubleAsString(Optional doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = doubleAsString; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftOnedriveAvroFormat other = (SourceMicrosoftOnedriveAvroFormat) o; + return + java.util.Objects.deepEquals(this.doubleAsString, other.doubleAsString) && + java.util.Objects.deepEquals(this.filetype, other.filetype); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + doubleAsString, + filetype); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftOnedriveAvroFormat.class, + "doubleAsString", doubleAsString, + "filetype", filetype); + } + + public final static class Builder { + + private Optional doubleAsString; + + private Builder() { + // force use of static builder() method + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public Builder doubleAsString(boolean doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = Optional.ofNullable(doubleAsString); + return this; + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public Builder doubleAsString(Optional doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = doubleAsString; + return this; + } + + public SourceMicrosoftOnedriveAvroFormat build() { + if (doubleAsString == null) { + doubleAsString = _SINGLETON_VALUE_DoubleAsString.value(); + } + return new SourceMicrosoftOnedriveAvroFormat( + doubleAsString); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DoubleAsString = + new LazySingletonValue<>( + "double_as_string", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"avro\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveCSVFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveCSVFormat.java new file mode 100644 index 000000000..29ceec654 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveCSVFormat.java @@ -0,0 +1,852 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMicrosoftOnedriveCSVFormat { + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("delimiter") + private Optional delimiter; + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("double_quote") + private Optional doubleQuote; + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("encoding") + private Optional encoding; + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("escape_char") + private Optional escapeChar; + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("false_values") + private Optional> falseValues; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition") + private Optional headerDefinition; + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("null_values") + private Optional> nullValues; + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("quote_char") + private Optional quoteChar; + + /** + * The number of rows to skip after the header row. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("skip_rows_after_header") + private Optional skipRowsAfterHeader; + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("skip_rows_before_header") + private Optional skipRowsBeforeHeader; + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("strings_can_be_null") + private Optional stringsCanBeNull; + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("true_values") + private Optional> trueValues; + + public SourceMicrosoftOnedriveCSVFormat( + @JsonProperty("delimiter") Optional delimiter, + @JsonProperty("double_quote") Optional doubleQuote, + @JsonProperty("encoding") Optional encoding, + @JsonProperty("escape_char") Optional escapeChar, + @JsonProperty("false_values") Optional> falseValues, + @JsonProperty("header_definition") Optional headerDefinition, + @JsonProperty("null_values") Optional> nullValues, + @JsonProperty("quote_char") Optional quoteChar, + @JsonProperty("skip_rows_after_header") Optional skipRowsAfterHeader, + @JsonProperty("skip_rows_before_header") Optional skipRowsBeforeHeader, + @JsonProperty("strings_can_be_null") Optional stringsCanBeNull, + @JsonProperty("true_values") Optional> trueValues) { + Utils.checkNotNull(delimiter, "delimiter"); + Utils.checkNotNull(doubleQuote, "doubleQuote"); + Utils.checkNotNull(encoding, "encoding"); + Utils.checkNotNull(escapeChar, "escapeChar"); + Utils.checkNotNull(falseValues, "falseValues"); + Utils.checkNotNull(headerDefinition, "headerDefinition"); + Utils.checkNotNull(nullValues, "nullValues"); + Utils.checkNotNull(quoteChar, "quoteChar"); + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + Utils.checkNotNull(trueValues, "trueValues"); + this.delimiter = delimiter; + this.doubleQuote = doubleQuote; + this.encoding = encoding; + this.escapeChar = escapeChar; + this.falseValues = falseValues; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + this.headerDefinition = headerDefinition; + this.nullValues = nullValues; + this.quoteChar = quoteChar; + this.skipRowsAfterHeader = skipRowsAfterHeader; + this.skipRowsBeforeHeader = skipRowsBeforeHeader; + this.stringsCanBeNull = stringsCanBeNull; + this.trueValues = trueValues; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Optional delimiter() { + return delimiter; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Optional doubleQuote() { + return doubleQuote; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Optional encoding() { + return encoding; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Optional escapeChar() { + return escapeChar; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public Optional> falseValues() { + return falseValues; + } + + public Optional filetype() { + return filetype; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public Optional headerDefinition() { + return headerDefinition; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public Optional> nullValues() { + return nullValues; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Optional quoteChar() { + return quoteChar; + } + + /** + * The number of rows to skip after the header row. + */ + public Optional skipRowsAfterHeader() { + return skipRowsAfterHeader; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public Optional skipRowsBeforeHeader() { + return skipRowsBeforeHeader; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public Optional stringsCanBeNull() { + return stringsCanBeNull; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public Optional> trueValues() { + return trueValues; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public SourceMicrosoftOnedriveCSVFormat withDelimiter(String delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = Optional.ofNullable(delimiter); + return this; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public SourceMicrosoftOnedriveCSVFormat withDelimiter(Optional delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = delimiter; + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public SourceMicrosoftOnedriveCSVFormat withDoubleQuote(boolean doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = Optional.ofNullable(doubleQuote); + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public SourceMicrosoftOnedriveCSVFormat withDoubleQuote(Optional doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = doubleQuote; + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public SourceMicrosoftOnedriveCSVFormat withEncoding(String encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = Optional.ofNullable(encoding); + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public SourceMicrosoftOnedriveCSVFormat withEncoding(Optional encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = encoding; + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public SourceMicrosoftOnedriveCSVFormat withEscapeChar(String escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = Optional.ofNullable(escapeChar); + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public SourceMicrosoftOnedriveCSVFormat withEscapeChar(Optional escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = escapeChar; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public SourceMicrosoftOnedriveCSVFormat withFalseValues(java.util.List falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = Optional.ofNullable(falseValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public SourceMicrosoftOnedriveCSVFormat withFalseValues(Optional> falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = falseValues; + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public SourceMicrosoftOnedriveCSVFormat withHeaderDefinition(SourceMicrosoftOnedriveCSVHeaderDefinition headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = Optional.ofNullable(headerDefinition); + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public SourceMicrosoftOnedriveCSVFormat withHeaderDefinition(Optional headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = headerDefinition; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public SourceMicrosoftOnedriveCSVFormat withNullValues(java.util.List nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = Optional.ofNullable(nullValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public SourceMicrosoftOnedriveCSVFormat withNullValues(Optional> nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = nullValues; + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public SourceMicrosoftOnedriveCSVFormat withQuoteChar(String quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = Optional.ofNullable(quoteChar); + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public SourceMicrosoftOnedriveCSVFormat withQuoteChar(Optional quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = quoteChar; + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public SourceMicrosoftOnedriveCSVFormat withSkipRowsAfterHeader(long skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = Optional.ofNullable(skipRowsAfterHeader); + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public SourceMicrosoftOnedriveCSVFormat withSkipRowsAfterHeader(Optional skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = skipRowsAfterHeader; + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public SourceMicrosoftOnedriveCSVFormat withSkipRowsBeforeHeader(long skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = Optional.ofNullable(skipRowsBeforeHeader); + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public SourceMicrosoftOnedriveCSVFormat withSkipRowsBeforeHeader(Optional skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = skipRowsBeforeHeader; + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public SourceMicrosoftOnedriveCSVFormat withStringsCanBeNull(boolean stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = Optional.ofNullable(stringsCanBeNull); + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public SourceMicrosoftOnedriveCSVFormat withStringsCanBeNull(Optional stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = stringsCanBeNull; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public SourceMicrosoftOnedriveCSVFormat withTrueValues(java.util.List trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = Optional.ofNullable(trueValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public SourceMicrosoftOnedriveCSVFormat withTrueValues(Optional> trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = trueValues; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftOnedriveCSVFormat other = (SourceMicrosoftOnedriveCSVFormat) o; + return + java.util.Objects.deepEquals(this.delimiter, other.delimiter) && + java.util.Objects.deepEquals(this.doubleQuote, other.doubleQuote) && + java.util.Objects.deepEquals(this.encoding, other.encoding) && + java.util.Objects.deepEquals(this.escapeChar, other.escapeChar) && + java.util.Objects.deepEquals(this.falseValues, other.falseValues) && + java.util.Objects.deepEquals(this.filetype, other.filetype) && + java.util.Objects.deepEquals(this.headerDefinition, other.headerDefinition) && + java.util.Objects.deepEquals(this.nullValues, other.nullValues) && + java.util.Objects.deepEquals(this.quoteChar, other.quoteChar) && + java.util.Objects.deepEquals(this.skipRowsAfterHeader, other.skipRowsAfterHeader) && + java.util.Objects.deepEquals(this.skipRowsBeforeHeader, other.skipRowsBeforeHeader) && + java.util.Objects.deepEquals(this.stringsCanBeNull, other.stringsCanBeNull) && + java.util.Objects.deepEquals(this.trueValues, other.trueValues); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + delimiter, + doubleQuote, + encoding, + escapeChar, + falseValues, + filetype, + headerDefinition, + nullValues, + quoteChar, + skipRowsAfterHeader, + skipRowsBeforeHeader, + stringsCanBeNull, + trueValues); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftOnedriveCSVFormat.class, + "delimiter", delimiter, + "doubleQuote", doubleQuote, + "encoding", encoding, + "escapeChar", escapeChar, + "falseValues", falseValues, + "filetype", filetype, + "headerDefinition", headerDefinition, + "nullValues", nullValues, + "quoteChar", quoteChar, + "skipRowsAfterHeader", skipRowsAfterHeader, + "skipRowsBeforeHeader", skipRowsBeforeHeader, + "stringsCanBeNull", stringsCanBeNull, + "trueValues", trueValues); + } + + public final static class Builder { + + private Optional delimiter; + + private Optional doubleQuote; + + private Optional encoding; + + private Optional escapeChar = Optional.empty(); + + private Optional> falseValues = Optional.empty(); + + private Optional headerDefinition = Optional.empty(); + + private Optional> nullValues = Optional.empty(); + + private Optional quoteChar; + + private Optional skipRowsAfterHeader; + + private Optional skipRowsBeforeHeader; + + private Optional stringsCanBeNull; + + private Optional> trueValues = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Builder delimiter(String delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = Optional.ofNullable(delimiter); + return this; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Builder delimiter(Optional delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = delimiter; + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Builder doubleQuote(boolean doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = Optional.ofNullable(doubleQuote); + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Builder doubleQuote(Optional doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = doubleQuote; + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Builder encoding(String encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = Optional.ofNullable(encoding); + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Builder encoding(Optional encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = encoding; + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Builder escapeChar(String escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = Optional.ofNullable(escapeChar); + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Builder escapeChar(Optional escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = escapeChar; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public Builder falseValues(java.util.List falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = Optional.ofNullable(falseValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public Builder falseValues(Optional> falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = falseValues; + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public Builder headerDefinition(SourceMicrosoftOnedriveCSVHeaderDefinition headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = Optional.ofNullable(headerDefinition); + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public Builder headerDefinition(Optional headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = headerDefinition; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public Builder nullValues(java.util.List nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = Optional.ofNullable(nullValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public Builder nullValues(Optional> nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = nullValues; + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Builder quoteChar(String quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = Optional.ofNullable(quoteChar); + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Builder quoteChar(Optional quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = quoteChar; + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public Builder skipRowsAfterHeader(long skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = Optional.ofNullable(skipRowsAfterHeader); + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public Builder skipRowsAfterHeader(Optional skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = skipRowsAfterHeader; + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public Builder skipRowsBeforeHeader(long skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = Optional.ofNullable(skipRowsBeforeHeader); + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public Builder skipRowsBeforeHeader(Optional skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = skipRowsBeforeHeader; + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public Builder stringsCanBeNull(boolean stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = Optional.ofNullable(stringsCanBeNull); + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public Builder stringsCanBeNull(Optional stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = stringsCanBeNull; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public Builder trueValues(java.util.List trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = Optional.ofNullable(trueValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public Builder trueValues(Optional> trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = trueValues; + return this; + } + + public SourceMicrosoftOnedriveCSVFormat build() { + if (delimiter == null) { + delimiter = _SINGLETON_VALUE_Delimiter.value(); + } + if (doubleQuote == null) { + doubleQuote = _SINGLETON_VALUE_DoubleQuote.value(); + } + if (encoding == null) { + encoding = _SINGLETON_VALUE_Encoding.value(); + } + if (quoteChar == null) { + quoteChar = _SINGLETON_VALUE_QuoteChar.value(); + } + if (skipRowsAfterHeader == null) { + skipRowsAfterHeader = _SINGLETON_VALUE_SkipRowsAfterHeader.value(); + } + if (skipRowsBeforeHeader == null) { + skipRowsBeforeHeader = _SINGLETON_VALUE_SkipRowsBeforeHeader.value(); + } + if (stringsCanBeNull == null) { + stringsCanBeNull = _SINGLETON_VALUE_StringsCanBeNull.value(); + } + return new SourceMicrosoftOnedriveCSVFormat( + delimiter, + doubleQuote, + encoding, + escapeChar, + falseValues, + headerDefinition, + nullValues, + quoteChar, + skipRowsAfterHeader, + skipRowsBeforeHeader, + stringsCanBeNull, + trueValues); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Delimiter = + new LazySingletonValue<>( + "delimiter", + "\",\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DoubleQuote = + new LazySingletonValue<>( + "double_quote", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Encoding = + new LazySingletonValue<>( + "encoding", + "\"utf8\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"csv\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_QuoteChar = + new LazySingletonValue<>( + "quote_char", + "\"\\\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SkipRowsAfterHeader = + new LazySingletonValue<>( + "skip_rows_after_header", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SkipRowsBeforeHeader = + new LazySingletonValue<>( + "skip_rows_before_header", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_StringsCanBeNull = + new LazySingletonValue<>( + "strings_can_be_null", + "true", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveCSVHeaderDefinition.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveCSVHeaderDefinition.java new file mode 100644 index 000000000..52bf9c12d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveCSVHeaderDefinition.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceMicrosoftOnedriveCSVHeaderDefinition - How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + +@JsonDeserialize(using = SourceMicrosoftOnedriveCSVHeaderDefinition._Deserializer.class) +public class SourceMicrosoftOnedriveCSVHeaderDefinition { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceMicrosoftOnedriveCSVHeaderDefinition(TypedObject value) { + this.value = value; + } + + public static SourceMicrosoftOnedriveCSVHeaderDefinition of(SourceMicrosoftOnedriveFromCSV value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftOnedriveCSVHeaderDefinition(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMicrosoftOnedriveCSVHeaderDefinition of(SourceMicrosoftOnedriveAutogenerated value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftOnedriveCSVHeaderDefinition(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMicrosoftOnedriveCSVHeaderDefinition of(SourceMicrosoftOnedriveUserProvided value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftOnedriveCSVHeaderDefinition(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceMicrosoftOnedriveFromCSV}
    • + *
    • {@code SourceMicrosoftOnedriveAutogenerated}
    • + *
    • {@code SourceMicrosoftOnedriveUserProvided}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftOnedriveCSVHeaderDefinition other = (SourceMicrosoftOnedriveCSVHeaderDefinition) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceMicrosoftOnedriveCSVHeaderDefinition.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftOnedriveCSVHeaderDefinition.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental.java new file mode 100644 index 000000000..e1d174993 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental.java @@ -0,0 +1,279 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental - Extract text from document formats (.pdf, .docx, .md, .pptx) and emit as one record per file. + */ + +public class SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + /** + * Processing configuration + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("processing") + private Optional processing; + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("skip_unprocessable_files") + private Optional skipUnprocessableFiles; + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("strategy") + private Optional strategy; + + public SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental( + @JsonProperty("processing") Optional processing, + @JsonProperty("skip_unprocessable_files") Optional skipUnprocessableFiles, + @JsonProperty("strategy") Optional strategy) { + Utils.checkNotNull(processing, "processing"); + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + Utils.checkNotNull(strategy, "strategy"); + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + this.processing = processing; + this.skipUnprocessableFiles = skipUnprocessableFiles; + this.strategy = strategy; + } + + public Optional filetype() { + return filetype; + } + + /** + * Processing configuration + */ + public Optional processing() { + return processing; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public Optional skipUnprocessableFiles() { + return skipUnprocessableFiles; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public Optional strategy() { + return strategy; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Processing configuration + */ + public SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental withProcessing(SourceMicrosoftOnedriveProcessing processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = Optional.ofNullable(processing); + return this; + } + + /** + * Processing configuration + */ + public SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental withProcessing(Optional processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental withSkipUnprocessableFiles(boolean skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = Optional.ofNullable(skipUnprocessableFiles); + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental withSkipUnprocessableFiles(Optional skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = skipUnprocessableFiles; + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental withStrategy(SourceMicrosoftOnedriveParsingStrategy strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = Optional.ofNullable(strategy); + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental withStrategy(Optional strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = strategy; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental other = (SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental) o; + return + java.util.Objects.deepEquals(this.filetype, other.filetype) && + java.util.Objects.deepEquals(this.processing, other.processing) && + java.util.Objects.deepEquals(this.skipUnprocessableFiles, other.skipUnprocessableFiles) && + java.util.Objects.deepEquals(this.strategy, other.strategy); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filetype, + processing, + skipUnprocessableFiles, + strategy); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental.class, + "filetype", filetype, + "processing", processing, + "skipUnprocessableFiles", skipUnprocessableFiles, + "strategy", strategy); + } + + public final static class Builder { + + private Optional processing = Optional.empty(); + + private Optional skipUnprocessableFiles; + + private Optional strategy; + + private Builder() { + // force use of static builder() method + } + + /** + * Processing configuration + */ + public Builder processing(SourceMicrosoftOnedriveProcessing processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = Optional.ofNullable(processing); + return this; + } + + /** + * Processing configuration + */ + public Builder processing(Optional processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public Builder skipUnprocessableFiles(boolean skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = Optional.ofNullable(skipUnprocessableFiles); + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public Builder skipUnprocessableFiles(Optional skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = skipUnprocessableFiles; + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public Builder strategy(SourceMicrosoftOnedriveParsingStrategy strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = Optional.ofNullable(strategy); + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public Builder strategy(Optional strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = strategy; + return this; + } + + public SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental build() { + if (skipUnprocessableFiles == null) { + skipUnprocessableFiles = _SINGLETON_VALUE_SkipUnprocessableFiles.value(); + } + if (strategy == null) { + strategy = _SINGLETON_VALUE_Strategy.value(); + } + return new SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental( + processing, + skipUnprocessableFiles, + strategy); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"unstructured\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SkipUnprocessableFiles = + new LazySingletonValue<>( + "skip_unprocessable_files", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Strategy = + new LazySingletonValue<>( + "strategy", + "\"auto\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveFileBasedStreamConfig.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveFileBasedStreamConfig.java new file mode 100644 index 000000000..4327e2b01 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveFileBasedStreamConfig.java @@ -0,0 +1,524 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMicrosoftOnedriveFileBasedStreamConfig { + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("days_to_sync_if_history_is_full") + private Optional daysToSyncIfHistoryIsFull; + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + @JsonProperty("format") + private SourceMicrosoftOnedriveFormat format; + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("globs") + private Optional> globs; + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("input_schema") + private Optional inputSchema; + + /** + * The name of the stream. + */ + @JsonProperty("name") + private String name; + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("primary_key") + private Optional primaryKey; + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schemaless") + private Optional schemaless; + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("validation_policy") + private Optional validationPolicy; + + public SourceMicrosoftOnedriveFileBasedStreamConfig( + @JsonProperty("days_to_sync_if_history_is_full") Optional daysToSyncIfHistoryIsFull, + @JsonProperty("format") SourceMicrosoftOnedriveFormat format, + @JsonProperty("globs") Optional> globs, + @JsonProperty("input_schema") Optional inputSchema, + @JsonProperty("name") String name, + @JsonProperty("primary_key") Optional primaryKey, + @JsonProperty("schemaless") Optional schemaless, + @JsonProperty("validation_policy") Optional validationPolicy) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + Utils.checkNotNull(format, "format"); + Utils.checkNotNull(globs, "globs"); + Utils.checkNotNull(inputSchema, "inputSchema"); + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(primaryKey, "primaryKey"); + Utils.checkNotNull(schemaless, "schemaless"); + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.daysToSyncIfHistoryIsFull = daysToSyncIfHistoryIsFull; + this.format = format; + this.globs = globs; + this.inputSchema = inputSchema; + this.name = name; + this.primaryKey = primaryKey; + this.schemaless = schemaless; + this.validationPolicy = validationPolicy; + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public Optional daysToSyncIfHistoryIsFull() { + return daysToSyncIfHistoryIsFull; + } + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + public SourceMicrosoftOnedriveFormat format() { + return format; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public Optional> globs() { + return globs; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public Optional inputSchema() { + return inputSchema; + } + + /** + * The name of the stream. + */ + public String name() { + return name; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public Optional primaryKey() { + return primaryKey; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public Optional schemaless() { + return schemaless; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public Optional validationPolicy() { + return validationPolicy; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public SourceMicrosoftOnedriveFileBasedStreamConfig withDaysToSyncIfHistoryIsFull(long daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = Optional.ofNullable(daysToSyncIfHistoryIsFull); + return this; + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public SourceMicrosoftOnedriveFileBasedStreamConfig withDaysToSyncIfHistoryIsFull(Optional daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = daysToSyncIfHistoryIsFull; + return this; + } + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + public SourceMicrosoftOnedriveFileBasedStreamConfig withFormat(SourceMicrosoftOnedriveFormat format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public SourceMicrosoftOnedriveFileBasedStreamConfig withGlobs(java.util.List globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = Optional.ofNullable(globs); + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public SourceMicrosoftOnedriveFileBasedStreamConfig withGlobs(Optional> globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = globs; + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public SourceMicrosoftOnedriveFileBasedStreamConfig withInputSchema(String inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = Optional.ofNullable(inputSchema); + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public SourceMicrosoftOnedriveFileBasedStreamConfig withInputSchema(Optional inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = inputSchema; + return this; + } + + /** + * The name of the stream. + */ + public SourceMicrosoftOnedriveFileBasedStreamConfig withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public SourceMicrosoftOnedriveFileBasedStreamConfig withPrimaryKey(String primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = Optional.ofNullable(primaryKey); + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public SourceMicrosoftOnedriveFileBasedStreamConfig withPrimaryKey(Optional primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = primaryKey; + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public SourceMicrosoftOnedriveFileBasedStreamConfig withSchemaless(boolean schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = Optional.ofNullable(schemaless); + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public SourceMicrosoftOnedriveFileBasedStreamConfig withSchemaless(Optional schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = schemaless; + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public SourceMicrosoftOnedriveFileBasedStreamConfig withValidationPolicy(SourceMicrosoftOnedriveValidationPolicy validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = Optional.ofNullable(validationPolicy); + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public SourceMicrosoftOnedriveFileBasedStreamConfig withValidationPolicy(Optional validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = validationPolicy; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftOnedriveFileBasedStreamConfig other = (SourceMicrosoftOnedriveFileBasedStreamConfig) o; + return + java.util.Objects.deepEquals(this.daysToSyncIfHistoryIsFull, other.daysToSyncIfHistoryIsFull) && + java.util.Objects.deepEquals(this.format, other.format) && + java.util.Objects.deepEquals(this.globs, other.globs) && + java.util.Objects.deepEquals(this.inputSchema, other.inputSchema) && + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.primaryKey, other.primaryKey) && + java.util.Objects.deepEquals(this.schemaless, other.schemaless) && + java.util.Objects.deepEquals(this.validationPolicy, other.validationPolicy); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + daysToSyncIfHistoryIsFull, + format, + globs, + inputSchema, + name, + primaryKey, + schemaless, + validationPolicy); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftOnedriveFileBasedStreamConfig.class, + "daysToSyncIfHistoryIsFull", daysToSyncIfHistoryIsFull, + "format", format, + "globs", globs, + "inputSchema", inputSchema, + "name", name, + "primaryKey", primaryKey, + "schemaless", schemaless, + "validationPolicy", validationPolicy); + } + + public final static class Builder { + + private Optional daysToSyncIfHistoryIsFull; + + private SourceMicrosoftOnedriveFormat format; + + private Optional> globs = Optional.empty(); + + private Optional inputSchema = Optional.empty(); + + private String name; + + private Optional primaryKey = Optional.empty(); + + private Optional schemaless; + + private Optional validationPolicy; + + private Builder() { + // force use of static builder() method + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public Builder daysToSyncIfHistoryIsFull(long daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = Optional.ofNullable(daysToSyncIfHistoryIsFull); + return this; + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public Builder daysToSyncIfHistoryIsFull(Optional daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = daysToSyncIfHistoryIsFull; + return this; + } + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + public Builder format(SourceMicrosoftOnedriveFormat format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public Builder globs(java.util.List globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = Optional.ofNullable(globs); + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public Builder globs(Optional> globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = globs; + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public Builder inputSchema(String inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = Optional.ofNullable(inputSchema); + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public Builder inputSchema(Optional inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = inputSchema; + return this; + } + + /** + * The name of the stream. + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public Builder primaryKey(String primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = Optional.ofNullable(primaryKey); + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public Builder primaryKey(Optional primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = primaryKey; + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public Builder schemaless(boolean schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = Optional.ofNullable(schemaless); + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public Builder schemaless(Optional schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = schemaless; + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public Builder validationPolicy(SourceMicrosoftOnedriveValidationPolicy validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = Optional.ofNullable(validationPolicy); + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public Builder validationPolicy(Optional validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = validationPolicy; + return this; + } + + public SourceMicrosoftOnedriveFileBasedStreamConfig build() { + if (daysToSyncIfHistoryIsFull == null) { + daysToSyncIfHistoryIsFull = _SINGLETON_VALUE_DaysToSyncIfHistoryIsFull.value(); + } + if (schemaless == null) { + schemaless = _SINGLETON_VALUE_Schemaless.value(); + } + if (validationPolicy == null) { + validationPolicy = _SINGLETON_VALUE_ValidationPolicy.value(); + } + return new SourceMicrosoftOnedriveFileBasedStreamConfig( + daysToSyncIfHistoryIsFull, + format, + globs, + inputSchema, + name, + primaryKey, + schemaless, + validationPolicy); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DaysToSyncIfHistoryIsFull = + new LazySingletonValue<>( + "days_to_sync_if_history_is_full", + "3", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Schemaless = + new LazySingletonValue<>( + "schemaless", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ValidationPolicy = + new LazySingletonValue<>( + "validation_policy", + "\"Emit Record\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveFiletype.java new file mode 100644 index 000000000..aa95ef67a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftOnedriveFiletype { + AVRO("avro"); + + @JsonValue + private final String value; + + private SourceMicrosoftOnedriveFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveFormat.java new file mode 100644 index 000000000..58bb202db --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveFormat.java @@ -0,0 +1,122 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceMicrosoftOnedriveFormat - The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + +@JsonDeserialize(using = SourceMicrosoftOnedriveFormat._Deserializer.class) +public class SourceMicrosoftOnedriveFormat { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceMicrosoftOnedriveFormat(TypedObject value) { + this.value = value; + } + + public static SourceMicrosoftOnedriveFormat of(SourceMicrosoftOnedriveAvroFormat value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftOnedriveFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMicrosoftOnedriveFormat of(SourceMicrosoftOnedriveCSVFormat value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftOnedriveFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMicrosoftOnedriveFormat of(SourceMicrosoftOnedriveJsonlFormat value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftOnedriveFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMicrosoftOnedriveFormat of(SourceMicrosoftOnedriveParquetFormat value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftOnedriveFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMicrosoftOnedriveFormat of(SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftOnedriveFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceMicrosoftOnedriveAvroFormat}
    • + *
    • {@code SourceMicrosoftOnedriveCSVFormat}
    • + *
    • {@code SourceMicrosoftOnedriveJsonlFormat}
    • + *
    • {@code SourceMicrosoftOnedriveParquetFormat}
    • + *
    • {@code SourceMicrosoftOnedriveDocumentFileTypeFormatExperimental}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftOnedriveFormat other = (SourceMicrosoftOnedriveFormat) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceMicrosoftOnedriveFormat.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftOnedriveFormat.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveFromCSV.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveFromCSV.java new file mode 100644 index 000000000..51859bbd5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveFromCSV.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMicrosoftOnedriveFromCSV { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition_type") + private Optional headerDefinitionType; + + public SourceMicrosoftOnedriveFromCSV() { + + this.headerDefinitionType = Builder._SINGLETON_VALUE_HeaderDefinitionType.value(); + } + + public Optional headerDefinitionType() { + return headerDefinitionType; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftOnedriveFromCSV other = (SourceMicrosoftOnedriveFromCSV) o; + return + java.util.Objects.deepEquals(this.headerDefinitionType, other.headerDefinitionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + headerDefinitionType); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftOnedriveFromCSV.class, + "headerDefinitionType", headerDefinitionType); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceMicrosoftOnedriveFromCSV build() { + return new SourceMicrosoftOnedriveFromCSV( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_HeaderDefinitionType = + new LazySingletonValue<>( + "header_definition_type", + "\"From CSV\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveHeaderDefinitionType.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveHeaderDefinitionType.java new file mode 100644 index 000000000..a255f4669 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveHeaderDefinitionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftOnedriveHeaderDefinitionType { + FROM_CSV("From CSV"); + + @JsonValue + private final String value; + + private SourceMicrosoftOnedriveHeaderDefinitionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveJsonlFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveJsonlFormat.java new file mode 100644 index 000000000..6cf7532ea --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveJsonlFormat.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMicrosoftOnedriveJsonlFormat { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + public SourceMicrosoftOnedriveJsonlFormat() { + + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + } + + public Optional filetype() { + return filetype; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftOnedriveJsonlFormat other = (SourceMicrosoftOnedriveJsonlFormat) o; + return + java.util.Objects.deepEquals(this.filetype, other.filetype); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filetype); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftOnedriveJsonlFormat.class, + "filetype", filetype); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceMicrosoftOnedriveJsonlFormat build() { + return new SourceMicrosoftOnedriveJsonlFormat( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"jsonl\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveLocal.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveLocal.java new file mode 100644 index 000000000..76eef268d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveLocal.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SourceMicrosoftOnedriveLocal - Process files locally, supporting `fast` and `ocr` modes. This is the default option. + */ + +public class SourceMicrosoftOnedriveLocal { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public SourceMicrosoftOnedriveLocal() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftOnedriveLocal other = (SourceMicrosoftOnedriveLocal) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftOnedriveLocal.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceMicrosoftOnedriveLocal build() { + return new SourceMicrosoftOnedriveLocal( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"local\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveMicrosoftOnedrive.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveMicrosoftOnedrive.java new file mode 100644 index 000000000..4097a049d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveMicrosoftOnedrive.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftOnedriveMicrosoftOnedrive { + MICROSOFT_ONEDRIVE("microsoft-onedrive"); + + @JsonValue + private final String value; + + private SourceMicrosoftOnedriveMicrosoftOnedrive(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveMode.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveMode.java new file mode 100644 index 000000000..6c4b4866d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftOnedriveMode { + LOCAL("local"); + + @JsonValue + private final String value; + + private SourceMicrosoftOnedriveMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveParquetFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveParquetFormat.java new file mode 100644 index 000000000..9dd777a7b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveParquetFormat.java @@ -0,0 +1,149 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMicrosoftOnedriveParquetFormat { + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("decimal_as_float") + private Optional decimalAsFloat; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + public SourceMicrosoftOnedriveParquetFormat( + @JsonProperty("decimal_as_float") Optional decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = decimalAsFloat; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public Optional decimalAsFloat() { + return decimalAsFloat; + } + + public Optional filetype() { + return filetype; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public SourceMicrosoftOnedriveParquetFormat withDecimalAsFloat(boolean decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = Optional.ofNullable(decimalAsFloat); + return this; + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public SourceMicrosoftOnedriveParquetFormat withDecimalAsFloat(Optional decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = decimalAsFloat; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftOnedriveParquetFormat other = (SourceMicrosoftOnedriveParquetFormat) o; + return + java.util.Objects.deepEquals(this.decimalAsFloat, other.decimalAsFloat) && + java.util.Objects.deepEquals(this.filetype, other.filetype); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + decimalAsFloat, + filetype); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftOnedriveParquetFormat.class, + "decimalAsFloat", decimalAsFloat, + "filetype", filetype); + } + + public final static class Builder { + + private Optional decimalAsFloat; + + private Builder() { + // force use of static builder() method + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public Builder decimalAsFloat(boolean decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = Optional.ofNullable(decimalAsFloat); + return this; + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public Builder decimalAsFloat(Optional decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = decimalAsFloat; + return this; + } + + public SourceMicrosoftOnedriveParquetFormat build() { + if (decimalAsFloat == null) { + decimalAsFloat = _SINGLETON_VALUE_DecimalAsFloat.value(); + } + return new SourceMicrosoftOnedriveParquetFormat( + decimalAsFloat); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DecimalAsFloat = + new LazySingletonValue<>( + "decimal_as_float", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"parquet\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveParsingStrategy.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveParsingStrategy.java new file mode 100644 index 000000000..006dd4417 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveParsingStrategy.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceMicrosoftOnedriveParsingStrategy - The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ +public enum SourceMicrosoftOnedriveParsingStrategy { + AUTO("auto"), + FAST("fast"), + OCR_ONLY("ocr_only"), + HI_RES("hi_res"); + + @JsonValue + private final String value; + + private SourceMicrosoftOnedriveParsingStrategy(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveProcessing.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveProcessing.java new file mode 100644 index 000000000..c9a2b0706 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveProcessing.java @@ -0,0 +1,94 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceMicrosoftOnedriveProcessing - Processing configuration + */ + +@JsonDeserialize(using = SourceMicrosoftOnedriveProcessing._Deserializer.class) +public class SourceMicrosoftOnedriveProcessing { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceMicrosoftOnedriveProcessing(TypedObject value) { + this.value = value; + } + + public static SourceMicrosoftOnedriveProcessing of(SourceMicrosoftOnedriveLocal value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftOnedriveProcessing(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceMicrosoftOnedriveLocal}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftOnedriveProcessing other = (SourceMicrosoftOnedriveProcessing) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceMicrosoftOnedriveProcessing.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftOnedriveProcessing.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasAuthType.java new file mode 100644 index 000000000..d63832734 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftOnedriveSchemasAuthType { + SERVICE("Service"); + + @JsonValue + private final String value; + + private SourceMicrosoftOnedriveSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasFiletype.java new file mode 100644 index 000000000..eedece255 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftOnedriveSchemasFiletype { + CSV("csv"); + + @JsonValue + private final String value; + + private SourceMicrosoftOnedriveSchemasFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasHeaderDefinitionType.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasHeaderDefinitionType.java new file mode 100644 index 000000000..6d7727e69 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasHeaderDefinitionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftOnedriveSchemasHeaderDefinitionType { + AUTOGENERATED("Autogenerated"); + + @JsonValue + private final String value; + + private SourceMicrosoftOnedriveSchemasHeaderDefinitionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasStreamsFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasStreamsFiletype.java new file mode 100644 index 000000000..83a22ca77 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasStreamsFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftOnedriveSchemasStreamsFiletype { + JSONL("jsonl"); + + @JsonValue + private final String value; + + private SourceMicrosoftOnedriveSchemasStreamsFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasStreamsFormatFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasStreamsFormatFiletype.java new file mode 100644 index 000000000..ad835661d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasStreamsFormatFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftOnedriveSchemasStreamsFormatFiletype { + PARQUET("parquet"); + + @JsonValue + private final String value; + + private SourceMicrosoftOnedriveSchemasStreamsFormatFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasStreamsFormatFormatFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasStreamsFormatFormatFiletype.java new file mode 100644 index 000000000..fdda63c68 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasStreamsFormatFormatFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftOnedriveSchemasStreamsFormatFormatFiletype { + UNSTRUCTURED("unstructured"); + + @JsonValue + private final String value; + + private SourceMicrosoftOnedriveSchemasStreamsFormatFormatFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasStreamsHeaderDefinitionType.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasStreamsHeaderDefinitionType.java new file mode 100644 index 000000000..9aacfcd2c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveSchemasStreamsHeaderDefinitionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftOnedriveSchemasStreamsHeaderDefinitionType { + USER_PROVIDED("User Provided"); + + @JsonValue + private final String value; + + private SourceMicrosoftOnedriveSchemasStreamsHeaderDefinitionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveUserProvided.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveUserProvided.java new file mode 100644 index 000000000..38f9c62f5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveUserProvided.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMicrosoftOnedriveUserProvided { + + /** + * The column names that will be used while emitting the CSV records + */ + @JsonProperty("column_names") + private java.util.List columnNames; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition_type") + private Optional headerDefinitionType; + + public SourceMicrosoftOnedriveUserProvided( + @JsonProperty("column_names") java.util.List columnNames) { + Utils.checkNotNull(columnNames, "columnNames"); + this.columnNames = columnNames; + this.headerDefinitionType = Builder._SINGLETON_VALUE_HeaderDefinitionType.value(); + } + + /** + * The column names that will be used while emitting the CSV records + */ + public java.util.List columnNames() { + return columnNames; + } + + public Optional headerDefinitionType() { + return headerDefinitionType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The column names that will be used while emitting the CSV records + */ + public SourceMicrosoftOnedriveUserProvided withColumnNames(java.util.List columnNames) { + Utils.checkNotNull(columnNames, "columnNames"); + this.columnNames = columnNames; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftOnedriveUserProvided other = (SourceMicrosoftOnedriveUserProvided) o; + return + java.util.Objects.deepEquals(this.columnNames, other.columnNames) && + java.util.Objects.deepEquals(this.headerDefinitionType, other.headerDefinitionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + columnNames, + headerDefinitionType); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftOnedriveUserProvided.class, + "columnNames", columnNames, + "headerDefinitionType", headerDefinitionType); + } + + public final static class Builder { + + private java.util.List columnNames; + + private Builder() { + // force use of static builder() method + } + + /** + * The column names that will be used while emitting the CSV records + */ + public Builder columnNames(java.util.List columnNames) { + Utils.checkNotNull(columnNames, "columnNames"); + this.columnNames = columnNames; + return this; + } + + public SourceMicrosoftOnedriveUserProvided build() { + return new SourceMicrosoftOnedriveUserProvided( + columnNames); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_HeaderDefinitionType = + new LazySingletonValue<>( + "header_definition_type", + "\"User Provided\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveValidationPolicy.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveValidationPolicy.java new file mode 100644 index 000000000..d614ac6e1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftOnedriveValidationPolicy.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceMicrosoftOnedriveValidationPolicy - The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ +public enum SourceMicrosoftOnedriveValidationPolicy { + EMIT_RECORD("Emit Record"), + SKIP_RECORD("Skip Record"), + WAIT_FOR_DISCOVER("Wait for Discover"); + + @JsonValue + private final String value; + + private SourceMicrosoftOnedriveValidationPolicy(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepoint.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepoint.java new file mode 100644 index 000000000..cc82e4491 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepoint.java @@ -0,0 +1,362 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + +/** + * SourceMicrosoftSharepoint - SourceMicrosoftSharePointSpec class for Microsoft SharePoint Source Specification. + * This class combines the authentication details with additional configuration for the SharePoint API. + */ + +public class SourceMicrosoftSharepoint { + + /** + * Credentials for connecting to the One Drive API + */ + @JsonProperty("credentials") + private SourceMicrosoftSharepointAuthentication credentials; + + /** + * Path to a specific folder within the drives to search for files. Leave empty to search all folders of the drives. This does not apply to shared items. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("folder_path") + private Optional folderPath; + + /** + * Specifies the location(s) to search for files. Valid options are 'ACCESSIBLE_DRIVES' for all SharePoint drives the user can access, 'SHARED_ITEMS' for shared items the user has access to, and 'ALL' to search both. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("search_scope") + private Optional searchScope; + + @JsonProperty("sourceType") + private SourceMicrosoftSharepointMicrosoftSharepoint sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + @JsonProperty("streams") + private java.util.List streams; + + public SourceMicrosoftSharepoint( + @JsonProperty("credentials") SourceMicrosoftSharepointAuthentication credentials, + @JsonProperty("folder_path") Optional folderPath, + @JsonProperty("search_scope") Optional searchScope, + @JsonProperty("start_date") Optional startDate, + @JsonProperty("streams") java.util.List streams) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(folderPath, "folderPath"); + Utils.checkNotNull(searchScope, "searchScope"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(streams, "streams"); + this.credentials = credentials; + this.folderPath = folderPath; + this.searchScope = searchScope; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.streams = streams; + } + + /** + * Credentials for connecting to the One Drive API + */ + public SourceMicrosoftSharepointAuthentication credentials() { + return credentials; + } + + /** + * Path to a specific folder within the drives to search for files. Leave empty to search all folders of the drives. This does not apply to shared items. + */ + public Optional folderPath() { + return folderPath; + } + + /** + * Specifies the location(s) to search for files. Valid options are 'ACCESSIBLE_DRIVES' for all SharePoint drives the user can access, 'SHARED_ITEMS' for shared items the user has access to, and 'ALL' to search both. + */ + public Optional searchScope() { + return searchScope; + } + + public SourceMicrosoftSharepointMicrosoftSharepoint sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public Optional startDate() { + return startDate; + } + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + public java.util.List streams() { + return streams; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Credentials for connecting to the One Drive API + */ + public SourceMicrosoftSharepoint withCredentials(SourceMicrosoftSharepointAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Path to a specific folder within the drives to search for files. Leave empty to search all folders of the drives. This does not apply to shared items. + */ + public SourceMicrosoftSharepoint withFolderPath(String folderPath) { + Utils.checkNotNull(folderPath, "folderPath"); + this.folderPath = Optional.ofNullable(folderPath); + return this; + } + + /** + * Path to a specific folder within the drives to search for files. Leave empty to search all folders of the drives. This does not apply to shared items. + */ + public SourceMicrosoftSharepoint withFolderPath(Optional folderPath) { + Utils.checkNotNull(folderPath, "folderPath"); + this.folderPath = folderPath; + return this; + } + + /** + * Specifies the location(s) to search for files. Valid options are 'ACCESSIBLE_DRIVES' for all SharePoint drives the user can access, 'SHARED_ITEMS' for shared items the user has access to, and 'ALL' to search both. + */ + public SourceMicrosoftSharepoint withSearchScope(SourceMicrosoftSharepointSearchScope searchScope) { + Utils.checkNotNull(searchScope, "searchScope"); + this.searchScope = Optional.ofNullable(searchScope); + return this; + } + + /** + * Specifies the location(s) to search for files. Valid options are 'ACCESSIBLE_DRIVES' for all SharePoint drives the user can access, 'SHARED_ITEMS' for shared items the user has access to, and 'ALL' to search both. + */ + public SourceMicrosoftSharepoint withSearchScope(Optional searchScope) { + Utils.checkNotNull(searchScope, "searchScope"); + this.searchScope = searchScope; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public SourceMicrosoftSharepoint withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public SourceMicrosoftSharepoint withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + public SourceMicrosoftSharepoint withStreams(java.util.List streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = streams; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftSharepoint other = (SourceMicrosoftSharepoint) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.folderPath, other.folderPath) && + java.util.Objects.deepEquals(this.searchScope, other.searchScope) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.streams, other.streams); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + folderPath, + searchScope, + sourceType, + startDate, + streams); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftSharepoint.class, + "credentials", credentials, + "folderPath", folderPath, + "searchScope", searchScope, + "sourceType", sourceType, + "startDate", startDate, + "streams", streams); + } + + public final static class Builder { + + private SourceMicrosoftSharepointAuthentication credentials; + + private Optional folderPath; + + private Optional searchScope; + + private Optional startDate = Optional.empty(); + + private java.util.List streams; + + private Builder() { + // force use of static builder() method + } + + /** + * Credentials for connecting to the One Drive API + */ + public Builder credentials(SourceMicrosoftSharepointAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Path to a specific folder within the drives to search for files. Leave empty to search all folders of the drives. This does not apply to shared items. + */ + public Builder folderPath(String folderPath) { + Utils.checkNotNull(folderPath, "folderPath"); + this.folderPath = Optional.ofNullable(folderPath); + return this; + } + + /** + * Path to a specific folder within the drives to search for files. Leave empty to search all folders of the drives. This does not apply to shared items. + */ + public Builder folderPath(Optional folderPath) { + Utils.checkNotNull(folderPath, "folderPath"); + this.folderPath = folderPath; + return this; + } + + /** + * Specifies the location(s) to search for files. Valid options are 'ACCESSIBLE_DRIVES' for all SharePoint drives the user can access, 'SHARED_ITEMS' for shared items the user has access to, and 'ALL' to search both. + */ + public Builder searchScope(SourceMicrosoftSharepointSearchScope searchScope) { + Utils.checkNotNull(searchScope, "searchScope"); + this.searchScope = Optional.ofNullable(searchScope); + return this; + } + + /** + * Specifies the location(s) to search for files. Valid options are 'ACCESSIBLE_DRIVES' for all SharePoint drives the user can access, 'SHARED_ITEMS' for shared items the user has access to, and 'ALL' to search both. + */ + public Builder searchScope(Optional searchScope) { + Utils.checkNotNull(searchScope, "searchScope"); + this.searchScope = searchScope; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + public Builder streams(java.util.List streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = streams; + return this; + } + + public SourceMicrosoftSharepoint build() { + if (folderPath == null) { + folderPath = _SINGLETON_VALUE_FolderPath.value(); + } + if (searchScope == null) { + searchScope = _SINGLETON_VALUE_SearchScope.value(); + } + return new SourceMicrosoftSharepoint( + credentials, + folderPath, + searchScope, + startDate, + streams); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_FolderPath = + new LazySingletonValue<>( + "folder_path", + "\".\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SearchScope = + new LazySingletonValue<>( + "search_scope", + "\"ALL\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"microsoft-sharepoint\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAuthType.java new file mode 100644 index 000000000..dd377ef1d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftSharepointAuthType { + CLIENT("Client"); + + @JsonValue + private final String value; + + private SourceMicrosoftSharepointAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth.java new file mode 100644 index 000000000..2c5f93205 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth.java @@ -0,0 +1,245 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth - OAuthCredentials class to hold authentication details for Microsoft OAuth authentication. + * This class uses pydantic for data validation and settings management. + */ + +public class SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * Client ID of your Microsoft developer application + */ + @JsonProperty("client_id") + private String clientId; + + /** + * Client Secret of your Microsoft developer application + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * Refresh Token of your Microsoft developer application + */ + @JsonProperty("refresh_token") + private String refreshToken; + + /** + * Tenant ID of the Microsoft SharePoint user + */ + @JsonProperty("tenant_id") + private String tenantId; + + public SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("tenant_id") String tenantId) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(tenantId, "tenantId"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + this.tenantId = tenantId; + } + + public Optional authType() { + return authType; + } + + /** + * Client ID of your Microsoft developer application + */ + public String clientId() { + return clientId; + } + + /** + * Client Secret of your Microsoft developer application + */ + public String clientSecret() { + return clientSecret; + } + + /** + * Refresh Token of your Microsoft developer application + */ + public String refreshToken() { + return refreshToken; + } + + /** + * Tenant ID of the Microsoft SharePoint user + */ + public String tenantId() { + return tenantId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Client ID of your Microsoft developer application + */ + public SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret of your Microsoft developer application + */ + public SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Refresh Token of your Microsoft developer application + */ + public SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * Tenant ID of the Microsoft SharePoint user + */ + public SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth withTenantId(String tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = tenantId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth other = (SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.tenantId, other.tenantId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + clientId, + clientSecret, + refreshToken, + tenantId); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth.class, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken, + "tenantId", tenantId); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private String tenantId; + + private Builder() { + // force use of static builder() method + } + + /** + * Client ID of your Microsoft developer application + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret of your Microsoft developer application + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Refresh Token of your Microsoft developer application + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * Tenant ID of the Microsoft SharePoint user + */ + public Builder tenantId(String tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = tenantId; + return this; + } + + public SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth build() { + return new SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth( + clientId, + clientSecret, + refreshToken, + tenantId); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Client\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAuthentication.java new file mode 100644 index 000000000..e503fb312 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAuthentication.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceMicrosoftSharepointAuthentication - Credentials for connecting to the One Drive API + */ + +@JsonDeserialize(using = SourceMicrosoftSharepointAuthentication._Deserializer.class) +public class SourceMicrosoftSharepointAuthentication { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceMicrosoftSharepointAuthentication(TypedObject value) { + this.value = value; + } + + public static SourceMicrosoftSharepointAuthentication of(SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftSharepointAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMicrosoftSharepointAuthentication of(SourceMicrosoftSharepointServiceKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftSharepointAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceMicrosoftSharepointAuthenticateViaMicrosoftOAuth}
    • + *
    • {@code SourceMicrosoftSharepointServiceKeyAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftSharepointAuthentication other = (SourceMicrosoftSharepointAuthentication) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceMicrosoftSharepointAuthentication.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftSharepointAuthentication.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAutogenerated.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAutogenerated.java new file mode 100644 index 000000000..f6c734b2c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAutogenerated.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMicrosoftSharepointAutogenerated { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition_type") + private Optional headerDefinitionType; + + public SourceMicrosoftSharepointAutogenerated() { + + this.headerDefinitionType = Builder._SINGLETON_VALUE_HeaderDefinitionType.value(); + } + + public Optional headerDefinitionType() { + return headerDefinitionType; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftSharepointAutogenerated other = (SourceMicrosoftSharepointAutogenerated) o; + return + java.util.Objects.deepEquals(this.headerDefinitionType, other.headerDefinitionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + headerDefinitionType); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftSharepointAutogenerated.class, + "headerDefinitionType", headerDefinitionType); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceMicrosoftSharepointAutogenerated build() { + return new SourceMicrosoftSharepointAutogenerated( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_HeaderDefinitionType = + new LazySingletonValue<>( + "header_definition_type", + "\"Autogenerated\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAvroFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAvroFormat.java new file mode 100644 index 000000000..78640759a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointAvroFormat.java @@ -0,0 +1,149 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMicrosoftSharepointAvroFormat { + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("double_as_string") + private Optional doubleAsString; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + public SourceMicrosoftSharepointAvroFormat( + @JsonProperty("double_as_string") Optional doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = doubleAsString; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public Optional doubleAsString() { + return doubleAsString; + } + + public Optional filetype() { + return filetype; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public SourceMicrosoftSharepointAvroFormat withDoubleAsString(boolean doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = Optional.ofNullable(doubleAsString); + return this; + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public SourceMicrosoftSharepointAvroFormat withDoubleAsString(Optional doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = doubleAsString; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftSharepointAvroFormat other = (SourceMicrosoftSharepointAvroFormat) o; + return + java.util.Objects.deepEquals(this.doubleAsString, other.doubleAsString) && + java.util.Objects.deepEquals(this.filetype, other.filetype); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + doubleAsString, + filetype); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftSharepointAvroFormat.class, + "doubleAsString", doubleAsString, + "filetype", filetype); + } + + public final static class Builder { + + private Optional doubleAsString; + + private Builder() { + // force use of static builder() method + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public Builder doubleAsString(boolean doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = Optional.ofNullable(doubleAsString); + return this; + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public Builder doubleAsString(Optional doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = doubleAsString; + return this; + } + + public SourceMicrosoftSharepointAvroFormat build() { + if (doubleAsString == null) { + doubleAsString = _SINGLETON_VALUE_DoubleAsString.value(); + } + return new SourceMicrosoftSharepointAvroFormat( + doubleAsString); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DoubleAsString = + new LazySingletonValue<>( + "double_as_string", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"avro\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointCSVFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointCSVFormat.java new file mode 100644 index 000000000..b2e652c24 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointCSVFormat.java @@ -0,0 +1,920 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMicrosoftSharepointCSVFormat { + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("delimiter") + private Optional delimiter; + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("double_quote") + private Optional doubleQuote; + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("encoding") + private Optional encoding; + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("escape_char") + private Optional escapeChar; + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("false_values") + private Optional> falseValues; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition") + private Optional headerDefinition; + + /** + * Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ignore_errors_on_fields_mismatch") + private Optional ignoreErrorsOnFieldsMismatch; + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("null_values") + private Optional> nullValues; + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("quote_char") + private Optional quoteChar; + + /** + * The number of rows to skip after the header row. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("skip_rows_after_header") + private Optional skipRowsAfterHeader; + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("skip_rows_before_header") + private Optional skipRowsBeforeHeader; + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("strings_can_be_null") + private Optional stringsCanBeNull; + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("true_values") + private Optional> trueValues; + + public SourceMicrosoftSharepointCSVFormat( + @JsonProperty("delimiter") Optional delimiter, + @JsonProperty("double_quote") Optional doubleQuote, + @JsonProperty("encoding") Optional encoding, + @JsonProperty("escape_char") Optional escapeChar, + @JsonProperty("false_values") Optional> falseValues, + @JsonProperty("header_definition") Optional headerDefinition, + @JsonProperty("ignore_errors_on_fields_mismatch") Optional ignoreErrorsOnFieldsMismatch, + @JsonProperty("null_values") Optional> nullValues, + @JsonProperty("quote_char") Optional quoteChar, + @JsonProperty("skip_rows_after_header") Optional skipRowsAfterHeader, + @JsonProperty("skip_rows_before_header") Optional skipRowsBeforeHeader, + @JsonProperty("strings_can_be_null") Optional stringsCanBeNull, + @JsonProperty("true_values") Optional> trueValues) { + Utils.checkNotNull(delimiter, "delimiter"); + Utils.checkNotNull(doubleQuote, "doubleQuote"); + Utils.checkNotNull(encoding, "encoding"); + Utils.checkNotNull(escapeChar, "escapeChar"); + Utils.checkNotNull(falseValues, "falseValues"); + Utils.checkNotNull(headerDefinition, "headerDefinition"); + Utils.checkNotNull(ignoreErrorsOnFieldsMismatch, "ignoreErrorsOnFieldsMismatch"); + Utils.checkNotNull(nullValues, "nullValues"); + Utils.checkNotNull(quoteChar, "quoteChar"); + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + Utils.checkNotNull(trueValues, "trueValues"); + this.delimiter = delimiter; + this.doubleQuote = doubleQuote; + this.encoding = encoding; + this.escapeChar = escapeChar; + this.falseValues = falseValues; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + this.headerDefinition = headerDefinition; + this.ignoreErrorsOnFieldsMismatch = ignoreErrorsOnFieldsMismatch; + this.nullValues = nullValues; + this.quoteChar = quoteChar; + this.skipRowsAfterHeader = skipRowsAfterHeader; + this.skipRowsBeforeHeader = skipRowsBeforeHeader; + this.stringsCanBeNull = stringsCanBeNull; + this.trueValues = trueValues; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Optional delimiter() { + return delimiter; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Optional doubleQuote() { + return doubleQuote; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Optional encoding() { + return encoding; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Optional escapeChar() { + return escapeChar; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public Optional> falseValues() { + return falseValues; + } + + public Optional filetype() { + return filetype; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public Optional headerDefinition() { + return headerDefinition; + } + + /** + * Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. + */ + public Optional ignoreErrorsOnFieldsMismatch() { + return ignoreErrorsOnFieldsMismatch; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public Optional> nullValues() { + return nullValues; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Optional quoteChar() { + return quoteChar; + } + + /** + * The number of rows to skip after the header row. + */ + public Optional skipRowsAfterHeader() { + return skipRowsAfterHeader; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public Optional skipRowsBeforeHeader() { + return skipRowsBeforeHeader; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public Optional stringsCanBeNull() { + return stringsCanBeNull; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public Optional> trueValues() { + return trueValues; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public SourceMicrosoftSharepointCSVFormat withDelimiter(String delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = Optional.ofNullable(delimiter); + return this; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public SourceMicrosoftSharepointCSVFormat withDelimiter(Optional delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = delimiter; + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public SourceMicrosoftSharepointCSVFormat withDoubleQuote(boolean doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = Optional.ofNullable(doubleQuote); + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public SourceMicrosoftSharepointCSVFormat withDoubleQuote(Optional doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = doubleQuote; + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public SourceMicrosoftSharepointCSVFormat withEncoding(String encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = Optional.ofNullable(encoding); + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public SourceMicrosoftSharepointCSVFormat withEncoding(Optional encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = encoding; + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public SourceMicrosoftSharepointCSVFormat withEscapeChar(String escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = Optional.ofNullable(escapeChar); + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public SourceMicrosoftSharepointCSVFormat withEscapeChar(Optional escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = escapeChar; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public SourceMicrosoftSharepointCSVFormat withFalseValues(java.util.List falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = Optional.ofNullable(falseValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public SourceMicrosoftSharepointCSVFormat withFalseValues(Optional> falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = falseValues; + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public SourceMicrosoftSharepointCSVFormat withHeaderDefinition(SourceMicrosoftSharepointCSVHeaderDefinition headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = Optional.ofNullable(headerDefinition); + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public SourceMicrosoftSharepointCSVFormat withHeaderDefinition(Optional headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = headerDefinition; + return this; + } + + /** + * Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. + */ + public SourceMicrosoftSharepointCSVFormat withIgnoreErrorsOnFieldsMismatch(boolean ignoreErrorsOnFieldsMismatch) { + Utils.checkNotNull(ignoreErrorsOnFieldsMismatch, "ignoreErrorsOnFieldsMismatch"); + this.ignoreErrorsOnFieldsMismatch = Optional.ofNullable(ignoreErrorsOnFieldsMismatch); + return this; + } + + /** + * Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. + */ + public SourceMicrosoftSharepointCSVFormat withIgnoreErrorsOnFieldsMismatch(Optional ignoreErrorsOnFieldsMismatch) { + Utils.checkNotNull(ignoreErrorsOnFieldsMismatch, "ignoreErrorsOnFieldsMismatch"); + this.ignoreErrorsOnFieldsMismatch = ignoreErrorsOnFieldsMismatch; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public SourceMicrosoftSharepointCSVFormat withNullValues(java.util.List nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = Optional.ofNullable(nullValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public SourceMicrosoftSharepointCSVFormat withNullValues(Optional> nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = nullValues; + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public SourceMicrosoftSharepointCSVFormat withQuoteChar(String quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = Optional.ofNullable(quoteChar); + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public SourceMicrosoftSharepointCSVFormat withQuoteChar(Optional quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = quoteChar; + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public SourceMicrosoftSharepointCSVFormat withSkipRowsAfterHeader(long skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = Optional.ofNullable(skipRowsAfterHeader); + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public SourceMicrosoftSharepointCSVFormat withSkipRowsAfterHeader(Optional skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = skipRowsAfterHeader; + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public SourceMicrosoftSharepointCSVFormat withSkipRowsBeforeHeader(long skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = Optional.ofNullable(skipRowsBeforeHeader); + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public SourceMicrosoftSharepointCSVFormat withSkipRowsBeforeHeader(Optional skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = skipRowsBeforeHeader; + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public SourceMicrosoftSharepointCSVFormat withStringsCanBeNull(boolean stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = Optional.ofNullable(stringsCanBeNull); + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public SourceMicrosoftSharepointCSVFormat withStringsCanBeNull(Optional stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = stringsCanBeNull; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public SourceMicrosoftSharepointCSVFormat withTrueValues(java.util.List trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = Optional.ofNullable(trueValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public SourceMicrosoftSharepointCSVFormat withTrueValues(Optional> trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = trueValues; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftSharepointCSVFormat other = (SourceMicrosoftSharepointCSVFormat) o; + return + java.util.Objects.deepEquals(this.delimiter, other.delimiter) && + java.util.Objects.deepEquals(this.doubleQuote, other.doubleQuote) && + java.util.Objects.deepEquals(this.encoding, other.encoding) && + java.util.Objects.deepEquals(this.escapeChar, other.escapeChar) && + java.util.Objects.deepEquals(this.falseValues, other.falseValues) && + java.util.Objects.deepEquals(this.filetype, other.filetype) && + java.util.Objects.deepEquals(this.headerDefinition, other.headerDefinition) && + java.util.Objects.deepEquals(this.ignoreErrorsOnFieldsMismatch, other.ignoreErrorsOnFieldsMismatch) && + java.util.Objects.deepEquals(this.nullValues, other.nullValues) && + java.util.Objects.deepEquals(this.quoteChar, other.quoteChar) && + java.util.Objects.deepEquals(this.skipRowsAfterHeader, other.skipRowsAfterHeader) && + java.util.Objects.deepEquals(this.skipRowsBeforeHeader, other.skipRowsBeforeHeader) && + java.util.Objects.deepEquals(this.stringsCanBeNull, other.stringsCanBeNull) && + java.util.Objects.deepEquals(this.trueValues, other.trueValues); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + delimiter, + doubleQuote, + encoding, + escapeChar, + falseValues, + filetype, + headerDefinition, + ignoreErrorsOnFieldsMismatch, + nullValues, + quoteChar, + skipRowsAfterHeader, + skipRowsBeforeHeader, + stringsCanBeNull, + trueValues); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftSharepointCSVFormat.class, + "delimiter", delimiter, + "doubleQuote", doubleQuote, + "encoding", encoding, + "escapeChar", escapeChar, + "falseValues", falseValues, + "filetype", filetype, + "headerDefinition", headerDefinition, + "ignoreErrorsOnFieldsMismatch", ignoreErrorsOnFieldsMismatch, + "nullValues", nullValues, + "quoteChar", quoteChar, + "skipRowsAfterHeader", skipRowsAfterHeader, + "skipRowsBeforeHeader", skipRowsBeforeHeader, + "stringsCanBeNull", stringsCanBeNull, + "trueValues", trueValues); + } + + public final static class Builder { + + private Optional delimiter; + + private Optional doubleQuote; + + private Optional encoding; + + private Optional escapeChar = Optional.empty(); + + private Optional> falseValues = Optional.empty(); + + private Optional headerDefinition = Optional.empty(); + + private Optional ignoreErrorsOnFieldsMismatch; + + private Optional> nullValues = Optional.empty(); + + private Optional quoteChar; + + private Optional skipRowsAfterHeader; + + private Optional skipRowsBeforeHeader; + + private Optional stringsCanBeNull; + + private Optional> trueValues = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Builder delimiter(String delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = Optional.ofNullable(delimiter); + return this; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Builder delimiter(Optional delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = delimiter; + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Builder doubleQuote(boolean doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = Optional.ofNullable(doubleQuote); + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Builder doubleQuote(Optional doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = doubleQuote; + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Builder encoding(String encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = Optional.ofNullable(encoding); + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Builder encoding(Optional encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = encoding; + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Builder escapeChar(String escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = Optional.ofNullable(escapeChar); + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Builder escapeChar(Optional escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = escapeChar; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public Builder falseValues(java.util.List falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = Optional.ofNullable(falseValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public Builder falseValues(Optional> falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = falseValues; + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public Builder headerDefinition(SourceMicrosoftSharepointCSVHeaderDefinition headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = Optional.ofNullable(headerDefinition); + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public Builder headerDefinition(Optional headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = headerDefinition; + return this; + } + + /** + * Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. + */ + public Builder ignoreErrorsOnFieldsMismatch(boolean ignoreErrorsOnFieldsMismatch) { + Utils.checkNotNull(ignoreErrorsOnFieldsMismatch, "ignoreErrorsOnFieldsMismatch"); + this.ignoreErrorsOnFieldsMismatch = Optional.ofNullable(ignoreErrorsOnFieldsMismatch); + return this; + } + + /** + * Whether to ignore errors that occur when the number of fields in the CSV does not match the number of columns in the schema. + */ + public Builder ignoreErrorsOnFieldsMismatch(Optional ignoreErrorsOnFieldsMismatch) { + Utils.checkNotNull(ignoreErrorsOnFieldsMismatch, "ignoreErrorsOnFieldsMismatch"); + this.ignoreErrorsOnFieldsMismatch = ignoreErrorsOnFieldsMismatch; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public Builder nullValues(java.util.List nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = Optional.ofNullable(nullValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public Builder nullValues(Optional> nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = nullValues; + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Builder quoteChar(String quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = Optional.ofNullable(quoteChar); + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Builder quoteChar(Optional quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = quoteChar; + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public Builder skipRowsAfterHeader(long skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = Optional.ofNullable(skipRowsAfterHeader); + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public Builder skipRowsAfterHeader(Optional skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = skipRowsAfterHeader; + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public Builder skipRowsBeforeHeader(long skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = Optional.ofNullable(skipRowsBeforeHeader); + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public Builder skipRowsBeforeHeader(Optional skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = skipRowsBeforeHeader; + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public Builder stringsCanBeNull(boolean stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = Optional.ofNullable(stringsCanBeNull); + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public Builder stringsCanBeNull(Optional stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = stringsCanBeNull; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public Builder trueValues(java.util.List trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = Optional.ofNullable(trueValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public Builder trueValues(Optional> trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = trueValues; + return this; + } + + public SourceMicrosoftSharepointCSVFormat build() { + if (delimiter == null) { + delimiter = _SINGLETON_VALUE_Delimiter.value(); + } + if (doubleQuote == null) { + doubleQuote = _SINGLETON_VALUE_DoubleQuote.value(); + } + if (encoding == null) { + encoding = _SINGLETON_VALUE_Encoding.value(); + } + if (ignoreErrorsOnFieldsMismatch == null) { + ignoreErrorsOnFieldsMismatch = _SINGLETON_VALUE_IgnoreErrorsOnFieldsMismatch.value(); + } + if (quoteChar == null) { + quoteChar = _SINGLETON_VALUE_QuoteChar.value(); + } + if (skipRowsAfterHeader == null) { + skipRowsAfterHeader = _SINGLETON_VALUE_SkipRowsAfterHeader.value(); + } + if (skipRowsBeforeHeader == null) { + skipRowsBeforeHeader = _SINGLETON_VALUE_SkipRowsBeforeHeader.value(); + } + if (stringsCanBeNull == null) { + stringsCanBeNull = _SINGLETON_VALUE_StringsCanBeNull.value(); + } + return new SourceMicrosoftSharepointCSVFormat( + delimiter, + doubleQuote, + encoding, + escapeChar, + falseValues, + headerDefinition, + ignoreErrorsOnFieldsMismatch, + nullValues, + quoteChar, + skipRowsAfterHeader, + skipRowsBeforeHeader, + stringsCanBeNull, + trueValues); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Delimiter = + new LazySingletonValue<>( + "delimiter", + "\",\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DoubleQuote = + new LazySingletonValue<>( + "double_quote", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Encoding = + new LazySingletonValue<>( + "encoding", + "\"utf8\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"csv\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_IgnoreErrorsOnFieldsMismatch = + new LazySingletonValue<>( + "ignore_errors_on_fields_mismatch", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_QuoteChar = + new LazySingletonValue<>( + "quote_char", + "\"\\\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SkipRowsAfterHeader = + new LazySingletonValue<>( + "skip_rows_after_header", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SkipRowsBeforeHeader = + new LazySingletonValue<>( + "skip_rows_before_header", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_StringsCanBeNull = + new LazySingletonValue<>( + "strings_can_be_null", + "true", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointCSVHeaderDefinition.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointCSVHeaderDefinition.java new file mode 100644 index 000000000..edaeaac2a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointCSVHeaderDefinition.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceMicrosoftSharepointCSVHeaderDefinition - How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + +@JsonDeserialize(using = SourceMicrosoftSharepointCSVHeaderDefinition._Deserializer.class) +public class SourceMicrosoftSharepointCSVHeaderDefinition { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceMicrosoftSharepointCSVHeaderDefinition(TypedObject value) { + this.value = value; + } + + public static SourceMicrosoftSharepointCSVHeaderDefinition of(SourceMicrosoftSharepointFromCSV value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftSharepointCSVHeaderDefinition(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMicrosoftSharepointCSVHeaderDefinition of(SourceMicrosoftSharepointAutogenerated value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftSharepointCSVHeaderDefinition(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMicrosoftSharepointCSVHeaderDefinition of(SourceMicrosoftSharepointUserProvided value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftSharepointCSVHeaderDefinition(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceMicrosoftSharepointFromCSV}
    • + *
    • {@code SourceMicrosoftSharepointAutogenerated}
    • + *
    • {@code SourceMicrosoftSharepointUserProvided}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftSharepointCSVHeaderDefinition other = (SourceMicrosoftSharepointCSVHeaderDefinition) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceMicrosoftSharepointCSVHeaderDefinition.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftSharepointCSVHeaderDefinition.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointDocumentFileTypeFormatExperimental.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointDocumentFileTypeFormatExperimental.java new file mode 100644 index 000000000..098d6134c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointDocumentFileTypeFormatExperimental.java @@ -0,0 +1,279 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SourceMicrosoftSharepointDocumentFileTypeFormatExperimental - Extract text from document formats (.pdf, .docx, .md, .pptx) and emit as one record per file. + */ + +public class SourceMicrosoftSharepointDocumentFileTypeFormatExperimental { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + /** + * Processing configuration + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("processing") + private Optional processing; + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("skip_unprocessable_files") + private Optional skipUnprocessableFiles; + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("strategy") + private Optional strategy; + + public SourceMicrosoftSharepointDocumentFileTypeFormatExperimental( + @JsonProperty("processing") Optional processing, + @JsonProperty("skip_unprocessable_files") Optional skipUnprocessableFiles, + @JsonProperty("strategy") Optional strategy) { + Utils.checkNotNull(processing, "processing"); + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + Utils.checkNotNull(strategy, "strategy"); + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + this.processing = processing; + this.skipUnprocessableFiles = skipUnprocessableFiles; + this.strategy = strategy; + } + + public Optional filetype() { + return filetype; + } + + /** + * Processing configuration + */ + public Optional processing() { + return processing; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public Optional skipUnprocessableFiles() { + return skipUnprocessableFiles; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public Optional strategy() { + return strategy; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Processing configuration + */ + public SourceMicrosoftSharepointDocumentFileTypeFormatExperimental withProcessing(SourceMicrosoftSharepointProcessing processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = Optional.ofNullable(processing); + return this; + } + + /** + * Processing configuration + */ + public SourceMicrosoftSharepointDocumentFileTypeFormatExperimental withProcessing(Optional processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public SourceMicrosoftSharepointDocumentFileTypeFormatExperimental withSkipUnprocessableFiles(boolean skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = Optional.ofNullable(skipUnprocessableFiles); + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public SourceMicrosoftSharepointDocumentFileTypeFormatExperimental withSkipUnprocessableFiles(Optional skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = skipUnprocessableFiles; + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public SourceMicrosoftSharepointDocumentFileTypeFormatExperimental withStrategy(SourceMicrosoftSharepointParsingStrategy strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = Optional.ofNullable(strategy); + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public SourceMicrosoftSharepointDocumentFileTypeFormatExperimental withStrategy(Optional strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = strategy; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftSharepointDocumentFileTypeFormatExperimental other = (SourceMicrosoftSharepointDocumentFileTypeFormatExperimental) o; + return + java.util.Objects.deepEquals(this.filetype, other.filetype) && + java.util.Objects.deepEquals(this.processing, other.processing) && + java.util.Objects.deepEquals(this.skipUnprocessableFiles, other.skipUnprocessableFiles) && + java.util.Objects.deepEquals(this.strategy, other.strategy); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filetype, + processing, + skipUnprocessableFiles, + strategy); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftSharepointDocumentFileTypeFormatExperimental.class, + "filetype", filetype, + "processing", processing, + "skipUnprocessableFiles", skipUnprocessableFiles, + "strategy", strategy); + } + + public final static class Builder { + + private Optional processing = Optional.empty(); + + private Optional skipUnprocessableFiles; + + private Optional strategy; + + private Builder() { + // force use of static builder() method + } + + /** + * Processing configuration + */ + public Builder processing(SourceMicrosoftSharepointProcessing processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = Optional.ofNullable(processing); + return this; + } + + /** + * Processing configuration + */ + public Builder processing(Optional processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public Builder skipUnprocessableFiles(boolean skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = Optional.ofNullable(skipUnprocessableFiles); + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public Builder skipUnprocessableFiles(Optional skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = skipUnprocessableFiles; + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public Builder strategy(SourceMicrosoftSharepointParsingStrategy strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = Optional.ofNullable(strategy); + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public Builder strategy(Optional strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = strategy; + return this; + } + + public SourceMicrosoftSharepointDocumentFileTypeFormatExperimental build() { + if (skipUnprocessableFiles == null) { + skipUnprocessableFiles = _SINGLETON_VALUE_SkipUnprocessableFiles.value(); + } + if (strategy == null) { + strategy = _SINGLETON_VALUE_Strategy.value(); + } + return new SourceMicrosoftSharepointDocumentFileTypeFormatExperimental( + processing, + skipUnprocessableFiles, + strategy); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"unstructured\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SkipUnprocessableFiles = + new LazySingletonValue<>( + "skip_unprocessable_files", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Strategy = + new LazySingletonValue<>( + "strategy", + "\"auto\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointFileBasedStreamConfig.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointFileBasedStreamConfig.java new file mode 100644 index 000000000..c227b2028 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointFileBasedStreamConfig.java @@ -0,0 +1,524 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMicrosoftSharepointFileBasedStreamConfig { + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("days_to_sync_if_history_is_full") + private Optional daysToSyncIfHistoryIsFull; + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + @JsonProperty("format") + private SourceMicrosoftSharepointFormat format; + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("globs") + private Optional> globs; + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("input_schema") + private Optional inputSchema; + + /** + * The name of the stream. + */ + @JsonProperty("name") + private String name; + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("primary_key") + private Optional primaryKey; + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schemaless") + private Optional schemaless; + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("validation_policy") + private Optional validationPolicy; + + public SourceMicrosoftSharepointFileBasedStreamConfig( + @JsonProperty("days_to_sync_if_history_is_full") Optional daysToSyncIfHistoryIsFull, + @JsonProperty("format") SourceMicrosoftSharepointFormat format, + @JsonProperty("globs") Optional> globs, + @JsonProperty("input_schema") Optional inputSchema, + @JsonProperty("name") String name, + @JsonProperty("primary_key") Optional primaryKey, + @JsonProperty("schemaless") Optional schemaless, + @JsonProperty("validation_policy") Optional validationPolicy) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + Utils.checkNotNull(format, "format"); + Utils.checkNotNull(globs, "globs"); + Utils.checkNotNull(inputSchema, "inputSchema"); + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(primaryKey, "primaryKey"); + Utils.checkNotNull(schemaless, "schemaless"); + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.daysToSyncIfHistoryIsFull = daysToSyncIfHistoryIsFull; + this.format = format; + this.globs = globs; + this.inputSchema = inputSchema; + this.name = name; + this.primaryKey = primaryKey; + this.schemaless = schemaless; + this.validationPolicy = validationPolicy; + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public Optional daysToSyncIfHistoryIsFull() { + return daysToSyncIfHistoryIsFull; + } + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + public SourceMicrosoftSharepointFormat format() { + return format; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public Optional> globs() { + return globs; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public Optional inputSchema() { + return inputSchema; + } + + /** + * The name of the stream. + */ + public String name() { + return name; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public Optional primaryKey() { + return primaryKey; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public Optional schemaless() { + return schemaless; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public Optional validationPolicy() { + return validationPolicy; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public SourceMicrosoftSharepointFileBasedStreamConfig withDaysToSyncIfHistoryIsFull(long daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = Optional.ofNullable(daysToSyncIfHistoryIsFull); + return this; + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public SourceMicrosoftSharepointFileBasedStreamConfig withDaysToSyncIfHistoryIsFull(Optional daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = daysToSyncIfHistoryIsFull; + return this; + } + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + public SourceMicrosoftSharepointFileBasedStreamConfig withFormat(SourceMicrosoftSharepointFormat format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public SourceMicrosoftSharepointFileBasedStreamConfig withGlobs(java.util.List globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = Optional.ofNullable(globs); + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public SourceMicrosoftSharepointFileBasedStreamConfig withGlobs(Optional> globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = globs; + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public SourceMicrosoftSharepointFileBasedStreamConfig withInputSchema(String inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = Optional.ofNullable(inputSchema); + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public SourceMicrosoftSharepointFileBasedStreamConfig withInputSchema(Optional inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = inputSchema; + return this; + } + + /** + * The name of the stream. + */ + public SourceMicrosoftSharepointFileBasedStreamConfig withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public SourceMicrosoftSharepointFileBasedStreamConfig withPrimaryKey(String primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = Optional.ofNullable(primaryKey); + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public SourceMicrosoftSharepointFileBasedStreamConfig withPrimaryKey(Optional primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = primaryKey; + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public SourceMicrosoftSharepointFileBasedStreamConfig withSchemaless(boolean schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = Optional.ofNullable(schemaless); + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public SourceMicrosoftSharepointFileBasedStreamConfig withSchemaless(Optional schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = schemaless; + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public SourceMicrosoftSharepointFileBasedStreamConfig withValidationPolicy(SourceMicrosoftSharepointValidationPolicy validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = Optional.ofNullable(validationPolicy); + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public SourceMicrosoftSharepointFileBasedStreamConfig withValidationPolicy(Optional validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = validationPolicy; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftSharepointFileBasedStreamConfig other = (SourceMicrosoftSharepointFileBasedStreamConfig) o; + return + java.util.Objects.deepEquals(this.daysToSyncIfHistoryIsFull, other.daysToSyncIfHistoryIsFull) && + java.util.Objects.deepEquals(this.format, other.format) && + java.util.Objects.deepEquals(this.globs, other.globs) && + java.util.Objects.deepEquals(this.inputSchema, other.inputSchema) && + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.primaryKey, other.primaryKey) && + java.util.Objects.deepEquals(this.schemaless, other.schemaless) && + java.util.Objects.deepEquals(this.validationPolicy, other.validationPolicy); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + daysToSyncIfHistoryIsFull, + format, + globs, + inputSchema, + name, + primaryKey, + schemaless, + validationPolicy); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftSharepointFileBasedStreamConfig.class, + "daysToSyncIfHistoryIsFull", daysToSyncIfHistoryIsFull, + "format", format, + "globs", globs, + "inputSchema", inputSchema, + "name", name, + "primaryKey", primaryKey, + "schemaless", schemaless, + "validationPolicy", validationPolicy); + } + + public final static class Builder { + + private Optional daysToSyncIfHistoryIsFull; + + private SourceMicrosoftSharepointFormat format; + + private Optional> globs = Optional.empty(); + + private Optional inputSchema = Optional.empty(); + + private String name; + + private Optional primaryKey = Optional.empty(); + + private Optional schemaless; + + private Optional validationPolicy; + + private Builder() { + // force use of static builder() method + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public Builder daysToSyncIfHistoryIsFull(long daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = Optional.ofNullable(daysToSyncIfHistoryIsFull); + return this; + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public Builder daysToSyncIfHistoryIsFull(Optional daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = daysToSyncIfHistoryIsFull; + return this; + } + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + public Builder format(SourceMicrosoftSharepointFormat format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public Builder globs(java.util.List globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = Optional.ofNullable(globs); + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public Builder globs(Optional> globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = globs; + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public Builder inputSchema(String inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = Optional.ofNullable(inputSchema); + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public Builder inputSchema(Optional inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = inputSchema; + return this; + } + + /** + * The name of the stream. + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public Builder primaryKey(String primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = Optional.ofNullable(primaryKey); + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public Builder primaryKey(Optional primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = primaryKey; + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public Builder schemaless(boolean schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = Optional.ofNullable(schemaless); + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public Builder schemaless(Optional schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = schemaless; + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public Builder validationPolicy(SourceMicrosoftSharepointValidationPolicy validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = Optional.ofNullable(validationPolicy); + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public Builder validationPolicy(Optional validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = validationPolicy; + return this; + } + + public SourceMicrosoftSharepointFileBasedStreamConfig build() { + if (daysToSyncIfHistoryIsFull == null) { + daysToSyncIfHistoryIsFull = _SINGLETON_VALUE_DaysToSyncIfHistoryIsFull.value(); + } + if (schemaless == null) { + schemaless = _SINGLETON_VALUE_Schemaless.value(); + } + if (validationPolicy == null) { + validationPolicy = _SINGLETON_VALUE_ValidationPolicy.value(); + } + return new SourceMicrosoftSharepointFileBasedStreamConfig( + daysToSyncIfHistoryIsFull, + format, + globs, + inputSchema, + name, + primaryKey, + schemaless, + validationPolicy); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DaysToSyncIfHistoryIsFull = + new LazySingletonValue<>( + "days_to_sync_if_history_is_full", + "3", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Schemaless = + new LazySingletonValue<>( + "schemaless", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ValidationPolicy = + new LazySingletonValue<>( + "validation_policy", + "\"Emit Record\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointFiletype.java new file mode 100644 index 000000000..fa341f766 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftSharepointFiletype { + AVRO("avro"); + + @JsonValue + private final String value; + + private SourceMicrosoftSharepointFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointFormat.java new file mode 100644 index 000000000..703bd29b6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointFormat.java @@ -0,0 +1,122 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceMicrosoftSharepointFormat - The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + +@JsonDeserialize(using = SourceMicrosoftSharepointFormat._Deserializer.class) +public class SourceMicrosoftSharepointFormat { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceMicrosoftSharepointFormat(TypedObject value) { + this.value = value; + } + + public static SourceMicrosoftSharepointFormat of(SourceMicrosoftSharepointAvroFormat value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftSharepointFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMicrosoftSharepointFormat of(SourceMicrosoftSharepointCSVFormat value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftSharepointFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMicrosoftSharepointFormat of(SourceMicrosoftSharepointJsonlFormat value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftSharepointFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMicrosoftSharepointFormat of(SourceMicrosoftSharepointParquetFormat value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftSharepointFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMicrosoftSharepointFormat of(SourceMicrosoftSharepointDocumentFileTypeFormatExperimental value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftSharepointFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceMicrosoftSharepointAvroFormat}
    • + *
    • {@code SourceMicrosoftSharepointCSVFormat}
    • + *
    • {@code SourceMicrosoftSharepointJsonlFormat}
    • + *
    • {@code SourceMicrosoftSharepointParquetFormat}
    • + *
    • {@code SourceMicrosoftSharepointDocumentFileTypeFormatExperimental}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftSharepointFormat other = (SourceMicrosoftSharepointFormat) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceMicrosoftSharepointFormat.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftSharepointFormat.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointFromCSV.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointFromCSV.java new file mode 100644 index 000000000..46d954fa6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointFromCSV.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMicrosoftSharepointFromCSV { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition_type") + private Optional headerDefinitionType; + + public SourceMicrosoftSharepointFromCSV() { + + this.headerDefinitionType = Builder._SINGLETON_VALUE_HeaderDefinitionType.value(); + } + + public Optional headerDefinitionType() { + return headerDefinitionType; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftSharepointFromCSV other = (SourceMicrosoftSharepointFromCSV) o; + return + java.util.Objects.deepEquals(this.headerDefinitionType, other.headerDefinitionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + headerDefinitionType); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftSharepointFromCSV.class, + "headerDefinitionType", headerDefinitionType); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceMicrosoftSharepointFromCSV build() { + return new SourceMicrosoftSharepointFromCSV( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_HeaderDefinitionType = + new LazySingletonValue<>( + "header_definition_type", + "\"From CSV\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointHeaderDefinitionType.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointHeaderDefinitionType.java new file mode 100644 index 000000000..a3ecd87b1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointHeaderDefinitionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftSharepointHeaderDefinitionType { + FROM_CSV("From CSV"); + + @JsonValue + private final String value; + + private SourceMicrosoftSharepointHeaderDefinitionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointJsonlFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointJsonlFormat.java new file mode 100644 index 000000000..bb4ced80e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointJsonlFormat.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMicrosoftSharepointJsonlFormat { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + public SourceMicrosoftSharepointJsonlFormat() { + + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + } + + public Optional filetype() { + return filetype; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftSharepointJsonlFormat other = (SourceMicrosoftSharepointJsonlFormat) o; + return + java.util.Objects.deepEquals(this.filetype, other.filetype); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filetype); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftSharepointJsonlFormat.class, + "filetype", filetype); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceMicrosoftSharepointJsonlFormat build() { + return new SourceMicrosoftSharepointJsonlFormat( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"jsonl\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointLocal.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointLocal.java new file mode 100644 index 000000000..827697b59 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointLocal.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SourceMicrosoftSharepointLocal - Process files locally, supporting `fast` and `ocr` modes. This is the default option. + */ + +public class SourceMicrosoftSharepointLocal { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public SourceMicrosoftSharepointLocal() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftSharepointLocal other = (SourceMicrosoftSharepointLocal) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftSharepointLocal.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceMicrosoftSharepointLocal build() { + return new SourceMicrosoftSharepointLocal( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"local\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointMicrosoftSharepoint.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointMicrosoftSharepoint.java new file mode 100644 index 000000000..c41417c21 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointMicrosoftSharepoint.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftSharepointMicrosoftSharepoint { + MICROSOFT_SHAREPOINT("microsoft-sharepoint"); + + @JsonValue + private final String value; + + private SourceMicrosoftSharepointMicrosoftSharepoint(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointMode.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointMode.java new file mode 100644 index 000000000..8c1fe25dd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftSharepointMode { + LOCAL("local"); + + @JsonValue + private final String value; + + private SourceMicrosoftSharepointMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointParquetFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointParquetFormat.java new file mode 100644 index 000000000..9cb1b68a7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointParquetFormat.java @@ -0,0 +1,149 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMicrosoftSharepointParquetFormat { + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("decimal_as_float") + private Optional decimalAsFloat; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + public SourceMicrosoftSharepointParquetFormat( + @JsonProperty("decimal_as_float") Optional decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = decimalAsFloat; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public Optional decimalAsFloat() { + return decimalAsFloat; + } + + public Optional filetype() { + return filetype; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public SourceMicrosoftSharepointParquetFormat withDecimalAsFloat(boolean decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = Optional.ofNullable(decimalAsFloat); + return this; + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public SourceMicrosoftSharepointParquetFormat withDecimalAsFloat(Optional decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = decimalAsFloat; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftSharepointParquetFormat other = (SourceMicrosoftSharepointParquetFormat) o; + return + java.util.Objects.deepEquals(this.decimalAsFloat, other.decimalAsFloat) && + java.util.Objects.deepEquals(this.filetype, other.filetype); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + decimalAsFloat, + filetype); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftSharepointParquetFormat.class, + "decimalAsFloat", decimalAsFloat, + "filetype", filetype); + } + + public final static class Builder { + + private Optional decimalAsFloat; + + private Builder() { + // force use of static builder() method + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public Builder decimalAsFloat(boolean decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = Optional.ofNullable(decimalAsFloat); + return this; + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public Builder decimalAsFloat(Optional decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = decimalAsFloat; + return this; + } + + public SourceMicrosoftSharepointParquetFormat build() { + if (decimalAsFloat == null) { + decimalAsFloat = _SINGLETON_VALUE_DecimalAsFloat.value(); + } + return new SourceMicrosoftSharepointParquetFormat( + decimalAsFloat); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DecimalAsFloat = + new LazySingletonValue<>( + "decimal_as_float", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"parquet\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointParsingStrategy.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointParsingStrategy.java new file mode 100644 index 000000000..9a176d8fd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointParsingStrategy.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceMicrosoftSharepointParsingStrategy - The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ +public enum SourceMicrosoftSharepointParsingStrategy { + AUTO("auto"), + FAST("fast"), + OCR_ONLY("ocr_only"), + HI_RES("hi_res"); + + @JsonValue + private final String value; + + private SourceMicrosoftSharepointParsingStrategy(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointProcessing.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointProcessing.java new file mode 100644 index 000000000..136fb1598 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointProcessing.java @@ -0,0 +1,94 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceMicrosoftSharepointProcessing - Processing configuration + */ + +@JsonDeserialize(using = SourceMicrosoftSharepointProcessing._Deserializer.class) +public class SourceMicrosoftSharepointProcessing { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceMicrosoftSharepointProcessing(TypedObject value) { + this.value = value; + } + + public static SourceMicrosoftSharepointProcessing of(SourceMicrosoftSharepointLocal value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftSharepointProcessing(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceMicrosoftSharepointLocal}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftSharepointProcessing other = (SourceMicrosoftSharepointProcessing) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceMicrosoftSharepointProcessing.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftSharepointProcessing.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasAuthType.java new file mode 100644 index 000000000..db9af53ba --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftSharepointSchemasAuthType { + SERVICE("Service"); + + @JsonValue + private final String value; + + private SourceMicrosoftSharepointSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasFiletype.java new file mode 100644 index 000000000..9b49bb4c1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftSharepointSchemasFiletype { + CSV("csv"); + + @JsonValue + private final String value; + + private SourceMicrosoftSharepointSchemasFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasHeaderDefinitionType.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasHeaderDefinitionType.java new file mode 100644 index 000000000..197fc0b2b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasHeaderDefinitionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftSharepointSchemasHeaderDefinitionType { + AUTOGENERATED("Autogenerated"); + + @JsonValue + private final String value; + + private SourceMicrosoftSharepointSchemasHeaderDefinitionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasStreamsFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasStreamsFiletype.java new file mode 100644 index 000000000..6fe605fd4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasStreamsFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftSharepointSchemasStreamsFiletype { + JSONL("jsonl"); + + @JsonValue + private final String value; + + private SourceMicrosoftSharepointSchemasStreamsFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasStreamsFormatFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasStreamsFormatFiletype.java new file mode 100644 index 000000000..4fdf68b45 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasStreamsFormatFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftSharepointSchemasStreamsFormatFiletype { + PARQUET("parquet"); + + @JsonValue + private final String value; + + private SourceMicrosoftSharepointSchemasStreamsFormatFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasStreamsFormatFormatFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasStreamsFormatFormatFiletype.java new file mode 100644 index 000000000..6ec025650 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasStreamsFormatFormatFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftSharepointSchemasStreamsFormatFormatFiletype { + UNSTRUCTURED("unstructured"); + + @JsonValue + private final String value; + + private SourceMicrosoftSharepointSchemasStreamsFormatFormatFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasStreamsHeaderDefinitionType.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasStreamsHeaderDefinitionType.java new file mode 100644 index 000000000..50483f546 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSchemasStreamsHeaderDefinitionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftSharepointSchemasStreamsHeaderDefinitionType { + USER_PROVIDED("User Provided"); + + @JsonValue + private final String value; + + private SourceMicrosoftSharepointSchemasStreamsHeaderDefinitionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSearchScope.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSearchScope.java new file mode 100644 index 000000000..aa993eda1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointSearchScope.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceMicrosoftSharepointSearchScope - Specifies the location(s) to search for files. Valid options are 'ACCESSIBLE_DRIVES' for all SharePoint drives the user can access, 'SHARED_ITEMS' for shared items the user has access to, and 'ALL' to search both. + */ +public enum SourceMicrosoftSharepointSearchScope { + ACCESSIBLE_DRIVES("ACCESSIBLE_DRIVES"), + SHARED_ITEMS("SHARED_ITEMS"), + ALL("ALL"); + + @JsonValue + private final String value; + + private SourceMicrosoftSharepointSearchScope(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointServiceKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointServiceKeyAuthentication.java new file mode 100644 index 000000000..0e3535b40 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointServiceKeyAuthentication.java @@ -0,0 +1,245 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SourceMicrosoftSharepointServiceKeyAuthentication - ServiceCredentials class for service key authentication. + * This class is structured similarly to OAuthCredentials but for a different authentication method. + */ + +public class SourceMicrosoftSharepointServiceKeyAuthentication { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * Client ID of your Microsoft developer application + */ + @JsonProperty("client_id") + private String clientId; + + /** + * Client Secret of your Microsoft developer application + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * Tenant ID of the Microsoft SharePoint user + */ + @JsonProperty("tenant_id") + private String tenantId; + + /** + * Special characters such as a period, comma, space, and the at sign (@) are converted to underscores (_). More details: https://learn.microsoft.com/en-us/sharepoint/list-onedrive-urls + */ + @JsonProperty("user_principal_name") + private String userPrincipalName; + + public SourceMicrosoftSharepointServiceKeyAuthentication( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("tenant_id") String tenantId, + @JsonProperty("user_principal_name") String userPrincipalName) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(tenantId, "tenantId"); + Utils.checkNotNull(userPrincipalName, "userPrincipalName"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.tenantId = tenantId; + this.userPrincipalName = userPrincipalName; + } + + public Optional authType() { + return authType; + } + + /** + * Client ID of your Microsoft developer application + */ + public String clientId() { + return clientId; + } + + /** + * Client Secret of your Microsoft developer application + */ + public String clientSecret() { + return clientSecret; + } + + /** + * Tenant ID of the Microsoft SharePoint user + */ + public String tenantId() { + return tenantId; + } + + /** + * Special characters such as a period, comma, space, and the at sign (@) are converted to underscores (_). More details: https://learn.microsoft.com/en-us/sharepoint/list-onedrive-urls + */ + public String userPrincipalName() { + return userPrincipalName; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Client ID of your Microsoft developer application + */ + public SourceMicrosoftSharepointServiceKeyAuthentication withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret of your Microsoft developer application + */ + public SourceMicrosoftSharepointServiceKeyAuthentication withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Tenant ID of the Microsoft SharePoint user + */ + public SourceMicrosoftSharepointServiceKeyAuthentication withTenantId(String tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = tenantId; + return this; + } + + /** + * Special characters such as a period, comma, space, and the at sign (@) are converted to underscores (_). More details: https://learn.microsoft.com/en-us/sharepoint/list-onedrive-urls + */ + public SourceMicrosoftSharepointServiceKeyAuthentication withUserPrincipalName(String userPrincipalName) { + Utils.checkNotNull(userPrincipalName, "userPrincipalName"); + this.userPrincipalName = userPrincipalName; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftSharepointServiceKeyAuthentication other = (SourceMicrosoftSharepointServiceKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.tenantId, other.tenantId) && + java.util.Objects.deepEquals(this.userPrincipalName, other.userPrincipalName); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + clientId, + clientSecret, + tenantId, + userPrincipalName); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftSharepointServiceKeyAuthentication.class, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "tenantId", tenantId, + "userPrincipalName", userPrincipalName); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String tenantId; + + private String userPrincipalName; + + private Builder() { + // force use of static builder() method + } + + /** + * Client ID of your Microsoft developer application + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret of your Microsoft developer application + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Tenant ID of the Microsoft SharePoint user + */ + public Builder tenantId(String tenantId) { + Utils.checkNotNull(tenantId, "tenantId"); + this.tenantId = tenantId; + return this; + } + + /** + * Special characters such as a period, comma, space, and the at sign (@) are converted to underscores (_). More details: https://learn.microsoft.com/en-us/sharepoint/list-onedrive-urls + */ + public Builder userPrincipalName(String userPrincipalName) { + Utils.checkNotNull(userPrincipalName, "userPrincipalName"); + this.userPrincipalName = userPrincipalName; + return this; + } + + public SourceMicrosoftSharepointServiceKeyAuthentication build() { + return new SourceMicrosoftSharepointServiceKeyAuthentication( + clientId, + clientSecret, + tenantId, + userPrincipalName); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Service\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointUserProvided.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointUserProvided.java new file mode 100644 index 000000000..1316a17d8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointUserProvided.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMicrosoftSharepointUserProvided { + + /** + * The column names that will be used while emitting the CSV records + */ + @JsonProperty("column_names") + private java.util.List columnNames; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition_type") + private Optional headerDefinitionType; + + public SourceMicrosoftSharepointUserProvided( + @JsonProperty("column_names") java.util.List columnNames) { + Utils.checkNotNull(columnNames, "columnNames"); + this.columnNames = columnNames; + this.headerDefinitionType = Builder._SINGLETON_VALUE_HeaderDefinitionType.value(); + } + + /** + * The column names that will be used while emitting the CSV records + */ + public java.util.List columnNames() { + return columnNames; + } + + public Optional headerDefinitionType() { + return headerDefinitionType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The column names that will be used while emitting the CSV records + */ + public SourceMicrosoftSharepointUserProvided withColumnNames(java.util.List columnNames) { + Utils.checkNotNull(columnNames, "columnNames"); + this.columnNames = columnNames; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftSharepointUserProvided other = (SourceMicrosoftSharepointUserProvided) o; + return + java.util.Objects.deepEquals(this.columnNames, other.columnNames) && + java.util.Objects.deepEquals(this.headerDefinitionType, other.headerDefinitionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + columnNames, + headerDefinitionType); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftSharepointUserProvided.class, + "columnNames", columnNames, + "headerDefinitionType", headerDefinitionType); + } + + public final static class Builder { + + private java.util.List columnNames; + + private Builder() { + // force use of static builder() method + } + + /** + * The column names that will be used while emitting the CSV records + */ + public Builder columnNames(java.util.List columnNames) { + Utils.checkNotNull(columnNames, "columnNames"); + this.columnNames = columnNames; + return this; + } + + public SourceMicrosoftSharepointUserProvided build() { + return new SourceMicrosoftSharepointUserProvided( + columnNames); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_HeaderDefinitionType = + new LazySingletonValue<>( + "header_definition_type", + "\"User Provided\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointValidationPolicy.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointValidationPolicy.java new file mode 100644 index 000000000..89fcc4fd1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftSharepointValidationPolicy.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceMicrosoftSharepointValidationPolicy - The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ +public enum SourceMicrosoftSharepointValidationPolicy { + EMIT_RECORD("Emit Record"), + SKIP_RECORD("Skip Record"), + WAIT_FOR_DISCOVER("Wait for Discover"); + + @JsonValue + private final String value; + + private SourceMicrosoftSharepointValidationPolicy(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeams.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeams.java new file mode 100644 index 000000000..6fb44c6a8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeams.java @@ -0,0 +1,179 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMicrosoftTeams { + + /** + * Choose how to authenticate to Microsoft + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + /** + * Specifies the length of time over which the Team Device Report stream is aggregated. The supported values are: D7, D30, D90, and D180. + */ + @JsonProperty("period") + private String period; + + @JsonProperty("sourceType") + private SourceMicrosoftTeamsMicrosoftTeams sourceType; + + public SourceMicrosoftTeams( + @JsonProperty("credentials") Optional credentials, + @JsonProperty("period") String period) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(period, "period"); + this.credentials = credentials; + this.period = period; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Choose how to authenticate to Microsoft + */ + public Optional credentials() { + return credentials; + } + + /** + * Specifies the length of time over which the Team Device Report stream is aggregated. The supported values are: D7, D30, D90, and D180. + */ + public String period() { + return period; + } + + public SourceMicrosoftTeamsMicrosoftTeams sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Choose how to authenticate to Microsoft + */ + public SourceMicrosoftTeams withCredentials(SourceMicrosoftTeamsAuthenticationMechanism credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Choose how to authenticate to Microsoft + */ + public SourceMicrosoftTeams withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Specifies the length of time over which the Team Device Report stream is aggregated. The supported values are: D7, D30, D90, and D180. + */ + public SourceMicrosoftTeams withPeriod(String period) { + Utils.checkNotNull(period, "period"); + this.period = period; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftTeams other = (SourceMicrosoftTeams) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.period, other.period) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + period, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftTeams.class, + "credentials", credentials, + "period", period, + "sourceType", sourceType); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private String period; + + private Builder() { + // force use of static builder() method + } + + /** + * Choose how to authenticate to Microsoft + */ + public Builder credentials(SourceMicrosoftTeamsAuthenticationMechanism credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Choose how to authenticate to Microsoft + */ + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Specifies the length of time over which the Team Device Report stream is aggregated. The supported values are: D7, D30, D90, and D180. + */ + public Builder period(String period) { + Utils.checkNotNull(period, "period"); + this.period = period; + return this; + } + + public SourceMicrosoftTeams build() { + return new SourceMicrosoftTeams( + credentials, + period); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"microsoft-teams\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeamsAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeamsAuthType.java new file mode 100644 index 000000000..edbe37972 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeamsAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftTeamsAuthType { + CLIENT("Client"); + + @JsonValue + private final String value; + + private SourceMicrosoftTeamsAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeamsAuthenticationMechanism.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeamsAuthenticationMechanism.java new file mode 100644 index 000000000..17424bf43 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeamsAuthenticationMechanism.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceMicrosoftTeamsAuthenticationMechanism - Choose how to authenticate to Microsoft + */ + +@JsonDeserialize(using = SourceMicrosoftTeamsAuthenticationMechanism._Deserializer.class) +public class SourceMicrosoftTeamsAuthenticationMechanism { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceMicrosoftTeamsAuthenticationMechanism(TypedObject value) { + this.value = value; + } + + public static SourceMicrosoftTeamsAuthenticationMechanism of(AuthenticateViaMicrosoftOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftTeamsAuthenticationMechanism(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMicrosoftTeamsAuthenticationMechanism of(AuthenticateViaMicrosoft value) { + Utils.checkNotNull(value, "value"); + return new SourceMicrosoftTeamsAuthenticationMechanism(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code AuthenticateViaMicrosoftOAuth20}
    • + *
    • {@code AuthenticateViaMicrosoft}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMicrosoftTeamsAuthenticationMechanism other = (SourceMicrosoftTeamsAuthenticationMechanism) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceMicrosoftTeamsAuthenticationMechanism.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceMicrosoftTeamsAuthenticationMechanism.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeamsMicrosoftTeams.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeamsMicrosoftTeams.java new file mode 100644 index 000000000..4e7b4c5a3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeamsMicrosoftTeams.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftTeamsMicrosoftTeams { + MICROSOFT_TEAMS("microsoft-teams"); + + @JsonValue + private final String value; + + private SourceMicrosoftTeamsMicrosoftTeams(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeamsSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeamsSchemasAuthType.java new file mode 100644 index 000000000..d2daf73df --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMicrosoftTeamsSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMicrosoftTeamsSchemasAuthType { + TOKEN("Token"); + + @JsonValue + private final String value; + + private SourceMicrosoftTeamsSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMixpanel.java b/src/main/java/com/airbyte/api/models/shared/SourceMixpanel.java new file mode 100644 index 000000000..d9f2f7258 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMixpanel.java @@ -0,0 +1,579 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceMixpanel { + + /** + * A period of time for attributing results to ads and the lookback period after those actions occur during which ad results are counted. Default attribution window is 5 days. (This value should be non-negative integer) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("attribution_window") + private Optional attributionWindow; + + /** + * Choose how to authenticate to Mixpanel + */ + @JsonProperty("credentials") + private AuthenticationWildcard credentials; + + /** + * Defines window size in days, that used to slice through data. You can reduce it, if amount of data in each window is too big for your environment. (This value should be positive integer) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("date_window_size") + private Optional dateWindowSize; + + /** + * The date in the format YYYY-MM-DD. Any data after this date will not be replicated. Left empty to always sync to most recent date + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + /** + * Time zone in which integer date times are stored. The project timezone may be found in the project settings in the <a href="https://help.mixpanel.com/hc/en-us/articles/115004547203-Manage-Timezones-for-Projects-in-Mixpanel">Mixpanel console</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("project_timezone") + private Optional projectTimezone; + + /** + * The region of mixpanel domain instance either US or EU. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("region") + private Optional region; + + /** + * Setting this config parameter to TRUE ensures that new properties on events and engage records are captured. Otherwise new properties will be ignored. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("select_properties_by_default") + private Optional selectPropertiesByDefault; + + @JsonProperty("sourceType") + private Mixpanel sourceType; + + /** + * The date in the format YYYY-MM-DD. Any data before this date will not be replicated. If this option is not set, the connector will replicate data from up to one year ago by default. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceMixpanel( + @JsonProperty("attribution_window") Optional attributionWindow, + @JsonProperty("credentials") AuthenticationWildcard credentials, + @JsonProperty("date_window_size") Optional dateWindowSize, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("project_timezone") Optional projectTimezone, + @JsonProperty("region") Optional region, + @JsonProperty("select_properties_by_default") Optional selectPropertiesByDefault, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(attributionWindow, "attributionWindow"); + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(dateWindowSize, "dateWindowSize"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(projectTimezone, "projectTimezone"); + Utils.checkNotNull(region, "region"); + Utils.checkNotNull(selectPropertiesByDefault, "selectPropertiesByDefault"); + Utils.checkNotNull(startDate, "startDate"); + this.attributionWindow = attributionWindow; + this.credentials = credentials; + this.dateWindowSize = dateWindowSize; + this.endDate = endDate; + this.projectTimezone = projectTimezone; + this.region = region; + this.selectPropertiesByDefault = selectPropertiesByDefault; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * A period of time for attributing results to ads and the lookback period after those actions occur during which ad results are counted. Default attribution window is 5 days. (This value should be non-negative integer) + */ + public Optional attributionWindow() { + return attributionWindow; + } + + /** + * Choose how to authenticate to Mixpanel + */ + public AuthenticationWildcard credentials() { + return credentials; + } + + /** + * Defines window size in days, that used to slice through data. You can reduce it, if amount of data in each window is too big for your environment. (This value should be positive integer) + */ + public Optional dateWindowSize() { + return dateWindowSize; + } + + /** + * The date in the format YYYY-MM-DD. Any data after this date will not be replicated. Left empty to always sync to most recent date + */ + public Optional endDate() { + return endDate; + } + + /** + * Time zone in which integer date times are stored. The project timezone may be found in the project settings in the <a href="https://help.mixpanel.com/hc/en-us/articles/115004547203-Manage-Timezones-for-Projects-in-Mixpanel">Mixpanel console</a>. + */ + public Optional projectTimezone() { + return projectTimezone; + } + + /** + * The region of mixpanel domain instance either US or EU. + */ + public Optional region() { + return region; + } + + /** + * Setting this config parameter to TRUE ensures that new properties on events and engage records are captured. Otherwise new properties will be ignored. + */ + public Optional selectPropertiesByDefault() { + return selectPropertiesByDefault; + } + + public Mixpanel sourceType() { + return sourceType; + } + + /** + * The date in the format YYYY-MM-DD. Any data before this date will not be replicated. If this option is not set, the connector will replicate data from up to one year ago by default. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * A period of time for attributing results to ads and the lookback period after those actions occur during which ad results are counted. Default attribution window is 5 days. (This value should be non-negative integer) + */ + public SourceMixpanel withAttributionWindow(long attributionWindow) { + Utils.checkNotNull(attributionWindow, "attributionWindow"); + this.attributionWindow = Optional.ofNullable(attributionWindow); + return this; + } + + /** + * A period of time for attributing results to ads and the lookback period after those actions occur during which ad results are counted. Default attribution window is 5 days. (This value should be non-negative integer) + */ + public SourceMixpanel withAttributionWindow(Optional attributionWindow) { + Utils.checkNotNull(attributionWindow, "attributionWindow"); + this.attributionWindow = attributionWindow; + return this; + } + + /** + * Choose how to authenticate to Mixpanel + */ + public SourceMixpanel withCredentials(AuthenticationWildcard credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Defines window size in days, that used to slice through data. You can reduce it, if amount of data in each window is too big for your environment. (This value should be positive integer) + */ + public SourceMixpanel withDateWindowSize(long dateWindowSize) { + Utils.checkNotNull(dateWindowSize, "dateWindowSize"); + this.dateWindowSize = Optional.ofNullable(dateWindowSize); + return this; + } + + /** + * Defines window size in days, that used to slice through data. You can reduce it, if amount of data in each window is too big for your environment. (This value should be positive integer) + */ + public SourceMixpanel withDateWindowSize(Optional dateWindowSize) { + Utils.checkNotNull(dateWindowSize, "dateWindowSize"); + this.dateWindowSize = dateWindowSize; + return this; + } + + /** + * The date in the format YYYY-MM-DD. Any data after this date will not be replicated. Left empty to always sync to most recent date + */ + public SourceMixpanel withEndDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * The date in the format YYYY-MM-DD. Any data after this date will not be replicated. Left empty to always sync to most recent date + */ + public SourceMixpanel withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Time zone in which integer date times are stored. The project timezone may be found in the project settings in the <a href="https://help.mixpanel.com/hc/en-us/articles/115004547203-Manage-Timezones-for-Projects-in-Mixpanel">Mixpanel console</a>. + */ + public SourceMixpanel withProjectTimezone(String projectTimezone) { + Utils.checkNotNull(projectTimezone, "projectTimezone"); + this.projectTimezone = Optional.ofNullable(projectTimezone); + return this; + } + + /** + * Time zone in which integer date times are stored. The project timezone may be found in the project settings in the <a href="https://help.mixpanel.com/hc/en-us/articles/115004547203-Manage-Timezones-for-Projects-in-Mixpanel">Mixpanel console</a>. + */ + public SourceMixpanel withProjectTimezone(Optional projectTimezone) { + Utils.checkNotNull(projectTimezone, "projectTimezone"); + this.projectTimezone = projectTimezone; + return this; + } + + /** + * The region of mixpanel domain instance either US or EU. + */ + public SourceMixpanel withRegion(SourceMixpanelRegion region) { + Utils.checkNotNull(region, "region"); + this.region = Optional.ofNullable(region); + return this; + } + + /** + * The region of mixpanel domain instance either US or EU. + */ + public SourceMixpanel withRegion(Optional region) { + Utils.checkNotNull(region, "region"); + this.region = region; + return this; + } + + /** + * Setting this config parameter to TRUE ensures that new properties on events and engage records are captured. Otherwise new properties will be ignored. + */ + public SourceMixpanel withSelectPropertiesByDefault(boolean selectPropertiesByDefault) { + Utils.checkNotNull(selectPropertiesByDefault, "selectPropertiesByDefault"); + this.selectPropertiesByDefault = Optional.ofNullable(selectPropertiesByDefault); + return this; + } + + /** + * Setting this config parameter to TRUE ensures that new properties on events and engage records are captured. Otherwise new properties will be ignored. + */ + public SourceMixpanel withSelectPropertiesByDefault(Optional selectPropertiesByDefault) { + Utils.checkNotNull(selectPropertiesByDefault, "selectPropertiesByDefault"); + this.selectPropertiesByDefault = selectPropertiesByDefault; + return this; + } + + /** + * The date in the format YYYY-MM-DD. Any data before this date will not be replicated. If this option is not set, the connector will replicate data from up to one year ago by default. + */ + public SourceMixpanel withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date in the format YYYY-MM-DD. Any data before this date will not be replicated. If this option is not set, the connector will replicate data from up to one year ago by default. + */ + public SourceMixpanel withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMixpanel other = (SourceMixpanel) o; + return + java.util.Objects.deepEquals(this.attributionWindow, other.attributionWindow) && + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.dateWindowSize, other.dateWindowSize) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.projectTimezone, other.projectTimezone) && + java.util.Objects.deepEquals(this.region, other.region) && + java.util.Objects.deepEquals(this.selectPropertiesByDefault, other.selectPropertiesByDefault) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + attributionWindow, + credentials, + dateWindowSize, + endDate, + projectTimezone, + region, + selectPropertiesByDefault, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceMixpanel.class, + "attributionWindow", attributionWindow, + "credentials", credentials, + "dateWindowSize", dateWindowSize, + "endDate", endDate, + "projectTimezone", projectTimezone, + "region", region, + "selectPropertiesByDefault", selectPropertiesByDefault, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private Optional attributionWindow; + + private AuthenticationWildcard credentials; + + private Optional dateWindowSize; + + private Optional endDate = Optional.empty(); + + private Optional projectTimezone; + + private Optional region; + + private Optional selectPropertiesByDefault; + + private Optional startDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * A period of time for attributing results to ads and the lookback period after those actions occur during which ad results are counted. Default attribution window is 5 days. (This value should be non-negative integer) + */ + public Builder attributionWindow(long attributionWindow) { + Utils.checkNotNull(attributionWindow, "attributionWindow"); + this.attributionWindow = Optional.ofNullable(attributionWindow); + return this; + } + + /** + * A period of time for attributing results to ads and the lookback period after those actions occur during which ad results are counted. Default attribution window is 5 days. (This value should be non-negative integer) + */ + public Builder attributionWindow(Optional attributionWindow) { + Utils.checkNotNull(attributionWindow, "attributionWindow"); + this.attributionWindow = attributionWindow; + return this; + } + + /** + * Choose how to authenticate to Mixpanel + */ + public Builder credentials(AuthenticationWildcard credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Defines window size in days, that used to slice through data. You can reduce it, if amount of data in each window is too big for your environment. (This value should be positive integer) + */ + public Builder dateWindowSize(long dateWindowSize) { + Utils.checkNotNull(dateWindowSize, "dateWindowSize"); + this.dateWindowSize = Optional.ofNullable(dateWindowSize); + return this; + } + + /** + * Defines window size in days, that used to slice through data. You can reduce it, if amount of data in each window is too big for your environment. (This value should be positive integer) + */ + public Builder dateWindowSize(Optional dateWindowSize) { + Utils.checkNotNull(dateWindowSize, "dateWindowSize"); + this.dateWindowSize = dateWindowSize; + return this; + } + + /** + * The date in the format YYYY-MM-DD. Any data after this date will not be replicated. Left empty to always sync to most recent date + */ + public Builder endDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * The date in the format YYYY-MM-DD. Any data after this date will not be replicated. Left empty to always sync to most recent date + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Time zone in which integer date times are stored. The project timezone may be found in the project settings in the <a href="https://help.mixpanel.com/hc/en-us/articles/115004547203-Manage-Timezones-for-Projects-in-Mixpanel">Mixpanel console</a>. + */ + public Builder projectTimezone(String projectTimezone) { + Utils.checkNotNull(projectTimezone, "projectTimezone"); + this.projectTimezone = Optional.ofNullable(projectTimezone); + return this; + } + + /** + * Time zone in which integer date times are stored. The project timezone may be found in the project settings in the <a href="https://help.mixpanel.com/hc/en-us/articles/115004547203-Manage-Timezones-for-Projects-in-Mixpanel">Mixpanel console</a>. + */ + public Builder projectTimezone(Optional projectTimezone) { + Utils.checkNotNull(projectTimezone, "projectTimezone"); + this.projectTimezone = projectTimezone; + return this; + } + + /** + * The region of mixpanel domain instance either US or EU. + */ + public Builder region(SourceMixpanelRegion region) { + Utils.checkNotNull(region, "region"); + this.region = Optional.ofNullable(region); + return this; + } + + /** + * The region of mixpanel domain instance either US or EU. + */ + public Builder region(Optional region) { + Utils.checkNotNull(region, "region"); + this.region = region; + return this; + } + + /** + * Setting this config parameter to TRUE ensures that new properties on events and engage records are captured. Otherwise new properties will be ignored. + */ + public Builder selectPropertiesByDefault(boolean selectPropertiesByDefault) { + Utils.checkNotNull(selectPropertiesByDefault, "selectPropertiesByDefault"); + this.selectPropertiesByDefault = Optional.ofNullable(selectPropertiesByDefault); + return this; + } + + /** + * Setting this config parameter to TRUE ensures that new properties on events and engage records are captured. Otherwise new properties will be ignored. + */ + public Builder selectPropertiesByDefault(Optional selectPropertiesByDefault) { + Utils.checkNotNull(selectPropertiesByDefault, "selectPropertiesByDefault"); + this.selectPropertiesByDefault = selectPropertiesByDefault; + return this; + } + + /** + * The date in the format YYYY-MM-DD. Any data before this date will not be replicated. If this option is not set, the connector will replicate data from up to one year ago by default. + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date in the format YYYY-MM-DD. Any data before this date will not be replicated. If this option is not set, the connector will replicate data from up to one year ago by default. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceMixpanel build() { + if (attributionWindow == null) { + attributionWindow = _SINGLETON_VALUE_AttributionWindow.value(); + } + if (dateWindowSize == null) { + dateWindowSize = _SINGLETON_VALUE_DateWindowSize.value(); + } + if (projectTimezone == null) { + projectTimezone = _SINGLETON_VALUE_ProjectTimezone.value(); + } + if (region == null) { + region = _SINGLETON_VALUE_Region.value(); + } + if (selectPropertiesByDefault == null) { + selectPropertiesByDefault = _SINGLETON_VALUE_SelectPropertiesByDefault.value(); + } + return new SourceMixpanel( + attributionWindow, + credentials, + dateWindowSize, + endDate, + projectTimezone, + region, + selectPropertiesByDefault, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AttributionWindow = + new LazySingletonValue<>( + "attribution_window", + "5", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DateWindowSize = + new LazySingletonValue<>( + "date_window_size", + "30", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ProjectTimezone = + new LazySingletonValue<>( + "project_timezone", + "\"US/Pacific\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Region = + new LazySingletonValue<>( + "region", + "\"US\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SelectPropertiesByDefault = + new LazySingletonValue<>( + "select_properties_by_default", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"mixpanel\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMixpanelOptionTitle.java b/src/main/java/com/airbyte/api/models/shared/SourceMixpanelOptionTitle.java new file mode 100644 index 000000000..a59a46e4a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMixpanelOptionTitle.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMixpanelOptionTitle { + SERVICE_ACCOUNT("Service Account"); + + @JsonValue + private final String value; + + private SourceMixpanelOptionTitle(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMixpanelRegion.java b/src/main/java/com/airbyte/api/models/shared/SourceMixpanelRegion.java new file mode 100644 index 000000000..ae3abaddd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMixpanelRegion.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceMixpanelRegion - The region of mixpanel domain instance either US or EU. + */ +public enum SourceMixpanelRegion { + US("US"), + EU("EU"); + + @JsonValue + private final String value; + + private SourceMixpanelRegion(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMixpanelSchemasOptionTitle.java b/src/main/java/com/airbyte/api/models/shared/SourceMixpanelSchemasOptionTitle.java new file mode 100644 index 000000000..61ffd0273 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMixpanelSchemasOptionTitle.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMixpanelSchemasOptionTitle { + PROJECT_SECRET("Project Secret"); + + @JsonValue + private final String value; + + private SourceMixpanelSchemasOptionTitle(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMonday.java b/src/main/java/com/airbyte/api/models/shared/SourceMonday.java new file mode 100644 index 000000000..05310a706 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMonday.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMonday { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + @JsonProperty("sourceType") + private SourceMondayMonday sourceType; + + public SourceMonday( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + public Optional credentials() { + return credentials; + } + + public SourceMondayMonday sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceMonday withCredentials(SourceMondayAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public SourceMonday withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMonday other = (SourceMonday) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceMonday.class, + "credentials", credentials, + "sourceType", sourceType); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(SourceMondayAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public SourceMonday build() { + return new SourceMonday( + credentials); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"monday\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMondayAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceMondayAuthType.java new file mode 100644 index 000000000..924faa26e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMondayAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMondayAuthType { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private SourceMondayAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMondayAuthorizationMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceMondayAuthorizationMethod.java new file mode 100644 index 000000000..4d5ab643c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMondayAuthorizationMethod.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceMondayAuthorizationMethod._Deserializer.class) +public class SourceMondayAuthorizationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceMondayAuthorizationMethod(TypedObject value) { + this.value = value; + } + + public static SourceMondayAuthorizationMethod of(SourceMondayOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new SourceMondayAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMondayAuthorizationMethod of(APIToken value) { + Utils.checkNotNull(value, "value"); + return new SourceMondayAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceMondayOAuth20}
    • + *
    • {@code APIToken}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMondayAuthorizationMethod other = (SourceMondayAuthorizationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceMondayAuthorizationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceMondayAuthorizationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMondayMonday.java b/src/main/java/com/airbyte/api/models/shared/SourceMondayMonday.java new file mode 100644 index 000000000..19aca405f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMondayMonday.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMondayMonday { + MONDAY("monday"); + + @JsonValue + private final String value; + + private SourceMondayMonday(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMondayOAuth20.java b/src/main/java/com/airbyte/api/models/shared/SourceMondayOAuth20.java new file mode 100644 index 000000000..17979b568 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMondayOAuth20.java @@ -0,0 +1,268 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMondayOAuth20 { + + /** + * Access Token for making authenticated requests. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonProperty("auth_type") + private SourceMondayAuthType authType; + + /** + * The Client ID of your OAuth application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of your OAuth application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * Slug/subdomain of the account, or the first part of the URL that comes before .monday.com + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("subdomain") + private Optional subdomain; + + public SourceMondayOAuth20( + @JsonProperty("access_token") String accessToken, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("subdomain") Optional subdomain) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(subdomain, "subdomain"); + this.accessToken = accessToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.subdomain = subdomain; + } + + /** + * Access Token for making authenticated requests. + */ + public String accessToken() { + return accessToken; + } + + public SourceMondayAuthType authType() { + return authType; + } + + /** + * The Client ID of your OAuth application. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of your OAuth application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * Slug/subdomain of the account, or the first part of the URL that comes before .monday.com + */ + public Optional subdomain() { + return subdomain; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Access Token for making authenticated requests. + */ + public SourceMondayOAuth20 withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of your OAuth application. + */ + public SourceMondayOAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public SourceMondayOAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Slug/subdomain of the account, or the first part of the URL that comes before .monday.com + */ + public SourceMondayOAuth20 withSubdomain(String subdomain) { + Utils.checkNotNull(subdomain, "subdomain"); + this.subdomain = Optional.ofNullable(subdomain); + return this; + } + + /** + * Slug/subdomain of the account, or the first part of the URL that comes before .monday.com + */ + public SourceMondayOAuth20 withSubdomain(Optional subdomain) { + Utils.checkNotNull(subdomain, "subdomain"); + this.subdomain = subdomain; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMondayOAuth20 other = (SourceMondayOAuth20) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.subdomain, other.subdomain); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authType, + clientId, + clientSecret, + subdomain); + } + + @Override + public String toString() { + return Utils.toString(SourceMondayOAuth20.class, + "accessToken", accessToken, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "subdomain", subdomain); + } + + public final static class Builder { + + private String accessToken; + + private String clientId; + + private String clientSecret; + + private Optional subdomain; + + private Builder() { + // force use of static builder() method + } + + /** + * Access Token for making authenticated requests. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of your OAuth application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Slug/subdomain of the account, or the first part of the URL that comes before .monday.com + */ + public Builder subdomain(String subdomain) { + Utils.checkNotNull(subdomain, "subdomain"); + this.subdomain = Optional.ofNullable(subdomain); + return this; + } + + /** + * Slug/subdomain of the account, or the first part of the URL that comes before .monday.com + */ + public Builder subdomain(Optional subdomain) { + Utils.checkNotNull(subdomain, "subdomain"); + this.subdomain = subdomain; + return this; + } + + public SourceMondayOAuth20 build() { + if (subdomain == null) { + subdomain = _SINGLETON_VALUE_Subdomain.value(); + } + return new SourceMondayOAuth20( + accessToken, + clientId, + clientSecret, + subdomain); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"oauth2.0\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Subdomain = + new LazySingletonValue<>( + "subdomain", + "\"\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMondaySchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceMondaySchemasAuthType.java new file mode 100644 index 000000000..dcce05012 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMondaySchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMondaySchemasAuthType { + API_TOKEN("api_token"); + + @JsonValue + private final String value; + + private SourceMondaySchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMongodbInternalPoc.java b/src/main/java/com/airbyte/api/models/shared/SourceMongodbInternalPoc.java new file mode 100644 index 000000000..9edfd2158 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMongodbInternalPoc.java @@ -0,0 +1,384 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMongodbInternalPoc { + + /** + * The authentication source where the user information is stored. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_source") + private Optional authSource; + + /** + * The connection string of the database that you want to replicate.. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("connection_string") + private Optional connectionString; + + /** + * The password associated with this username. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("password") + private Optional password; + + /** + * The name of the replica set to be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("replica_set") + private Optional replicaSet; + + @JsonProperty("sourceType") + private MongodbInternalPoc sourceType; + + /** + * The username which is used to access the database. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("user") + private Optional user; + + public SourceMongodbInternalPoc( + @JsonProperty("auth_source") Optional authSource, + @JsonProperty("connection_string") Optional connectionString, + @JsonProperty("password") Optional password, + @JsonProperty("replica_set") Optional replicaSet, + @JsonProperty("user") Optional user) { + Utils.checkNotNull(authSource, "authSource"); + Utils.checkNotNull(connectionString, "connectionString"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(replicaSet, "replicaSet"); + Utils.checkNotNull(user, "user"); + this.authSource = authSource; + this.connectionString = connectionString; + this.password = password; + this.replicaSet = replicaSet; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.user = user; + } + + /** + * The authentication source where the user information is stored. + */ + public Optional authSource() { + return authSource; + } + + /** + * The connection string of the database that you want to replicate.. + */ + public Optional connectionString() { + return connectionString; + } + + /** + * The password associated with this username. + */ + public Optional password() { + return password; + } + + /** + * The name of the replica set to be replicated. + */ + public Optional replicaSet() { + return replicaSet; + } + + public MongodbInternalPoc sourceType() { + return sourceType; + } + + /** + * The username which is used to access the database. + */ + public Optional user() { + return user; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The authentication source where the user information is stored. + */ + public SourceMongodbInternalPoc withAuthSource(String authSource) { + Utils.checkNotNull(authSource, "authSource"); + this.authSource = Optional.ofNullable(authSource); + return this; + } + + /** + * The authentication source where the user information is stored. + */ + public SourceMongodbInternalPoc withAuthSource(Optional authSource) { + Utils.checkNotNull(authSource, "authSource"); + this.authSource = authSource; + return this; + } + + /** + * The connection string of the database that you want to replicate.. + */ + public SourceMongodbInternalPoc withConnectionString(String connectionString) { + Utils.checkNotNull(connectionString, "connectionString"); + this.connectionString = Optional.ofNullable(connectionString); + return this; + } + + /** + * The connection string of the database that you want to replicate.. + */ + public SourceMongodbInternalPoc withConnectionString(Optional connectionString) { + Utils.checkNotNull(connectionString, "connectionString"); + this.connectionString = connectionString; + return this; + } + + /** + * The password associated with this username. + */ + public SourceMongodbInternalPoc withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * The password associated with this username. + */ + public SourceMongodbInternalPoc withPassword(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * The name of the replica set to be replicated. + */ + public SourceMongodbInternalPoc withReplicaSet(String replicaSet) { + Utils.checkNotNull(replicaSet, "replicaSet"); + this.replicaSet = Optional.ofNullable(replicaSet); + return this; + } + + /** + * The name of the replica set to be replicated. + */ + public SourceMongodbInternalPoc withReplicaSet(Optional replicaSet) { + Utils.checkNotNull(replicaSet, "replicaSet"); + this.replicaSet = replicaSet; + return this; + } + + /** + * The username which is used to access the database. + */ + public SourceMongodbInternalPoc withUser(String user) { + Utils.checkNotNull(user, "user"); + this.user = Optional.ofNullable(user); + return this; + } + + /** + * The username which is used to access the database. + */ + public SourceMongodbInternalPoc withUser(Optional user) { + Utils.checkNotNull(user, "user"); + this.user = user; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMongodbInternalPoc other = (SourceMongodbInternalPoc) o; + return + java.util.Objects.deepEquals(this.authSource, other.authSource) && + java.util.Objects.deepEquals(this.connectionString, other.connectionString) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.replicaSet, other.replicaSet) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.user, other.user); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authSource, + connectionString, + password, + replicaSet, + sourceType, + user); + } + + @Override + public String toString() { + return Utils.toString(SourceMongodbInternalPoc.class, + "authSource", authSource, + "connectionString", connectionString, + "password", password, + "replicaSet", replicaSet, + "sourceType", sourceType, + "user", user); + } + + public final static class Builder { + + private Optional authSource; + + private Optional connectionString = Optional.empty(); + + private Optional password = Optional.empty(); + + private Optional replicaSet = Optional.empty(); + + private Optional user = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The authentication source where the user information is stored. + */ + public Builder authSource(String authSource) { + Utils.checkNotNull(authSource, "authSource"); + this.authSource = Optional.ofNullable(authSource); + return this; + } + + /** + * The authentication source where the user information is stored. + */ + public Builder authSource(Optional authSource) { + Utils.checkNotNull(authSource, "authSource"); + this.authSource = authSource; + return this; + } + + /** + * The connection string of the database that you want to replicate.. + */ + public Builder connectionString(String connectionString) { + Utils.checkNotNull(connectionString, "connectionString"); + this.connectionString = Optional.ofNullable(connectionString); + return this; + } + + /** + * The connection string of the database that you want to replicate.. + */ + public Builder connectionString(Optional connectionString) { + Utils.checkNotNull(connectionString, "connectionString"); + this.connectionString = connectionString; + return this; + } + + /** + * The password associated with this username. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * The password associated with this username. + */ + public Builder password(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * The name of the replica set to be replicated. + */ + public Builder replicaSet(String replicaSet) { + Utils.checkNotNull(replicaSet, "replicaSet"); + this.replicaSet = Optional.ofNullable(replicaSet); + return this; + } + + /** + * The name of the replica set to be replicated. + */ + public Builder replicaSet(Optional replicaSet) { + Utils.checkNotNull(replicaSet, "replicaSet"); + this.replicaSet = replicaSet; + return this; + } + + /** + * The username which is used to access the database. + */ + public Builder user(String user) { + Utils.checkNotNull(user, "user"); + this.user = Optional.ofNullable(user); + return this; + } + + /** + * The username which is used to access the database. + */ + public Builder user(Optional user) { + Utils.checkNotNull(user, "user"); + this.user = user; + return this; + } + + public SourceMongodbInternalPoc build() { + if (authSource == null) { + authSource = _SINGLETON_VALUE_AuthSource.value(); + } + return new SourceMongodbInternalPoc( + authSource, + connectionString, + password, + replicaSet, + user); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthSource = + new LazySingletonValue<>( + "auth_source", + "\"admin\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"mongodb-internal-poc\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMongodbV2.java b/src/main/java/com/airbyte/api/models/shared/SourceMongodbV2.java new file mode 100644 index 000000000..d03a173b1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMongodbV2.java @@ -0,0 +1,392 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMongodbV2 { + + /** + * Configures the MongoDB cluster type. + */ + @JsonProperty("database_config") + private java.lang.Object databaseConfig; + + /** + * The maximum number of documents to sample when attempting to discover the unique fields for a collection. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("discover_sample_size") + private Optional discoverSampleSize; + + /** + * The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 1200 seconds. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("initial_waiting_seconds") + private Optional initialWaitingSeconds; + + /** + * Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("invalid_cdc_cursor_position_behavior") + private Optional invalidCdcCursorPositionBehavior; + + /** + * The size of the internal queue. This may interfere with memory consumption and efficiency of the connector, please be careful. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("queue_size") + private Optional queueSize; + + @JsonProperty("sourceType") + private MongodbV2 sourceType; + + public SourceMongodbV2( + @JsonProperty("database_config") java.lang.Object databaseConfig, + @JsonProperty("discover_sample_size") Optional discoverSampleSize, + @JsonProperty("initial_waiting_seconds") Optional initialWaitingSeconds, + @JsonProperty("invalid_cdc_cursor_position_behavior") Optional invalidCdcCursorPositionBehavior, + @JsonProperty("queue_size") Optional queueSize) { + Utils.checkNotNull(databaseConfig, "databaseConfig"); + Utils.checkNotNull(discoverSampleSize, "discoverSampleSize"); + Utils.checkNotNull(initialWaitingSeconds, "initialWaitingSeconds"); + Utils.checkNotNull(invalidCdcCursorPositionBehavior, "invalidCdcCursorPositionBehavior"); + Utils.checkNotNull(queueSize, "queueSize"); + this.databaseConfig = databaseConfig; + this.discoverSampleSize = discoverSampleSize; + this.initialWaitingSeconds = initialWaitingSeconds; + this.invalidCdcCursorPositionBehavior = invalidCdcCursorPositionBehavior; + this.queueSize = queueSize; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Configures the MongoDB cluster type. + */ + public java.lang.Object databaseConfig() { + return databaseConfig; + } + + /** + * The maximum number of documents to sample when attempting to discover the unique fields for a collection. + */ + public Optional discoverSampleSize() { + return discoverSampleSize; + } + + /** + * The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 1200 seconds. + */ + public Optional initialWaitingSeconds() { + return initialWaitingSeconds; + } + + /** + * Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ + public Optional invalidCdcCursorPositionBehavior() { + return invalidCdcCursorPositionBehavior; + } + + /** + * The size of the internal queue. This may interfere with memory consumption and efficiency of the connector, please be careful. + */ + public Optional queueSize() { + return queueSize; + } + + public MongodbV2 sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Configures the MongoDB cluster type. + */ + public SourceMongodbV2 withDatabaseConfig(java.lang.Object databaseConfig) { + Utils.checkNotNull(databaseConfig, "databaseConfig"); + this.databaseConfig = databaseConfig; + return this; + } + + /** + * The maximum number of documents to sample when attempting to discover the unique fields for a collection. + */ + public SourceMongodbV2 withDiscoverSampleSize(long discoverSampleSize) { + Utils.checkNotNull(discoverSampleSize, "discoverSampleSize"); + this.discoverSampleSize = Optional.ofNullable(discoverSampleSize); + return this; + } + + /** + * The maximum number of documents to sample when attempting to discover the unique fields for a collection. + */ + public SourceMongodbV2 withDiscoverSampleSize(Optional discoverSampleSize) { + Utils.checkNotNull(discoverSampleSize, "discoverSampleSize"); + this.discoverSampleSize = discoverSampleSize; + return this; + } + + /** + * The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 1200 seconds. + */ + public SourceMongodbV2 withInitialWaitingSeconds(long initialWaitingSeconds) { + Utils.checkNotNull(initialWaitingSeconds, "initialWaitingSeconds"); + this.initialWaitingSeconds = Optional.ofNullable(initialWaitingSeconds); + return this; + } + + /** + * The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 1200 seconds. + */ + public SourceMongodbV2 withInitialWaitingSeconds(Optional initialWaitingSeconds) { + Utils.checkNotNull(initialWaitingSeconds, "initialWaitingSeconds"); + this.initialWaitingSeconds = initialWaitingSeconds; + return this; + } + + /** + * Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ + public SourceMongodbV2 withInvalidCdcCursorPositionBehavior(InvalidCDCPositionBehaviorAdvanced invalidCdcCursorPositionBehavior) { + Utils.checkNotNull(invalidCdcCursorPositionBehavior, "invalidCdcCursorPositionBehavior"); + this.invalidCdcCursorPositionBehavior = Optional.ofNullable(invalidCdcCursorPositionBehavior); + return this; + } + + /** + * Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ + public SourceMongodbV2 withInvalidCdcCursorPositionBehavior(Optional invalidCdcCursorPositionBehavior) { + Utils.checkNotNull(invalidCdcCursorPositionBehavior, "invalidCdcCursorPositionBehavior"); + this.invalidCdcCursorPositionBehavior = invalidCdcCursorPositionBehavior; + return this; + } + + /** + * The size of the internal queue. This may interfere with memory consumption and efficiency of the connector, please be careful. + */ + public SourceMongodbV2 withQueueSize(long queueSize) { + Utils.checkNotNull(queueSize, "queueSize"); + this.queueSize = Optional.ofNullable(queueSize); + return this; + } + + /** + * The size of the internal queue. This may interfere with memory consumption and efficiency of the connector, please be careful. + */ + public SourceMongodbV2 withQueueSize(Optional queueSize) { + Utils.checkNotNull(queueSize, "queueSize"); + this.queueSize = queueSize; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMongodbV2 other = (SourceMongodbV2) o; + return + java.util.Objects.deepEquals(this.databaseConfig, other.databaseConfig) && + java.util.Objects.deepEquals(this.discoverSampleSize, other.discoverSampleSize) && + java.util.Objects.deepEquals(this.initialWaitingSeconds, other.initialWaitingSeconds) && + java.util.Objects.deepEquals(this.invalidCdcCursorPositionBehavior, other.invalidCdcCursorPositionBehavior) && + java.util.Objects.deepEquals(this.queueSize, other.queueSize) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + databaseConfig, + discoverSampleSize, + initialWaitingSeconds, + invalidCdcCursorPositionBehavior, + queueSize, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceMongodbV2.class, + "databaseConfig", databaseConfig, + "discoverSampleSize", discoverSampleSize, + "initialWaitingSeconds", initialWaitingSeconds, + "invalidCdcCursorPositionBehavior", invalidCdcCursorPositionBehavior, + "queueSize", queueSize, + "sourceType", sourceType); + } + + public final static class Builder { + + private java.lang.Object databaseConfig; + + private Optional discoverSampleSize; + + private Optional initialWaitingSeconds; + + private Optional invalidCdcCursorPositionBehavior; + + private Optional queueSize; + + private Builder() { + // force use of static builder() method + } + + /** + * Configures the MongoDB cluster type. + */ + public Builder databaseConfig(java.lang.Object databaseConfig) { + Utils.checkNotNull(databaseConfig, "databaseConfig"); + this.databaseConfig = databaseConfig; + return this; + } + + /** + * The maximum number of documents to sample when attempting to discover the unique fields for a collection. + */ + public Builder discoverSampleSize(long discoverSampleSize) { + Utils.checkNotNull(discoverSampleSize, "discoverSampleSize"); + this.discoverSampleSize = Optional.ofNullable(discoverSampleSize); + return this; + } + + /** + * The maximum number of documents to sample when attempting to discover the unique fields for a collection. + */ + public Builder discoverSampleSize(Optional discoverSampleSize) { + Utils.checkNotNull(discoverSampleSize, "discoverSampleSize"); + this.discoverSampleSize = discoverSampleSize; + return this; + } + + /** + * The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 1200 seconds. + */ + public Builder initialWaitingSeconds(long initialWaitingSeconds) { + Utils.checkNotNull(initialWaitingSeconds, "initialWaitingSeconds"); + this.initialWaitingSeconds = Optional.ofNullable(initialWaitingSeconds); + return this; + } + + /** + * The amount of time the connector will wait when it launches to determine if there is new data to sync or not. Defaults to 300 seconds. Valid range: 120 seconds to 1200 seconds. + */ + public Builder initialWaitingSeconds(Optional initialWaitingSeconds) { + Utils.checkNotNull(initialWaitingSeconds, "initialWaitingSeconds"); + this.initialWaitingSeconds = initialWaitingSeconds; + return this; + } + + /** + * Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ + public Builder invalidCdcCursorPositionBehavior(InvalidCDCPositionBehaviorAdvanced invalidCdcCursorPositionBehavior) { + Utils.checkNotNull(invalidCdcCursorPositionBehavior, "invalidCdcCursorPositionBehavior"); + this.invalidCdcCursorPositionBehavior = Optional.ofNullable(invalidCdcCursorPositionBehavior); + return this; + } + + /** + * Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ + public Builder invalidCdcCursorPositionBehavior(Optional invalidCdcCursorPositionBehavior) { + Utils.checkNotNull(invalidCdcCursorPositionBehavior, "invalidCdcCursorPositionBehavior"); + this.invalidCdcCursorPositionBehavior = invalidCdcCursorPositionBehavior; + return this; + } + + /** + * The size of the internal queue. This may interfere with memory consumption and efficiency of the connector, please be careful. + */ + public Builder queueSize(long queueSize) { + Utils.checkNotNull(queueSize, "queueSize"); + this.queueSize = Optional.ofNullable(queueSize); + return this; + } + + /** + * The size of the internal queue. This may interfere with memory consumption and efficiency of the connector, please be careful. + */ + public Builder queueSize(Optional queueSize) { + Utils.checkNotNull(queueSize, "queueSize"); + this.queueSize = queueSize; + return this; + } + + public SourceMongodbV2 build() { + if (discoverSampleSize == null) { + discoverSampleSize = _SINGLETON_VALUE_DiscoverSampleSize.value(); + } + if (initialWaitingSeconds == null) { + initialWaitingSeconds = _SINGLETON_VALUE_InitialWaitingSeconds.value(); + } + if (invalidCdcCursorPositionBehavior == null) { + invalidCdcCursorPositionBehavior = _SINGLETON_VALUE_InvalidCdcCursorPositionBehavior.value(); + } + if (queueSize == null) { + queueSize = _SINGLETON_VALUE_QueueSize.value(); + } + return new SourceMongodbV2( + databaseConfig, + discoverSampleSize, + initialWaitingSeconds, + invalidCdcCursorPositionBehavior, + queueSize); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DiscoverSampleSize = + new LazySingletonValue<>( + "discover_sample_size", + "10000", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_InitialWaitingSeconds = + new LazySingletonValue<>( + "initial_waiting_seconds", + "300", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_InvalidCdcCursorPositionBehavior = + new LazySingletonValue<>( + "invalid_cdc_cursor_position_behavior", + "\"Fail sync\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_QueueSize = + new LazySingletonValue<>( + "queue_size", + "10000", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"mongodb-v2\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMssql.java b/src/main/java/com/airbyte/api/models/shared/SourceMssql.java new file mode 100644 index 000000000..a04ca9382 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMssql.java @@ -0,0 +1,575 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMssql { + + /** + * The name of the database. + */ + @JsonProperty("database") + private String database; + + /** + * The hostname of the database. + */ + @JsonProperty("host") + private String host; + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("jdbc_url_params") + private Optional jdbcUrlParams; + + /** + * The password associated with the username. + */ + @JsonProperty("password") + private String password; + + /** + * The port of the database. + */ + @JsonProperty("port") + private long port; + + /** + * Configures how data is extracted from the database. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("replication_method") + private Optional replicationMethod; + + /** + * The list of schemas to sync from. Defaults to user. Case sensitive. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schemas") + private Optional> schemas; + + @JsonProperty("sourceType") + private SourceMssqlMssql sourceType; + + /** + * The encryption method which is used when communicating with the database. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ssl_method") + private Optional sslMethod; + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_method") + private Optional tunnelMethod; + + /** + * The username which is used to access the database. + */ + @JsonProperty("username") + private String username; + + public SourceMssql( + @JsonProperty("database") String database, + @JsonProperty("host") String host, + @JsonProperty("jdbc_url_params") Optional jdbcUrlParams, + @JsonProperty("password") String password, + @JsonProperty("port") long port, + @JsonProperty("replication_method") Optional replicationMethod, + @JsonProperty("schemas") Optional> schemas, + @JsonProperty("ssl_method") Optional sslMethod, + @JsonProperty("tunnel_method") Optional tunnelMethod, + @JsonProperty("username") String username) { + Utils.checkNotNull(database, "database"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(replicationMethod, "replicationMethod"); + Utils.checkNotNull(schemas, "schemas"); + Utils.checkNotNull(sslMethod, "sslMethod"); + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + Utils.checkNotNull(username, "username"); + this.database = database; + this.host = host; + this.jdbcUrlParams = jdbcUrlParams; + this.password = password; + this.port = port; + this.replicationMethod = replicationMethod; + this.schemas = schemas; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.sslMethod = sslMethod; + this.tunnelMethod = tunnelMethod; + this.username = username; + } + + /** + * The name of the database. + */ + public String database() { + return database; + } + + /** + * The hostname of the database. + */ + public String host() { + return host; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Optional jdbcUrlParams() { + return jdbcUrlParams; + } + + /** + * The password associated with the username. + */ + public String password() { + return password; + } + + /** + * The port of the database. + */ + public long port() { + return port; + } + + /** + * Configures how data is extracted from the database. + */ + public Optional replicationMethod() { + return replicationMethod; + } + + /** + * The list of schemas to sync from. Defaults to user. Case sensitive. + */ + public Optional> schemas() { + return schemas; + } + + public SourceMssqlMssql sourceType() { + return sourceType; + } + + /** + * The encryption method which is used when communicating with the database. + */ + public Optional sslMethod() { + return sslMethod; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Optional tunnelMethod() { + return tunnelMethod; + } + + /** + * The username which is used to access the database. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The name of the database. + */ + public SourceMssql withDatabase(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * The hostname of the database. + */ + public SourceMssql withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public SourceMssql withJdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public SourceMssql withJdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * The password associated with the username. + */ + public SourceMssql withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * The port of the database. + */ + public SourceMssql withPort(long port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * Configures how data is extracted from the database. + */ + public SourceMssql withReplicationMethod(UpdateMethod replicationMethod) { + Utils.checkNotNull(replicationMethod, "replicationMethod"); + this.replicationMethod = Optional.ofNullable(replicationMethod); + return this; + } + + /** + * Configures how data is extracted from the database. + */ + public SourceMssql withReplicationMethod(Optional replicationMethod) { + Utils.checkNotNull(replicationMethod, "replicationMethod"); + this.replicationMethod = replicationMethod; + return this; + } + + /** + * The list of schemas to sync from. Defaults to user. Case sensitive. + */ + public SourceMssql withSchemas(java.util.List schemas) { + Utils.checkNotNull(schemas, "schemas"); + this.schemas = Optional.ofNullable(schemas); + return this; + } + + /** + * The list of schemas to sync from. Defaults to user. Case sensitive. + */ + public SourceMssql withSchemas(Optional> schemas) { + Utils.checkNotNull(schemas, "schemas"); + this.schemas = schemas; + return this; + } + + /** + * The encryption method which is used when communicating with the database. + */ + public SourceMssql withSslMethod(SourceMssqlSSLMethod sslMethod) { + Utils.checkNotNull(sslMethod, "sslMethod"); + this.sslMethod = Optional.ofNullable(sslMethod); + return this; + } + + /** + * The encryption method which is used when communicating with the database. + */ + public SourceMssql withSslMethod(Optional sslMethod) { + Utils.checkNotNull(sslMethod, "sslMethod"); + this.sslMethod = sslMethod; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public SourceMssql withTunnelMethod(SourceMssqlSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public SourceMssql withTunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * The username which is used to access the database. + */ + public SourceMssql withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMssql other = (SourceMssql) o; + return + java.util.Objects.deepEquals(this.database, other.database) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.jdbcUrlParams, other.jdbcUrlParams) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.replicationMethod, other.replicationMethod) && + java.util.Objects.deepEquals(this.schemas, other.schemas) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.sslMethod, other.sslMethod) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + database, + host, + jdbcUrlParams, + password, + port, + replicationMethod, + schemas, + sourceType, + sslMethod, + tunnelMethod, + username); + } + + @Override + public String toString() { + return Utils.toString(SourceMssql.class, + "database", database, + "host", host, + "jdbcUrlParams", jdbcUrlParams, + "password", password, + "port", port, + "replicationMethod", replicationMethod, + "schemas", schemas, + "sourceType", sourceType, + "sslMethod", sslMethod, + "tunnelMethod", tunnelMethod, + "username", username); + } + + public final static class Builder { + + private String database; + + private String host; + + private Optional jdbcUrlParams = Optional.empty(); + + private String password; + + private Long port; + + private Optional replicationMethod = Optional.empty(); + + private Optional> schemas = Optional.empty(); + + private Optional sslMethod = Optional.empty(); + + private Optional tunnelMethod = Optional.empty(); + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * The name of the database. + */ + public Builder database(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * The hostname of the database. + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * The password associated with the username. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * The port of the database. + */ + public Builder port(long port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * Configures how data is extracted from the database. + */ + public Builder replicationMethod(UpdateMethod replicationMethod) { + Utils.checkNotNull(replicationMethod, "replicationMethod"); + this.replicationMethod = Optional.ofNullable(replicationMethod); + return this; + } + + /** + * Configures how data is extracted from the database. + */ + public Builder replicationMethod(Optional replicationMethod) { + Utils.checkNotNull(replicationMethod, "replicationMethod"); + this.replicationMethod = replicationMethod; + return this; + } + + /** + * The list of schemas to sync from. Defaults to user. Case sensitive. + */ + public Builder schemas(java.util.List schemas) { + Utils.checkNotNull(schemas, "schemas"); + this.schemas = Optional.ofNullable(schemas); + return this; + } + + /** + * The list of schemas to sync from. Defaults to user. Case sensitive. + */ + public Builder schemas(Optional> schemas) { + Utils.checkNotNull(schemas, "schemas"); + this.schemas = schemas; + return this; + } + + /** + * The encryption method which is used when communicating with the database. + */ + public Builder sslMethod(SourceMssqlSSLMethod sslMethod) { + Utils.checkNotNull(sslMethod, "sslMethod"); + this.sslMethod = Optional.ofNullable(sslMethod); + return this; + } + + /** + * The encryption method which is used when communicating with the database. + */ + public Builder sslMethod(Optional sslMethod) { + Utils.checkNotNull(sslMethod, "sslMethod"); + this.sslMethod = sslMethod; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(SourceMssqlSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * The username which is used to access the database. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public SourceMssql build() { + return new SourceMssql( + database, + host, + jdbcUrlParams, + password, + port, + replicationMethod, + schemas, + sslMethod, + tunnelMethod, + username); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"mssql\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMssqlEncryptedTrustServerCertificate.java b/src/main/java/com/airbyte/api/models/shared/SourceMssqlEncryptedTrustServerCertificate.java new file mode 100644 index 000000000..47f214784 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMssqlEncryptedTrustServerCertificate.java @@ -0,0 +1,82 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceMssqlEncryptedTrustServerCertificate - Use the certificate provided by the server without verification. (For testing purposes only!) + */ + +public class SourceMssqlEncryptedTrustServerCertificate { + + @JsonProperty("ssl_method") + private SourceMssqlSchemasSslMethodSslMethod sslMethod; + + public SourceMssqlEncryptedTrustServerCertificate() { + + this.sslMethod = Builder._SINGLETON_VALUE_SslMethod.value(); + } + + public SourceMssqlSchemasSslMethodSslMethod sslMethod() { + return sslMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMssqlEncryptedTrustServerCertificate other = (SourceMssqlEncryptedTrustServerCertificate) o; + return + java.util.Objects.deepEquals(this.sslMethod, other.sslMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sslMethod); + } + + @Override + public String toString() { + return Utils.toString(SourceMssqlEncryptedTrustServerCertificate.class, + "sslMethod", sslMethod); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceMssqlEncryptedTrustServerCertificate build() { + return new SourceMssqlEncryptedTrustServerCertificate( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SslMethod = + new LazySingletonValue<>( + "ssl_method", + "\"encrypted_trust_server_certificate\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMssqlEncryptedVerifyCertificate.java b/src/main/java/com/airbyte/api/models/shared/SourceMssqlEncryptedVerifyCertificate.java new file mode 100644 index 000000000..551e969cc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMssqlEncryptedVerifyCertificate.java @@ -0,0 +1,201 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SourceMssqlEncryptedVerifyCertificate - Verify and use the certificate provided by the server. + */ + +public class SourceMssqlEncryptedVerifyCertificate { + + /** + * certificate of the server, or of the CA that signed the server certificate + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("certificate") + private Optional certificate; + + /** + * Specifies the host name of the server. The value of this property must match the subject property of the certificate. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("hostNameInCertificate") + private Optional hostNameInCertificate; + + @JsonProperty("ssl_method") + private SourceMssqlSchemasSSLMethodSSLMethodSSLMethod sslMethod; + + public SourceMssqlEncryptedVerifyCertificate( + @JsonProperty("certificate") Optional certificate, + @JsonProperty("hostNameInCertificate") Optional hostNameInCertificate) { + Utils.checkNotNull(certificate, "certificate"); + Utils.checkNotNull(hostNameInCertificate, "hostNameInCertificate"); + this.certificate = certificate; + this.hostNameInCertificate = hostNameInCertificate; + this.sslMethod = Builder._SINGLETON_VALUE_SslMethod.value(); + } + + /** + * certificate of the server, or of the CA that signed the server certificate + */ + public Optional certificate() { + return certificate; + } + + /** + * Specifies the host name of the server. The value of this property must match the subject property of the certificate. + */ + public Optional hostNameInCertificate() { + return hostNameInCertificate; + } + + public SourceMssqlSchemasSSLMethodSSLMethodSSLMethod sslMethod() { + return sslMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * certificate of the server, or of the CA that signed the server certificate + */ + public SourceMssqlEncryptedVerifyCertificate withCertificate(String certificate) { + Utils.checkNotNull(certificate, "certificate"); + this.certificate = Optional.ofNullable(certificate); + return this; + } + + /** + * certificate of the server, or of the CA that signed the server certificate + */ + public SourceMssqlEncryptedVerifyCertificate withCertificate(Optional certificate) { + Utils.checkNotNull(certificate, "certificate"); + this.certificate = certificate; + return this; + } + + /** + * Specifies the host name of the server. The value of this property must match the subject property of the certificate. + */ + public SourceMssqlEncryptedVerifyCertificate withHostNameInCertificate(String hostNameInCertificate) { + Utils.checkNotNull(hostNameInCertificate, "hostNameInCertificate"); + this.hostNameInCertificate = Optional.ofNullable(hostNameInCertificate); + return this; + } + + /** + * Specifies the host name of the server. The value of this property must match the subject property of the certificate. + */ + public SourceMssqlEncryptedVerifyCertificate withHostNameInCertificate(Optional hostNameInCertificate) { + Utils.checkNotNull(hostNameInCertificate, "hostNameInCertificate"); + this.hostNameInCertificate = hostNameInCertificate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMssqlEncryptedVerifyCertificate other = (SourceMssqlEncryptedVerifyCertificate) o; + return + java.util.Objects.deepEquals(this.certificate, other.certificate) && + java.util.Objects.deepEquals(this.hostNameInCertificate, other.hostNameInCertificate) && + java.util.Objects.deepEquals(this.sslMethod, other.sslMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + certificate, + hostNameInCertificate, + sslMethod); + } + + @Override + public String toString() { + return Utils.toString(SourceMssqlEncryptedVerifyCertificate.class, + "certificate", certificate, + "hostNameInCertificate", hostNameInCertificate, + "sslMethod", sslMethod); + } + + public final static class Builder { + + private Optional certificate = Optional.empty(); + + private Optional hostNameInCertificate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * certificate of the server, or of the CA that signed the server certificate + */ + public Builder certificate(String certificate) { + Utils.checkNotNull(certificate, "certificate"); + this.certificate = Optional.ofNullable(certificate); + return this; + } + + /** + * certificate of the server, or of the CA that signed the server certificate + */ + public Builder certificate(Optional certificate) { + Utils.checkNotNull(certificate, "certificate"); + this.certificate = certificate; + return this; + } + + /** + * Specifies the host name of the server. The value of this property must match the subject property of the certificate. + */ + public Builder hostNameInCertificate(String hostNameInCertificate) { + Utils.checkNotNull(hostNameInCertificate, "hostNameInCertificate"); + this.hostNameInCertificate = Optional.ofNullable(hostNameInCertificate); + return this; + } + + /** + * Specifies the host name of the server. The value of this property must match the subject property of the certificate. + */ + public Builder hostNameInCertificate(Optional hostNameInCertificate) { + Utils.checkNotNull(hostNameInCertificate, "hostNameInCertificate"); + this.hostNameInCertificate = hostNameInCertificate; + return this; + } + + public SourceMssqlEncryptedVerifyCertificate build() { + return new SourceMssqlEncryptedVerifyCertificate( + certificate, + hostNameInCertificate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SslMethod = + new LazySingletonValue<>( + "ssl_method", + "\"encrypted_verify_certificate\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMssqlInvalidCDCPositionBehaviorAdvanced.java b/src/main/java/com/airbyte/api/models/shared/SourceMssqlInvalidCDCPositionBehaviorAdvanced.java new file mode 100644 index 000000000..d438b7deb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMssqlInvalidCDCPositionBehaviorAdvanced.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceMssqlInvalidCDCPositionBehaviorAdvanced - Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ +public enum SourceMssqlInvalidCDCPositionBehaviorAdvanced { + FAIL_SYNC("Fail sync"), + RE_SYNC_DATA("Re-sync data"); + + @JsonValue + private final String value; + + private SourceMssqlInvalidCDCPositionBehaviorAdvanced(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMssqlMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceMssqlMethod.java new file mode 100644 index 000000000..bb50bda2b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMssqlMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMssqlMethod { + CDC("CDC"); + + @JsonValue + private final String value; + + private SourceMssqlMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMssqlMssql.java b/src/main/java/com/airbyte/api/models/shared/SourceMssqlMssql.java new file mode 100644 index 000000000..0f20ccb4a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMssqlMssql.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMssqlMssql { + MSSQL("mssql"); + + @JsonValue + private final String value; + + private SourceMssqlMssql(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMssqlNoTunnel.java b/src/main/java/com/airbyte/api/models/shared/SourceMssqlNoTunnel.java new file mode 100644 index 000000000..bdb178230 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMssqlNoTunnel.java @@ -0,0 +1,85 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceMssqlNoTunnel { + + /** + * No ssh tunnel needed to connect to database + */ + @JsonProperty("tunnel_method") + private SourceMssqlTunnelMethod tunnelMethod; + + public SourceMssqlNoTunnel() { + + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + } + + /** + * No ssh tunnel needed to connect to database + */ + public SourceMssqlTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMssqlNoTunnel other = (SourceMssqlNoTunnel) o; + return + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelMethod); + } + + @Override + public String toString() { + return Utils.toString(SourceMssqlNoTunnel.class, + "tunnelMethod", tunnelMethod); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceMssqlNoTunnel build() { + return new SourceMssqlNoTunnel( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"NO_TUNNEL\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMssqlPasswordAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceMssqlPasswordAuthentication.java new file mode 100644 index 000000000..455fa8f07 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMssqlPasswordAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMssqlPasswordAuthentication { + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + @JsonProperty("tunnel_method") + private SourceMssqlSchemasTunnelMethodTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + /** + * OS-level password for logging into the jump server host + */ + @JsonProperty("tunnel_user_password") + private String tunnelUserPassword; + + public SourceMssqlPasswordAuthentication( + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser, + @JsonProperty("tunnel_user_password") String tunnelUserPassword) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + this.tunnelUserPassword = tunnelUserPassword; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + public SourceMssqlSchemasTunnelMethodTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host + */ + public String tunnelUser() { + return tunnelUser; + } + + /** + * OS-level password for logging into the jump server host + */ + public String tunnelUserPassword() { + return tunnelUserPassword; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public SourceMssqlPasswordAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourceMssqlPasswordAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourceMssqlPasswordAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public SourceMssqlPasswordAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public SourceMssqlPasswordAuthentication withTunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMssqlPasswordAuthentication other = (SourceMssqlPasswordAuthentication) o; + return + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser) && + java.util.Objects.deepEquals(this.tunnelUserPassword, other.tunnelUserPassword); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + @Override + public String toString() { + return Utils.toString(SourceMssqlPasswordAuthentication.class, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser, + "tunnelUserPassword", tunnelUserPassword); + } + + public final static class Builder { + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private String tunnelUserPassword; + + private Builder() { + // force use of static builder() method + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public Builder tunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + public SourceMssqlPasswordAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new SourceMssqlPasswordAuthentication( + tunnelHost, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_PASSWORD_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMssqlSSHKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceMssqlSSHKeyAuthentication.java new file mode 100644 index 000000000..828a54c91 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMssqlSSHKeyAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMssqlSSHKeyAuthentication { + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + @JsonProperty("ssh_key") + private String sshKey; + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + @JsonProperty("tunnel_method") + private SourceMssqlSchemasTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host. + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + public SourceMssqlSSHKeyAuthentication( + @JsonProperty("ssh_key") String sshKey, + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser) { + Utils.checkNotNull(sshKey, "sshKey"); + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.sshKey = sshKey; + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public String sshKey() { + return sshKey; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + public SourceMssqlSchemasTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host. + */ + public String tunnelUser() { + return tunnelUser; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public SourceMssqlSSHKeyAuthentication withSshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public SourceMssqlSSHKeyAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourceMssqlSSHKeyAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourceMssqlSSHKeyAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public SourceMssqlSSHKeyAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMssqlSSHKeyAuthentication other = (SourceMssqlSSHKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.sshKey, other.sshKey) && + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sshKey, + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser); + } + + @Override + public String toString() { + return Utils.toString(SourceMssqlSSHKeyAuthentication.class, + "sshKey", sshKey, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser); + } + + public final static class Builder { + + private String sshKey; + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private Builder() { + // force use of static builder() method + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public Builder sshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + public SourceMssqlSSHKeyAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new SourceMssqlSSHKeyAuthentication( + sshKey, + tunnelHost, + tunnelPort, + tunnelUser); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_KEY_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMssqlSSHTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceMssqlSSHTunnelMethod.java new file mode 100644 index 000000000..831c8f9b2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMssqlSSHTunnelMethod.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceMssqlSSHTunnelMethod - Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + +@JsonDeserialize(using = SourceMssqlSSHTunnelMethod._Deserializer.class) +public class SourceMssqlSSHTunnelMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceMssqlSSHTunnelMethod(TypedObject value) { + this.value = value; + } + + public static SourceMssqlSSHTunnelMethod of(SourceMssqlNoTunnel value) { + Utils.checkNotNull(value, "value"); + return new SourceMssqlSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMssqlSSHTunnelMethod of(SourceMssqlSSHKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourceMssqlSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMssqlSSHTunnelMethod of(SourceMssqlPasswordAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourceMssqlSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceMssqlNoTunnel}
    • + *
    • {@code SourceMssqlSSHKeyAuthentication}
    • + *
    • {@code SourceMssqlPasswordAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMssqlSSHTunnelMethod other = (SourceMssqlSSHTunnelMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceMssqlSSHTunnelMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceMssqlSSHTunnelMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMssqlSSLMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceMssqlSSLMethod.java new file mode 100644 index 000000000..f3b690217 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMssqlSSLMethod.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceMssqlSSLMethod - The encryption method which is used when communicating with the database. + */ + +@JsonDeserialize(using = SourceMssqlSSLMethod._Deserializer.class) +public class SourceMssqlSSLMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceMssqlSSLMethod(TypedObject value) { + this.value = value; + } + + public static SourceMssqlSSLMethod of(Unencrypted value) { + Utils.checkNotNull(value, "value"); + return new SourceMssqlSSLMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMssqlSSLMethod of(SourceMssqlEncryptedTrustServerCertificate value) { + Utils.checkNotNull(value, "value"); + return new SourceMssqlSSLMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMssqlSSLMethod of(SourceMssqlEncryptedVerifyCertificate value) { + Utils.checkNotNull(value, "value"); + return new SourceMssqlSSLMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code Unencrypted}
    • + *
    • {@code SourceMssqlEncryptedTrustServerCertificate}
    • + *
    • {@code SourceMssqlEncryptedVerifyCertificate}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMssqlSSLMethod other = (SourceMssqlSSLMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceMssqlSSLMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceMssqlSSLMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasMethod.java new file mode 100644 index 000000000..adacaa5be --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMssqlSchemasMethod { + STANDARD("STANDARD"); + + @JsonValue + private final String value; + + private SourceMssqlSchemasMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasSSLMethodSSLMethodSSLMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasSSLMethodSSLMethodSSLMethod.java new file mode 100644 index 000000000..20714b79b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasSSLMethodSSLMethodSSLMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMssqlSchemasSSLMethodSSLMethodSSLMethod { + ENCRYPTED_VERIFY_CERTIFICATE("encrypted_verify_certificate"); + + @JsonValue + private final String value; + + private SourceMssqlSchemasSSLMethodSSLMethodSSLMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasSslMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasSslMethod.java new file mode 100644 index 000000000..81f83268d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasSslMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMssqlSchemasSslMethod { + UNENCRYPTED("unencrypted"); + + @JsonValue + private final String value; + + private SourceMssqlSchemasSslMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasSslMethodSslMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasSslMethodSslMethod.java new file mode 100644 index 000000000..bc018511a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasSslMethodSslMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMssqlSchemasSslMethodSslMethod { + ENCRYPTED_TRUST_SERVER_CERTIFICATE("encrypted_trust_server_certificate"); + + @JsonValue + private final String value; + + private SourceMssqlSchemasSslMethodSslMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasTunnelMethod.java new file mode 100644 index 000000000..bf8e3b051 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceMssqlSchemasTunnelMethod - Connect through a jump server tunnel host using username and ssh key + */ +public enum SourceMssqlSchemasTunnelMethod { + SSH_KEY_AUTH("SSH_KEY_AUTH"); + + @JsonValue + private final String value; + + private SourceMssqlSchemasTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasTunnelMethodTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasTunnelMethodTunnelMethod.java new file mode 100644 index 000000000..421c8e574 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMssqlSchemasTunnelMethodTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceMssqlSchemasTunnelMethodTunnelMethod - Connect through a jump server tunnel host using username and password authentication + */ +public enum SourceMssqlSchemasTunnelMethodTunnelMethod { + SSH_PASSWORD_AUTH("SSH_PASSWORD_AUTH"); + + @JsonValue + private final String value; + + private SourceMssqlSchemasTunnelMethodTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMssqlTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceMssqlTunnelMethod.java new file mode 100644 index 000000000..d501d3f91 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMssqlTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceMssqlTunnelMethod - No ssh tunnel needed to connect to database + */ +public enum SourceMssqlTunnelMethod { + NO_TUNNEL("NO_TUNNEL"); + + @JsonValue + private final String value; + + private SourceMssqlTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMyHours.java b/src/main/java/com/airbyte/api/models/shared/SourceMyHours.java new file mode 100644 index 000000000..1e4a5ac09 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMyHours.java @@ -0,0 +1,268 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMyHours { + + /** + * Your My Hours username + */ + @JsonProperty("email") + private String email; + + /** + * Pagination size used for retrieving logs in days + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("logs_batch_size") + private Optional logsBatchSize; + + /** + * The password associated to the username + */ + @JsonProperty("password") + private String password; + + @JsonProperty("sourceType") + private MyHours sourceType; + + /** + * Start date for collecting time logs + */ + @JsonProperty("start_date") + private String startDate; + + public SourceMyHours( + @JsonProperty("email") String email, + @JsonProperty("logs_batch_size") Optional logsBatchSize, + @JsonProperty("password") String password, + @JsonProperty("start_date") String startDate) { + Utils.checkNotNull(email, "email"); + Utils.checkNotNull(logsBatchSize, "logsBatchSize"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(startDate, "startDate"); + this.email = email; + this.logsBatchSize = logsBatchSize; + this.password = password; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Your My Hours username + */ + public String email() { + return email; + } + + /** + * Pagination size used for retrieving logs in days + */ + public Optional logsBatchSize() { + return logsBatchSize; + } + + /** + * The password associated to the username + */ + public String password() { + return password; + } + + public MyHours sourceType() { + return sourceType; + } + + /** + * Start date for collecting time logs + */ + public String startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your My Hours username + */ + public SourceMyHours withEmail(String email) { + Utils.checkNotNull(email, "email"); + this.email = email; + return this; + } + + /** + * Pagination size used for retrieving logs in days + */ + public SourceMyHours withLogsBatchSize(long logsBatchSize) { + Utils.checkNotNull(logsBatchSize, "logsBatchSize"); + this.logsBatchSize = Optional.ofNullable(logsBatchSize); + return this; + } + + /** + * Pagination size used for retrieving logs in days + */ + public SourceMyHours withLogsBatchSize(Optional logsBatchSize) { + Utils.checkNotNull(logsBatchSize, "logsBatchSize"); + this.logsBatchSize = logsBatchSize; + return this; + } + + /** + * The password associated to the username + */ + public SourceMyHours withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Start date for collecting time logs + */ + public SourceMyHours withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMyHours other = (SourceMyHours) o; + return + java.util.Objects.deepEquals(this.email, other.email) && + java.util.Objects.deepEquals(this.logsBatchSize, other.logsBatchSize) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + email, + logsBatchSize, + password, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceMyHours.class, + "email", email, + "logsBatchSize", logsBatchSize, + "password", password, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String email; + + private Optional logsBatchSize; + + private String password; + + private String startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Your My Hours username + */ + public Builder email(String email) { + Utils.checkNotNull(email, "email"); + this.email = email; + return this; + } + + /** + * Pagination size used for retrieving logs in days + */ + public Builder logsBatchSize(long logsBatchSize) { + Utils.checkNotNull(logsBatchSize, "logsBatchSize"); + this.logsBatchSize = Optional.ofNullable(logsBatchSize); + return this; + } + + /** + * Pagination size used for retrieving logs in days + */ + public Builder logsBatchSize(Optional logsBatchSize) { + Utils.checkNotNull(logsBatchSize, "logsBatchSize"); + this.logsBatchSize = logsBatchSize; + return this; + } + + /** + * The password associated to the username + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Start date for collecting time logs + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceMyHours build() { + if (logsBatchSize == null) { + logsBatchSize = _SINGLETON_VALUE_LogsBatchSize.value(); + } + return new SourceMyHours( + email, + logsBatchSize, + password, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_LogsBatchSize = + new LazySingletonValue<>( + "logs_batch_size", + "30", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"my-hours\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysql.java b/src/main/java/com/airbyte/api/models/shared/SourceMysql.java new file mode 100644 index 000000000..56165c779 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysql.java @@ -0,0 +1,544 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMysql { + + /** + * The database name. + */ + @JsonProperty("database") + private String database; + + /** + * The host name of the database. + */ + @JsonProperty("host") + private String host; + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). For more information read about <a href="https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-jdbc-url-format.html">JDBC URL parameters</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("jdbc_url_params") + private Optional jdbcUrlParams; + + /** + * The password associated with the username. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("password") + private Optional password; + + /** + * The port to connect to. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + /** + * Configures how data is extracted from the database. + */ + @JsonProperty("replication_method") + private SourceMysqlUpdateMethod replicationMethod; + + @JsonProperty("sourceType") + private SourceMysqlMysql sourceType; + + /** + * SSL connection modes. Read more <a href="https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-using-ssl.html"> in the docs</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ssl_mode") + private Optional sslMode; + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_method") + private Optional tunnelMethod; + + /** + * The username which is used to access the database. + */ + @JsonProperty("username") + private String username; + + public SourceMysql( + @JsonProperty("database") String database, + @JsonProperty("host") String host, + @JsonProperty("jdbc_url_params") Optional jdbcUrlParams, + @JsonProperty("password") Optional password, + @JsonProperty("port") Optional port, + @JsonProperty("replication_method") SourceMysqlUpdateMethod replicationMethod, + @JsonProperty("ssl_mode") Optional sslMode, + @JsonProperty("tunnel_method") Optional tunnelMethod, + @JsonProperty("username") String username) { + Utils.checkNotNull(database, "database"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(replicationMethod, "replicationMethod"); + Utils.checkNotNull(sslMode, "sslMode"); + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + Utils.checkNotNull(username, "username"); + this.database = database; + this.host = host; + this.jdbcUrlParams = jdbcUrlParams; + this.password = password; + this.port = port; + this.replicationMethod = replicationMethod; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.sslMode = sslMode; + this.tunnelMethod = tunnelMethod; + this.username = username; + } + + /** + * The database name. + */ + public String database() { + return database; + } + + /** + * The host name of the database. + */ + public String host() { + return host; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). For more information read about <a href="https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-jdbc-url-format.html">JDBC URL parameters</a>. + */ + public Optional jdbcUrlParams() { + return jdbcUrlParams; + } + + /** + * The password associated with the username. + */ + public Optional password() { + return password; + } + + /** + * The port to connect to. + */ + public Optional port() { + return port; + } + + /** + * Configures how data is extracted from the database. + */ + public SourceMysqlUpdateMethod replicationMethod() { + return replicationMethod; + } + + public SourceMysqlMysql sourceType() { + return sourceType; + } + + /** + * SSL connection modes. Read more <a href="https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-using-ssl.html"> in the docs</a>. + */ + public Optional sslMode() { + return sslMode; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Optional tunnelMethod() { + return tunnelMethod; + } + + /** + * The username which is used to access the database. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The database name. + */ + public SourceMysql withDatabase(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * The host name of the database. + */ + public SourceMysql withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). For more information read about <a href="https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-jdbc-url-format.html">JDBC URL parameters</a>. + */ + public SourceMysql withJdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). For more information read about <a href="https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-jdbc-url-format.html">JDBC URL parameters</a>. + */ + public SourceMysql withJdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * The password associated with the username. + */ + public SourceMysql withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * The password associated with the username. + */ + public SourceMysql withPassword(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * The port to connect to. + */ + public SourceMysql withPort(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * The port to connect to. + */ + public SourceMysql withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * Configures how data is extracted from the database. + */ + public SourceMysql withReplicationMethod(SourceMysqlUpdateMethod replicationMethod) { + Utils.checkNotNull(replicationMethod, "replicationMethod"); + this.replicationMethod = replicationMethod; + return this; + } + + /** + * SSL connection modes. Read more <a href="https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-using-ssl.html"> in the docs</a>. + */ + public SourceMysql withSslMode(SourceMysqlSSLModes sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = Optional.ofNullable(sslMode); + return this; + } + + /** + * SSL connection modes. Read more <a href="https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-using-ssl.html"> in the docs</a>. + */ + public SourceMysql withSslMode(Optional sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = sslMode; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public SourceMysql withTunnelMethod(SourceMysqlSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public SourceMysql withTunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * The username which is used to access the database. + */ + public SourceMysql withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMysql other = (SourceMysql) o; + return + java.util.Objects.deepEquals(this.database, other.database) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.jdbcUrlParams, other.jdbcUrlParams) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.replicationMethod, other.replicationMethod) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.sslMode, other.sslMode) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + database, + host, + jdbcUrlParams, + password, + port, + replicationMethod, + sourceType, + sslMode, + tunnelMethod, + username); + } + + @Override + public String toString() { + return Utils.toString(SourceMysql.class, + "database", database, + "host", host, + "jdbcUrlParams", jdbcUrlParams, + "password", password, + "port", port, + "replicationMethod", replicationMethod, + "sourceType", sourceType, + "sslMode", sslMode, + "tunnelMethod", tunnelMethod, + "username", username); + } + + public final static class Builder { + + private String database; + + private String host; + + private Optional jdbcUrlParams = Optional.empty(); + + private Optional password = Optional.empty(); + + private Optional port; + + private SourceMysqlUpdateMethod replicationMethod; + + private Optional sslMode = Optional.empty(); + + private Optional tunnelMethod = Optional.empty(); + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * The database name. + */ + public Builder database(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * The host name of the database. + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). For more information read about <a href="https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-jdbc-url-format.html">JDBC URL parameters</a>. + */ + public Builder jdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). For more information read about <a href="https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-jdbc-url-format.html">JDBC URL parameters</a>. + */ + public Builder jdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * The password associated with the username. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * The password associated with the username. + */ + public Builder password(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * The port to connect to. + */ + public Builder port(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * The port to connect to. + */ + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * Configures how data is extracted from the database. + */ + public Builder replicationMethod(SourceMysqlUpdateMethod replicationMethod) { + Utils.checkNotNull(replicationMethod, "replicationMethod"); + this.replicationMethod = replicationMethod; + return this; + } + + /** + * SSL connection modes. Read more <a href="https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-using-ssl.html"> in the docs</a>. + */ + public Builder sslMode(SourceMysqlSSLModes sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = Optional.ofNullable(sslMode); + return this; + } + + /** + * SSL connection modes. Read more <a href="https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-using-ssl.html"> in the docs</a>. + */ + public Builder sslMode(Optional sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = sslMode; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(SourceMysqlSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * The username which is used to access the database. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public SourceMysql build() { + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + return new SourceMysql( + database, + host, + jdbcUrlParams, + password, + port, + replicationMethod, + sslMode, + tunnelMethod, + username); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "3306", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"mysql\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlInvalidCDCPositionBehaviorAdvanced.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlInvalidCDCPositionBehaviorAdvanced.java new file mode 100644 index 000000000..4b5539d91 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlInvalidCDCPositionBehaviorAdvanced.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceMysqlInvalidCDCPositionBehaviorAdvanced - Determines whether Airbyte should fail or re-sync data in case of an stale/invalid cursor value into the WAL. If 'Fail sync' is chosen, a user will have to manually reset the connection before being able to continue syncing data. If 'Re-sync data' is chosen, Airbyte will automatically trigger a refresh but could lead to higher cloud costs and data loss. + */ +public enum SourceMysqlInvalidCDCPositionBehaviorAdvanced { + FAIL_SYNC("Fail sync"), + RE_SYNC_DATA("Re-sync data"); + + @JsonValue + private final String value; + + private SourceMysqlInvalidCDCPositionBehaviorAdvanced(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlMethod.java new file mode 100644 index 000000000..8975c6e62 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMysqlMethod { + CDC("CDC"); + + @JsonValue + private final String value; + + private SourceMysqlMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlMode.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlMode.java new file mode 100644 index 000000000..17aee213c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMysqlMode { + PREFERRED("preferred"); + + @JsonValue + private final String value; + + private SourceMysqlMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlMysql.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlMysql.java new file mode 100644 index 000000000..77cd4a381 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlMysql.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMysqlMysql { + MYSQL("mysql"); + + @JsonValue + private final String value; + + private SourceMysqlMysql(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlNoTunnel.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlNoTunnel.java new file mode 100644 index 000000000..9fd659bd2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlNoTunnel.java @@ -0,0 +1,85 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceMysqlNoTunnel { + + /** + * No ssh tunnel needed to connect to database + */ + @JsonProperty("tunnel_method") + private SourceMysqlTunnelMethod tunnelMethod; + + public SourceMysqlNoTunnel() { + + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + } + + /** + * No ssh tunnel needed to connect to database + */ + public SourceMysqlTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMysqlNoTunnel other = (SourceMysqlNoTunnel) o; + return + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelMethod); + } + + @Override + public String toString() { + return Utils.toString(SourceMysqlNoTunnel.class, + "tunnelMethod", tunnelMethod); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceMysqlNoTunnel build() { + return new SourceMysqlNoTunnel( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"NO_TUNNEL\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlPasswordAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlPasswordAuthentication.java new file mode 100644 index 000000000..ccc094e79 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlPasswordAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMysqlPasswordAuthentication { + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + @JsonProperty("tunnel_method") + private SourceMysqlSchemasTunnelMethodTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + /** + * OS-level password for logging into the jump server host + */ + @JsonProperty("tunnel_user_password") + private String tunnelUserPassword; + + public SourceMysqlPasswordAuthentication( + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser, + @JsonProperty("tunnel_user_password") String tunnelUserPassword) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + this.tunnelUserPassword = tunnelUserPassword; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + public SourceMysqlSchemasTunnelMethodTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host + */ + public String tunnelUser() { + return tunnelUser; + } + + /** + * OS-level password for logging into the jump server host + */ + public String tunnelUserPassword() { + return tunnelUserPassword; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public SourceMysqlPasswordAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourceMysqlPasswordAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourceMysqlPasswordAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public SourceMysqlPasswordAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public SourceMysqlPasswordAuthentication withTunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMysqlPasswordAuthentication other = (SourceMysqlPasswordAuthentication) o; + return + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser) && + java.util.Objects.deepEquals(this.tunnelUserPassword, other.tunnelUserPassword); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + @Override + public String toString() { + return Utils.toString(SourceMysqlPasswordAuthentication.class, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser, + "tunnelUserPassword", tunnelUserPassword); + } + + public final static class Builder { + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private String tunnelUserPassword; + + private Builder() { + // force use of static builder() method + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public Builder tunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + public SourceMysqlPasswordAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new SourceMysqlPasswordAuthentication( + tunnelHost, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_PASSWORD_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlSSHKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlSSHKeyAuthentication.java new file mode 100644 index 000000000..5bf3a950a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlSSHKeyAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceMysqlSSHKeyAuthentication { + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + @JsonProperty("ssh_key") + private String sshKey; + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + @JsonProperty("tunnel_method") + private SourceMysqlSchemasTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host. + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + public SourceMysqlSSHKeyAuthentication( + @JsonProperty("ssh_key") String sshKey, + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser) { + Utils.checkNotNull(sshKey, "sshKey"); + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.sshKey = sshKey; + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public String sshKey() { + return sshKey; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + public SourceMysqlSchemasTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host. + */ + public String tunnelUser() { + return tunnelUser; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public SourceMysqlSSHKeyAuthentication withSshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public SourceMysqlSSHKeyAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourceMysqlSSHKeyAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourceMysqlSSHKeyAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public SourceMysqlSSHKeyAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMysqlSSHKeyAuthentication other = (SourceMysqlSSHKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.sshKey, other.sshKey) && + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sshKey, + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser); + } + + @Override + public String toString() { + return Utils.toString(SourceMysqlSSHKeyAuthentication.class, + "sshKey", sshKey, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser); + } + + public final static class Builder { + + private String sshKey; + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private Builder() { + // force use of static builder() method + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public Builder sshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + public SourceMysqlSSHKeyAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new SourceMysqlSSHKeyAuthentication( + sshKey, + tunnelHost, + tunnelPort, + tunnelUser); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_KEY_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlSSHTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlSSHTunnelMethod.java new file mode 100644 index 000000000..128e1d78c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlSSHTunnelMethod.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceMysqlSSHTunnelMethod - Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + +@JsonDeserialize(using = SourceMysqlSSHTunnelMethod._Deserializer.class) +public class SourceMysqlSSHTunnelMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceMysqlSSHTunnelMethod(TypedObject value) { + this.value = value; + } + + public static SourceMysqlSSHTunnelMethod of(SourceMysqlNoTunnel value) { + Utils.checkNotNull(value, "value"); + return new SourceMysqlSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMysqlSSHTunnelMethod of(SourceMysqlSSHKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourceMysqlSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMysqlSSHTunnelMethod of(SourceMysqlPasswordAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourceMysqlSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceMysqlNoTunnel}
    • + *
    • {@code SourceMysqlSSHKeyAuthentication}
    • + *
    • {@code SourceMysqlPasswordAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMysqlSSHTunnelMethod other = (SourceMysqlSSHTunnelMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceMysqlSSHTunnelMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceMysqlSSHTunnelMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlSSLModes.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlSSLModes.java new file mode 100644 index 000000000..fe7f6a2c9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlSSLModes.java @@ -0,0 +1,115 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceMysqlSSLModes - SSL connection modes. Read more <a href="https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-using-ssl.html"> in the docs</a>. + */ + +@JsonDeserialize(using = SourceMysqlSSLModes._Deserializer.class) +public class SourceMysqlSSLModes { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceMysqlSSLModes(TypedObject value) { + this.value = value; + } + + public static SourceMysqlSSLModes of(Preferred value) { + Utils.checkNotNull(value, "value"); + return new SourceMysqlSSLModes(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMysqlSSLModes of(Required value) { + Utils.checkNotNull(value, "value"); + return new SourceMysqlSSLModes(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMysqlSSLModes of(SourceMysqlVerifyCA value) { + Utils.checkNotNull(value, "value"); + return new SourceMysqlSSLModes(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMysqlSSLModes of(VerifyIdentity value) { + Utils.checkNotNull(value, "value"); + return new SourceMysqlSSLModes(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code Preferred}
    • + *
    • {@code Required}
    • + *
    • {@code SourceMysqlVerifyCA}
    • + *
    • {@code VerifyIdentity}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMysqlSSLModes other = (SourceMysqlSSLModes) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceMysqlSSLModes.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceMysqlSSLModes.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlScanChangesWithUserDefinedCursor.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlScanChangesWithUserDefinedCursor.java new file mode 100644 index 000000000..742a14620 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlScanChangesWithUserDefinedCursor.java @@ -0,0 +1,82 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceMysqlScanChangesWithUserDefinedCursor - Incrementally detects new inserts and updates using the <a href="https://docs.airbyte.com/understanding-airbyte/connections/incremental-append/#user-defined-cursor">cursor column</a> chosen when configuring a connection (e.g. created_at, updated_at). + */ + +public class SourceMysqlScanChangesWithUserDefinedCursor { + + @JsonProperty("method") + private SourceMysqlSchemasMethod method; + + public SourceMysqlScanChangesWithUserDefinedCursor() { + + this.method = Builder._SINGLETON_VALUE_Method.value(); + } + + public SourceMysqlSchemasMethod method() { + return method; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMysqlScanChangesWithUserDefinedCursor other = (SourceMysqlScanChangesWithUserDefinedCursor) o; + return + java.util.Objects.deepEquals(this.method, other.method); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + method); + } + + @Override + public String toString() { + return Utils.toString(SourceMysqlScanChangesWithUserDefinedCursor.class, + "method", method); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceMysqlScanChangesWithUserDefinedCursor build() { + return new SourceMysqlScanChangesWithUserDefinedCursor( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Method = + new LazySingletonValue<>( + "method", + "\"STANDARD\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasMethod.java new file mode 100644 index 000000000..7433daf3a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMysqlSchemasMethod { + STANDARD("STANDARD"); + + @JsonValue + private final String value; + + private SourceMysqlSchemasMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasMode.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasMode.java new file mode 100644 index 000000000..50c84bf4f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMysqlSchemasMode { + REQUIRED("required"); + + @JsonValue + private final String value; + + private SourceMysqlSchemasMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasSSLModeSSLModesMode.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasSSLModeSSLModesMode.java new file mode 100644 index 000000000..05f334f25 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasSSLModeSSLModesMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMysqlSchemasSSLModeSSLModesMode { + VERIFY_IDENTITY("verify_identity"); + + @JsonValue + private final String value; + + private SourceMysqlSchemasSSLModeSSLModesMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasSslModeMode.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasSslModeMode.java new file mode 100644 index 000000000..15fb9b6b6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasSslModeMode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceMysqlSchemasSslModeMode { + VERIFY_CA("verify_ca"); + + @JsonValue + private final String value; + + private SourceMysqlSchemasSslModeMode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasTunnelMethod.java new file mode 100644 index 000000000..526fc52d9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceMysqlSchemasTunnelMethod - Connect through a jump server tunnel host using username and ssh key + */ +public enum SourceMysqlSchemasTunnelMethod { + SSH_KEY_AUTH("SSH_KEY_AUTH"); + + @JsonValue + private final String value; + + private SourceMysqlSchemasTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasTunnelMethodTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasTunnelMethodTunnelMethod.java new file mode 100644 index 000000000..e020c334b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlSchemasTunnelMethodTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceMysqlSchemasTunnelMethodTunnelMethod - Connect through a jump server tunnel host using username and password authentication + */ +public enum SourceMysqlSchemasTunnelMethodTunnelMethod { + SSH_PASSWORD_AUTH("SSH_PASSWORD_AUTH"); + + @JsonValue + private final String value; + + private SourceMysqlSchemasTunnelMethodTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlTunnelMethod.java new file mode 100644 index 000000000..a314af80b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceMysqlTunnelMethod - No ssh tunnel needed to connect to database + */ +public enum SourceMysqlTunnelMethod { + NO_TUNNEL("NO_TUNNEL"); + + @JsonValue + private final String value; + + private SourceMysqlTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlUpdateMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlUpdateMethod.java new file mode 100644 index 000000000..e58cfabdb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlUpdateMethod.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceMysqlUpdateMethod - Configures how data is extracted from the database. + */ + +@JsonDeserialize(using = SourceMysqlUpdateMethod._Deserializer.class) +public class SourceMysqlUpdateMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceMysqlUpdateMethod(TypedObject value) { + this.value = value; + } + + public static SourceMysqlUpdateMethod of(ReadChangesUsingBinaryLogCDC value) { + Utils.checkNotNull(value, "value"); + return new SourceMysqlUpdateMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceMysqlUpdateMethod of(SourceMysqlScanChangesWithUserDefinedCursor value) { + Utils.checkNotNull(value, "value"); + return new SourceMysqlUpdateMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code ReadChangesUsingBinaryLogCDC}
    • + *
    • {@code SourceMysqlScanChangesWithUserDefinedCursor}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMysqlUpdateMethod other = (SourceMysqlUpdateMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceMysqlUpdateMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceMysqlUpdateMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceMysqlVerifyCA.java b/src/main/java/com/airbyte/api/models/shared/SourceMysqlVerifyCA.java new file mode 100644 index 000000000..37e2d26a3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceMysqlVerifyCA.java @@ -0,0 +1,300 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SourceMysqlVerifyCA - Always connect with SSL. Verifies CA, but allows connection even if Hostname does not match. + */ + +public class SourceMysqlVerifyCA { + + /** + * CA certificate + */ + @JsonProperty("ca_certificate") + private String caCertificate; + + /** + * Client certificate (this is not a required field, but if you want to use it, you will need to add the <b>Client key</b> as well) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_certificate") + private Optional clientCertificate; + + /** + * Client key (this is not a required field, but if you want to use it, you will need to add the <b>Client certificate</b> as well) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_key") + private Optional clientKey; + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_key_password") + private Optional clientKeyPassword; + + @JsonProperty("mode") + private SourceMysqlSchemasSslModeMode mode; + + public SourceMysqlVerifyCA( + @JsonProperty("ca_certificate") String caCertificate, + @JsonProperty("client_certificate") Optional clientCertificate, + @JsonProperty("client_key") Optional clientKey, + @JsonProperty("client_key_password") Optional clientKeyPassword) { + Utils.checkNotNull(caCertificate, "caCertificate"); + Utils.checkNotNull(clientCertificate, "clientCertificate"); + Utils.checkNotNull(clientKey, "clientKey"); + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.caCertificate = caCertificate; + this.clientCertificate = clientCertificate; + this.clientKey = clientKey; + this.clientKeyPassword = clientKeyPassword; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + /** + * CA certificate + */ + public String caCertificate() { + return caCertificate; + } + + /** + * Client certificate (this is not a required field, but if you want to use it, you will need to add the <b>Client key</b> as well) + */ + public Optional clientCertificate() { + return clientCertificate; + } + + /** + * Client key (this is not a required field, but if you want to use it, you will need to add the <b>Client certificate</b> as well) + */ + public Optional clientKey() { + return clientKey; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public Optional clientKeyPassword() { + return clientKeyPassword; + } + + public SourceMysqlSchemasSslModeMode mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * CA certificate + */ + public SourceMysqlVerifyCA withCaCertificate(String caCertificate) { + Utils.checkNotNull(caCertificate, "caCertificate"); + this.caCertificate = caCertificate; + return this; + } + + /** + * Client certificate (this is not a required field, but if you want to use it, you will need to add the <b>Client key</b> as well) + */ + public SourceMysqlVerifyCA withClientCertificate(String clientCertificate) { + Utils.checkNotNull(clientCertificate, "clientCertificate"); + this.clientCertificate = Optional.ofNullable(clientCertificate); + return this; + } + + /** + * Client certificate (this is not a required field, but if you want to use it, you will need to add the <b>Client key</b> as well) + */ + public SourceMysqlVerifyCA withClientCertificate(Optional clientCertificate) { + Utils.checkNotNull(clientCertificate, "clientCertificate"); + this.clientCertificate = clientCertificate; + return this; + } + + /** + * Client key (this is not a required field, but if you want to use it, you will need to add the <b>Client certificate</b> as well) + */ + public SourceMysqlVerifyCA withClientKey(String clientKey) { + Utils.checkNotNull(clientKey, "clientKey"); + this.clientKey = Optional.ofNullable(clientKey); + return this; + } + + /** + * Client key (this is not a required field, but if you want to use it, you will need to add the <b>Client certificate</b> as well) + */ + public SourceMysqlVerifyCA withClientKey(Optional clientKey) { + Utils.checkNotNull(clientKey, "clientKey"); + this.clientKey = clientKey; + return this; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public SourceMysqlVerifyCA withClientKeyPassword(String clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = Optional.ofNullable(clientKeyPassword); + return this; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public SourceMysqlVerifyCA withClientKeyPassword(Optional clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = clientKeyPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceMysqlVerifyCA other = (SourceMysqlVerifyCA) o; + return + java.util.Objects.deepEquals(this.caCertificate, other.caCertificate) && + java.util.Objects.deepEquals(this.clientCertificate, other.clientCertificate) && + java.util.Objects.deepEquals(this.clientKey, other.clientKey) && + java.util.Objects.deepEquals(this.clientKeyPassword, other.clientKeyPassword) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caCertificate, + clientCertificate, + clientKey, + clientKeyPassword, + mode); + } + + @Override + public String toString() { + return Utils.toString(SourceMysqlVerifyCA.class, + "caCertificate", caCertificate, + "clientCertificate", clientCertificate, + "clientKey", clientKey, + "clientKeyPassword", clientKeyPassword, + "mode", mode); + } + + public final static class Builder { + + private String caCertificate; + + private Optional clientCertificate = Optional.empty(); + + private Optional clientKey = Optional.empty(); + + private Optional clientKeyPassword = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * CA certificate + */ + public Builder caCertificate(String caCertificate) { + Utils.checkNotNull(caCertificate, "caCertificate"); + this.caCertificate = caCertificate; + return this; + } + + /** + * Client certificate (this is not a required field, but if you want to use it, you will need to add the <b>Client key</b> as well) + */ + public Builder clientCertificate(String clientCertificate) { + Utils.checkNotNull(clientCertificate, "clientCertificate"); + this.clientCertificate = Optional.ofNullable(clientCertificate); + return this; + } + + /** + * Client certificate (this is not a required field, but if you want to use it, you will need to add the <b>Client key</b> as well) + */ + public Builder clientCertificate(Optional clientCertificate) { + Utils.checkNotNull(clientCertificate, "clientCertificate"); + this.clientCertificate = clientCertificate; + return this; + } + + /** + * Client key (this is not a required field, but if you want to use it, you will need to add the <b>Client certificate</b> as well) + */ + public Builder clientKey(String clientKey) { + Utils.checkNotNull(clientKey, "clientKey"); + this.clientKey = Optional.ofNullable(clientKey); + return this; + } + + /** + * Client key (this is not a required field, but if you want to use it, you will need to add the <b>Client certificate</b> as well) + */ + public Builder clientKey(Optional clientKey) { + Utils.checkNotNull(clientKey, "clientKey"); + this.clientKey = clientKey; + return this; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public Builder clientKeyPassword(String clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = Optional.ofNullable(clientKeyPassword); + return this; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public Builder clientKeyPassword(Optional clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = clientKeyPassword; + return this; + } + + public SourceMysqlVerifyCA build() { + return new SourceMysqlVerifyCA( + caCertificate, + clientCertificate, + clientKey, + clientKeyPassword); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"verify_ca\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceNetsuite.java b/src/main/java/com/airbyte/api/models/shared/SourceNetsuite.java new file mode 100644 index 000000000..f8b761175 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceNetsuite.java @@ -0,0 +1,447 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceNetsuite { + + /** + * Consumer key associated with your integration + */ + @JsonProperty("consumer_key") + private String consumerKey; + + /** + * Consumer secret associated with your integration + */ + @JsonProperty("consumer_secret") + private String consumerSecret; + + /** + * The API names of the Netsuite objects you want to sync. Setting this speeds up the connection setup process by limiting the number of schemas that need to be retrieved from Netsuite. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("object_types") + private Optional> objectTypes; + + /** + * Netsuite realm e.g. 2344535, as for `production` or 2344535_SB1, as for the `sandbox` + */ + @JsonProperty("realm") + private String realm; + + @JsonProperty("sourceType") + private Netsuite sourceType; + + /** + * Starting point for your data replication, in format of "YYYY-MM-DDTHH:mm:ssZ" + */ + @JsonProperty("start_datetime") + private String startDatetime; + + /** + * Access token key + */ + @JsonProperty("token_key") + private String tokenKey; + + /** + * Access token secret + */ + @JsonProperty("token_secret") + private String tokenSecret; + + /** + * The amount of days used to query the data with date chunks. Set smaller value, if you have lots of data. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("window_in_days") + private Optional windowInDays; + + public SourceNetsuite( + @JsonProperty("consumer_key") String consumerKey, + @JsonProperty("consumer_secret") String consumerSecret, + @JsonProperty("object_types") Optional> objectTypes, + @JsonProperty("realm") String realm, + @JsonProperty("start_datetime") String startDatetime, + @JsonProperty("token_key") String tokenKey, + @JsonProperty("token_secret") String tokenSecret, + @JsonProperty("window_in_days") Optional windowInDays) { + Utils.checkNotNull(consumerKey, "consumerKey"); + Utils.checkNotNull(consumerSecret, "consumerSecret"); + Utils.checkNotNull(objectTypes, "objectTypes"); + Utils.checkNotNull(realm, "realm"); + Utils.checkNotNull(startDatetime, "startDatetime"); + Utils.checkNotNull(tokenKey, "tokenKey"); + Utils.checkNotNull(tokenSecret, "tokenSecret"); + Utils.checkNotNull(windowInDays, "windowInDays"); + this.consumerKey = consumerKey; + this.consumerSecret = consumerSecret; + this.objectTypes = objectTypes; + this.realm = realm; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDatetime = startDatetime; + this.tokenKey = tokenKey; + this.tokenSecret = tokenSecret; + this.windowInDays = windowInDays; + } + + /** + * Consumer key associated with your integration + */ + public String consumerKey() { + return consumerKey; + } + + /** + * Consumer secret associated with your integration + */ + public String consumerSecret() { + return consumerSecret; + } + + /** + * The API names of the Netsuite objects you want to sync. Setting this speeds up the connection setup process by limiting the number of schemas that need to be retrieved from Netsuite. + */ + public Optional> objectTypes() { + return objectTypes; + } + + /** + * Netsuite realm e.g. 2344535, as for `production` or 2344535_SB1, as for the `sandbox` + */ + public String realm() { + return realm; + } + + public Netsuite sourceType() { + return sourceType; + } + + /** + * Starting point for your data replication, in format of "YYYY-MM-DDTHH:mm:ssZ" + */ + public String startDatetime() { + return startDatetime; + } + + /** + * Access token key + */ + public String tokenKey() { + return tokenKey; + } + + /** + * Access token secret + */ + public String tokenSecret() { + return tokenSecret; + } + + /** + * The amount of days used to query the data with date chunks. Set smaller value, if you have lots of data. + */ + public Optional windowInDays() { + return windowInDays; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Consumer key associated with your integration + */ + public SourceNetsuite withConsumerKey(String consumerKey) { + Utils.checkNotNull(consumerKey, "consumerKey"); + this.consumerKey = consumerKey; + return this; + } + + /** + * Consumer secret associated with your integration + */ + public SourceNetsuite withConsumerSecret(String consumerSecret) { + Utils.checkNotNull(consumerSecret, "consumerSecret"); + this.consumerSecret = consumerSecret; + return this; + } + + /** + * The API names of the Netsuite objects you want to sync. Setting this speeds up the connection setup process by limiting the number of schemas that need to be retrieved from Netsuite. + */ + public SourceNetsuite withObjectTypes(java.util.List objectTypes) { + Utils.checkNotNull(objectTypes, "objectTypes"); + this.objectTypes = Optional.ofNullable(objectTypes); + return this; + } + + /** + * The API names of the Netsuite objects you want to sync. Setting this speeds up the connection setup process by limiting the number of schemas that need to be retrieved from Netsuite. + */ + public SourceNetsuite withObjectTypes(Optional> objectTypes) { + Utils.checkNotNull(objectTypes, "objectTypes"); + this.objectTypes = objectTypes; + return this; + } + + /** + * Netsuite realm e.g. 2344535, as for `production` or 2344535_SB1, as for the `sandbox` + */ + public SourceNetsuite withRealm(String realm) { + Utils.checkNotNull(realm, "realm"); + this.realm = realm; + return this; + } + + /** + * Starting point for your data replication, in format of "YYYY-MM-DDTHH:mm:ssZ" + */ + public SourceNetsuite withStartDatetime(String startDatetime) { + Utils.checkNotNull(startDatetime, "startDatetime"); + this.startDatetime = startDatetime; + return this; + } + + /** + * Access token key + */ + public SourceNetsuite withTokenKey(String tokenKey) { + Utils.checkNotNull(tokenKey, "tokenKey"); + this.tokenKey = tokenKey; + return this; + } + + /** + * Access token secret + */ + public SourceNetsuite withTokenSecret(String tokenSecret) { + Utils.checkNotNull(tokenSecret, "tokenSecret"); + this.tokenSecret = tokenSecret; + return this; + } + + /** + * The amount of days used to query the data with date chunks. Set smaller value, if you have lots of data. + */ + public SourceNetsuite withWindowInDays(long windowInDays) { + Utils.checkNotNull(windowInDays, "windowInDays"); + this.windowInDays = Optional.ofNullable(windowInDays); + return this; + } + + /** + * The amount of days used to query the data with date chunks. Set smaller value, if you have lots of data. + */ + public SourceNetsuite withWindowInDays(Optional windowInDays) { + Utils.checkNotNull(windowInDays, "windowInDays"); + this.windowInDays = windowInDays; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceNetsuite other = (SourceNetsuite) o; + return + java.util.Objects.deepEquals(this.consumerKey, other.consumerKey) && + java.util.Objects.deepEquals(this.consumerSecret, other.consumerSecret) && + java.util.Objects.deepEquals(this.objectTypes, other.objectTypes) && + java.util.Objects.deepEquals(this.realm, other.realm) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDatetime, other.startDatetime) && + java.util.Objects.deepEquals(this.tokenKey, other.tokenKey) && + java.util.Objects.deepEquals(this.tokenSecret, other.tokenSecret) && + java.util.Objects.deepEquals(this.windowInDays, other.windowInDays); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + consumerKey, + consumerSecret, + objectTypes, + realm, + sourceType, + startDatetime, + tokenKey, + tokenSecret, + windowInDays); + } + + @Override + public String toString() { + return Utils.toString(SourceNetsuite.class, + "consumerKey", consumerKey, + "consumerSecret", consumerSecret, + "objectTypes", objectTypes, + "realm", realm, + "sourceType", sourceType, + "startDatetime", startDatetime, + "tokenKey", tokenKey, + "tokenSecret", tokenSecret, + "windowInDays", windowInDays); + } + + public final static class Builder { + + private String consumerKey; + + private String consumerSecret; + + private Optional> objectTypes = Optional.empty(); + + private String realm; + + private String startDatetime; + + private String tokenKey; + + private String tokenSecret; + + private Optional windowInDays; + + private Builder() { + // force use of static builder() method + } + + /** + * Consumer key associated with your integration + */ + public Builder consumerKey(String consumerKey) { + Utils.checkNotNull(consumerKey, "consumerKey"); + this.consumerKey = consumerKey; + return this; + } + + /** + * Consumer secret associated with your integration + */ + public Builder consumerSecret(String consumerSecret) { + Utils.checkNotNull(consumerSecret, "consumerSecret"); + this.consumerSecret = consumerSecret; + return this; + } + + /** + * The API names of the Netsuite objects you want to sync. Setting this speeds up the connection setup process by limiting the number of schemas that need to be retrieved from Netsuite. + */ + public Builder objectTypes(java.util.List objectTypes) { + Utils.checkNotNull(objectTypes, "objectTypes"); + this.objectTypes = Optional.ofNullable(objectTypes); + return this; + } + + /** + * The API names of the Netsuite objects you want to sync. Setting this speeds up the connection setup process by limiting the number of schemas that need to be retrieved from Netsuite. + */ + public Builder objectTypes(Optional> objectTypes) { + Utils.checkNotNull(objectTypes, "objectTypes"); + this.objectTypes = objectTypes; + return this; + } + + /** + * Netsuite realm e.g. 2344535, as for `production` or 2344535_SB1, as for the `sandbox` + */ + public Builder realm(String realm) { + Utils.checkNotNull(realm, "realm"); + this.realm = realm; + return this; + } + + /** + * Starting point for your data replication, in format of "YYYY-MM-DDTHH:mm:ssZ" + */ + public Builder startDatetime(String startDatetime) { + Utils.checkNotNull(startDatetime, "startDatetime"); + this.startDatetime = startDatetime; + return this; + } + + /** + * Access token key + */ + public Builder tokenKey(String tokenKey) { + Utils.checkNotNull(tokenKey, "tokenKey"); + this.tokenKey = tokenKey; + return this; + } + + /** + * Access token secret + */ + public Builder tokenSecret(String tokenSecret) { + Utils.checkNotNull(tokenSecret, "tokenSecret"); + this.tokenSecret = tokenSecret; + return this; + } + + /** + * The amount of days used to query the data with date chunks. Set smaller value, if you have lots of data. + */ + public Builder windowInDays(long windowInDays) { + Utils.checkNotNull(windowInDays, "windowInDays"); + this.windowInDays = Optional.ofNullable(windowInDays); + return this; + } + + /** + * The amount of days used to query the data with date chunks. Set smaller value, if you have lots of data. + */ + public Builder windowInDays(Optional windowInDays) { + Utils.checkNotNull(windowInDays, "windowInDays"); + this.windowInDays = windowInDays; + return this; + } + + public SourceNetsuite build() { + if (windowInDays == null) { + windowInDays = _SINGLETON_VALUE_WindowInDays.value(); + } + return new SourceNetsuite( + consumerKey, + consumerSecret, + objectTypes, + realm, + startDatetime, + tokenKey, + tokenSecret, + windowInDays); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"netsuite\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_WindowInDays = + new LazySingletonValue<>( + "window_in_days", + "30", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceNotion.java b/src/main/java/com/airbyte/api/models/shared/SourceNotion.java new file mode 100644 index 000000000..2e98f3dbe --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceNotion.java @@ -0,0 +1,182 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceNotion { + + /** + * Choose either OAuth (recommended for Airbyte Cloud) or Access Token. See our <a href='https://docs.airbyte.com/integrations/sources/notion#setup-guide'>docs</a> for more information. + */ + @JsonProperty("credentials") + private SourceNotionAuthenticationMethod credentials; + + @JsonProperty("sourceType") + private SourceNotionNotion sourceType; + + /** + * UTC date and time in the format YYYY-MM-DDTHH:MM:SS.000Z. During incremental sync, any data generated before this date will not be replicated. If left blank, the start date will be set to 2 years before the present date. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceNotion( + @JsonProperty("credentials") SourceNotionAuthenticationMethod credentials, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(startDate, "startDate"); + this.credentials = credentials; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Choose either OAuth (recommended for Airbyte Cloud) or Access Token. See our <a href='https://docs.airbyte.com/integrations/sources/notion#setup-guide'>docs</a> for more information. + */ + public SourceNotionAuthenticationMethod credentials() { + return credentials; + } + + public SourceNotionNotion sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format YYYY-MM-DDTHH:MM:SS.000Z. During incremental sync, any data generated before this date will not be replicated. If left blank, the start date will be set to 2 years before the present date. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Choose either OAuth (recommended for Airbyte Cloud) or Access Token. See our <a href='https://docs.airbyte.com/integrations/sources/notion#setup-guide'>docs</a> for more information. + */ + public SourceNotion withCredentials(SourceNotionAuthenticationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * UTC date and time in the format YYYY-MM-DDTHH:MM:SS.000Z. During incremental sync, any data generated before this date will not be replicated. If left blank, the start date will be set to 2 years before the present date. + */ + public SourceNotion withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format YYYY-MM-DDTHH:MM:SS.000Z. During incremental sync, any data generated before this date will not be replicated. If left blank, the start date will be set to 2 years before the present date. + */ + public SourceNotion withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceNotion other = (SourceNotion) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceNotion.class, + "credentials", credentials, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private SourceNotionAuthenticationMethod credentials; + + private Optional startDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Choose either OAuth (recommended for Airbyte Cloud) or Access Token. See our <a href='https://docs.airbyte.com/integrations/sources/notion#setup-guide'>docs</a> for more information. + */ + public Builder credentials(SourceNotionAuthenticationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * UTC date and time in the format YYYY-MM-DDTHH:MM:SS.000Z. During incremental sync, any data generated before this date will not be replicated. If left blank, the start date will be set to 2 years before the present date. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format YYYY-MM-DDTHH:MM:SS.000Z. During incremental sync, any data generated before this date will not be replicated. If left blank, the start date will be set to 2 years before the present date. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceNotion build() { + return new SourceNotion( + credentials, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"notion\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceNotionAccessToken.java b/src/main/java/com/airbyte/api/models/shared/SourceNotionAccessToken.java new file mode 100644 index 000000000..77725a8d0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceNotionAccessToken.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceNotionAccessToken { + + @JsonProperty("auth_type") + private SourceNotionSchemasAuthType authType; + + /** + * The Access Token for your private Notion integration. See the <a href='https://docs.airbyte.com/integrations/sources/notion#step-1-create-an-integration-in-notion'>docs</a> for more information on how to obtain this token. + */ + @JsonProperty("token") + private String token; + + public SourceNotionAccessToken( + @JsonProperty("token") String token) { + Utils.checkNotNull(token, "token"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.token = token; + } + + public SourceNotionSchemasAuthType authType() { + return authType; + } + + /** + * The Access Token for your private Notion integration. See the <a href='https://docs.airbyte.com/integrations/sources/notion#step-1-create-an-integration-in-notion'>docs</a> for more information on how to obtain this token. + */ + public String token() { + return token; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Access Token for your private Notion integration. See the <a href='https://docs.airbyte.com/integrations/sources/notion#step-1-create-an-integration-in-notion'>docs</a> for more information on how to obtain this token. + */ + public SourceNotionAccessToken withToken(String token) { + Utils.checkNotNull(token, "token"); + this.token = token; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceNotionAccessToken other = (SourceNotionAccessToken) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.token, other.token); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + token); + } + + @Override + public String toString() { + return Utils.toString(SourceNotionAccessToken.class, + "authType", authType, + "token", token); + } + + public final static class Builder { + + private String token; + + private Builder() { + // force use of static builder() method + } + + /** + * The Access Token for your private Notion integration. See the <a href='https://docs.airbyte.com/integrations/sources/notion#step-1-create-an-integration-in-notion'>docs</a> for more information on how to obtain this token. + */ + public Builder token(String token) { + Utils.checkNotNull(token, "token"); + this.token = token; + return this; + } + + public SourceNotionAccessToken build() { + return new SourceNotionAccessToken( + token); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"token\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceNotionAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceNotionAuthType.java new file mode 100644 index 000000000..8b481efae --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceNotionAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceNotionAuthType { + O_AUTH20("OAuth2.0"); + + @JsonValue + private final String value; + + private SourceNotionAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceNotionAuthenticationMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceNotionAuthenticationMethod.java new file mode 100644 index 000000000..c174a82ae --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceNotionAuthenticationMethod.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceNotionAuthenticationMethod - Choose either OAuth (recommended for Airbyte Cloud) or Access Token. See our <a href='https://docs.airbyte.com/integrations/sources/notion#setup-guide'>docs</a> for more information. + */ + +@JsonDeserialize(using = SourceNotionAuthenticationMethod._Deserializer.class) +public class SourceNotionAuthenticationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceNotionAuthenticationMethod(TypedObject value) { + this.value = value; + } + + public static SourceNotionAuthenticationMethod of(SourceNotionOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new SourceNotionAuthenticationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceNotionAuthenticationMethod of(SourceNotionAccessToken value) { + Utils.checkNotNull(value, "value"); + return new SourceNotionAuthenticationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceNotionOAuth20}
    • + *
    • {@code SourceNotionAccessToken}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceNotionAuthenticationMethod other = (SourceNotionAuthenticationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceNotionAuthenticationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceNotionAuthenticationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceNotionNotion.java b/src/main/java/com/airbyte/api/models/shared/SourceNotionNotion.java new file mode 100644 index 000000000..394393a13 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceNotionNotion.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceNotionNotion { + NOTION("notion"); + + @JsonValue + private final String value; + + private SourceNotionNotion(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceNotionOAuth20.java b/src/main/java/com/airbyte/api/models/shared/SourceNotionOAuth20.java new file mode 100644 index 000000000..0e0521411 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceNotionOAuth20.java @@ -0,0 +1,197 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceNotionOAuth20 { + + /** + * The Access Token received by completing the OAuth flow for your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonProperty("auth_type") + private SourceNotionAuthType authType; + + /** + * The Client ID of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + @JsonProperty("client_secret") + private String clientSecret; + + public SourceNotionOAuth20( + @JsonProperty("access_token") String accessToken, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.accessToken = accessToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Access Token received by completing the OAuth flow for your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public String accessToken() { + return accessToken; + } + + public SourceNotionAuthType authType() { + return authType; + } + + /** + * The Client ID of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public String clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Access Token received by completing the OAuth flow for your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public SourceNotionOAuth20 withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public SourceNotionOAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public SourceNotionOAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceNotionOAuth20 other = (SourceNotionOAuth20) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authType, + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(SourceNotionOAuth20.class, + "accessToken", accessToken, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private String accessToken; + + private String clientId; + + private String clientSecret; + + private Builder() { + // force use of static builder() method + } + + /** + * The Access Token received by completing the OAuth flow for your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Notion integration. See our <a href='https://docs.airbyte.com/integrations/sources/notion#step-2-set-permissions-and-acquire-authorization-credentials'>docs</a> for more information. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public SourceNotionOAuth20 build() { + return new SourceNotionOAuth20( + accessToken, + clientId, + clientSecret); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"OAuth2.0\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceNotionSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceNotionSchemasAuthType.java new file mode 100644 index 000000000..a4772fd05 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceNotionSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceNotionSchemasAuthType { + TOKEN("token"); + + @JsonValue + private final String value; + + private SourceNotionSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceNytimes.java b/src/main/java/com/airbyte/api/models/shared/SourceNytimes.java new file mode 100644 index 000000000..ee819ce40 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceNytimes.java @@ -0,0 +1,319 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceNytimes { + + /** + * API Key + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * End date to stop the article retrieval (format YYYY-MM) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + /** + * Period of time (in days) + */ + @JsonProperty("period") + private PeriodUsedForMostPopularStreams period; + + /** + * Share Type + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("share_type") + private Optional shareType; + + @JsonProperty("sourceType") + private Nytimes sourceType; + + /** + * Start date to begin the article retrieval (format YYYY-MM) + */ + @JsonProperty("start_date") + private LocalDate startDate; + + public SourceNytimes( + @JsonProperty("api_key") String apiKey, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("period") PeriodUsedForMostPopularStreams period, + @JsonProperty("share_type") Optional shareType, + @JsonProperty("start_date") LocalDate startDate) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(period, "period"); + Utils.checkNotNull(shareType, "shareType"); + Utils.checkNotNull(startDate, "startDate"); + this.apiKey = apiKey; + this.endDate = endDate; + this.period = period; + this.shareType = shareType; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * API Key + */ + public String apiKey() { + return apiKey; + } + + /** + * End date to stop the article retrieval (format YYYY-MM) + */ + public Optional endDate() { + return endDate; + } + + /** + * Period of time (in days) + */ + public PeriodUsedForMostPopularStreams period() { + return period; + } + + /** + * Share Type + */ + public Optional shareType() { + return shareType; + } + + public Nytimes sourceType() { + return sourceType; + } + + /** + * Start date to begin the article retrieval (format YYYY-MM) + */ + public LocalDate startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Key + */ + public SourceNytimes withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * End date to stop the article retrieval (format YYYY-MM) + */ + public SourceNytimes withEndDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * End date to stop the article retrieval (format YYYY-MM) + */ + public SourceNytimes withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Period of time (in days) + */ + public SourceNytimes withPeriod(PeriodUsedForMostPopularStreams period) { + Utils.checkNotNull(period, "period"); + this.period = period; + return this; + } + + /** + * Share Type + */ + public SourceNytimes withShareType(ShareTypeUsedForMostPopularSharedStream shareType) { + Utils.checkNotNull(shareType, "shareType"); + this.shareType = Optional.ofNullable(shareType); + return this; + } + + /** + * Share Type + */ + public SourceNytimes withShareType(Optional shareType) { + Utils.checkNotNull(shareType, "shareType"); + this.shareType = shareType; + return this; + } + + /** + * Start date to begin the article retrieval (format YYYY-MM) + */ + public SourceNytimes withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceNytimes other = (SourceNytimes) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.period, other.period) && + java.util.Objects.deepEquals(this.shareType, other.shareType) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + endDate, + period, + shareType, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceNytimes.class, + "apiKey", apiKey, + "endDate", endDate, + "period", period, + "shareType", shareType, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String apiKey; + + private Optional endDate = Optional.empty(); + + private PeriodUsedForMostPopularStreams period; + + private Optional shareType = Optional.empty(); + + private LocalDate startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * API Key + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * End date to stop the article retrieval (format YYYY-MM) + */ + public Builder endDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * End date to stop the article retrieval (format YYYY-MM) + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Period of time (in days) + */ + public Builder period(PeriodUsedForMostPopularStreams period) { + Utils.checkNotNull(period, "period"); + this.period = period; + return this; + } + + /** + * Share Type + */ + public Builder shareType(ShareTypeUsedForMostPopularSharedStream shareType) { + Utils.checkNotNull(shareType, "shareType"); + this.shareType = Optional.ofNullable(shareType); + return this; + } + + /** + * Share Type + */ + public Builder shareType(Optional shareType) { + Utils.checkNotNull(shareType, "shareType"); + this.shareType = shareType; + return this; + } + + /** + * Start date to begin the article retrieval (format YYYY-MM) + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceNytimes build() { + return new SourceNytimes( + apiKey, + endDate, + period, + shareType, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"nytimes\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOkta.java b/src/main/java/com/airbyte/api/models/shared/SourceOkta.java new file mode 100644 index 000000000..a447e245f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOkta.java @@ -0,0 +1,239 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceOkta { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + /** + * The Okta domain. See the <a href="https://docs.airbyte.com/integrations/sources/okta">docs</a> for instructions on how to find it. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("domain") + private Optional domain; + + @JsonProperty("sourceType") + private Okta sourceType; + + /** + * UTC date and time in the format YYYY-MM-DDTHH:MM:SSZ. Any data before this date will not be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceOkta( + @JsonProperty("credentials") Optional credentials, + @JsonProperty("domain") Optional domain, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(domain, "domain"); + Utils.checkNotNull(startDate, "startDate"); + this.credentials = credentials; + this.domain = domain; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + public Optional credentials() { + return credentials; + } + + /** + * The Okta domain. See the <a href="https://docs.airbyte.com/integrations/sources/okta">docs</a> for instructions on how to find it. + */ + public Optional domain() { + return domain; + } + + public Okta sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format YYYY-MM-DDTHH:MM:SSZ. Any data before this date will not be replicated. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceOkta withCredentials(SourceOktaAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public SourceOkta withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The Okta domain. See the <a href="https://docs.airbyte.com/integrations/sources/okta">docs</a> for instructions on how to find it. + */ + public SourceOkta withDomain(String domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = Optional.ofNullable(domain); + return this; + } + + /** + * The Okta domain. See the <a href="https://docs.airbyte.com/integrations/sources/okta">docs</a> for instructions on how to find it. + */ + public SourceOkta withDomain(Optional domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = domain; + return this; + } + + /** + * UTC date and time in the format YYYY-MM-DDTHH:MM:SSZ. Any data before this date will not be replicated. + */ + public SourceOkta withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format YYYY-MM-DDTHH:MM:SSZ. Any data before this date will not be replicated. + */ + public SourceOkta withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceOkta other = (SourceOkta) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.domain, other.domain) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + domain, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceOkta.class, + "credentials", credentials, + "domain", domain, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Optional domain = Optional.empty(); + + private Optional startDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(SourceOktaAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The Okta domain. See the <a href="https://docs.airbyte.com/integrations/sources/okta">docs</a> for instructions on how to find it. + */ + public Builder domain(String domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = Optional.ofNullable(domain); + return this; + } + + /** + * The Okta domain. See the <a href="https://docs.airbyte.com/integrations/sources/okta">docs</a> for instructions on how to find it. + */ + public Builder domain(Optional domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = domain; + return this; + } + + /** + * UTC date and time in the format YYYY-MM-DDTHH:MM:SSZ. Any data before this date will not be replicated. + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format YYYY-MM-DDTHH:MM:SSZ. Any data before this date will not be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceOkta build() { + return new SourceOkta( + credentials, + domain, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"okta\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOktaAPIToken.java b/src/main/java/com/airbyte/api/models/shared/SourceOktaAPIToken.java new file mode 100644 index 000000000..035f0cff2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOktaAPIToken.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceOktaAPIToken { + + /** + * An Okta token. See the <a href="https://docs.airbyte.com/integrations/sources/okta">docs</a> for instructions on how to generate it. + */ + @JsonProperty("api_token") + private String apiToken; + + @JsonProperty("auth_type") + private SourceOktaSchemasAuthType authType; + + public SourceOktaAPIToken( + @JsonProperty("api_token") String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + } + + /** + * An Okta token. See the <a href="https://docs.airbyte.com/integrations/sources/okta">docs</a> for instructions on how to generate it. + */ + public String apiToken() { + return apiToken; + } + + public SourceOktaSchemasAuthType authType() { + return authType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * An Okta token. See the <a href="https://docs.airbyte.com/integrations/sources/okta">docs</a> for instructions on how to generate it. + */ + public SourceOktaAPIToken withApiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceOktaAPIToken other = (SourceOktaAPIToken) o; + return + java.util.Objects.deepEquals(this.apiToken, other.apiToken) && + java.util.Objects.deepEquals(this.authType, other.authType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiToken, + authType); + } + + @Override + public String toString() { + return Utils.toString(SourceOktaAPIToken.class, + "apiToken", apiToken, + "authType", authType); + } + + public final static class Builder { + + private String apiToken; + + private Builder() { + // force use of static builder() method + } + + /** + * An Okta token. See the <a href="https://docs.airbyte.com/integrations/sources/okta">docs</a> for instructions on how to generate it. + */ + public Builder apiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + public SourceOktaAPIToken build() { + return new SourceOktaAPIToken( + apiToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"api_token\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOktaAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceOktaAuthType.java new file mode 100644 index 000000000..02325144a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOktaAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceOktaAuthType { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private SourceOktaAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOktaAuthorizationMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceOktaAuthorizationMethod.java new file mode 100644 index 000000000..e002e0d92 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOktaAuthorizationMethod.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceOktaAuthorizationMethod._Deserializer.class) +public class SourceOktaAuthorizationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceOktaAuthorizationMethod(TypedObject value) { + this.value = value; + } + + public static SourceOktaAuthorizationMethod of(SourceOktaOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new SourceOktaAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceOktaAuthorizationMethod of(SourceOktaAPIToken value) { + Utils.checkNotNull(value, "value"); + return new SourceOktaAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceOktaOAuth20}
    • + *
    • {@code SourceOktaAPIToken}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceOktaAuthorizationMethod other = (SourceOktaAuthorizationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceOktaAuthorizationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceOktaAuthorizationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOktaOAuth20.java b/src/main/java/com/airbyte/api/models/shared/SourceOktaOAuth20.java new file mode 100644 index 000000000..8a6d5c03b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOktaOAuth20.java @@ -0,0 +1,197 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceOktaOAuth20 { + + @JsonProperty("auth_type") + private SourceOktaAuthType authType; + + /** + * The Client ID of your OAuth application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of your OAuth application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * Refresh Token to obtain new Access Token, when it's expired. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + public SourceOktaOAuth20( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + } + + public SourceOktaAuthType authType() { + return authType; + } + + /** + * The Client ID of your OAuth application. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of your OAuth application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * Refresh Token to obtain new Access Token, when it's expired. + */ + public String refreshToken() { + return refreshToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your OAuth application. + */ + public SourceOktaOAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public SourceOktaOAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Refresh Token to obtain new Access Token, when it's expired. + */ + public SourceOktaOAuth20 withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceOktaOAuth20 other = (SourceOktaOAuth20) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + clientId, + clientSecret, + refreshToken); + } + + @Override + public String toString() { + return Utils.toString(SourceOktaOAuth20.class, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your OAuth application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Refresh Token to obtain new Access Token, when it's expired. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + public SourceOktaOAuth20 build() { + return new SourceOktaOAuth20( + clientId, + clientSecret, + refreshToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"oauth2.0\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOktaSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceOktaSchemasAuthType.java new file mode 100644 index 000000000..707ebbe9f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOktaSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceOktaSchemasAuthType { + API_TOKEN("api_token"); + + @JsonValue + private final String value; + + private SourceOktaSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOmnisend.java b/src/main/java/com/airbyte/api/models/shared/SourceOmnisend.java new file mode 100644 index 000000000..3dc1a5af9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOmnisend.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceOmnisend { + + /** + * API Key + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private Omnisend sourceType; + + public SourceOmnisend( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * API Key + */ + public String apiKey() { + return apiKey; + } + + public Omnisend sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Key + */ + public SourceOmnisend withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceOmnisend other = (SourceOmnisend) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceOmnisend.class, + "apiKey", apiKey, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * API Key + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public SourceOmnisend build() { + return new SourceOmnisend( + apiKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"omnisend\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOnesignal.java b/src/main/java/com/airbyte/api/models/shared/SourceOnesignal.java new file mode 100644 index 000000000..028427a8f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOnesignal.java @@ -0,0 +1,240 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; + + +public class SourceOnesignal { + + /** + * Applications keys, see the <a href="https://documentation.onesignal.com/docs/accounts-and-keys">docs</a> for more information on how to obtain this data + */ + @JsonProperty("applications") + private java.util.List applications; + + /** + * Comma-separated list of names and the value (sum/count) for the returned outcome data. See the <a href="https://documentation.onesignal.com/reference/view-outcomes">docs</a> for more details + */ + @JsonProperty("outcome_names") + private String outcomeNames; + + @JsonProperty("sourceType") + private Onesignal sourceType; + + /** + * The date from which you'd like to replicate data for OneSignal API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + /** + * OneSignal User Auth Key, see the <a href="https://documentation.onesignal.com/docs/accounts-and-keys#user-auth-key">docs</a> for more information on how to obtain this key. + */ + @JsonProperty("user_auth_key") + private String userAuthKey; + + public SourceOnesignal( + @JsonProperty("applications") java.util.List applications, + @JsonProperty("outcome_names") String outcomeNames, + @JsonProperty("start_date") OffsetDateTime startDate, + @JsonProperty("user_auth_key") String userAuthKey) { + Utils.checkNotNull(applications, "applications"); + Utils.checkNotNull(outcomeNames, "outcomeNames"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(userAuthKey, "userAuthKey"); + this.applications = applications; + this.outcomeNames = outcomeNames; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.userAuthKey = userAuthKey; + } + + /** + * Applications keys, see the <a href="https://documentation.onesignal.com/docs/accounts-and-keys">docs</a> for more information on how to obtain this data + */ + public java.util.List applications() { + return applications; + } + + /** + * Comma-separated list of names and the value (sum/count) for the returned outcome data. See the <a href="https://documentation.onesignal.com/reference/view-outcomes">docs</a> for more details + */ + public String outcomeNames() { + return outcomeNames; + } + + public Onesignal sourceType() { + return sourceType; + } + + /** + * The date from which you'd like to replicate data for OneSignal API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + /** + * OneSignal User Auth Key, see the <a href="https://documentation.onesignal.com/docs/accounts-and-keys#user-auth-key">docs</a> for more information on how to obtain this key. + */ + public String userAuthKey() { + return userAuthKey; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Applications keys, see the <a href="https://documentation.onesignal.com/docs/accounts-and-keys">docs</a> for more information on how to obtain this data + */ + public SourceOnesignal withApplications(java.util.List applications) { + Utils.checkNotNull(applications, "applications"); + this.applications = applications; + return this; + } + + /** + * Comma-separated list of names and the value (sum/count) for the returned outcome data. See the <a href="https://documentation.onesignal.com/reference/view-outcomes">docs</a> for more details + */ + public SourceOnesignal withOutcomeNames(String outcomeNames) { + Utils.checkNotNull(outcomeNames, "outcomeNames"); + this.outcomeNames = outcomeNames; + return this; + } + + /** + * The date from which you'd like to replicate data for OneSignal API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public SourceOnesignal withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * OneSignal User Auth Key, see the <a href="https://documentation.onesignal.com/docs/accounts-and-keys#user-auth-key">docs</a> for more information on how to obtain this key. + */ + public SourceOnesignal withUserAuthKey(String userAuthKey) { + Utils.checkNotNull(userAuthKey, "userAuthKey"); + this.userAuthKey = userAuthKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceOnesignal other = (SourceOnesignal) o; + return + java.util.Objects.deepEquals(this.applications, other.applications) && + java.util.Objects.deepEquals(this.outcomeNames, other.outcomeNames) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.userAuthKey, other.userAuthKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + applications, + outcomeNames, + sourceType, + startDate, + userAuthKey); + } + + @Override + public String toString() { + return Utils.toString(SourceOnesignal.class, + "applications", applications, + "outcomeNames", outcomeNames, + "sourceType", sourceType, + "startDate", startDate, + "userAuthKey", userAuthKey); + } + + public final static class Builder { + + private java.util.List applications; + + private String outcomeNames; + + private OffsetDateTime startDate; + + private String userAuthKey; + + private Builder() { + // force use of static builder() method + } + + /** + * Applications keys, see the <a href="https://documentation.onesignal.com/docs/accounts-and-keys">docs</a> for more information on how to obtain this data + */ + public Builder applications(java.util.List applications) { + Utils.checkNotNull(applications, "applications"); + this.applications = applications; + return this; + } + + /** + * Comma-separated list of names and the value (sum/count) for the returned outcome data. See the <a href="https://documentation.onesignal.com/reference/view-outcomes">docs</a> for more details + */ + public Builder outcomeNames(String outcomeNames) { + Utils.checkNotNull(outcomeNames, "outcomeNames"); + this.outcomeNames = outcomeNames; + return this; + } + + /** + * The date from which you'd like to replicate data for OneSignal API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * OneSignal User Auth Key, see the <a href="https://documentation.onesignal.com/docs/accounts-and-keys#user-auth-key">docs</a> for more information on how to obtain this key. + */ + public Builder userAuthKey(String userAuthKey) { + Utils.checkNotNull(userAuthKey, "userAuthKey"); + this.userAuthKey = userAuthKey; + return this; + } + + public SourceOnesignal build() { + return new SourceOnesignal( + applications, + outcomeNames, + startDate, + userAuthKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"onesignal\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOracle.java b/src/main/java/com/airbyte/api/models/shared/SourceOracle.java new file mode 100644 index 000000000..692694366 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOracle.java @@ -0,0 +1,581 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceOracle { + + /** + * Connect data that will be used for DB connection + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("connection_data") + private Optional connectionData; + + /** + * The encryption method with is used when communicating with the database. + */ + @JsonProperty("encryption") + private Encryption encryption; + + /** + * Hostname of the database. + */ + @JsonProperty("host") + private String host; + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("jdbc_url_params") + private Optional jdbcUrlParams; + + /** + * The password associated with the username. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("password") + private Optional password; + + /** + * Port of the database. + * Oracle Corporations recommends the following port numbers: + * 1521 - Default listening port for client connections to the listener. + * 2484 - Recommended and officially registered listening port for client connections to the listener using TCP/IP with SSL + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + /** + * The list of schemas to sync from. Defaults to user. Case sensitive. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schemas") + private Optional> schemas; + + @JsonProperty("sourceType") + private SourceOracleOracle sourceType; + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_method") + private Optional tunnelMethod; + + /** + * The username which is used to access the database. + */ + @JsonProperty("username") + private String username; + + public SourceOracle( + @JsonProperty("connection_data") Optional connectionData, + @JsonProperty("encryption") Encryption encryption, + @JsonProperty("host") String host, + @JsonProperty("jdbc_url_params") Optional jdbcUrlParams, + @JsonProperty("password") Optional password, + @JsonProperty("port") Optional port, + @JsonProperty("schemas") Optional> schemas, + @JsonProperty("tunnel_method") Optional tunnelMethod, + @JsonProperty("username") String username) { + Utils.checkNotNull(connectionData, "connectionData"); + Utils.checkNotNull(encryption, "encryption"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(schemas, "schemas"); + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + Utils.checkNotNull(username, "username"); + this.connectionData = connectionData; + this.encryption = encryption; + this.host = host; + this.jdbcUrlParams = jdbcUrlParams; + this.password = password; + this.port = port; + this.schemas = schemas; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.tunnelMethod = tunnelMethod; + this.username = username; + } + + /** + * Connect data that will be used for DB connection + */ + public Optional connectionData() { + return connectionData; + } + + /** + * The encryption method with is used when communicating with the database. + */ + public Encryption encryption() { + return encryption; + } + + /** + * Hostname of the database. + */ + public String host() { + return host; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Optional jdbcUrlParams() { + return jdbcUrlParams; + } + + /** + * The password associated with the username. + */ + public Optional password() { + return password; + } + + /** + * Port of the database. + * Oracle Corporations recommends the following port numbers: + * 1521 - Default listening port for client connections to the listener. + * 2484 - Recommended and officially registered listening port for client connections to the listener using TCP/IP with SSL + */ + public Optional port() { + return port; + } + + /** + * The list of schemas to sync from. Defaults to user. Case sensitive. + */ + public Optional> schemas() { + return schemas; + } + + public SourceOracleOracle sourceType() { + return sourceType; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Optional tunnelMethod() { + return tunnelMethod; + } + + /** + * The username which is used to access the database. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Connect data that will be used for DB connection + */ + public SourceOracle withConnectionData(ConnectBy connectionData) { + Utils.checkNotNull(connectionData, "connectionData"); + this.connectionData = Optional.ofNullable(connectionData); + return this; + } + + /** + * Connect data that will be used for DB connection + */ + public SourceOracle withConnectionData(Optional connectionData) { + Utils.checkNotNull(connectionData, "connectionData"); + this.connectionData = connectionData; + return this; + } + + /** + * The encryption method with is used when communicating with the database. + */ + public SourceOracle withEncryption(Encryption encryption) { + Utils.checkNotNull(encryption, "encryption"); + this.encryption = encryption; + return this; + } + + /** + * Hostname of the database. + */ + public SourceOracle withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public SourceOracle withJdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public SourceOracle withJdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * The password associated with the username. + */ + public SourceOracle withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * The password associated with the username. + */ + public SourceOracle withPassword(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Port of the database. + * Oracle Corporations recommends the following port numbers: + * 1521 - Default listening port for client connections to the listener. + * 2484 - Recommended and officially registered listening port for client connections to the listener using TCP/IP with SSL + */ + public SourceOracle withPort(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Port of the database. + * Oracle Corporations recommends the following port numbers: + * 1521 - Default listening port for client connections to the listener. + * 2484 - Recommended and officially registered listening port for client connections to the listener using TCP/IP with SSL + */ + public SourceOracle withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * The list of schemas to sync from. Defaults to user. Case sensitive. + */ + public SourceOracle withSchemas(java.util.List schemas) { + Utils.checkNotNull(schemas, "schemas"); + this.schemas = Optional.ofNullable(schemas); + return this; + } + + /** + * The list of schemas to sync from. Defaults to user. Case sensitive. + */ + public SourceOracle withSchemas(Optional> schemas) { + Utils.checkNotNull(schemas, "schemas"); + this.schemas = schemas; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public SourceOracle withTunnelMethod(SourceOracleSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public SourceOracle withTunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * The username which is used to access the database. + */ + public SourceOracle withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceOracle other = (SourceOracle) o; + return + java.util.Objects.deepEquals(this.connectionData, other.connectionData) && + java.util.Objects.deepEquals(this.encryption, other.encryption) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.jdbcUrlParams, other.jdbcUrlParams) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.schemas, other.schemas) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + connectionData, + encryption, + host, + jdbcUrlParams, + password, + port, + schemas, + sourceType, + tunnelMethod, + username); + } + + @Override + public String toString() { + return Utils.toString(SourceOracle.class, + "connectionData", connectionData, + "encryption", encryption, + "host", host, + "jdbcUrlParams", jdbcUrlParams, + "password", password, + "port", port, + "schemas", schemas, + "sourceType", sourceType, + "tunnelMethod", tunnelMethod, + "username", username); + } + + public final static class Builder { + + private Optional connectionData = Optional.empty(); + + private Encryption encryption; + + private String host; + + private Optional jdbcUrlParams = Optional.empty(); + + private Optional password = Optional.empty(); + + private Optional port; + + private Optional> schemas = Optional.empty(); + + private Optional tunnelMethod = Optional.empty(); + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Connect data that will be used for DB connection + */ + public Builder connectionData(ConnectBy connectionData) { + Utils.checkNotNull(connectionData, "connectionData"); + this.connectionData = Optional.ofNullable(connectionData); + return this; + } + + /** + * Connect data that will be used for DB connection + */ + public Builder connectionData(Optional connectionData) { + Utils.checkNotNull(connectionData, "connectionData"); + this.connectionData = connectionData; + return this; + } + + /** + * The encryption method with is used when communicating with the database. + */ + public Builder encryption(Encryption encryption) { + Utils.checkNotNull(encryption, "encryption"); + this.encryption = encryption; + return this; + } + + /** + * Hostname of the database. + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * The password associated with the username. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * The password associated with the username. + */ + public Builder password(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Port of the database. + * Oracle Corporations recommends the following port numbers: + * 1521 - Default listening port for client connections to the listener. + * 2484 - Recommended and officially registered listening port for client connections to the listener using TCP/IP with SSL + */ + public Builder port(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Port of the database. + * Oracle Corporations recommends the following port numbers: + * 1521 - Default listening port for client connections to the listener. + * 2484 - Recommended and officially registered listening port for client connections to the listener using TCP/IP with SSL + */ + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * The list of schemas to sync from. Defaults to user. Case sensitive. + */ + public Builder schemas(java.util.List schemas) { + Utils.checkNotNull(schemas, "schemas"); + this.schemas = Optional.ofNullable(schemas); + return this; + } + + /** + * The list of schemas to sync from. Defaults to user. Case sensitive. + */ + public Builder schemas(Optional> schemas) { + Utils.checkNotNull(schemas, "schemas"); + this.schemas = schemas; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(SourceOracleSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * The username which is used to access the database. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public SourceOracle build() { + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + return new SourceOracle( + connectionData, + encryption, + host, + jdbcUrlParams, + password, + port, + schemas, + tunnelMethod, + username); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "1521", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"oracle\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOracleConnectionType.java b/src/main/java/com/airbyte/api/models/shared/SourceOracleConnectionType.java new file mode 100644 index 000000000..82214ba16 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOracleConnectionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceOracleConnectionType { + SID("sid"); + + @JsonValue + private final String value; + + private SourceOracleConnectionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOracleEncryptionMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceOracleEncryptionMethod.java new file mode 100644 index 000000000..78e304e1d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOracleEncryptionMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceOracleEncryptionMethod { + ENCRYPTED_VERIFY_CERTIFICATE("encrypted_verify_certificate"); + + @JsonValue + private final String value; + + private SourceOracleEncryptionMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOracleNoTunnel.java b/src/main/java/com/airbyte/api/models/shared/SourceOracleNoTunnel.java new file mode 100644 index 000000000..9350407b0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOracleNoTunnel.java @@ -0,0 +1,85 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceOracleNoTunnel { + + /** + * No ssh tunnel needed to connect to database + */ + @JsonProperty("tunnel_method") + private SourceOracleTunnelMethod tunnelMethod; + + public SourceOracleNoTunnel() { + + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + } + + /** + * No ssh tunnel needed to connect to database + */ + public SourceOracleTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceOracleNoTunnel other = (SourceOracleNoTunnel) o; + return + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelMethod); + } + + @Override + public String toString() { + return Utils.toString(SourceOracleNoTunnel.class, + "tunnelMethod", tunnelMethod); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceOracleNoTunnel build() { + return new SourceOracleNoTunnel( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"NO_TUNNEL\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOracleOracle.java b/src/main/java/com/airbyte/api/models/shared/SourceOracleOracle.java new file mode 100644 index 000000000..1e0351827 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOracleOracle.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceOracleOracle { + ORACLE("oracle"); + + @JsonValue + private final String value; + + private SourceOracleOracle(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOraclePasswordAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceOraclePasswordAuthentication.java new file mode 100644 index 000000000..e30474956 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOraclePasswordAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceOraclePasswordAuthentication { + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + @JsonProperty("tunnel_method") + private SourceOracleSchemasTunnelMethodTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + /** + * OS-level password for logging into the jump server host + */ + @JsonProperty("tunnel_user_password") + private String tunnelUserPassword; + + public SourceOraclePasswordAuthentication( + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser, + @JsonProperty("tunnel_user_password") String tunnelUserPassword) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + this.tunnelUserPassword = tunnelUserPassword; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + public SourceOracleSchemasTunnelMethodTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host + */ + public String tunnelUser() { + return tunnelUser; + } + + /** + * OS-level password for logging into the jump server host + */ + public String tunnelUserPassword() { + return tunnelUserPassword; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public SourceOraclePasswordAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourceOraclePasswordAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourceOraclePasswordAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public SourceOraclePasswordAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public SourceOraclePasswordAuthentication withTunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceOraclePasswordAuthentication other = (SourceOraclePasswordAuthentication) o; + return + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser) && + java.util.Objects.deepEquals(this.tunnelUserPassword, other.tunnelUserPassword); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + @Override + public String toString() { + return Utils.toString(SourceOraclePasswordAuthentication.class, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser, + "tunnelUserPassword", tunnelUserPassword); + } + + public final static class Builder { + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private String tunnelUserPassword; + + private Builder() { + // force use of static builder() method + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public Builder tunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + public SourceOraclePasswordAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new SourceOraclePasswordAuthentication( + tunnelHost, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_PASSWORD_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOracleSSHKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceOracleSSHKeyAuthentication.java new file mode 100644 index 000000000..5a38ac135 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOracleSSHKeyAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceOracleSSHKeyAuthentication { + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + @JsonProperty("ssh_key") + private String sshKey; + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + @JsonProperty("tunnel_method") + private SourceOracleSchemasTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host. + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + public SourceOracleSSHKeyAuthentication( + @JsonProperty("ssh_key") String sshKey, + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser) { + Utils.checkNotNull(sshKey, "sshKey"); + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.sshKey = sshKey; + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public String sshKey() { + return sshKey; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + public SourceOracleSchemasTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host. + */ + public String tunnelUser() { + return tunnelUser; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public SourceOracleSSHKeyAuthentication withSshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public SourceOracleSSHKeyAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourceOracleSSHKeyAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourceOracleSSHKeyAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public SourceOracleSSHKeyAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceOracleSSHKeyAuthentication other = (SourceOracleSSHKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.sshKey, other.sshKey) && + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sshKey, + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser); + } + + @Override + public String toString() { + return Utils.toString(SourceOracleSSHKeyAuthentication.class, + "sshKey", sshKey, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser); + } + + public final static class Builder { + + private String sshKey; + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private Builder() { + // force use of static builder() method + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public Builder sshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + public SourceOracleSSHKeyAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new SourceOracleSSHKeyAuthentication( + sshKey, + tunnelHost, + tunnelPort, + tunnelUser); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_KEY_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOracleSSHTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceOracleSSHTunnelMethod.java new file mode 100644 index 000000000..4646bd860 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOracleSSHTunnelMethod.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceOracleSSHTunnelMethod - Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + +@JsonDeserialize(using = SourceOracleSSHTunnelMethod._Deserializer.class) +public class SourceOracleSSHTunnelMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceOracleSSHTunnelMethod(TypedObject value) { + this.value = value; + } + + public static SourceOracleSSHTunnelMethod of(SourceOracleNoTunnel value) { + Utils.checkNotNull(value, "value"); + return new SourceOracleSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceOracleSSHTunnelMethod of(SourceOracleSSHKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourceOracleSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceOracleSSHTunnelMethod of(SourceOraclePasswordAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourceOracleSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceOracleNoTunnel}
    • + *
    • {@code SourceOracleSSHKeyAuthentication}
    • + *
    • {@code SourceOraclePasswordAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceOracleSSHTunnelMethod other = (SourceOracleSSHTunnelMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceOracleSSHTunnelMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceOracleSSHTunnelMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOracleSchemasTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceOracleSchemasTunnelMethod.java new file mode 100644 index 000000000..fec1d6ace --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOracleSchemasTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceOracleSchemasTunnelMethod - Connect through a jump server tunnel host using username and ssh key + */ +public enum SourceOracleSchemasTunnelMethod { + SSH_KEY_AUTH("SSH_KEY_AUTH"); + + @JsonValue + private final String value; + + private SourceOracleSchemasTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOracleSchemasTunnelMethodTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceOracleSchemasTunnelMethodTunnelMethod.java new file mode 100644 index 000000000..9bf8e3820 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOracleSchemasTunnelMethodTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceOracleSchemasTunnelMethodTunnelMethod - Connect through a jump server tunnel host using username and password authentication + */ +public enum SourceOracleSchemasTunnelMethodTunnelMethod { + SSH_PASSWORD_AUTH("SSH_PASSWORD_AUTH"); + + @JsonValue + private final String value; + + private SourceOracleSchemasTunnelMethodTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOracleTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceOracleTunnelMethod.java new file mode 100644 index 000000000..5c78fcb97 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOracleTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceOracleTunnelMethod - No ssh tunnel needed to connect to database + */ +public enum SourceOracleTunnelMethod { + NO_TUNNEL("NO_TUNNEL"); + + @JsonValue + private final String value; + + private SourceOracleTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOrb.java b/src/main/java/com/airbyte/api/models/shared/SourceOrb.java new file mode 100644 index 000000000..42cd31050 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOrb.java @@ -0,0 +1,523 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceOrb { + + /** + * Orb API Key, issued from the Orb admin console. + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * UTC date and time in the format 2022-03-01T00:00:00Z. Any data with created_at after this data will not be synced. For Subscription Usage, this becomes the `timeframe_start` API parameter. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + /** + * When set to N, the connector will always refresh resources created within the past N days. By default, updated objects that are not newly created are not incrementally synced. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lookback_window_days") + private Optional lookbackWindowDays; + + /** + * Property key names to extract from all events, in order to enrich ledger entries corresponding to an event deduction. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("numeric_event_properties_keys") + private Optional> numericEventPropertiesKeys; + + /** + * Orb Plan ID to filter subscriptions that should have usage fetched. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("plan_id") + private Optional planId; + + @JsonProperty("sourceType") + private Orb sourceType; + + /** + * UTC date and time in the format 2022-03-01T00:00:00Z. Any data with created_at before this data will not be synced. For Subscription Usage, this becomes the `timeframe_start` API parameter. + */ + @JsonProperty("start_date") + private String startDate; + + /** + * Property key names to extract from all events, in order to enrich ledger entries corresponding to an event deduction. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("string_event_properties_keys") + private Optional> stringEventPropertiesKeys; + + /** + * Property key name to group subscription usage by. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("subscription_usage_grouping_key") + private Optional subscriptionUsageGroupingKey; + + public SourceOrb( + @JsonProperty("api_key") String apiKey, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("lookback_window_days") Optional lookbackWindowDays, + @JsonProperty("numeric_event_properties_keys") Optional> numericEventPropertiesKeys, + @JsonProperty("plan_id") Optional planId, + @JsonProperty("start_date") String startDate, + @JsonProperty("string_event_properties_keys") Optional> stringEventPropertiesKeys, + @JsonProperty("subscription_usage_grouping_key") Optional subscriptionUsageGroupingKey) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(lookbackWindowDays, "lookbackWindowDays"); + Utils.checkNotNull(numericEventPropertiesKeys, "numericEventPropertiesKeys"); + Utils.checkNotNull(planId, "planId"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(stringEventPropertiesKeys, "stringEventPropertiesKeys"); + Utils.checkNotNull(subscriptionUsageGroupingKey, "subscriptionUsageGroupingKey"); + this.apiKey = apiKey; + this.endDate = endDate; + this.lookbackWindowDays = lookbackWindowDays; + this.numericEventPropertiesKeys = numericEventPropertiesKeys; + this.planId = planId; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.stringEventPropertiesKeys = stringEventPropertiesKeys; + this.subscriptionUsageGroupingKey = subscriptionUsageGroupingKey; + } + + /** + * Orb API Key, issued from the Orb admin console. + */ + public String apiKey() { + return apiKey; + } + + /** + * UTC date and time in the format 2022-03-01T00:00:00Z. Any data with created_at after this data will not be synced. For Subscription Usage, this becomes the `timeframe_start` API parameter. + */ + public Optional endDate() { + return endDate; + } + + /** + * When set to N, the connector will always refresh resources created within the past N days. By default, updated objects that are not newly created are not incrementally synced. + */ + public Optional lookbackWindowDays() { + return lookbackWindowDays; + } + + /** + * Property key names to extract from all events, in order to enrich ledger entries corresponding to an event deduction. + */ + public Optional> numericEventPropertiesKeys() { + return numericEventPropertiesKeys; + } + + /** + * Orb Plan ID to filter subscriptions that should have usage fetched. + */ + public Optional planId() { + return planId; + } + + public Orb sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2022-03-01T00:00:00Z. Any data with created_at before this data will not be synced. For Subscription Usage, this becomes the `timeframe_start` API parameter. + */ + public String startDate() { + return startDate; + } + + /** + * Property key names to extract from all events, in order to enrich ledger entries corresponding to an event deduction. + */ + public Optional> stringEventPropertiesKeys() { + return stringEventPropertiesKeys; + } + + /** + * Property key name to group subscription usage by. + */ + public Optional subscriptionUsageGroupingKey() { + return subscriptionUsageGroupingKey; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Orb API Key, issued from the Orb admin console. + */ + public SourceOrb withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * UTC date and time in the format 2022-03-01T00:00:00Z. Any data with created_at after this data will not be synced. For Subscription Usage, this becomes the `timeframe_start` API parameter. + */ + public SourceOrb withEndDate(String endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * UTC date and time in the format 2022-03-01T00:00:00Z. Any data with created_at after this data will not be synced. For Subscription Usage, this becomes the `timeframe_start` API parameter. + */ + public SourceOrb withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * When set to N, the connector will always refresh resources created within the past N days. By default, updated objects that are not newly created are not incrementally synced. + */ + public SourceOrb withLookbackWindowDays(long lookbackWindowDays) { + Utils.checkNotNull(lookbackWindowDays, "lookbackWindowDays"); + this.lookbackWindowDays = Optional.ofNullable(lookbackWindowDays); + return this; + } + + /** + * When set to N, the connector will always refresh resources created within the past N days. By default, updated objects that are not newly created are not incrementally synced. + */ + public SourceOrb withLookbackWindowDays(Optional lookbackWindowDays) { + Utils.checkNotNull(lookbackWindowDays, "lookbackWindowDays"); + this.lookbackWindowDays = lookbackWindowDays; + return this; + } + + /** + * Property key names to extract from all events, in order to enrich ledger entries corresponding to an event deduction. + */ + public SourceOrb withNumericEventPropertiesKeys(java.util.List numericEventPropertiesKeys) { + Utils.checkNotNull(numericEventPropertiesKeys, "numericEventPropertiesKeys"); + this.numericEventPropertiesKeys = Optional.ofNullable(numericEventPropertiesKeys); + return this; + } + + /** + * Property key names to extract from all events, in order to enrich ledger entries corresponding to an event deduction. + */ + public SourceOrb withNumericEventPropertiesKeys(Optional> numericEventPropertiesKeys) { + Utils.checkNotNull(numericEventPropertiesKeys, "numericEventPropertiesKeys"); + this.numericEventPropertiesKeys = numericEventPropertiesKeys; + return this; + } + + /** + * Orb Plan ID to filter subscriptions that should have usage fetched. + */ + public SourceOrb withPlanId(String planId) { + Utils.checkNotNull(planId, "planId"); + this.planId = Optional.ofNullable(planId); + return this; + } + + /** + * Orb Plan ID to filter subscriptions that should have usage fetched. + */ + public SourceOrb withPlanId(Optional planId) { + Utils.checkNotNull(planId, "planId"); + this.planId = planId; + return this; + } + + /** + * UTC date and time in the format 2022-03-01T00:00:00Z. Any data with created_at before this data will not be synced. For Subscription Usage, this becomes the `timeframe_start` API parameter. + */ + public SourceOrb withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Property key names to extract from all events, in order to enrich ledger entries corresponding to an event deduction. + */ + public SourceOrb withStringEventPropertiesKeys(java.util.List stringEventPropertiesKeys) { + Utils.checkNotNull(stringEventPropertiesKeys, "stringEventPropertiesKeys"); + this.stringEventPropertiesKeys = Optional.ofNullable(stringEventPropertiesKeys); + return this; + } + + /** + * Property key names to extract from all events, in order to enrich ledger entries corresponding to an event deduction. + */ + public SourceOrb withStringEventPropertiesKeys(Optional> stringEventPropertiesKeys) { + Utils.checkNotNull(stringEventPropertiesKeys, "stringEventPropertiesKeys"); + this.stringEventPropertiesKeys = stringEventPropertiesKeys; + return this; + } + + /** + * Property key name to group subscription usage by. + */ + public SourceOrb withSubscriptionUsageGroupingKey(String subscriptionUsageGroupingKey) { + Utils.checkNotNull(subscriptionUsageGroupingKey, "subscriptionUsageGroupingKey"); + this.subscriptionUsageGroupingKey = Optional.ofNullable(subscriptionUsageGroupingKey); + return this; + } + + /** + * Property key name to group subscription usage by. + */ + public SourceOrb withSubscriptionUsageGroupingKey(Optional subscriptionUsageGroupingKey) { + Utils.checkNotNull(subscriptionUsageGroupingKey, "subscriptionUsageGroupingKey"); + this.subscriptionUsageGroupingKey = subscriptionUsageGroupingKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceOrb other = (SourceOrb) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.lookbackWindowDays, other.lookbackWindowDays) && + java.util.Objects.deepEquals(this.numericEventPropertiesKeys, other.numericEventPropertiesKeys) && + java.util.Objects.deepEquals(this.planId, other.planId) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.stringEventPropertiesKeys, other.stringEventPropertiesKeys) && + java.util.Objects.deepEquals(this.subscriptionUsageGroupingKey, other.subscriptionUsageGroupingKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + endDate, + lookbackWindowDays, + numericEventPropertiesKeys, + planId, + sourceType, + startDate, + stringEventPropertiesKeys, + subscriptionUsageGroupingKey); + } + + @Override + public String toString() { + return Utils.toString(SourceOrb.class, + "apiKey", apiKey, + "endDate", endDate, + "lookbackWindowDays", lookbackWindowDays, + "numericEventPropertiesKeys", numericEventPropertiesKeys, + "planId", planId, + "sourceType", sourceType, + "startDate", startDate, + "stringEventPropertiesKeys", stringEventPropertiesKeys, + "subscriptionUsageGroupingKey", subscriptionUsageGroupingKey); + } + + public final static class Builder { + + private String apiKey; + + private Optional endDate = Optional.empty(); + + private Optional lookbackWindowDays; + + private Optional> numericEventPropertiesKeys = Optional.empty(); + + private Optional planId = Optional.empty(); + + private String startDate; + + private Optional> stringEventPropertiesKeys = Optional.empty(); + + private Optional subscriptionUsageGroupingKey = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Orb API Key, issued from the Orb admin console. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * UTC date and time in the format 2022-03-01T00:00:00Z. Any data with created_at after this data will not be synced. For Subscription Usage, this becomes the `timeframe_start` API parameter. + */ + public Builder endDate(String endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * UTC date and time in the format 2022-03-01T00:00:00Z. Any data with created_at after this data will not be synced. For Subscription Usage, this becomes the `timeframe_start` API parameter. + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * When set to N, the connector will always refresh resources created within the past N days. By default, updated objects that are not newly created are not incrementally synced. + */ + public Builder lookbackWindowDays(long lookbackWindowDays) { + Utils.checkNotNull(lookbackWindowDays, "lookbackWindowDays"); + this.lookbackWindowDays = Optional.ofNullable(lookbackWindowDays); + return this; + } + + /** + * When set to N, the connector will always refresh resources created within the past N days. By default, updated objects that are not newly created are not incrementally synced. + */ + public Builder lookbackWindowDays(Optional lookbackWindowDays) { + Utils.checkNotNull(lookbackWindowDays, "lookbackWindowDays"); + this.lookbackWindowDays = lookbackWindowDays; + return this; + } + + /** + * Property key names to extract from all events, in order to enrich ledger entries corresponding to an event deduction. + */ + public Builder numericEventPropertiesKeys(java.util.List numericEventPropertiesKeys) { + Utils.checkNotNull(numericEventPropertiesKeys, "numericEventPropertiesKeys"); + this.numericEventPropertiesKeys = Optional.ofNullable(numericEventPropertiesKeys); + return this; + } + + /** + * Property key names to extract from all events, in order to enrich ledger entries corresponding to an event deduction. + */ + public Builder numericEventPropertiesKeys(Optional> numericEventPropertiesKeys) { + Utils.checkNotNull(numericEventPropertiesKeys, "numericEventPropertiesKeys"); + this.numericEventPropertiesKeys = numericEventPropertiesKeys; + return this; + } + + /** + * Orb Plan ID to filter subscriptions that should have usage fetched. + */ + public Builder planId(String planId) { + Utils.checkNotNull(planId, "planId"); + this.planId = Optional.ofNullable(planId); + return this; + } + + /** + * Orb Plan ID to filter subscriptions that should have usage fetched. + */ + public Builder planId(Optional planId) { + Utils.checkNotNull(planId, "planId"); + this.planId = planId; + return this; + } + + /** + * UTC date and time in the format 2022-03-01T00:00:00Z. Any data with created_at before this data will not be synced. For Subscription Usage, this becomes the `timeframe_start` API parameter. + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Property key names to extract from all events, in order to enrich ledger entries corresponding to an event deduction. + */ + public Builder stringEventPropertiesKeys(java.util.List stringEventPropertiesKeys) { + Utils.checkNotNull(stringEventPropertiesKeys, "stringEventPropertiesKeys"); + this.stringEventPropertiesKeys = Optional.ofNullable(stringEventPropertiesKeys); + return this; + } + + /** + * Property key names to extract from all events, in order to enrich ledger entries corresponding to an event deduction. + */ + public Builder stringEventPropertiesKeys(Optional> stringEventPropertiesKeys) { + Utils.checkNotNull(stringEventPropertiesKeys, "stringEventPropertiesKeys"); + this.stringEventPropertiesKeys = stringEventPropertiesKeys; + return this; + } + + /** + * Property key name to group subscription usage by. + */ + public Builder subscriptionUsageGroupingKey(String subscriptionUsageGroupingKey) { + Utils.checkNotNull(subscriptionUsageGroupingKey, "subscriptionUsageGroupingKey"); + this.subscriptionUsageGroupingKey = Optional.ofNullable(subscriptionUsageGroupingKey); + return this; + } + + /** + * Property key name to group subscription usage by. + */ + public Builder subscriptionUsageGroupingKey(Optional subscriptionUsageGroupingKey) { + Utils.checkNotNull(subscriptionUsageGroupingKey, "subscriptionUsageGroupingKey"); + this.subscriptionUsageGroupingKey = subscriptionUsageGroupingKey; + return this; + } + + public SourceOrb build() { + if (lookbackWindowDays == null) { + lookbackWindowDays = _SINGLETON_VALUE_LookbackWindowDays.value(); + } + return new SourceOrb( + apiKey, + endDate, + lookbackWindowDays, + numericEventPropertiesKeys, + planId, + startDate, + stringEventPropertiesKeys, + subscriptionUsageGroupingKey); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_LookbackWindowDays = + new LazySingletonValue<>( + "lookback_window_days", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"orb\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOrbit.java b/src/main/java/com/airbyte/api/models/shared/SourceOrbit.java new file mode 100644 index 000000000..c90e4cc6d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOrbit.java @@ -0,0 +1,219 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceOrbit { + + /** + * Authorizes you to work with Orbit workspaces associated with the token. + */ + @JsonProperty("api_token") + private String apiToken; + + @JsonProperty("sourceType") + private Orbit sourceType; + + /** + * Date in the format 2022-06-26. Only load members whose last activities are after this date. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + /** + * The unique name of the workspace that your API token is associated with. + */ + @JsonProperty("workspace") + private String workspace; + + public SourceOrbit( + @JsonProperty("api_token") String apiToken, + @JsonProperty("start_date") Optional startDate, + @JsonProperty("workspace") String workspace) { + Utils.checkNotNull(apiToken, "apiToken"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(workspace, "workspace"); + this.apiToken = apiToken; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.workspace = workspace; + } + + /** + * Authorizes you to work with Orbit workspaces associated with the token. + */ + public String apiToken() { + return apiToken; + } + + public Orbit sourceType() { + return sourceType; + } + + /** + * Date in the format 2022-06-26. Only load members whose last activities are after this date. + */ + public Optional startDate() { + return startDate; + } + + /** + * The unique name of the workspace that your API token is associated with. + */ + public String workspace() { + return workspace; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Authorizes you to work with Orbit workspaces associated with the token. + */ + public SourceOrbit withApiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + /** + * Date in the format 2022-06-26. Only load members whose last activities are after this date. + */ + public SourceOrbit withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * Date in the format 2022-06-26. Only load members whose last activities are after this date. + */ + public SourceOrbit withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * The unique name of the workspace that your API token is associated with. + */ + public SourceOrbit withWorkspace(String workspace) { + Utils.checkNotNull(workspace, "workspace"); + this.workspace = workspace; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceOrbit other = (SourceOrbit) o; + return + java.util.Objects.deepEquals(this.apiToken, other.apiToken) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.workspace, other.workspace); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiToken, + sourceType, + startDate, + workspace); + } + + @Override + public String toString() { + return Utils.toString(SourceOrbit.class, + "apiToken", apiToken, + "sourceType", sourceType, + "startDate", startDate, + "workspace", workspace); + } + + public final static class Builder { + + private String apiToken; + + private Optional startDate = Optional.empty(); + + private String workspace; + + private Builder() { + // force use of static builder() method + } + + /** + * Authorizes you to work with Orbit workspaces associated with the token. + */ + public Builder apiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + /** + * Date in the format 2022-06-26. Only load members whose last activities are after this date. + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * Date in the format 2022-06-26. Only load members whose last activities are after this date. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * The unique name of the workspace that your API token is associated with. + */ + public Builder workspace(String workspace) { + Utils.checkNotNull(workspace, "workspace"); + this.workspace = workspace; + return this; + } + + public SourceOrbit build() { + return new SourceOrbit( + apiToken, + startDate, + workspace); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"orbit\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOutbrainAmplify.java b/src/main/java/com/airbyte/api/models/shared/SourceOutbrainAmplify.java new file mode 100644 index 000000000..fa831d283 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOutbrainAmplify.java @@ -0,0 +1,337 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceOutbrainAmplify { + + /** + * Credentials for making authenticated requests requires either username/password or access_token. + */ + @JsonProperty("credentials") + private SourceOutbrainAmplifyAuthenticationMethod credentials; + + /** + * Date in the format YYYY-MM-DD. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + /** + * The granularity used for geo location data in reports. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("geo_location_breakdown") + private Optional geoLocationBreakdown; + + /** + * The granularity used for periodic data in reports. See <a href="https://amplifyv01.docs.apiary.io/#reference/performance-reporting/periodic/retrieve-performance-statistics-for-all-marketer-campaigns-by-periodic-breakdown">the docs</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("report_granularity") + private Optional reportGranularity; + + @JsonProperty("sourceType") + private OutbrainAmplify sourceType; + + /** + * Date in the format YYYY-MM-DD eg. 2017-01-25. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private String startDate; + + public SourceOutbrainAmplify( + @JsonProperty("credentials") SourceOutbrainAmplifyAuthenticationMethod credentials, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("geo_location_breakdown") Optional geoLocationBreakdown, + @JsonProperty("report_granularity") Optional reportGranularity, + @JsonProperty("start_date") String startDate) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(geoLocationBreakdown, "geoLocationBreakdown"); + Utils.checkNotNull(reportGranularity, "reportGranularity"); + Utils.checkNotNull(startDate, "startDate"); + this.credentials = credentials; + this.endDate = endDate; + this.geoLocationBreakdown = geoLocationBreakdown; + this.reportGranularity = reportGranularity; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Credentials for making authenticated requests requires either username/password or access_token. + */ + public SourceOutbrainAmplifyAuthenticationMethod credentials() { + return credentials; + } + + /** + * Date in the format YYYY-MM-DD. + */ + public Optional endDate() { + return endDate; + } + + /** + * The granularity used for geo location data in reports. + */ + public Optional geoLocationBreakdown() { + return geoLocationBreakdown; + } + + /** + * The granularity used for periodic data in reports. See <a href="https://amplifyv01.docs.apiary.io/#reference/performance-reporting/periodic/retrieve-performance-statistics-for-all-marketer-campaigns-by-periodic-breakdown">the docs</a>. + */ + public Optional reportGranularity() { + return reportGranularity; + } + + public OutbrainAmplify sourceType() { + return sourceType; + } + + /** + * Date in the format YYYY-MM-DD eg. 2017-01-25. Any data before this date will not be replicated. + */ + public String startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Credentials for making authenticated requests requires either username/password or access_token. + */ + public SourceOutbrainAmplify withCredentials(SourceOutbrainAmplifyAuthenticationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Date in the format YYYY-MM-DD. + */ + public SourceOutbrainAmplify withEndDate(String endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * Date in the format YYYY-MM-DD. + */ + public SourceOutbrainAmplify withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * The granularity used for geo location data in reports. + */ + public SourceOutbrainAmplify withGeoLocationBreakdown(GranularityForGeoLocationRegion geoLocationBreakdown) { + Utils.checkNotNull(geoLocationBreakdown, "geoLocationBreakdown"); + this.geoLocationBreakdown = Optional.ofNullable(geoLocationBreakdown); + return this; + } + + /** + * The granularity used for geo location data in reports. + */ + public SourceOutbrainAmplify withGeoLocationBreakdown(Optional geoLocationBreakdown) { + Utils.checkNotNull(geoLocationBreakdown, "geoLocationBreakdown"); + this.geoLocationBreakdown = geoLocationBreakdown; + return this; + } + + /** + * The granularity used for periodic data in reports. See <a href="https://amplifyv01.docs.apiary.io/#reference/performance-reporting/periodic/retrieve-performance-statistics-for-all-marketer-campaigns-by-periodic-breakdown">the docs</a>. + */ + public SourceOutbrainAmplify withReportGranularity(GranularityForPeriodicReports reportGranularity) { + Utils.checkNotNull(reportGranularity, "reportGranularity"); + this.reportGranularity = Optional.ofNullable(reportGranularity); + return this; + } + + /** + * The granularity used for periodic data in reports. See <a href="https://amplifyv01.docs.apiary.io/#reference/performance-reporting/periodic/retrieve-performance-statistics-for-all-marketer-campaigns-by-periodic-breakdown">the docs</a>. + */ + public SourceOutbrainAmplify withReportGranularity(Optional reportGranularity) { + Utils.checkNotNull(reportGranularity, "reportGranularity"); + this.reportGranularity = reportGranularity; + return this; + } + + /** + * Date in the format YYYY-MM-DD eg. 2017-01-25. Any data before this date will not be replicated. + */ + public SourceOutbrainAmplify withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceOutbrainAmplify other = (SourceOutbrainAmplify) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.geoLocationBreakdown, other.geoLocationBreakdown) && + java.util.Objects.deepEquals(this.reportGranularity, other.reportGranularity) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + endDate, + geoLocationBreakdown, + reportGranularity, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceOutbrainAmplify.class, + "credentials", credentials, + "endDate", endDate, + "geoLocationBreakdown", geoLocationBreakdown, + "reportGranularity", reportGranularity, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private SourceOutbrainAmplifyAuthenticationMethod credentials; + + private Optional endDate = Optional.empty(); + + private Optional geoLocationBreakdown = Optional.empty(); + + private Optional reportGranularity = Optional.empty(); + + private String startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Credentials for making authenticated requests requires either username/password or access_token. + */ + public Builder credentials(SourceOutbrainAmplifyAuthenticationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Date in the format YYYY-MM-DD. + */ + public Builder endDate(String endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * Date in the format YYYY-MM-DD. + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * The granularity used for geo location data in reports. + */ + public Builder geoLocationBreakdown(GranularityForGeoLocationRegion geoLocationBreakdown) { + Utils.checkNotNull(geoLocationBreakdown, "geoLocationBreakdown"); + this.geoLocationBreakdown = Optional.ofNullable(geoLocationBreakdown); + return this; + } + + /** + * The granularity used for geo location data in reports. + */ + public Builder geoLocationBreakdown(Optional geoLocationBreakdown) { + Utils.checkNotNull(geoLocationBreakdown, "geoLocationBreakdown"); + this.geoLocationBreakdown = geoLocationBreakdown; + return this; + } + + /** + * The granularity used for periodic data in reports. See <a href="https://amplifyv01.docs.apiary.io/#reference/performance-reporting/periodic/retrieve-performance-statistics-for-all-marketer-campaigns-by-periodic-breakdown">the docs</a>. + */ + public Builder reportGranularity(GranularityForPeriodicReports reportGranularity) { + Utils.checkNotNull(reportGranularity, "reportGranularity"); + this.reportGranularity = Optional.ofNullable(reportGranularity); + return this; + } + + /** + * The granularity used for periodic data in reports. See <a href="https://amplifyv01.docs.apiary.io/#reference/performance-reporting/periodic/retrieve-performance-statistics-for-all-marketer-campaigns-by-periodic-breakdown">the docs</a>. + */ + public Builder reportGranularity(Optional reportGranularity) { + Utils.checkNotNull(reportGranularity, "reportGranularity"); + this.reportGranularity = reportGranularity; + return this; + } + + /** + * Date in the format YYYY-MM-DD eg. 2017-01-25. Any data before this date will not be replicated. + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceOutbrainAmplify build() { + return new SourceOutbrainAmplify( + credentials, + endDate, + geoLocationBreakdown, + reportGranularity, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"outbrain-amplify\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOutbrainAmplifyAccessToken.java b/src/main/java/com/airbyte/api/models/shared/SourceOutbrainAmplifyAccessToken.java new file mode 100644 index 000000000..a0d88ec68 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOutbrainAmplifyAccessToken.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceOutbrainAmplifyAccessToken { + + /** + * Access Token for making authenticated requests. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonProperty("type") + private AccessTokenIsRequiredForAuthenticationRequests type; + + public SourceOutbrainAmplifyAccessToken( + @JsonProperty("access_token") String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + this.type = Builder._SINGLETON_VALUE_Type.value(); + } + + /** + * Access Token for making authenticated requests. + */ + public String accessToken() { + return accessToken; + } + + public AccessTokenIsRequiredForAuthenticationRequests type() { + return type; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Access Token for making authenticated requests. + */ + public SourceOutbrainAmplifyAccessToken withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceOutbrainAmplifyAccessToken other = (SourceOutbrainAmplifyAccessToken) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.type, other.type); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + type); + } + + @Override + public String toString() { + return Utils.toString(SourceOutbrainAmplifyAccessToken.class, + "accessToken", accessToken, + "type", type); + } + + public final static class Builder { + + private String accessToken; + + private Builder() { + // force use of static builder() method + } + + /** + * Access Token for making authenticated requests. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + public SourceOutbrainAmplifyAccessToken build() { + return new SourceOutbrainAmplifyAccessToken( + accessToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Type = + new LazySingletonValue<>( + "type", + "\"access_token\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOutbrainAmplifyAuthenticationMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceOutbrainAmplifyAuthenticationMethod.java new file mode 100644 index 000000000..29bb322dc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOutbrainAmplifyAuthenticationMethod.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceOutbrainAmplifyAuthenticationMethod - Credentials for making authenticated requests requires either username/password or access_token. + */ + +@JsonDeserialize(using = SourceOutbrainAmplifyAuthenticationMethod._Deserializer.class) +public class SourceOutbrainAmplifyAuthenticationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceOutbrainAmplifyAuthenticationMethod(TypedObject value) { + this.value = value; + } + + public static SourceOutbrainAmplifyAuthenticationMethod of(SourceOutbrainAmplifyAccessToken value) { + Utils.checkNotNull(value, "value"); + return new SourceOutbrainAmplifyAuthenticationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceOutbrainAmplifyAuthenticationMethod of(SourceOutbrainAmplifyUsernamePassword value) { + Utils.checkNotNull(value, "value"); + return new SourceOutbrainAmplifyAuthenticationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceOutbrainAmplifyAccessToken}
    • + *
    • {@code SourceOutbrainAmplifyUsernamePassword}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceOutbrainAmplifyAuthenticationMethod other = (SourceOutbrainAmplifyAuthenticationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceOutbrainAmplifyAuthenticationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceOutbrainAmplifyAuthenticationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOutbrainAmplifyUsernamePassword.java b/src/main/java/com/airbyte/api/models/shared/SourceOutbrainAmplifyUsernamePassword.java new file mode 100644 index 000000000..df1ed2c45 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOutbrainAmplifyUsernamePassword.java @@ -0,0 +1,157 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceOutbrainAmplifyUsernamePassword { + + /** + * Add Password for authentication. + */ + @JsonProperty("password") + private String password; + + @JsonProperty("type") + private BothUsernameAndPasswordIsRequiredForAuthenticationRequest type; + + /** + * Add Username for authentication. + */ + @JsonProperty("username") + private String username; + + public SourceOutbrainAmplifyUsernamePassword( + @JsonProperty("password") String password, + @JsonProperty("username") String username) { + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(username, "username"); + this.password = password; + this.type = Builder._SINGLETON_VALUE_Type.value(); + this.username = username; + } + + /** + * Add Password for authentication. + */ + public String password() { + return password; + } + + public BothUsernameAndPasswordIsRequiredForAuthenticationRequest type() { + return type; + } + + /** + * Add Username for authentication. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Add Password for authentication. + */ + public SourceOutbrainAmplifyUsernamePassword withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Add Username for authentication. + */ + public SourceOutbrainAmplifyUsernamePassword withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceOutbrainAmplifyUsernamePassword other = (SourceOutbrainAmplifyUsernamePassword) o; + return + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.type, other.type) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + password, + type, + username); + } + + @Override + public String toString() { + return Utils.toString(SourceOutbrainAmplifyUsernamePassword.class, + "password", password, + "type", type, + "username", username); + } + + public final static class Builder { + + private String password; + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Add Password for authentication. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Add Username for authentication. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public SourceOutbrainAmplifyUsernamePassword build() { + return new SourceOutbrainAmplifyUsernamePassword( + password, + username); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Type = + new LazySingletonValue<>( + "type", + "\"username_password\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceOutreach.java b/src/main/java/com/airbyte/api/models/shared/SourceOutreach.java new file mode 100644 index 000000000..c217250bb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceOutreach.java @@ -0,0 +1,277 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceOutreach { + + /** + * The Client ID of your Outreach developer application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of your Outreach developer application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * A Redirect URI is the location where the authorization server sends the user once the app has been successfully authorized and granted an authorization code or access token. + */ + @JsonProperty("redirect_uri") + private String redirectUri; + + /** + * The token for obtaining the new access token. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + @JsonProperty("sourceType") + private Outreach sourceType; + + /** + * The date from which you'd like to replicate data for Outreach API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + @JsonProperty("start_date") + private String startDate; + + public SourceOutreach( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("redirect_uri") String redirectUri, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("start_date") String startDate) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(redirectUri, "redirectUri"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(startDate, "startDate"); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.redirectUri = redirectUri; + this.refreshToken = refreshToken; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * The Client ID of your Outreach developer application. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of your Outreach developer application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * A Redirect URI is the location where the authorization server sends the user once the app has been successfully authorized and granted an authorization code or access token. + */ + public String redirectUri() { + return redirectUri; + } + + /** + * The token for obtaining the new access token. + */ + public String refreshToken() { + return refreshToken; + } + + public Outreach sourceType() { + return sourceType; + } + + /** + * The date from which you'd like to replicate data for Outreach API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public String startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your Outreach developer application. + */ + public SourceOutreach withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Outreach developer application. + */ + public SourceOutreach withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * A Redirect URI is the location where the authorization server sends the user once the app has been successfully authorized and granted an authorization code or access token. + */ + public SourceOutreach withRedirectUri(String redirectUri) { + Utils.checkNotNull(redirectUri, "redirectUri"); + this.redirectUri = redirectUri; + return this; + } + + /** + * The token for obtaining the new access token. + */ + public SourceOutreach withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * The date from which you'd like to replicate data for Outreach API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public SourceOutreach withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceOutreach other = (SourceOutreach) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.redirectUri, other.redirectUri) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret, + redirectUri, + refreshToken, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceOutreach.class, + "clientId", clientId, + "clientSecret", clientSecret, + "redirectUri", redirectUri, + "refreshToken", refreshToken, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private String redirectUri; + + private String refreshToken; + + private String startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your Outreach developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Outreach developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * A Redirect URI is the location where the authorization server sends the user once the app has been successfully authorized and granted an authorization code or access token. + */ + public Builder redirectUri(String redirectUri) { + Utils.checkNotNull(redirectUri, "redirectUri"); + this.redirectUri = redirectUri; + return this; + } + + /** + * The token for obtaining the new access token. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * The date from which you'd like to replicate data for Outreach API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceOutreach build() { + return new SourceOutreach( + clientId, + clientSecret, + redirectUri, + refreshToken, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"outreach\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePatchRequest.java b/src/main/java/com/airbyte/api/models/shared/SourcePatchRequest.java new file mode 100644 index 000000000..11d2841ae --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePatchRequest.java @@ -0,0 +1,262 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourcePatchRequest { + + /** + * The values required to configure the source. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("configuration") + private Optional configuration; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("name") + private Optional name; + + /** + * Optional secretID obtained through the public API OAuth redirect flow. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("secretId") + private Optional secretId; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("workspaceId") + private Optional workspaceId; + + public SourcePatchRequest( + @JsonProperty("configuration") Optional configuration, + @JsonProperty("name") Optional name, + @JsonProperty("secretId") Optional secretId, + @JsonProperty("workspaceId") Optional workspaceId) { + Utils.checkNotNull(configuration, "configuration"); + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(secretId, "secretId"); + Utils.checkNotNull(workspaceId, "workspaceId"); + this.configuration = configuration; + this.name = name; + this.secretId = secretId; + this.workspaceId = workspaceId; + } + + /** + * The values required to configure the source. + */ + public Optional configuration() { + return configuration; + } + + public Optional name() { + return name; + } + + /** + * Optional secretID obtained through the public API OAuth redirect flow. + */ + public Optional secretId() { + return secretId; + } + + public Optional workspaceId() { + return workspaceId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The values required to configure the source. + */ + public SourcePatchRequest withConfiguration(SourceConfiguration configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = Optional.ofNullable(configuration); + return this; + } + + /** + * The values required to configure the source. + */ + public SourcePatchRequest withConfiguration(Optional configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = configuration; + return this; + } + + public SourcePatchRequest withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = Optional.ofNullable(name); + return this; + } + + public SourcePatchRequest withName(Optional name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * Optional secretID obtained through the public API OAuth redirect flow. + */ + public SourcePatchRequest withSecretId(String secretId) { + Utils.checkNotNull(secretId, "secretId"); + this.secretId = Optional.ofNullable(secretId); + return this; + } + + /** + * Optional secretID obtained through the public API OAuth redirect flow. + */ + public SourcePatchRequest withSecretId(Optional secretId) { + Utils.checkNotNull(secretId, "secretId"); + this.secretId = secretId; + return this; + } + + public SourcePatchRequest withWorkspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = Optional.ofNullable(workspaceId); + return this; + } + + public SourcePatchRequest withWorkspaceId(Optional workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePatchRequest other = (SourcePatchRequest) o; + return + java.util.Objects.deepEquals(this.configuration, other.configuration) && + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.secretId, other.secretId) && + java.util.Objects.deepEquals(this.workspaceId, other.workspaceId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + configuration, + name, + secretId, + workspaceId); + } + + @Override + public String toString() { + return Utils.toString(SourcePatchRequest.class, + "configuration", configuration, + "name", name, + "secretId", secretId, + "workspaceId", workspaceId); + } + + public final static class Builder { + + private Optional configuration = Optional.empty(); + + private Optional name = Optional.empty(); + + private Optional secretId = Optional.empty(); + + private Optional workspaceId = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The values required to configure the source. + */ + public Builder configuration(SourceConfiguration configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = Optional.ofNullable(configuration); + return this; + } + + /** + * The values required to configure the source. + */ + public Builder configuration(Optional configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = configuration; + return this; + } + + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = Optional.ofNullable(name); + return this; + } + + public Builder name(Optional name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * Optional secretID obtained through the public API OAuth redirect flow. + */ + public Builder secretId(String secretId) { + Utils.checkNotNull(secretId, "secretId"); + this.secretId = Optional.ofNullable(secretId); + return this; + } + + /** + * Optional secretID obtained through the public API OAuth redirect flow. + */ + public Builder secretId(Optional secretId) { + Utils.checkNotNull(secretId, "secretId"); + this.secretId = secretId; + return this; + } + + public Builder workspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = Optional.ofNullable(workspaceId); + return this; + } + + public Builder workspaceId(Optional workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + public SourcePatchRequest build() { + return new SourcePatchRequest( + configuration, + name, + secretId, + workspaceId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePaypalTransaction.java b/src/main/java/com/airbyte/api/models/shared/SourcePaypalTransaction.java new file mode 100644 index 000000000..961f0db79 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePaypalTransaction.java @@ -0,0 +1,516 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourcePaypalTransaction { + + /** + * The Client ID of your Paypal developer application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of your Paypal developer application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * Start Date parameter for the list dispute endpoint in <a href=\"https://datatracker.ietf.org/doc/html/rfc3339#section-5.6\">ISO format</a>. This Start Date must be in range within 180 days before present time, and requires ONLY 3 miliseconds(mandatory). If you don't use this option, it defaults to a start date set 180 days in the past. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("dispute_start_date") + private Optional disputeStartDate; + + /** + * End Date for data extraction in <a href=\"https://datatracker.ietf.org/doc/html/rfc3339#section-5.6\">ISO format</a>. This can be help you select specific range of time, mainly for test purposes or data integrity tests. When this is not used, now_utc() is used by the streams. This does not apply to Disputes and Product streams. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + /** + * Determines whether to use the sandbox or production environment. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("is_sandbox") + private Optional isSandbox; + + /** + * The key to refresh the expired access token. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("refresh_token") + private Optional refreshToken; + + @JsonProperty("sourceType") + private PaypalTransaction sourceType; + + /** + * Start Date for data extraction in <a href=\"https://datatracker.ietf.org/doc/html/rfc3339#section-5.6\">ISO format</a>. Date must be in range from 3 years till 12 hrs before present time. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + /** + * The number of days per request. Must be a number between 1 and 31. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("time_window") + private Optional timeWindow; + + public SourcePaypalTransaction( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("dispute_start_date") Optional disputeStartDate, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("is_sandbox") Optional isSandbox, + @JsonProperty("refresh_token") Optional refreshToken, + @JsonProperty("start_date") OffsetDateTime startDate, + @JsonProperty("time_window") Optional timeWindow) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(disputeStartDate, "disputeStartDate"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(isSandbox, "isSandbox"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(timeWindow, "timeWindow"); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.disputeStartDate = disputeStartDate; + this.endDate = endDate; + this.isSandbox = isSandbox; + this.refreshToken = refreshToken; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.timeWindow = timeWindow; + } + + /** + * The Client ID of your Paypal developer application. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of your Paypal developer application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * Start Date parameter for the list dispute endpoint in <a href=\"https://datatracker.ietf.org/doc/html/rfc3339#section-5.6\">ISO format</a>. This Start Date must be in range within 180 days before present time, and requires ONLY 3 miliseconds(mandatory). If you don't use this option, it defaults to a start date set 180 days in the past. + */ + public Optional disputeStartDate() { + return disputeStartDate; + } + + /** + * End Date for data extraction in <a href=\"https://datatracker.ietf.org/doc/html/rfc3339#section-5.6\">ISO format</a>. This can be help you select specific range of time, mainly for test purposes or data integrity tests. When this is not used, now_utc() is used by the streams. This does not apply to Disputes and Product streams. + */ + public Optional endDate() { + return endDate; + } + + /** + * Determines whether to use the sandbox or production environment. + */ + public Optional isSandbox() { + return isSandbox; + } + + /** + * The key to refresh the expired access token. + */ + public Optional refreshToken() { + return refreshToken; + } + + public PaypalTransaction sourceType() { + return sourceType; + } + + /** + * Start Date for data extraction in <a href=\"https://datatracker.ietf.org/doc/html/rfc3339#section-5.6\">ISO format</a>. Date must be in range from 3 years till 12 hrs before present time. + */ + public OffsetDateTime startDate() { + return startDate; + } + + /** + * The number of days per request. Must be a number between 1 and 31. + */ + public Optional timeWindow() { + return timeWindow; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your Paypal developer application. + */ + public SourcePaypalTransaction withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Paypal developer application. + */ + public SourcePaypalTransaction withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Start Date parameter for the list dispute endpoint in <a href=\"https://datatracker.ietf.org/doc/html/rfc3339#section-5.6\">ISO format</a>. This Start Date must be in range within 180 days before present time, and requires ONLY 3 miliseconds(mandatory). If you don't use this option, it defaults to a start date set 180 days in the past. + */ + public SourcePaypalTransaction withDisputeStartDate(OffsetDateTime disputeStartDate) { + Utils.checkNotNull(disputeStartDate, "disputeStartDate"); + this.disputeStartDate = Optional.ofNullable(disputeStartDate); + return this; + } + + /** + * Start Date parameter for the list dispute endpoint in <a href=\"https://datatracker.ietf.org/doc/html/rfc3339#section-5.6\">ISO format</a>. This Start Date must be in range within 180 days before present time, and requires ONLY 3 miliseconds(mandatory). If you don't use this option, it defaults to a start date set 180 days in the past. + */ + public SourcePaypalTransaction withDisputeStartDate(Optional disputeStartDate) { + Utils.checkNotNull(disputeStartDate, "disputeStartDate"); + this.disputeStartDate = disputeStartDate; + return this; + } + + /** + * End Date for data extraction in <a href=\"https://datatracker.ietf.org/doc/html/rfc3339#section-5.6\">ISO format</a>. This can be help you select specific range of time, mainly for test purposes or data integrity tests. When this is not used, now_utc() is used by the streams. This does not apply to Disputes and Product streams. + */ + public SourcePaypalTransaction withEndDate(OffsetDateTime endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * End Date for data extraction in <a href=\"https://datatracker.ietf.org/doc/html/rfc3339#section-5.6\">ISO format</a>. This can be help you select specific range of time, mainly for test purposes or data integrity tests. When this is not used, now_utc() is used by the streams. This does not apply to Disputes and Product streams. + */ + public SourcePaypalTransaction withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Determines whether to use the sandbox or production environment. + */ + public SourcePaypalTransaction withIsSandbox(boolean isSandbox) { + Utils.checkNotNull(isSandbox, "isSandbox"); + this.isSandbox = Optional.ofNullable(isSandbox); + return this; + } + + /** + * Determines whether to use the sandbox or production environment. + */ + public SourcePaypalTransaction withIsSandbox(Optional isSandbox) { + Utils.checkNotNull(isSandbox, "isSandbox"); + this.isSandbox = isSandbox; + return this; + } + + /** + * The key to refresh the expired access token. + */ + public SourcePaypalTransaction withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = Optional.ofNullable(refreshToken); + return this; + } + + /** + * The key to refresh the expired access token. + */ + public SourcePaypalTransaction withRefreshToken(Optional refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * Start Date for data extraction in <a href=\"https://datatracker.ietf.org/doc/html/rfc3339#section-5.6\">ISO format</a>. Date must be in range from 3 years till 12 hrs before present time. + */ + public SourcePaypalTransaction withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * The number of days per request. Must be a number between 1 and 31. + */ + public SourcePaypalTransaction withTimeWindow(long timeWindow) { + Utils.checkNotNull(timeWindow, "timeWindow"); + this.timeWindow = Optional.ofNullable(timeWindow); + return this; + } + + /** + * The number of days per request. Must be a number between 1 and 31. + */ + public SourcePaypalTransaction withTimeWindow(Optional timeWindow) { + Utils.checkNotNull(timeWindow, "timeWindow"); + this.timeWindow = timeWindow; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePaypalTransaction other = (SourcePaypalTransaction) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.disputeStartDate, other.disputeStartDate) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.isSandbox, other.isSandbox) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.timeWindow, other.timeWindow); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret, + disputeStartDate, + endDate, + isSandbox, + refreshToken, + sourceType, + startDate, + timeWindow); + } + + @Override + public String toString() { + return Utils.toString(SourcePaypalTransaction.class, + "clientId", clientId, + "clientSecret", clientSecret, + "disputeStartDate", disputeStartDate, + "endDate", endDate, + "isSandbox", isSandbox, + "refreshToken", refreshToken, + "sourceType", sourceType, + "startDate", startDate, + "timeWindow", timeWindow); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private Optional disputeStartDate = Optional.empty(); + + private Optional endDate = Optional.empty(); + + private Optional isSandbox; + + private Optional refreshToken = Optional.empty(); + + private OffsetDateTime startDate; + + private Optional timeWindow; + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your Paypal developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Paypal developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Start Date parameter for the list dispute endpoint in <a href=\"https://datatracker.ietf.org/doc/html/rfc3339#section-5.6\">ISO format</a>. This Start Date must be in range within 180 days before present time, and requires ONLY 3 miliseconds(mandatory). If you don't use this option, it defaults to a start date set 180 days in the past. + */ + public Builder disputeStartDate(OffsetDateTime disputeStartDate) { + Utils.checkNotNull(disputeStartDate, "disputeStartDate"); + this.disputeStartDate = Optional.ofNullable(disputeStartDate); + return this; + } + + /** + * Start Date parameter for the list dispute endpoint in <a href=\"https://datatracker.ietf.org/doc/html/rfc3339#section-5.6\">ISO format</a>. This Start Date must be in range within 180 days before present time, and requires ONLY 3 miliseconds(mandatory). If you don't use this option, it defaults to a start date set 180 days in the past. + */ + public Builder disputeStartDate(Optional disputeStartDate) { + Utils.checkNotNull(disputeStartDate, "disputeStartDate"); + this.disputeStartDate = disputeStartDate; + return this; + } + + /** + * End Date for data extraction in <a href=\"https://datatracker.ietf.org/doc/html/rfc3339#section-5.6\">ISO format</a>. This can be help you select specific range of time, mainly for test purposes or data integrity tests. When this is not used, now_utc() is used by the streams. This does not apply to Disputes and Product streams. + */ + public Builder endDate(OffsetDateTime endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * End Date for data extraction in <a href=\"https://datatracker.ietf.org/doc/html/rfc3339#section-5.6\">ISO format</a>. This can be help you select specific range of time, mainly for test purposes or data integrity tests. When this is not used, now_utc() is used by the streams. This does not apply to Disputes and Product streams. + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Determines whether to use the sandbox or production environment. + */ + public Builder isSandbox(boolean isSandbox) { + Utils.checkNotNull(isSandbox, "isSandbox"); + this.isSandbox = Optional.ofNullable(isSandbox); + return this; + } + + /** + * Determines whether to use the sandbox or production environment. + */ + public Builder isSandbox(Optional isSandbox) { + Utils.checkNotNull(isSandbox, "isSandbox"); + this.isSandbox = isSandbox; + return this; + } + + /** + * The key to refresh the expired access token. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = Optional.ofNullable(refreshToken); + return this; + } + + /** + * The key to refresh the expired access token. + */ + public Builder refreshToken(Optional refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * Start Date for data extraction in <a href=\"https://datatracker.ietf.org/doc/html/rfc3339#section-5.6\">ISO format</a>. Date must be in range from 3 years till 12 hrs before present time. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * The number of days per request. Must be a number between 1 and 31. + */ + public Builder timeWindow(long timeWindow) { + Utils.checkNotNull(timeWindow, "timeWindow"); + this.timeWindow = Optional.ofNullable(timeWindow); + return this; + } + + /** + * The number of days per request. Must be a number between 1 and 31. + */ + public Builder timeWindow(Optional timeWindow) { + Utils.checkNotNull(timeWindow, "timeWindow"); + this.timeWindow = timeWindow; + return this; + } + + public SourcePaypalTransaction build() { + if (isSandbox == null) { + isSandbox = _SINGLETON_VALUE_IsSandbox.value(); + } + if (timeWindow == null) { + timeWindow = _SINGLETON_VALUE_TimeWindow.value(); + } + return new SourcePaypalTransaction( + clientId, + clientSecret, + disputeStartDate, + endDate, + isSandbox, + refreshToken, + startDate, + timeWindow); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_IsSandbox = + new LazySingletonValue<>( + "is_sandbox", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"paypal-transaction\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TimeWindow = + new LazySingletonValue<>( + "time_window", + "7", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePaystack.java b/src/main/java/com/airbyte/api/models/shared/SourcePaystack.java new file mode 100644 index 000000000..26d9395bb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePaystack.java @@ -0,0 +1,231 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourcePaystack { + + /** + * When set, the connector will always reload data from the past N days, where N is the value set here. This is useful if your data is updated after creation. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lookback_window_days") + private Optional lookbackWindowDays; + + /** + * The Paystack API key (usually starts with 'sk_live_'; find yours <a href="https://dashboard.paystack.com/#/settings/developer">here</a>). + */ + @JsonProperty("secret_key") + private String secretKey; + + @JsonProperty("sourceType") + private Paystack sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + public SourcePaystack( + @JsonProperty("lookback_window_days") Optional lookbackWindowDays, + @JsonProperty("secret_key") String secretKey, + @JsonProperty("start_date") OffsetDateTime startDate) { + Utils.checkNotNull(lookbackWindowDays, "lookbackWindowDays"); + Utils.checkNotNull(secretKey, "secretKey"); + Utils.checkNotNull(startDate, "startDate"); + this.lookbackWindowDays = lookbackWindowDays; + this.secretKey = secretKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * When set, the connector will always reload data from the past N days, where N is the value set here. This is useful if your data is updated after creation. + */ + public Optional lookbackWindowDays() { + return lookbackWindowDays; + } + + /** + * The Paystack API key (usually starts with 'sk_live_'; find yours <a href="https://dashboard.paystack.com/#/settings/developer">here</a>). + */ + public String secretKey() { + return secretKey; + } + + public Paystack sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * When set, the connector will always reload data from the past N days, where N is the value set here. This is useful if your data is updated after creation. + */ + public SourcePaystack withLookbackWindowDays(long lookbackWindowDays) { + Utils.checkNotNull(lookbackWindowDays, "lookbackWindowDays"); + this.lookbackWindowDays = Optional.ofNullable(lookbackWindowDays); + return this; + } + + /** + * When set, the connector will always reload data from the past N days, where N is the value set here. This is useful if your data is updated after creation. + */ + public SourcePaystack withLookbackWindowDays(Optional lookbackWindowDays) { + Utils.checkNotNull(lookbackWindowDays, "lookbackWindowDays"); + this.lookbackWindowDays = lookbackWindowDays; + return this; + } + + /** + * The Paystack API key (usually starts with 'sk_live_'; find yours <a href="https://dashboard.paystack.com/#/settings/developer">here</a>). + */ + public SourcePaystack withSecretKey(String secretKey) { + Utils.checkNotNull(secretKey, "secretKey"); + this.secretKey = secretKey; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public SourcePaystack withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePaystack other = (SourcePaystack) o; + return + java.util.Objects.deepEquals(this.lookbackWindowDays, other.lookbackWindowDays) && + java.util.Objects.deepEquals(this.secretKey, other.secretKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + lookbackWindowDays, + secretKey, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourcePaystack.class, + "lookbackWindowDays", lookbackWindowDays, + "secretKey", secretKey, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private Optional lookbackWindowDays; + + private String secretKey; + + private OffsetDateTime startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * When set, the connector will always reload data from the past N days, where N is the value set here. This is useful if your data is updated after creation. + */ + public Builder lookbackWindowDays(long lookbackWindowDays) { + Utils.checkNotNull(lookbackWindowDays, "lookbackWindowDays"); + this.lookbackWindowDays = Optional.ofNullable(lookbackWindowDays); + return this; + } + + /** + * When set, the connector will always reload data from the past N days, where N is the value set here. This is useful if your data is updated after creation. + */ + public Builder lookbackWindowDays(Optional lookbackWindowDays) { + Utils.checkNotNull(lookbackWindowDays, "lookbackWindowDays"); + this.lookbackWindowDays = lookbackWindowDays; + return this; + } + + /** + * The Paystack API key (usually starts with 'sk_live_'; find yours <a href="https://dashboard.paystack.com/#/settings/developer">here</a>). + */ + public Builder secretKey(String secretKey) { + Utils.checkNotNull(secretKey, "secretKey"); + this.secretKey = secretKey; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourcePaystack build() { + if (lookbackWindowDays == null) { + lookbackWindowDays = _SINGLETON_VALUE_LookbackWindowDays.value(); + } + return new SourcePaystack( + lookbackWindowDays, + secretKey, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_LookbackWindowDays = + new LazySingletonValue<>( + "lookback_window_days", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"paystack\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePendo.java b/src/main/java/com/airbyte/api/models/shared/SourcePendo.java new file mode 100644 index 000000000..cacd72155 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePendo.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourcePendo { + + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private Pendo sourceType; + + public SourcePendo( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + public String apiKey() { + return apiKey; + } + + public Pendo sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourcePendo withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePendo other = (SourcePendo) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourcePendo.class, + "apiKey", apiKey, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public SourcePendo build() { + return new SourcePendo( + apiKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"pendo\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePersistiq.java b/src/main/java/com/airbyte/api/models/shared/SourcePersistiq.java new file mode 100644 index 000000000..549c24346 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePersistiq.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourcePersistiq { + + /** + * PersistIq API Key. See the <a href="https://apidocs.persistiq.com/#authentication">docs</a> for more information on where to find that key. + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private Persistiq sourceType; + + public SourcePersistiq( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * PersistIq API Key. See the <a href="https://apidocs.persistiq.com/#authentication">docs</a> for more information on where to find that key. + */ + public String apiKey() { + return apiKey; + } + + public Persistiq sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * PersistIq API Key. See the <a href="https://apidocs.persistiq.com/#authentication">docs</a> for more information on where to find that key. + */ + public SourcePersistiq withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePersistiq other = (SourcePersistiq) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourcePersistiq.class, + "apiKey", apiKey, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * PersistIq API Key. See the <a href="https://apidocs.persistiq.com/#authentication">docs</a> for more information on where to find that key. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public SourcePersistiq build() { + return new SourcePersistiq( + apiKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"persistiq\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePexelsApi.java b/src/main/java/com/airbyte/api/models/shared/SourcePexelsApi.java new file mode 100644 index 000000000..beb69dbc2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePexelsApi.java @@ -0,0 +1,396 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourcePexelsApi { + + /** + * API key is required to access pexels api, For getting your's goto https://www.pexels.com/api/documentation and create account for free. + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * Optional, Desired photo color. Supported colors red, orange, yellow, green, turquoise, blue, violet, pink, brown, black, gray, white or any hexidecimal color code. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("color") + private Optional color; + + /** + * Optional, The locale of the search you are performing. The current supported locales are 'en-US' 'pt-BR' 'es-ES' 'ca-ES' 'de-DE' 'it-IT' 'fr-FR' 'sv-SE' 'id-ID' 'pl-PL' 'ja-JP' 'zh-TW' 'zh-CN' 'ko-KR' 'th-TH' 'nl-NL' 'hu-HU' 'vi-VN' 'cs-CZ' 'da-DK' 'fi-FI' 'uk-UA' 'el-GR' 'ro-RO' 'nb-NO' 'sk-SK' 'tr-TR' 'ru-RU'. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("locale") + private Optional locale; + + /** + * Optional, Desired photo orientation. The current supported orientations are landscape, portrait or square + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("orientation") + private Optional orientation; + + /** + * Optional, the search query, Example Ocean, Tigers, Pears, etc. + */ + @JsonProperty("query") + private String query; + + /** + * Optional, Minimum photo size. The current supported sizes are large(24MP), medium(12MP) or small(4MP). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("size") + private Optional size; + + @JsonProperty("sourceType") + private PexelsApi sourceType; + + public SourcePexelsApi( + @JsonProperty("api_key") String apiKey, + @JsonProperty("color") Optional color, + @JsonProperty("locale") Optional locale, + @JsonProperty("orientation") Optional orientation, + @JsonProperty("query") String query, + @JsonProperty("size") Optional size) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(color, "color"); + Utils.checkNotNull(locale, "locale"); + Utils.checkNotNull(orientation, "orientation"); + Utils.checkNotNull(query, "query"); + Utils.checkNotNull(size, "size"); + this.apiKey = apiKey; + this.color = color; + this.locale = locale; + this.orientation = orientation; + this.query = query; + this.size = size; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * API key is required to access pexels api, For getting your's goto https://www.pexels.com/api/documentation and create account for free. + */ + public String apiKey() { + return apiKey; + } + + /** + * Optional, Desired photo color. Supported colors red, orange, yellow, green, turquoise, blue, violet, pink, brown, black, gray, white or any hexidecimal color code. + */ + public Optional color() { + return color; + } + + /** + * Optional, The locale of the search you are performing. The current supported locales are 'en-US' 'pt-BR' 'es-ES' 'ca-ES' 'de-DE' 'it-IT' 'fr-FR' 'sv-SE' 'id-ID' 'pl-PL' 'ja-JP' 'zh-TW' 'zh-CN' 'ko-KR' 'th-TH' 'nl-NL' 'hu-HU' 'vi-VN' 'cs-CZ' 'da-DK' 'fi-FI' 'uk-UA' 'el-GR' 'ro-RO' 'nb-NO' 'sk-SK' 'tr-TR' 'ru-RU'. + */ + public Optional locale() { + return locale; + } + + /** + * Optional, Desired photo orientation. The current supported orientations are landscape, portrait or square + */ + public Optional orientation() { + return orientation; + } + + /** + * Optional, the search query, Example Ocean, Tigers, Pears, etc. + */ + public String query() { + return query; + } + + /** + * Optional, Minimum photo size. The current supported sizes are large(24MP), medium(12MP) or small(4MP). + */ + public Optional size() { + return size; + } + + public PexelsApi sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API key is required to access pexels api, For getting your's goto https://www.pexels.com/api/documentation and create account for free. + */ + public SourcePexelsApi withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Optional, Desired photo color. Supported colors red, orange, yellow, green, turquoise, blue, violet, pink, brown, black, gray, white or any hexidecimal color code. + */ + public SourcePexelsApi withColor(String color) { + Utils.checkNotNull(color, "color"); + this.color = Optional.ofNullable(color); + return this; + } + + /** + * Optional, Desired photo color. Supported colors red, orange, yellow, green, turquoise, blue, violet, pink, brown, black, gray, white or any hexidecimal color code. + */ + public SourcePexelsApi withColor(Optional color) { + Utils.checkNotNull(color, "color"); + this.color = color; + return this; + } + + /** + * Optional, The locale of the search you are performing. The current supported locales are 'en-US' 'pt-BR' 'es-ES' 'ca-ES' 'de-DE' 'it-IT' 'fr-FR' 'sv-SE' 'id-ID' 'pl-PL' 'ja-JP' 'zh-TW' 'zh-CN' 'ko-KR' 'th-TH' 'nl-NL' 'hu-HU' 'vi-VN' 'cs-CZ' 'da-DK' 'fi-FI' 'uk-UA' 'el-GR' 'ro-RO' 'nb-NO' 'sk-SK' 'tr-TR' 'ru-RU'. + */ + public SourcePexelsApi withLocale(String locale) { + Utils.checkNotNull(locale, "locale"); + this.locale = Optional.ofNullable(locale); + return this; + } + + /** + * Optional, The locale of the search you are performing. The current supported locales are 'en-US' 'pt-BR' 'es-ES' 'ca-ES' 'de-DE' 'it-IT' 'fr-FR' 'sv-SE' 'id-ID' 'pl-PL' 'ja-JP' 'zh-TW' 'zh-CN' 'ko-KR' 'th-TH' 'nl-NL' 'hu-HU' 'vi-VN' 'cs-CZ' 'da-DK' 'fi-FI' 'uk-UA' 'el-GR' 'ro-RO' 'nb-NO' 'sk-SK' 'tr-TR' 'ru-RU'. + */ + public SourcePexelsApi withLocale(Optional locale) { + Utils.checkNotNull(locale, "locale"); + this.locale = locale; + return this; + } + + /** + * Optional, Desired photo orientation. The current supported orientations are landscape, portrait or square + */ + public SourcePexelsApi withOrientation(String orientation) { + Utils.checkNotNull(orientation, "orientation"); + this.orientation = Optional.ofNullable(orientation); + return this; + } + + /** + * Optional, Desired photo orientation. The current supported orientations are landscape, portrait or square + */ + public SourcePexelsApi withOrientation(Optional orientation) { + Utils.checkNotNull(orientation, "orientation"); + this.orientation = orientation; + return this; + } + + /** + * Optional, the search query, Example Ocean, Tigers, Pears, etc. + */ + public SourcePexelsApi withQuery(String query) { + Utils.checkNotNull(query, "query"); + this.query = query; + return this; + } + + /** + * Optional, Minimum photo size. The current supported sizes are large(24MP), medium(12MP) or small(4MP). + */ + public SourcePexelsApi withSize(String size) { + Utils.checkNotNull(size, "size"); + this.size = Optional.ofNullable(size); + return this; + } + + /** + * Optional, Minimum photo size. The current supported sizes are large(24MP), medium(12MP) or small(4MP). + */ + public SourcePexelsApi withSize(Optional size) { + Utils.checkNotNull(size, "size"); + this.size = size; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePexelsApi other = (SourcePexelsApi) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.color, other.color) && + java.util.Objects.deepEquals(this.locale, other.locale) && + java.util.Objects.deepEquals(this.orientation, other.orientation) && + java.util.Objects.deepEquals(this.query, other.query) && + java.util.Objects.deepEquals(this.size, other.size) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + color, + locale, + orientation, + query, + size, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourcePexelsApi.class, + "apiKey", apiKey, + "color", color, + "locale", locale, + "orientation", orientation, + "query", query, + "size", size, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Optional color = Optional.empty(); + + private Optional locale = Optional.empty(); + + private Optional orientation = Optional.empty(); + + private String query; + + private Optional size = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * API key is required to access pexels api, For getting your's goto https://www.pexels.com/api/documentation and create account for free. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Optional, Desired photo color. Supported colors red, orange, yellow, green, turquoise, blue, violet, pink, brown, black, gray, white or any hexidecimal color code. + */ + public Builder color(String color) { + Utils.checkNotNull(color, "color"); + this.color = Optional.ofNullable(color); + return this; + } + + /** + * Optional, Desired photo color. Supported colors red, orange, yellow, green, turquoise, blue, violet, pink, brown, black, gray, white or any hexidecimal color code. + */ + public Builder color(Optional color) { + Utils.checkNotNull(color, "color"); + this.color = color; + return this; + } + + /** + * Optional, The locale of the search you are performing. The current supported locales are 'en-US' 'pt-BR' 'es-ES' 'ca-ES' 'de-DE' 'it-IT' 'fr-FR' 'sv-SE' 'id-ID' 'pl-PL' 'ja-JP' 'zh-TW' 'zh-CN' 'ko-KR' 'th-TH' 'nl-NL' 'hu-HU' 'vi-VN' 'cs-CZ' 'da-DK' 'fi-FI' 'uk-UA' 'el-GR' 'ro-RO' 'nb-NO' 'sk-SK' 'tr-TR' 'ru-RU'. + */ + public Builder locale(String locale) { + Utils.checkNotNull(locale, "locale"); + this.locale = Optional.ofNullable(locale); + return this; + } + + /** + * Optional, The locale of the search you are performing. The current supported locales are 'en-US' 'pt-BR' 'es-ES' 'ca-ES' 'de-DE' 'it-IT' 'fr-FR' 'sv-SE' 'id-ID' 'pl-PL' 'ja-JP' 'zh-TW' 'zh-CN' 'ko-KR' 'th-TH' 'nl-NL' 'hu-HU' 'vi-VN' 'cs-CZ' 'da-DK' 'fi-FI' 'uk-UA' 'el-GR' 'ro-RO' 'nb-NO' 'sk-SK' 'tr-TR' 'ru-RU'. + */ + public Builder locale(Optional locale) { + Utils.checkNotNull(locale, "locale"); + this.locale = locale; + return this; + } + + /** + * Optional, Desired photo orientation. The current supported orientations are landscape, portrait or square + */ + public Builder orientation(String orientation) { + Utils.checkNotNull(orientation, "orientation"); + this.orientation = Optional.ofNullable(orientation); + return this; + } + + /** + * Optional, Desired photo orientation. The current supported orientations are landscape, portrait or square + */ + public Builder orientation(Optional orientation) { + Utils.checkNotNull(orientation, "orientation"); + this.orientation = orientation; + return this; + } + + /** + * Optional, the search query, Example Ocean, Tigers, Pears, etc. + */ + public Builder query(String query) { + Utils.checkNotNull(query, "query"); + this.query = query; + return this; + } + + /** + * Optional, Minimum photo size. The current supported sizes are large(24MP), medium(12MP) or small(4MP). + */ + public Builder size(String size) { + Utils.checkNotNull(size, "size"); + this.size = Optional.ofNullable(size); + return this; + } + + /** + * Optional, Minimum photo size. The current supported sizes are large(24MP), medium(12MP) or small(4MP). + */ + public Builder size(Optional size) { + Utils.checkNotNull(size, "size"); + this.size = size; + return this; + } + + public SourcePexelsApi build() { + return new SourcePexelsApi( + apiKey, + color, + locale, + orientation, + query, + size); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"pexels-api\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePinterest.java b/src/main/java/com/airbyte/api/models/shared/SourcePinterest.java new file mode 100644 index 000000000..74236a781 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePinterest.java @@ -0,0 +1,301 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class SourcePinterest { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + /** + * A list which contains ad statistics entries, each entry must have a name and can contains fields, breakdowns or action_breakdowns. Click on "add" to fill this field. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("custom_reports") + private Optional> customReports; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sourceType") + private Optional sourceType; + + /** + * A date in the format YYYY-MM-DD. If you have not set a date, it would be defaulted to latest allowed date by api (89 days from today). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + /** + * For the ads, ad_groups, and campaigns streams, specifying a status will filter out records that do not match the specified ones. If a status is not specified, the source will default to records with a status of either ACTIVE or PAUSED. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("status") + private JsonNullable> status; + + public SourcePinterest( + @JsonProperty("credentials") Optional credentials, + @JsonProperty("custom_reports") Optional> customReports, + @JsonProperty("start_date") Optional startDate, + @JsonProperty("status") JsonNullable> status) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(customReports, "customReports"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(status, "status"); + this.credentials = credentials; + this.customReports = customReports; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.status = status; + } + + public Optional credentials() { + return credentials; + } + + /** + * A list which contains ad statistics entries, each entry must have a name and can contains fields, breakdowns or action_breakdowns. Click on "add" to fill this field. + */ + public Optional> customReports() { + return customReports; + } + + public Optional sourceType() { + return sourceType; + } + + /** + * A date in the format YYYY-MM-DD. If you have not set a date, it would be defaulted to latest allowed date by api (89 days from today). + */ + public Optional startDate() { + return startDate; + } + + /** + * For the ads, ad_groups, and campaigns streams, specifying a status will filter out records that do not match the specified ones. If a status is not specified, the source will default to records with a status of either ACTIVE or PAUSED. + */ + public JsonNullable> status() { + return status; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourcePinterest withCredentials(OAuth20 credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public SourcePinterest withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * A list which contains ad statistics entries, each entry must have a name and can contains fields, breakdowns or action_breakdowns. Click on "add" to fill this field. + */ + public SourcePinterest withCustomReports(java.util.List customReports) { + Utils.checkNotNull(customReports, "customReports"); + this.customReports = Optional.ofNullable(customReports); + return this; + } + + /** + * A list which contains ad statistics entries, each entry must have a name and can contains fields, breakdowns or action_breakdowns. Click on "add" to fill this field. + */ + public SourcePinterest withCustomReports(Optional> customReports) { + Utils.checkNotNull(customReports, "customReports"); + this.customReports = customReports; + return this; + } + + /** + * A date in the format YYYY-MM-DD. If you have not set a date, it would be defaulted to latest allowed date by api (89 days from today). + */ + public SourcePinterest withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * A date in the format YYYY-MM-DD. If you have not set a date, it would be defaulted to latest allowed date by api (89 days from today). + */ + public SourcePinterest withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * For the ads, ad_groups, and campaigns streams, specifying a status will filter out records that do not match the specified ones. If a status is not specified, the source will default to records with a status of either ACTIVE or PAUSED. + */ + public SourcePinterest withStatus(java.util.List status) { + Utils.checkNotNull(status, "status"); + this.status = JsonNullable.of(status); + return this; + } + + /** + * For the ads, ad_groups, and campaigns streams, specifying a status will filter out records that do not match the specified ones. If a status is not specified, the source will default to records with a status of either ACTIVE or PAUSED. + */ + public SourcePinterest withStatus(JsonNullable> status) { + Utils.checkNotNull(status, "status"); + this.status = status; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePinterest other = (SourcePinterest) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.customReports, other.customReports) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.status, other.status); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + customReports, + sourceType, + startDate, + status); + } + + @Override + public String toString() { + return Utils.toString(SourcePinterest.class, + "credentials", credentials, + "customReports", customReports, + "sourceType", sourceType, + "startDate", startDate, + "status", status); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Optional> customReports = Optional.empty(); + + private Optional startDate = Optional.empty(); + + private JsonNullable> status = JsonNullable.undefined(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(OAuth20 credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * A list which contains ad statistics entries, each entry must have a name and can contains fields, breakdowns or action_breakdowns. Click on "add" to fill this field. + */ + public Builder customReports(java.util.List customReports) { + Utils.checkNotNull(customReports, "customReports"); + this.customReports = Optional.ofNullable(customReports); + return this; + } + + /** + * A list which contains ad statistics entries, each entry must have a name and can contains fields, breakdowns or action_breakdowns. Click on "add" to fill this field. + */ + public Builder customReports(Optional> customReports) { + Utils.checkNotNull(customReports, "customReports"); + this.customReports = customReports; + return this; + } + + /** + * A date in the format YYYY-MM-DD. If you have not set a date, it would be defaulted to latest allowed date by api (89 days from today). + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * A date in the format YYYY-MM-DD. If you have not set a date, it would be defaulted to latest allowed date by api (89 days from today). + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * For the ads, ad_groups, and campaigns streams, specifying a status will filter out records that do not match the specified ones. If a status is not specified, the source will default to records with a status of either ACTIVE or PAUSED. + */ + public Builder status(java.util.List status) { + Utils.checkNotNull(status, "status"); + this.status = JsonNullable.of(status); + return this; + } + + /** + * For the ads, ad_groups, and campaigns streams, specifying a status will filter out records that do not match the specified ones. If a status is not specified, the source will default to records with a status of either ACTIVE or PAUSED. + */ + public Builder status(JsonNullable> status) { + Utils.checkNotNull(status, "status"); + this.status = status; + return this; + } + + public SourcePinterest build() { + return new SourcePinterest( + credentials, + customReports, + startDate, + status); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"pinterest\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePinterestAuthMethod.java b/src/main/java/com/airbyte/api/models/shared/SourcePinterestAuthMethod.java new file mode 100644 index 000000000..5d30e433d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePinterestAuthMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourcePinterestAuthMethod { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private SourcePinterestAuthMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePinterestLevel.java b/src/main/java/com/airbyte/api/models/shared/SourcePinterestLevel.java new file mode 100644 index 000000000..593d35d76 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePinterestLevel.java @@ -0,0 +1,43 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourcePinterestLevel - Chosen level for API + */ +public enum SourcePinterestLevel { + ADVERTISER("ADVERTISER"), + ADVERTISER_TARGETING("ADVERTISER_TARGETING"), + CAMPAIGN("CAMPAIGN"), + CAMPAIGN_TARGETING("CAMPAIGN_TARGETING"), + AD_GROUP("AD_GROUP"), + AD_GROUP_TARGETING("AD_GROUP_TARGETING"), + PIN_PROMOTION("PIN_PROMOTION"), + PIN_PROMOTION_TARGETING("PIN_PROMOTION_TARGETING"), + KEYWORD("KEYWORD"), + PRODUCT_GROUP("PRODUCT_GROUP"), + PRODUCT_GROUP_TARGETING("PRODUCT_GROUP_TARGETING"), + PRODUCT_ITEM("PRODUCT_ITEM"); + + @JsonValue + private final String value; + + private SourcePinterestLevel(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePinterestPinterest.java b/src/main/java/com/airbyte/api/models/shared/SourcePinterestPinterest.java new file mode 100644 index 000000000..58e6ec9ff --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePinterestPinterest.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourcePinterestPinterest { + PINTEREST("pinterest"); + + @JsonValue + private final String value; + + private SourcePinterestPinterest(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePinterestSchemasValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourcePinterestSchemasValidEnums.java new file mode 100644 index 000000000..24f5cd011 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePinterestSchemasValidEnums.java @@ -0,0 +1,143 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourcePinterestSchemasValidEnums - An enumeration. + */ +public enum SourcePinterestSchemasValidEnums { + ADVERTISER_ID("ADVERTISER_ID"), + AD_ACCOUNT_ID("AD_ACCOUNT_ID"), + AD_GROUP_ENTITY_STATUS("AD_GROUP_ENTITY_STATUS"), + AD_GROUP_ID("AD_GROUP_ID"), + AD_ID("AD_ID"), + CAMPAIGN_DAILY_SPEND_CAP("CAMPAIGN_DAILY_SPEND_CAP"), + CAMPAIGN_ENTITY_STATUS("CAMPAIGN_ENTITY_STATUS"), + CAMPAIGN_ID("CAMPAIGN_ID"), + CAMPAIGN_LIFETIME_SPEND_CAP("CAMPAIGN_LIFETIME_SPEND_CAP"), + CAMPAIGN_NAME("CAMPAIGN_NAME"), + CHECKOUT_ROAS("CHECKOUT_ROAS"), + CLICKTHROUGH1("CLICKTHROUGH_1"), + CLICKTHROUGH1_GROSS("CLICKTHROUGH_1_GROSS"), + CLICKTHROUGH2("CLICKTHROUGH_2"), + CPC_IN_MICRO_DOLLAR("CPC_IN_MICRO_DOLLAR"), + CPM_IN_DOLLAR("CPM_IN_DOLLAR"), + CPM_IN_MICRO_DOLLAR("CPM_IN_MICRO_DOLLAR"), + CTR("CTR"), + CTR2("CTR_2"), + ECPCV_IN_DOLLAR("ECPCV_IN_DOLLAR"), + ECPCV_P95_IN_DOLLAR("ECPCV_P95_IN_DOLLAR"), + ECPC_IN_DOLLAR("ECPC_IN_DOLLAR"), + ECPC_IN_MICRO_DOLLAR("ECPC_IN_MICRO_DOLLAR"), + ECPE_IN_DOLLAR("ECPE_IN_DOLLAR"), + ECPM_IN_MICRO_DOLLAR("ECPM_IN_MICRO_DOLLAR"), + ECPV_IN_DOLLAR("ECPV_IN_DOLLAR"), + ECTR("ECTR"), + EENGAGEMENT_RATE("EENGAGEMENT_RATE"), + ENGAGEMENT1("ENGAGEMENT_1"), + ENGAGEMENT2("ENGAGEMENT_2"), + ENGAGEMENT_RATE("ENGAGEMENT_RATE"), + IDEA_PIN_PRODUCT_TAG_VISIT1("IDEA_PIN_PRODUCT_TAG_VISIT_1"), + IDEA_PIN_PRODUCT_TAG_VISIT2("IDEA_PIN_PRODUCT_TAG_VISIT_2"), + IMPRESSION1("IMPRESSION_1"), + IMPRESSION1_GROSS("IMPRESSION_1_GROSS"), + IMPRESSION2("IMPRESSION_2"), + INAPP_CHECKOUT_COST_PER_ACTION("INAPP_CHECKOUT_COST_PER_ACTION"), + OUTBOUND_CLICK1("OUTBOUND_CLICK_1"), + OUTBOUND_CLICK2("OUTBOUND_CLICK_2"), + PAGE_VISIT_COST_PER_ACTION("PAGE_VISIT_COST_PER_ACTION"), + PAGE_VISIT_ROAS("PAGE_VISIT_ROAS"), + PAID_IMPRESSION("PAID_IMPRESSION"), + PIN_ID("PIN_ID"), + PIN_PROMOTION_ID("PIN_PROMOTION_ID"), + REPIN1("REPIN_1"), + REPIN2("REPIN_2"), + REPIN_RATE("REPIN_RATE"), + SPEND_IN_DOLLAR("SPEND_IN_DOLLAR"), + SPEND_IN_MICRO_DOLLAR("SPEND_IN_MICRO_DOLLAR"), + TOTAL_CHECKOUT("TOTAL_CHECKOUT"), + TOTAL_CHECKOUT_VALUE_IN_MICRO_DOLLAR("TOTAL_CHECKOUT_VALUE_IN_MICRO_DOLLAR"), + TOTAL_CLICKTHROUGH("TOTAL_CLICKTHROUGH"), + TOTAL_CLICK_ADD_TO_CART("TOTAL_CLICK_ADD_TO_CART"), + TOTAL_CLICK_CHECKOUT("TOTAL_CLICK_CHECKOUT"), + TOTAL_CLICK_CHECKOUT_VALUE_IN_MICRO_DOLLAR("TOTAL_CLICK_CHECKOUT_VALUE_IN_MICRO_DOLLAR"), + TOTAL_CLICK_LEAD("TOTAL_CLICK_LEAD"), + TOTAL_CLICK_SIGNUP("TOTAL_CLICK_SIGNUP"), + TOTAL_CLICK_SIGNUP_VALUE_IN_MICRO_DOLLAR("TOTAL_CLICK_SIGNUP_VALUE_IN_MICRO_DOLLAR"), + TOTAL_CONVERSIONS("TOTAL_CONVERSIONS"), + TOTAL_CUSTOM("TOTAL_CUSTOM"), + TOTAL_ENGAGEMENT("TOTAL_ENGAGEMENT"), + TOTAL_ENGAGEMENT_CHECKOUT("TOTAL_ENGAGEMENT_CHECKOUT"), + TOTAL_ENGAGEMENT_CHECKOUT_VALUE_IN_MICRO_DOLLAR("TOTAL_ENGAGEMENT_CHECKOUT_VALUE_IN_MICRO_DOLLAR"), + TOTAL_ENGAGEMENT_LEAD("TOTAL_ENGAGEMENT_LEAD"), + TOTAL_ENGAGEMENT_SIGNUP("TOTAL_ENGAGEMENT_SIGNUP"), + TOTAL_ENGAGEMENT_SIGNUP_VALUE_IN_MICRO_DOLLAR("TOTAL_ENGAGEMENT_SIGNUP_VALUE_IN_MICRO_DOLLAR"), + TOTAL_IDEA_PIN_PRODUCT_TAG_VISIT("TOTAL_IDEA_PIN_PRODUCT_TAG_VISIT"), + TOTAL_IMPRESSION_FREQUENCY("TOTAL_IMPRESSION_FREQUENCY"), + TOTAL_IMPRESSION_USER("TOTAL_IMPRESSION_USER"), + TOTAL_LEAD("TOTAL_LEAD"), + TOTAL_OFFLINE_CHECKOUT("TOTAL_OFFLINE_CHECKOUT"), + TOTAL_PAGE_VISIT("TOTAL_PAGE_VISIT"), + TOTAL_REPIN_RATE("TOTAL_REPIN_RATE"), + TOTAL_SIGNUP("TOTAL_SIGNUP"), + TOTAL_SIGNUP_VALUE_IN_MICRO_DOLLAR("TOTAL_SIGNUP_VALUE_IN_MICRO_DOLLAR"), + TOTAL_VIDEO3_SEC_VIEWS("TOTAL_VIDEO_3SEC_VIEWS"), + TOTAL_VIDEO_AVG_WATCHTIME_IN_SECOND("TOTAL_VIDEO_AVG_WATCHTIME_IN_SECOND"), + TOTAL_VIDEO_MRC_VIEWS("TOTAL_VIDEO_MRC_VIEWS"), + TOTAL_VIDEO_P0_COMBINED("TOTAL_VIDEO_P0_COMBINED"), + TOTAL_VIDEO_P100_COMPLETE("TOTAL_VIDEO_P100_COMPLETE"), + TOTAL_VIDEO_P25_COMBINED("TOTAL_VIDEO_P25_COMBINED"), + TOTAL_VIDEO_P50_COMBINED("TOTAL_VIDEO_P50_COMBINED"), + TOTAL_VIDEO_P75_COMBINED("TOTAL_VIDEO_P75_COMBINED"), + TOTAL_VIDEO_P95_COMBINED("TOTAL_VIDEO_P95_COMBINED"), + TOTAL_VIEW_ADD_TO_CART("TOTAL_VIEW_ADD_TO_CART"), + TOTAL_VIEW_CHECKOUT("TOTAL_VIEW_CHECKOUT"), + TOTAL_VIEW_CHECKOUT_VALUE_IN_MICRO_DOLLAR("TOTAL_VIEW_CHECKOUT_VALUE_IN_MICRO_DOLLAR"), + TOTAL_VIEW_LEAD("TOTAL_VIEW_LEAD"), + TOTAL_VIEW_SIGNUP("TOTAL_VIEW_SIGNUP"), + TOTAL_VIEW_SIGNUP_VALUE_IN_MICRO_DOLLAR("TOTAL_VIEW_SIGNUP_VALUE_IN_MICRO_DOLLAR"), + TOTAL_WEB_CHECKOUT("TOTAL_WEB_CHECKOUT"), + TOTAL_WEB_CHECKOUT_VALUE_IN_MICRO_DOLLAR("TOTAL_WEB_CHECKOUT_VALUE_IN_MICRO_DOLLAR"), + TOTAL_WEB_CLICK_CHECKOUT("TOTAL_WEB_CLICK_CHECKOUT"), + TOTAL_WEB_CLICK_CHECKOUT_VALUE_IN_MICRO_DOLLAR("TOTAL_WEB_CLICK_CHECKOUT_VALUE_IN_MICRO_DOLLAR"), + TOTAL_WEB_ENGAGEMENT_CHECKOUT("TOTAL_WEB_ENGAGEMENT_CHECKOUT"), + TOTAL_WEB_ENGAGEMENT_CHECKOUT_VALUE_IN_MICRO_DOLLAR("TOTAL_WEB_ENGAGEMENT_CHECKOUT_VALUE_IN_MICRO_DOLLAR"), + TOTAL_WEB_SESSIONS("TOTAL_WEB_SESSIONS"), + TOTAL_WEB_VIEW_CHECKOUT("TOTAL_WEB_VIEW_CHECKOUT"), + TOTAL_WEB_VIEW_CHECKOUT_VALUE_IN_MICRO_DOLLAR("TOTAL_WEB_VIEW_CHECKOUT_VALUE_IN_MICRO_DOLLAR"), + VIDEO3_SEC_VIEWS2("VIDEO_3SEC_VIEWS_2"), + VIDEO_LENGTH("VIDEO_LENGTH"), + VIDEO_MRC_VIEWS2("VIDEO_MRC_VIEWS_2"), + VIDEO_P0_COMBINED2("VIDEO_P0_COMBINED_2"), + VIDEO_P100_COMPLETE2("VIDEO_P100_COMPLETE_2"), + VIDEO_P25_COMBINED2("VIDEO_P25_COMBINED_2"), + VIDEO_P50_COMBINED2("VIDEO_P50_COMBINED_2"), + VIDEO_P75_COMBINED2("VIDEO_P75_COMBINED_2"), + VIDEO_P95_COMBINED2("VIDEO_P95_COMBINED_2"), + WEB_CHECKOUT_COST_PER_ACTION("WEB_CHECKOUT_COST_PER_ACTION"), + WEB_CHECKOUT_ROAS("WEB_CHECKOUT_ROAS"), + WEB_SESSIONS1("WEB_SESSIONS_1"), + WEB_SESSIONS2("WEB_SESSIONS_2"); + + @JsonValue + private final String value; + + private SourcePinterestSchemasValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePinterestValidEnums.java b/src/main/java/com/airbyte/api/models/shared/SourcePinterestValidEnums.java new file mode 100644 index 000000000..16884cdfa --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePinterestValidEnums.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourcePinterestValidEnums - An enumeration. + */ +public enum SourcePinterestValidEnums { + INDIVIDUAL("INDIVIDUAL"), + HOUSEHOLD("HOUSEHOLD"); + + @JsonValue + private final String value; + + private SourcePinterestValidEnums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePipedrive.java b/src/main/java/com/airbyte/api/models/shared/SourcePipedrive.java new file mode 100644 index 000000000..a6dd4fa83 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePipedrive.java @@ -0,0 +1,157 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourcePipedrive { + + /** + * The Pipedrive API Token. + */ + @JsonProperty("api_token") + private String apiToken; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. When specified and not None, then stream will behave as incremental + */ + @JsonProperty("replication_start_date") + private String replicationStartDate; + + @JsonProperty("sourceType") + private Pipedrive sourceType; + + public SourcePipedrive( + @JsonProperty("api_token") String apiToken, + @JsonProperty("replication_start_date") String replicationStartDate) { + Utils.checkNotNull(apiToken, "apiToken"); + Utils.checkNotNull(replicationStartDate, "replicationStartDate"); + this.apiToken = apiToken; + this.replicationStartDate = replicationStartDate; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * The Pipedrive API Token. + */ + public String apiToken() { + return apiToken; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. When specified and not None, then stream will behave as incremental + */ + public String replicationStartDate() { + return replicationStartDate; + } + + public Pipedrive sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Pipedrive API Token. + */ + public SourcePipedrive withApiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. When specified and not None, then stream will behave as incremental + */ + public SourcePipedrive withReplicationStartDate(String replicationStartDate) { + Utils.checkNotNull(replicationStartDate, "replicationStartDate"); + this.replicationStartDate = replicationStartDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePipedrive other = (SourcePipedrive) o; + return + java.util.Objects.deepEquals(this.apiToken, other.apiToken) && + java.util.Objects.deepEquals(this.replicationStartDate, other.replicationStartDate) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiToken, + replicationStartDate, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourcePipedrive.class, + "apiToken", apiToken, + "replicationStartDate", replicationStartDate, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiToken; + + private String replicationStartDate; + + private Builder() { + // force use of static builder() method + } + + /** + * The Pipedrive API Token. + */ + public Builder apiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. When specified and not None, then stream will behave as incremental + */ + public Builder replicationStartDate(String replicationStartDate) { + Utils.checkNotNull(replicationStartDate, "replicationStartDate"); + this.replicationStartDate = replicationStartDate; + return this; + } + + public SourcePipedrive build() { + return new SourcePipedrive( + apiToken, + replicationStartDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"pipedrive\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePocket.java b/src/main/java/com/airbyte/api/models/shared/SourcePocket.java new file mode 100644 index 000000000..5d5b190de --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePocket.java @@ -0,0 +1,700 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourcePocket { + + /** + * The user's Pocket access token. + */ + @JsonProperty("access_token") + private String accessToken; + + /** + * Your application's Consumer Key. + */ + @JsonProperty("consumer_key") + private String consumerKey; + + /** + * Select the content type of the items to retrieve. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("content_type") + private Optional contentType; + + /** + * Select the granularity of the information about each item. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("detail_type") + private Optional detailType; + + /** + * Only return items from a particular `domain`. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("domain") + private Optional domain; + + /** + * Retrieve only favorited items. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("favorite") + private Optional favorite; + + /** + * Only return items whose title or url contain the `search` string. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("search") + private Optional search; + + /** + * Only return items modified since the given timestamp. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("since") + private Optional since; + + /** + * Sort retrieved items by the given criteria. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sort") + private Optional sort; + + @JsonProperty("sourceType") + private Pocket sourceType; + + /** + * Select the state of the items to retrieve. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("state") + private Optional state; + + /** + * Return only items tagged with this tag name. Use _untagged_ for retrieving only untagged items. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tag") + private Optional tag; + + public SourcePocket( + @JsonProperty("access_token") String accessToken, + @JsonProperty("consumer_key") String consumerKey, + @JsonProperty("content_type") Optional contentType, + @JsonProperty("detail_type") Optional detailType, + @JsonProperty("domain") Optional domain, + @JsonProperty("favorite") Optional favorite, + @JsonProperty("search") Optional search, + @JsonProperty("since") Optional since, + @JsonProperty("sort") Optional sort, + @JsonProperty("state") Optional state, + @JsonProperty("tag") Optional tag) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(consumerKey, "consumerKey"); + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(detailType, "detailType"); + Utils.checkNotNull(domain, "domain"); + Utils.checkNotNull(favorite, "favorite"); + Utils.checkNotNull(search, "search"); + Utils.checkNotNull(since, "since"); + Utils.checkNotNull(sort, "sort"); + Utils.checkNotNull(state, "state"); + Utils.checkNotNull(tag, "tag"); + this.accessToken = accessToken; + this.consumerKey = consumerKey; + this.contentType = contentType; + this.detailType = detailType; + this.domain = domain; + this.favorite = favorite; + this.search = search; + this.since = since; + this.sort = sort; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.state = state; + this.tag = tag; + } + + /** + * The user's Pocket access token. + */ + public String accessToken() { + return accessToken; + } + + /** + * Your application's Consumer Key. + */ + public String consumerKey() { + return consumerKey; + } + + /** + * Select the content type of the items to retrieve. + */ + public Optional contentType() { + return contentType; + } + + /** + * Select the granularity of the information about each item. + */ + public Optional detailType() { + return detailType; + } + + /** + * Only return items from a particular `domain`. + */ + public Optional domain() { + return domain; + } + + /** + * Retrieve only favorited items. + */ + public Optional favorite() { + return favorite; + } + + /** + * Only return items whose title or url contain the `search` string. + */ + public Optional search() { + return search; + } + + /** + * Only return items modified since the given timestamp. + */ + public Optional since() { + return since; + } + + /** + * Sort retrieved items by the given criteria. + */ + public Optional sort() { + return sort; + } + + public Pocket sourceType() { + return sourceType; + } + + /** + * Select the state of the items to retrieve. + */ + public Optional state() { + return state; + } + + /** + * Return only items tagged with this tag name. Use _untagged_ for retrieving only untagged items. + */ + public Optional tag() { + return tag; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The user's Pocket access token. + */ + public SourcePocket withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * Your application's Consumer Key. + */ + public SourcePocket withConsumerKey(String consumerKey) { + Utils.checkNotNull(consumerKey, "consumerKey"); + this.consumerKey = consumerKey; + return this; + } + + /** + * Select the content type of the items to retrieve. + */ + public SourcePocket withContentType(ContentType contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = Optional.ofNullable(contentType); + return this; + } + + /** + * Select the content type of the items to retrieve. + */ + public SourcePocket withContentType(Optional contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Select the granularity of the information about each item. + */ + public SourcePocket withDetailType(DetailType detailType) { + Utils.checkNotNull(detailType, "detailType"); + this.detailType = Optional.ofNullable(detailType); + return this; + } + + /** + * Select the granularity of the information about each item. + */ + public SourcePocket withDetailType(Optional detailType) { + Utils.checkNotNull(detailType, "detailType"); + this.detailType = detailType; + return this; + } + + /** + * Only return items from a particular `domain`. + */ + public SourcePocket withDomain(String domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = Optional.ofNullable(domain); + return this; + } + + /** + * Only return items from a particular `domain`. + */ + public SourcePocket withDomain(Optional domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = domain; + return this; + } + + /** + * Retrieve only favorited items. + */ + public SourcePocket withFavorite(boolean favorite) { + Utils.checkNotNull(favorite, "favorite"); + this.favorite = Optional.ofNullable(favorite); + return this; + } + + /** + * Retrieve only favorited items. + */ + public SourcePocket withFavorite(Optional favorite) { + Utils.checkNotNull(favorite, "favorite"); + this.favorite = favorite; + return this; + } + + /** + * Only return items whose title or url contain the `search` string. + */ + public SourcePocket withSearch(String search) { + Utils.checkNotNull(search, "search"); + this.search = Optional.ofNullable(search); + return this; + } + + /** + * Only return items whose title or url contain the `search` string. + */ + public SourcePocket withSearch(Optional search) { + Utils.checkNotNull(search, "search"); + this.search = search; + return this; + } + + /** + * Only return items modified since the given timestamp. + */ + public SourcePocket withSince(String since) { + Utils.checkNotNull(since, "since"); + this.since = Optional.ofNullable(since); + return this; + } + + /** + * Only return items modified since the given timestamp. + */ + public SourcePocket withSince(Optional since) { + Utils.checkNotNull(since, "since"); + this.since = since; + return this; + } + + /** + * Sort retrieved items by the given criteria. + */ + public SourcePocket withSort(SourcePocketSortBy sort) { + Utils.checkNotNull(sort, "sort"); + this.sort = Optional.ofNullable(sort); + return this; + } + + /** + * Sort retrieved items by the given criteria. + */ + public SourcePocket withSort(Optional sort) { + Utils.checkNotNull(sort, "sort"); + this.sort = sort; + return this; + } + + /** + * Select the state of the items to retrieve. + */ + public SourcePocket withState(State state) { + Utils.checkNotNull(state, "state"); + this.state = Optional.ofNullable(state); + return this; + } + + /** + * Select the state of the items to retrieve. + */ + public SourcePocket withState(Optional state) { + Utils.checkNotNull(state, "state"); + this.state = state; + return this; + } + + /** + * Return only items tagged with this tag name. Use _untagged_ for retrieving only untagged items. + */ + public SourcePocket withTag(String tag) { + Utils.checkNotNull(tag, "tag"); + this.tag = Optional.ofNullable(tag); + return this; + } + + /** + * Return only items tagged with this tag name. Use _untagged_ for retrieving only untagged items. + */ + public SourcePocket withTag(Optional tag) { + Utils.checkNotNull(tag, "tag"); + this.tag = tag; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePocket other = (SourcePocket) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.consumerKey, other.consumerKey) && + java.util.Objects.deepEquals(this.contentType, other.contentType) && + java.util.Objects.deepEquals(this.detailType, other.detailType) && + java.util.Objects.deepEquals(this.domain, other.domain) && + java.util.Objects.deepEquals(this.favorite, other.favorite) && + java.util.Objects.deepEquals(this.search, other.search) && + java.util.Objects.deepEquals(this.since, other.since) && + java.util.Objects.deepEquals(this.sort, other.sort) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.state, other.state) && + java.util.Objects.deepEquals(this.tag, other.tag); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + consumerKey, + contentType, + detailType, + domain, + favorite, + search, + since, + sort, + sourceType, + state, + tag); + } + + @Override + public String toString() { + return Utils.toString(SourcePocket.class, + "accessToken", accessToken, + "consumerKey", consumerKey, + "contentType", contentType, + "detailType", detailType, + "domain", domain, + "favorite", favorite, + "search", search, + "since", since, + "sort", sort, + "sourceType", sourceType, + "state", state, + "tag", tag); + } + + public final static class Builder { + + private String accessToken; + + private String consumerKey; + + private Optional contentType = Optional.empty(); + + private Optional detailType = Optional.empty(); + + private Optional domain = Optional.empty(); + + private Optional favorite; + + private Optional search = Optional.empty(); + + private Optional since = Optional.empty(); + + private Optional sort = Optional.empty(); + + private Optional state = Optional.empty(); + + private Optional tag = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The user's Pocket access token. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * Your application's Consumer Key. + */ + public Builder consumerKey(String consumerKey) { + Utils.checkNotNull(consumerKey, "consumerKey"); + this.consumerKey = consumerKey; + return this; + } + + /** + * Select the content type of the items to retrieve. + */ + public Builder contentType(ContentType contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = Optional.ofNullable(contentType); + return this; + } + + /** + * Select the content type of the items to retrieve. + */ + public Builder contentType(Optional contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * Select the granularity of the information about each item. + */ + public Builder detailType(DetailType detailType) { + Utils.checkNotNull(detailType, "detailType"); + this.detailType = Optional.ofNullable(detailType); + return this; + } + + /** + * Select the granularity of the information about each item. + */ + public Builder detailType(Optional detailType) { + Utils.checkNotNull(detailType, "detailType"); + this.detailType = detailType; + return this; + } + + /** + * Only return items from a particular `domain`. + */ + public Builder domain(String domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = Optional.ofNullable(domain); + return this; + } + + /** + * Only return items from a particular `domain`. + */ + public Builder domain(Optional domain) { + Utils.checkNotNull(domain, "domain"); + this.domain = domain; + return this; + } + + /** + * Retrieve only favorited items. + */ + public Builder favorite(boolean favorite) { + Utils.checkNotNull(favorite, "favorite"); + this.favorite = Optional.ofNullable(favorite); + return this; + } + + /** + * Retrieve only favorited items. + */ + public Builder favorite(Optional favorite) { + Utils.checkNotNull(favorite, "favorite"); + this.favorite = favorite; + return this; + } + + /** + * Only return items whose title or url contain the `search` string. + */ + public Builder search(String search) { + Utils.checkNotNull(search, "search"); + this.search = Optional.ofNullable(search); + return this; + } + + /** + * Only return items whose title or url contain the `search` string. + */ + public Builder search(Optional search) { + Utils.checkNotNull(search, "search"); + this.search = search; + return this; + } + + /** + * Only return items modified since the given timestamp. + */ + public Builder since(String since) { + Utils.checkNotNull(since, "since"); + this.since = Optional.ofNullable(since); + return this; + } + + /** + * Only return items modified since the given timestamp. + */ + public Builder since(Optional since) { + Utils.checkNotNull(since, "since"); + this.since = since; + return this; + } + + /** + * Sort retrieved items by the given criteria. + */ + public Builder sort(SourcePocketSortBy sort) { + Utils.checkNotNull(sort, "sort"); + this.sort = Optional.ofNullable(sort); + return this; + } + + /** + * Sort retrieved items by the given criteria. + */ + public Builder sort(Optional sort) { + Utils.checkNotNull(sort, "sort"); + this.sort = sort; + return this; + } + + /** + * Select the state of the items to retrieve. + */ + public Builder state(State state) { + Utils.checkNotNull(state, "state"); + this.state = Optional.ofNullable(state); + return this; + } + + /** + * Select the state of the items to retrieve. + */ + public Builder state(Optional state) { + Utils.checkNotNull(state, "state"); + this.state = state; + return this; + } + + /** + * Return only items tagged with this tag name. Use _untagged_ for retrieving only untagged items. + */ + public Builder tag(String tag) { + Utils.checkNotNull(tag, "tag"); + this.tag = Optional.ofNullable(tag); + return this; + } + + /** + * Return only items tagged with this tag name. Use _untagged_ for retrieving only untagged items. + */ + public Builder tag(Optional tag) { + Utils.checkNotNull(tag, "tag"); + this.tag = tag; + return this; + } + + public SourcePocket build() { + if (favorite == null) { + favorite = _SINGLETON_VALUE_Favorite.value(); + } + return new SourcePocket( + accessToken, + consumerKey, + contentType, + detailType, + domain, + favorite, + search, + since, + sort, + state, + tag); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Favorite = + new LazySingletonValue<>( + "favorite", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"pocket\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePocketSortBy.java b/src/main/java/com/airbyte/api/models/shared/SourcePocketSortBy.java new file mode 100644 index 000000000..372b9d25d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePocketSortBy.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourcePocketSortBy - Sort retrieved items by the given criteria. + */ +public enum SourcePocketSortBy { + NEWEST("newest"), + OLDEST("oldest"), + TITLE("title"), + SITE("site"); + + @JsonValue + private final String value; + + private SourcePocketSortBy(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePokeapi.java b/src/main/java/com/airbyte/api/models/shared/SourcePokeapi.java new file mode 100644 index 000000000..5bfe3e08e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePokeapi.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourcePokeapi { + + /** + * Pokemon requested from the API. + */ + @JsonProperty("pokemon_name") + private PokemonName pokemonName; + + @JsonProperty("sourceType") + private Pokeapi sourceType; + + public SourcePokeapi( + @JsonProperty("pokemon_name") PokemonName pokemonName) { + Utils.checkNotNull(pokemonName, "pokemonName"); + this.pokemonName = pokemonName; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Pokemon requested from the API. + */ + public PokemonName pokemonName() { + return pokemonName; + } + + public Pokeapi sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Pokemon requested from the API. + */ + public SourcePokeapi withPokemonName(PokemonName pokemonName) { + Utils.checkNotNull(pokemonName, "pokemonName"); + this.pokemonName = pokemonName; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePokeapi other = (SourcePokeapi) o; + return + java.util.Objects.deepEquals(this.pokemonName, other.pokemonName) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + pokemonName, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourcePokeapi.class, + "pokemonName", pokemonName, + "sourceType", sourceType); + } + + public final static class Builder { + + private PokemonName pokemonName; + + private Builder() { + // force use of static builder() method + } + + /** + * Pokemon requested from the API. + */ + public Builder pokemonName(PokemonName pokemonName) { + Utils.checkNotNull(pokemonName, "pokemonName"); + this.pokemonName = pokemonName; + return this; + } + + public SourcePokeapi build() { + return new SourcePokeapi( + pokemonName); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"pokeapi\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePolygonStockApi.java b/src/main/java/com/airbyte/api/models/shared/SourcePolygonStockApi.java new file mode 100644 index 000000000..f34be9e28 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePolygonStockApi.java @@ -0,0 +1,498 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourcePolygonStockApi { + + /** + * Determines whether or not the results are adjusted for splits. By default, results are adjusted and set to true. Set this to false to get results that are NOT adjusted for splits. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("adjusted") + private Optional adjusted; + + /** + * Your API ACCESS Key + */ + @JsonProperty("apiKey") + private String apiKey; + + /** + * The target date for the aggregate window. + */ + @JsonProperty("end_date") + private LocalDate endDate; + + /** + * The target date for the aggregate window. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("limit") + private Optional limit; + + /** + * The size of the timespan multiplier. + */ + @JsonProperty("multiplier") + private long multiplier; + + /** + * Sort the results by timestamp. asc will return results in ascending order (oldest at the top), desc will return results in descending order (newest at the top). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sort") + private Optional sort; + + @JsonProperty("sourceType") + private PolygonStockApi sourceType; + + /** + * The beginning date for the aggregate window. + */ + @JsonProperty("start_date") + private LocalDate startDate; + + /** + * The exchange symbol that this item is traded under. + */ + @JsonProperty("stocksTicker") + private String stocksTicker; + + /** + * The size of the time window. + */ + @JsonProperty("timespan") + private String timespan; + + public SourcePolygonStockApi( + @JsonProperty("adjusted") Optional adjusted, + @JsonProperty("apiKey") String apiKey, + @JsonProperty("end_date") LocalDate endDate, + @JsonProperty("limit") Optional limit, + @JsonProperty("multiplier") long multiplier, + @JsonProperty("sort") Optional sort, + @JsonProperty("start_date") LocalDate startDate, + @JsonProperty("stocksTicker") String stocksTicker, + @JsonProperty("timespan") String timespan) { + Utils.checkNotNull(adjusted, "adjusted"); + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(limit, "limit"); + Utils.checkNotNull(multiplier, "multiplier"); + Utils.checkNotNull(sort, "sort"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(stocksTicker, "stocksTicker"); + Utils.checkNotNull(timespan, "timespan"); + this.adjusted = adjusted; + this.apiKey = apiKey; + this.endDate = endDate; + this.limit = limit; + this.multiplier = multiplier; + this.sort = sort; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.stocksTicker = stocksTicker; + this.timespan = timespan; + } + + /** + * Determines whether or not the results are adjusted for splits. By default, results are adjusted and set to true. Set this to false to get results that are NOT adjusted for splits. + */ + public Optional adjusted() { + return adjusted; + } + + /** + * Your API ACCESS Key + */ + public String apiKey() { + return apiKey; + } + + /** + * The target date for the aggregate window. + */ + public LocalDate endDate() { + return endDate; + } + + /** + * The target date for the aggregate window. + */ + public Optional limit() { + return limit; + } + + /** + * The size of the timespan multiplier. + */ + public long multiplier() { + return multiplier; + } + + /** + * Sort the results by timestamp. asc will return results in ascending order (oldest at the top), desc will return results in descending order (newest at the top). + */ + public Optional sort() { + return sort; + } + + public PolygonStockApi sourceType() { + return sourceType; + } + + /** + * The beginning date for the aggregate window. + */ + public LocalDate startDate() { + return startDate; + } + + /** + * The exchange symbol that this item is traded under. + */ + public String stocksTicker() { + return stocksTicker; + } + + /** + * The size of the time window. + */ + public String timespan() { + return timespan; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Determines whether or not the results are adjusted for splits. By default, results are adjusted and set to true. Set this to false to get results that are NOT adjusted for splits. + */ + public SourcePolygonStockApi withAdjusted(String adjusted) { + Utils.checkNotNull(adjusted, "adjusted"); + this.adjusted = Optional.ofNullable(adjusted); + return this; + } + + /** + * Determines whether or not the results are adjusted for splits. By default, results are adjusted and set to true. Set this to false to get results that are NOT adjusted for splits. + */ + public SourcePolygonStockApi withAdjusted(Optional adjusted) { + Utils.checkNotNull(adjusted, "adjusted"); + this.adjusted = adjusted; + return this; + } + + /** + * Your API ACCESS Key + */ + public SourcePolygonStockApi withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The target date for the aggregate window. + */ + public SourcePolygonStockApi withEndDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * The target date for the aggregate window. + */ + public SourcePolygonStockApi withLimit(long limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = Optional.ofNullable(limit); + return this; + } + + /** + * The target date for the aggregate window. + */ + public SourcePolygonStockApi withLimit(Optional limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = limit; + return this; + } + + /** + * The size of the timespan multiplier. + */ + public SourcePolygonStockApi withMultiplier(long multiplier) { + Utils.checkNotNull(multiplier, "multiplier"); + this.multiplier = multiplier; + return this; + } + + /** + * Sort the results by timestamp. asc will return results in ascending order (oldest at the top), desc will return results in descending order (newest at the top). + */ + public SourcePolygonStockApi withSort(String sort) { + Utils.checkNotNull(sort, "sort"); + this.sort = Optional.ofNullable(sort); + return this; + } + + /** + * Sort the results by timestamp. asc will return results in ascending order (oldest at the top), desc will return results in descending order (newest at the top). + */ + public SourcePolygonStockApi withSort(Optional sort) { + Utils.checkNotNull(sort, "sort"); + this.sort = sort; + return this; + } + + /** + * The beginning date for the aggregate window. + */ + public SourcePolygonStockApi withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * The exchange symbol that this item is traded under. + */ + public SourcePolygonStockApi withStocksTicker(String stocksTicker) { + Utils.checkNotNull(stocksTicker, "stocksTicker"); + this.stocksTicker = stocksTicker; + return this; + } + + /** + * The size of the time window. + */ + public SourcePolygonStockApi withTimespan(String timespan) { + Utils.checkNotNull(timespan, "timespan"); + this.timespan = timespan; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePolygonStockApi other = (SourcePolygonStockApi) o; + return + java.util.Objects.deepEquals(this.adjusted, other.adjusted) && + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.limit, other.limit) && + java.util.Objects.deepEquals(this.multiplier, other.multiplier) && + java.util.Objects.deepEquals(this.sort, other.sort) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.stocksTicker, other.stocksTicker) && + java.util.Objects.deepEquals(this.timespan, other.timespan); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + adjusted, + apiKey, + endDate, + limit, + multiplier, + sort, + sourceType, + startDate, + stocksTicker, + timespan); + } + + @Override + public String toString() { + return Utils.toString(SourcePolygonStockApi.class, + "adjusted", adjusted, + "apiKey", apiKey, + "endDate", endDate, + "limit", limit, + "multiplier", multiplier, + "sort", sort, + "sourceType", sourceType, + "startDate", startDate, + "stocksTicker", stocksTicker, + "timespan", timespan); + } + + public final static class Builder { + + private Optional adjusted = Optional.empty(); + + private String apiKey; + + private LocalDate endDate; + + private Optional limit = Optional.empty(); + + private Long multiplier; + + private Optional sort = Optional.empty(); + + private LocalDate startDate; + + private String stocksTicker; + + private String timespan; + + private Builder() { + // force use of static builder() method + } + + /** + * Determines whether or not the results are adjusted for splits. By default, results are adjusted and set to true. Set this to false to get results that are NOT adjusted for splits. + */ + public Builder adjusted(String adjusted) { + Utils.checkNotNull(adjusted, "adjusted"); + this.adjusted = Optional.ofNullable(adjusted); + return this; + } + + /** + * Determines whether or not the results are adjusted for splits. By default, results are adjusted and set to true. Set this to false to get results that are NOT adjusted for splits. + */ + public Builder adjusted(Optional adjusted) { + Utils.checkNotNull(adjusted, "adjusted"); + this.adjusted = adjusted; + return this; + } + + /** + * Your API ACCESS Key + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The target date for the aggregate window. + */ + public Builder endDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * The target date for the aggregate window. + */ + public Builder limit(long limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = Optional.ofNullable(limit); + return this; + } + + /** + * The target date for the aggregate window. + */ + public Builder limit(Optional limit) { + Utils.checkNotNull(limit, "limit"); + this.limit = limit; + return this; + } + + /** + * The size of the timespan multiplier. + */ + public Builder multiplier(long multiplier) { + Utils.checkNotNull(multiplier, "multiplier"); + this.multiplier = multiplier; + return this; + } + + /** + * Sort the results by timestamp. asc will return results in ascending order (oldest at the top), desc will return results in descending order (newest at the top). + */ + public Builder sort(String sort) { + Utils.checkNotNull(sort, "sort"); + this.sort = Optional.ofNullable(sort); + return this; + } + + /** + * Sort the results by timestamp. asc will return results in ascending order (oldest at the top), desc will return results in descending order (newest at the top). + */ + public Builder sort(Optional sort) { + Utils.checkNotNull(sort, "sort"); + this.sort = sort; + return this; + } + + /** + * The beginning date for the aggregate window. + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * The exchange symbol that this item is traded under. + */ + public Builder stocksTicker(String stocksTicker) { + Utils.checkNotNull(stocksTicker, "stocksTicker"); + this.stocksTicker = stocksTicker; + return this; + } + + /** + * The size of the time window. + */ + public Builder timespan(String timespan) { + Utils.checkNotNull(timespan, "timespan"); + this.timespan = timespan; + return this; + } + + public SourcePolygonStockApi build() { + return new SourcePolygonStockApi( + adjusted, + apiKey, + endDate, + limit, + multiplier, + sort, + startDate, + stocksTicker, + timespan); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"polygon-stock-api\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePostgres.java b/src/main/java/com/airbyte/api/models/shared/SourcePostgres.java new file mode 100644 index 000000000..7221ac491 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePostgres.java @@ -0,0 +1,628 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourcePostgres { + + /** + * Name of the database. + */ + @JsonProperty("database") + private String database; + + /** + * Hostname of the database. + */ + @JsonProperty("host") + private String host; + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (Eg. key1=value1&key2=value2&key3=value3). For more information read about <a href="https://jdbc.postgresql.org/documentation/head/connect.html">JDBC URL parameters</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("jdbc_url_params") + private Optional jdbcUrlParams; + + /** + * Password associated with the username. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("password") + private Optional password; + + /** + * Port of the database. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + /** + * Configures how data is extracted from the database. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("replication_method") + private Optional replicationMethod; + + /** + * The list of schemas (case sensitive) to sync from. Defaults to public. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schemas") + private Optional> schemas; + + @JsonProperty("sourceType") + private SourcePostgresPostgres sourceType; + + /** + * SSL connection modes. + * Read more <a href="https://jdbc.postgresql.org/documentation/head/ssl-client.html"> in the docs</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ssl_mode") + private Optional sslMode; + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_method") + private Optional tunnelMethod; + + /** + * Username to access the database. + */ + @JsonProperty("username") + private String username; + + public SourcePostgres( + @JsonProperty("database") String database, + @JsonProperty("host") String host, + @JsonProperty("jdbc_url_params") Optional jdbcUrlParams, + @JsonProperty("password") Optional password, + @JsonProperty("port") Optional port, + @JsonProperty("replication_method") Optional replicationMethod, + @JsonProperty("schemas") Optional> schemas, + @JsonProperty("ssl_mode") Optional sslMode, + @JsonProperty("tunnel_method") Optional tunnelMethod, + @JsonProperty("username") String username) { + Utils.checkNotNull(database, "database"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(replicationMethod, "replicationMethod"); + Utils.checkNotNull(schemas, "schemas"); + Utils.checkNotNull(sslMode, "sslMode"); + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + Utils.checkNotNull(username, "username"); + this.database = database; + this.host = host; + this.jdbcUrlParams = jdbcUrlParams; + this.password = password; + this.port = port; + this.replicationMethod = replicationMethod; + this.schemas = schemas; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.sslMode = sslMode; + this.tunnelMethod = tunnelMethod; + this.username = username; + } + + /** + * Name of the database. + */ + public String database() { + return database; + } + + /** + * Hostname of the database. + */ + public String host() { + return host; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (Eg. key1=value1&key2=value2&key3=value3). For more information read about <a href="https://jdbc.postgresql.org/documentation/head/connect.html">JDBC URL parameters</a>. + */ + public Optional jdbcUrlParams() { + return jdbcUrlParams; + } + + /** + * Password associated with the username. + */ + public Optional password() { + return password; + } + + /** + * Port of the database. + */ + public Optional port() { + return port; + } + + /** + * Configures how data is extracted from the database. + */ + public Optional replicationMethod() { + return replicationMethod; + } + + /** + * The list of schemas (case sensitive) to sync from. Defaults to public. + */ + public Optional> schemas() { + return schemas; + } + + public SourcePostgresPostgres sourceType() { + return sourceType; + } + + /** + * SSL connection modes. + * Read more <a href="https://jdbc.postgresql.org/documentation/head/ssl-client.html"> in the docs</a>. + */ + public Optional sslMode() { + return sslMode; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Optional tunnelMethod() { + return tunnelMethod; + } + + /** + * Username to access the database. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Name of the database. + */ + public SourcePostgres withDatabase(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * Hostname of the database. + */ + public SourcePostgres withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (Eg. key1=value1&key2=value2&key3=value3). For more information read about <a href="https://jdbc.postgresql.org/documentation/head/connect.html">JDBC URL parameters</a>. + */ + public SourcePostgres withJdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (Eg. key1=value1&key2=value2&key3=value3). For more information read about <a href="https://jdbc.postgresql.org/documentation/head/connect.html">JDBC URL parameters</a>. + */ + public SourcePostgres withJdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * Password associated with the username. + */ + public SourcePostgres withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * Password associated with the username. + */ + public SourcePostgres withPassword(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Port of the database. + */ + public SourcePostgres withPort(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Port of the database. + */ + public SourcePostgres withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * Configures how data is extracted from the database. + */ + public SourcePostgres withReplicationMethod(SourcePostgresUpdateMethod replicationMethod) { + Utils.checkNotNull(replicationMethod, "replicationMethod"); + this.replicationMethod = Optional.ofNullable(replicationMethod); + return this; + } + + /** + * Configures how data is extracted from the database. + */ + public SourcePostgres withReplicationMethod(Optional replicationMethod) { + Utils.checkNotNull(replicationMethod, "replicationMethod"); + this.replicationMethod = replicationMethod; + return this; + } + + /** + * The list of schemas (case sensitive) to sync from. Defaults to public. + */ + public SourcePostgres withSchemas(java.util.List schemas) { + Utils.checkNotNull(schemas, "schemas"); + this.schemas = Optional.ofNullable(schemas); + return this; + } + + /** + * The list of schemas (case sensitive) to sync from. Defaults to public. + */ + public SourcePostgres withSchemas(Optional> schemas) { + Utils.checkNotNull(schemas, "schemas"); + this.schemas = schemas; + return this; + } + + /** + * SSL connection modes. + * Read more <a href="https://jdbc.postgresql.org/documentation/head/ssl-client.html"> in the docs</a>. + */ + public SourcePostgres withSslMode(java.lang.Object sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = Optional.ofNullable(sslMode); + return this; + } + + /** + * SSL connection modes. + * Read more <a href="https://jdbc.postgresql.org/documentation/head/ssl-client.html"> in the docs</a>. + */ + public SourcePostgres withSslMode(Optional sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = sslMode; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public SourcePostgres withTunnelMethod(SourcePostgresSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public SourcePostgres withTunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * Username to access the database. + */ + public SourcePostgres withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePostgres other = (SourcePostgres) o; + return + java.util.Objects.deepEquals(this.database, other.database) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.jdbcUrlParams, other.jdbcUrlParams) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.replicationMethod, other.replicationMethod) && + java.util.Objects.deepEquals(this.schemas, other.schemas) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.sslMode, other.sslMode) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + database, + host, + jdbcUrlParams, + password, + port, + replicationMethod, + schemas, + sourceType, + sslMode, + tunnelMethod, + username); + } + + @Override + public String toString() { + return Utils.toString(SourcePostgres.class, + "database", database, + "host", host, + "jdbcUrlParams", jdbcUrlParams, + "password", password, + "port", port, + "replicationMethod", replicationMethod, + "schemas", schemas, + "sourceType", sourceType, + "sslMode", sslMode, + "tunnelMethod", tunnelMethod, + "username", username); + } + + public final static class Builder { + + private String database; + + private String host; + + private Optional jdbcUrlParams = Optional.empty(); + + private Optional password = Optional.empty(); + + private Optional port; + + private Optional replicationMethod = Optional.empty(); + + private Optional> schemas = Optional.empty(); + + private Optional sslMode = Optional.empty(); + + private Optional tunnelMethod = Optional.empty(); + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Name of the database. + */ + public Builder database(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * Hostname of the database. + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (Eg. key1=value1&key2=value2&key3=value3). For more information read about <a href="https://jdbc.postgresql.org/documentation/head/connect.html">JDBC URL parameters</a>. + */ + public Builder jdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (Eg. key1=value1&key2=value2&key3=value3). For more information read about <a href="https://jdbc.postgresql.org/documentation/head/connect.html">JDBC URL parameters</a>. + */ + public Builder jdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * Password associated with the username. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * Password associated with the username. + */ + public Builder password(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Port of the database. + */ + public Builder port(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Port of the database. + */ + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * Configures how data is extracted from the database. + */ + public Builder replicationMethod(SourcePostgresUpdateMethod replicationMethod) { + Utils.checkNotNull(replicationMethod, "replicationMethod"); + this.replicationMethod = Optional.ofNullable(replicationMethod); + return this; + } + + /** + * Configures how data is extracted from the database. + */ + public Builder replicationMethod(Optional replicationMethod) { + Utils.checkNotNull(replicationMethod, "replicationMethod"); + this.replicationMethod = replicationMethod; + return this; + } + + /** + * The list of schemas (case sensitive) to sync from. Defaults to public. + */ + public Builder schemas(java.util.List schemas) { + Utils.checkNotNull(schemas, "schemas"); + this.schemas = Optional.ofNullable(schemas); + return this; + } + + /** + * The list of schemas (case sensitive) to sync from. Defaults to public. + */ + public Builder schemas(Optional> schemas) { + Utils.checkNotNull(schemas, "schemas"); + this.schemas = schemas; + return this; + } + + /** + * SSL connection modes. + * Read more <a href="https://jdbc.postgresql.org/documentation/head/ssl-client.html"> in the docs</a>. + */ + public Builder sslMode(java.lang.Object sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = Optional.ofNullable(sslMode); + return this; + } + + /** + * SSL connection modes. + * Read more <a href="https://jdbc.postgresql.org/documentation/head/ssl-client.html"> in the docs</a>. + */ + public Builder sslMode(Optional sslMode) { + Utils.checkNotNull(sslMode, "sslMode"); + this.sslMode = sslMode; + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(SourcePostgresSSHTunnelMethod tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = Optional.ofNullable(tunnelMethod); + return this; + } + + /** + * Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + public Builder tunnelMethod(Optional tunnelMethod) { + Utils.checkNotNull(tunnelMethod, "tunnelMethod"); + this.tunnelMethod = tunnelMethod; + return this; + } + + /** + * Username to access the database. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public SourcePostgres build() { + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + return new SourcePostgres( + database, + host, + jdbcUrlParams, + password, + port, + replicationMethod, + schemas, + sslMode, + tunnelMethod, + username); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "5432", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"postgres\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePostgresMethod.java b/src/main/java/com/airbyte/api/models/shared/SourcePostgresMethod.java new file mode 100644 index 000000000..b8388e215 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePostgresMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourcePostgresMethod { + XMIN("Xmin"); + + @JsonValue + private final String value; + + private SourcePostgresMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePostgresNoTunnel.java b/src/main/java/com/airbyte/api/models/shared/SourcePostgresNoTunnel.java new file mode 100644 index 000000000..b823d845c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePostgresNoTunnel.java @@ -0,0 +1,85 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourcePostgresNoTunnel { + + /** + * No ssh tunnel needed to connect to database + */ + @JsonProperty("tunnel_method") + private SourcePostgresTunnelMethod tunnelMethod; + + public SourcePostgresNoTunnel() { + + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + } + + /** + * No ssh tunnel needed to connect to database + */ + public SourcePostgresTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePostgresNoTunnel other = (SourcePostgresNoTunnel) o; + return + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelMethod); + } + + @Override + public String toString() { + return Utils.toString(SourcePostgresNoTunnel.class, + "tunnelMethod", tunnelMethod); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourcePostgresNoTunnel build() { + return new SourcePostgresNoTunnel( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"NO_TUNNEL\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePostgresPasswordAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourcePostgresPasswordAuthentication.java new file mode 100644 index 000000000..cb80e2577 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePostgresPasswordAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourcePostgresPasswordAuthentication { + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + @JsonProperty("tunnel_method") + private SourcePostgresSchemasTunnelMethodTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + /** + * OS-level password for logging into the jump server host + */ + @JsonProperty("tunnel_user_password") + private String tunnelUserPassword; + + public SourcePostgresPasswordAuthentication( + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser, + @JsonProperty("tunnel_user_password") String tunnelUserPassword) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + this.tunnelUserPassword = tunnelUserPassword; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and password authentication + */ + public SourcePostgresSchemasTunnelMethodTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host + */ + public String tunnelUser() { + return tunnelUser; + } + + /** + * OS-level password for logging into the jump server host + */ + public String tunnelUserPassword() { + return tunnelUserPassword; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public SourcePostgresPasswordAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourcePostgresPasswordAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourcePostgresPasswordAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public SourcePostgresPasswordAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public SourcePostgresPasswordAuthentication withTunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePostgresPasswordAuthentication other = (SourcePostgresPasswordAuthentication) o; + return + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser) && + java.util.Objects.deepEquals(this.tunnelUserPassword, other.tunnelUserPassword); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + @Override + public String toString() { + return Utils.toString(SourcePostgresPasswordAuthentication.class, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser, + "tunnelUserPassword", tunnelUserPassword); + } + + public final static class Builder { + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private String tunnelUserPassword; + + private Builder() { + // force use of static builder() method + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public Builder tunnelUserPassword(String tunnelUserPassword) { + Utils.checkNotNull(tunnelUserPassword, "tunnelUserPassword"); + this.tunnelUserPassword = tunnelUserPassword; + return this; + } + + public SourcePostgresPasswordAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new SourcePostgresPasswordAuthentication( + tunnelHost, + tunnelPort, + tunnelUser, + tunnelUserPassword); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_PASSWORD_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePostgresPostgres.java b/src/main/java/com/airbyte/api/models/shared/SourcePostgresPostgres.java new file mode 100644 index 000000000..692cf25e0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePostgresPostgres.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourcePostgresPostgres { + POSTGRES("postgres"); + + @JsonValue + private final String value; + + private SourcePostgresPostgres(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePostgresSSHKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourcePostgresSSHKeyAuthentication.java new file mode 100644 index 000000000..6b0f22068 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePostgresSSHKeyAuthentication.java @@ -0,0 +1,274 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourcePostgresSSHKeyAuthentication { + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + @JsonProperty("ssh_key") + private String sshKey; + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + @JsonProperty("tunnel_host") + private String tunnelHost; + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + @JsonProperty("tunnel_method") + private SourcePostgresSchemasTunnelMethod tunnelMethod; + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tunnel_port") + private Optional tunnelPort; + + /** + * OS-level username for logging into the jump server host. + */ + @JsonProperty("tunnel_user") + private String tunnelUser; + + public SourcePostgresSSHKeyAuthentication( + @JsonProperty("ssh_key") String sshKey, + @JsonProperty("tunnel_host") String tunnelHost, + @JsonProperty("tunnel_port") Optional tunnelPort, + @JsonProperty("tunnel_user") String tunnelUser) { + Utils.checkNotNull(sshKey, "sshKey"); + Utils.checkNotNull(tunnelHost, "tunnelHost"); + Utils.checkNotNull(tunnelPort, "tunnelPort"); + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.sshKey = sshKey; + this.tunnelHost = tunnelHost; + this.tunnelMethod = Builder._SINGLETON_VALUE_TunnelMethod.value(); + this.tunnelPort = tunnelPort; + this.tunnelUser = tunnelUser; + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public String sshKey() { + return sshKey; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public String tunnelHost() { + return tunnelHost; + } + + /** + * Connect through a jump server tunnel host using username and ssh key + */ + public SourcePostgresSchemasTunnelMethod tunnelMethod() { + return tunnelMethod; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Optional tunnelPort() { + return tunnelPort; + } + + /** + * OS-level username for logging into the jump server host. + */ + public String tunnelUser() { + return tunnelUser; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public SourcePostgresSSHKeyAuthentication withSshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public SourcePostgresSSHKeyAuthentication withTunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourcePostgresSSHKeyAuthentication withTunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public SourcePostgresSSHKeyAuthentication withTunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public SourcePostgresSSHKeyAuthentication withTunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePostgresSSHKeyAuthentication other = (SourcePostgresSSHKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.sshKey, other.sshKey) && + java.util.Objects.deepEquals(this.tunnelHost, other.tunnelHost) && + java.util.Objects.deepEquals(this.tunnelMethod, other.tunnelMethod) && + java.util.Objects.deepEquals(this.tunnelPort, other.tunnelPort) && + java.util.Objects.deepEquals(this.tunnelUser, other.tunnelUser); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sshKey, + tunnelHost, + tunnelMethod, + tunnelPort, + tunnelUser); + } + + @Override + public String toString() { + return Utils.toString(SourcePostgresSSHKeyAuthentication.class, + "sshKey", sshKey, + "tunnelHost", tunnelHost, + "tunnelMethod", tunnelMethod, + "tunnelPort", tunnelPort, + "tunnelUser", tunnelUser); + } + + public final static class Builder { + + private String sshKey; + + private String tunnelHost; + + private Optional tunnelPort; + + private String tunnelUser; + + private Builder() { + // force use of static builder() method + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public Builder sshKey(String sshKey) { + Utils.checkNotNull(sshKey, "sshKey"); + this.sshKey = sshKey; + return this; + } + + /** + * Hostname of the jump server host that allows inbound ssh tunnel. + */ + public Builder tunnelHost(String tunnelHost) { + Utils.checkNotNull(tunnelHost, "tunnelHost"); + this.tunnelHost = tunnelHost; + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(long tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = Optional.ofNullable(tunnelPort); + return this; + } + + /** + * Port on the proxy/jump server that accepts inbound ssh connections. + */ + public Builder tunnelPort(Optional tunnelPort) { + Utils.checkNotNull(tunnelPort, "tunnelPort"); + this.tunnelPort = tunnelPort; + return this; + } + + /** + * OS-level username for logging into the jump server host. + */ + public Builder tunnelUser(String tunnelUser) { + Utils.checkNotNull(tunnelUser, "tunnelUser"); + this.tunnelUser = tunnelUser; + return this; + } + + public SourcePostgresSSHKeyAuthentication build() { + if (tunnelPort == null) { + tunnelPort = _SINGLETON_VALUE_TunnelPort.value(); + } + return new SourcePostgresSSHKeyAuthentication( + sshKey, + tunnelHost, + tunnelPort, + tunnelUser); + } + + private static final LazySingletonValue _SINGLETON_VALUE_TunnelMethod = + new LazySingletonValue<>( + "tunnel_method", + "\"SSH_KEY_AUTH\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_TunnelPort = + new LazySingletonValue<>( + "tunnel_port", + "22", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePostgresSSHTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourcePostgresSSHTunnelMethod.java new file mode 100644 index 000000000..40053c2b0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePostgresSSHTunnelMethod.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourcePostgresSSHTunnelMethod - Whether to initiate an SSH tunnel before connecting to the database, and if so, which kind of authentication to use. + */ + +@JsonDeserialize(using = SourcePostgresSSHTunnelMethod._Deserializer.class) +public class SourcePostgresSSHTunnelMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourcePostgresSSHTunnelMethod(TypedObject value) { + this.value = value; + } + + public static SourcePostgresSSHTunnelMethod of(SourcePostgresNoTunnel value) { + Utils.checkNotNull(value, "value"); + return new SourcePostgresSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourcePostgresSSHTunnelMethod of(SourcePostgresSSHKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourcePostgresSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourcePostgresSSHTunnelMethod of(SourcePostgresPasswordAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourcePostgresSSHTunnelMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourcePostgresNoTunnel}
    • + *
    • {@code SourcePostgresSSHKeyAuthentication}
    • + *
    • {@code SourcePostgresPasswordAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePostgresSSHTunnelMethod other = (SourcePostgresSSHTunnelMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourcePostgresSSHTunnelMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourcePostgresSSHTunnelMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePostgresScanChangesWithUserDefinedCursor.java b/src/main/java/com/airbyte/api/models/shared/SourcePostgresScanChangesWithUserDefinedCursor.java new file mode 100644 index 000000000..4c66d320a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePostgresScanChangesWithUserDefinedCursor.java @@ -0,0 +1,82 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourcePostgresScanChangesWithUserDefinedCursor - Incrementally detects new inserts and updates using the <a href="https://docs.airbyte.com/understanding-airbyte/connections/incremental-append/#user-defined-cursor">cursor column</a> chosen when configuring a connection (e.g. created_at, updated_at). + */ + +public class SourcePostgresScanChangesWithUserDefinedCursor { + + @JsonProperty("method") + private SourcePostgresSchemasMethod method; + + public SourcePostgresScanChangesWithUserDefinedCursor() { + + this.method = Builder._SINGLETON_VALUE_Method.value(); + } + + public SourcePostgresSchemasMethod method() { + return method; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePostgresScanChangesWithUserDefinedCursor other = (SourcePostgresScanChangesWithUserDefinedCursor) o; + return + java.util.Objects.deepEquals(this.method, other.method); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + method); + } + + @Override + public String toString() { + return Utils.toString(SourcePostgresScanChangesWithUserDefinedCursor.class, + "method", method); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourcePostgresScanChangesWithUserDefinedCursor build() { + return new SourcePostgresScanChangesWithUserDefinedCursor( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Method = + new LazySingletonValue<>( + "method", + "\"Standard\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePostgresSchemasMethod.java b/src/main/java/com/airbyte/api/models/shared/SourcePostgresSchemasMethod.java new file mode 100644 index 000000000..66f57c8f3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePostgresSchemasMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourcePostgresSchemasMethod { + STANDARD("Standard"); + + @JsonValue + private final String value; + + private SourcePostgresSchemasMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePostgresSchemasTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourcePostgresSchemasTunnelMethod.java new file mode 100644 index 000000000..3ed928506 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePostgresSchemasTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourcePostgresSchemasTunnelMethod - Connect through a jump server tunnel host using username and ssh key + */ +public enum SourcePostgresSchemasTunnelMethod { + SSH_KEY_AUTH("SSH_KEY_AUTH"); + + @JsonValue + private final String value; + + private SourcePostgresSchemasTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePostgresSchemasTunnelMethodTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourcePostgresSchemasTunnelMethodTunnelMethod.java new file mode 100644 index 000000000..b409729b9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePostgresSchemasTunnelMethodTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourcePostgresSchemasTunnelMethodTunnelMethod - Connect through a jump server tunnel host using username and password authentication + */ +public enum SourcePostgresSchemasTunnelMethodTunnelMethod { + SSH_PASSWORD_AUTH("SSH_PASSWORD_AUTH"); + + @JsonValue + private final String value; + + private SourcePostgresSchemasTunnelMethodTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePostgresTunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/SourcePostgresTunnelMethod.java new file mode 100644 index 000000000..785e6fb02 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePostgresTunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourcePostgresTunnelMethod - No ssh tunnel needed to connect to database + */ +public enum SourcePostgresTunnelMethod { + NO_TUNNEL("NO_TUNNEL"); + + @JsonValue + private final String value; + + private SourcePostgresTunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePostgresUpdateMethod.java b/src/main/java/com/airbyte/api/models/shared/SourcePostgresUpdateMethod.java new file mode 100644 index 000000000..09e786707 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePostgresUpdateMethod.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourcePostgresUpdateMethod - Configures how data is extracted from the database. + */ + +@JsonDeserialize(using = SourcePostgresUpdateMethod._Deserializer.class) +public class SourcePostgresUpdateMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourcePostgresUpdateMethod(TypedObject value) { + this.value = value; + } + + public static SourcePostgresUpdateMethod of(java.util.Map value) { + Utils.checkNotNull(value, "value"); + return new SourcePostgresUpdateMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference>(){})); + } + + public static SourcePostgresUpdateMethod of(DetectChangesWithXminSystemColumn value) { + Utils.checkNotNull(value, "value"); + return new SourcePostgresUpdateMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourcePostgresUpdateMethod of(SourcePostgresScanChangesWithUserDefinedCursor value) { + Utils.checkNotNull(value, "value"); + return new SourcePostgresUpdateMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code java.util.Map}
    • + *
    • {@code DetectChangesWithXminSystemColumn}
    • + *
    • {@code SourcePostgresScanChangesWithUserDefinedCursor}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePostgresUpdateMethod other = (SourcePostgresUpdateMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourcePostgresUpdateMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference>() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourcePostgresUpdateMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePosthog.java b/src/main/java/com/airbyte/api/models/shared/SourcePosthog.java new file mode 100644 index 000000000..a6b4bd827 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePosthog.java @@ -0,0 +1,299 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourcePosthog { + + /** + * API Key. See the <a href="https://docs.airbyte.com/integrations/sources/posthog">docs</a> for information on how to generate this key. + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * Base PostHog url. Defaults to PostHog Cloud (https://app.posthog.com). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("base_url") + private Optional baseUrl; + + /** + * Set lower value in case of failing long running sync of events stream. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("events_time_step") + private Optional eventsTimeStep; + + @JsonProperty("sourceType") + private Posthog sourceType; + + /** + * The date from which you'd like to replicate the data. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + public SourcePosthog( + @JsonProperty("api_key") String apiKey, + @JsonProperty("base_url") Optional baseUrl, + @JsonProperty("events_time_step") Optional eventsTimeStep, + @JsonProperty("start_date") OffsetDateTime startDate) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(baseUrl, "baseUrl"); + Utils.checkNotNull(eventsTimeStep, "eventsTimeStep"); + Utils.checkNotNull(startDate, "startDate"); + this.apiKey = apiKey; + this.baseUrl = baseUrl; + this.eventsTimeStep = eventsTimeStep; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * API Key. See the <a href="https://docs.airbyte.com/integrations/sources/posthog">docs</a> for information on how to generate this key. + */ + public String apiKey() { + return apiKey; + } + + /** + * Base PostHog url. Defaults to PostHog Cloud (https://app.posthog.com). + */ + public Optional baseUrl() { + return baseUrl; + } + + /** + * Set lower value in case of failing long running sync of events stream. + */ + public Optional eventsTimeStep() { + return eventsTimeStep; + } + + public Posthog sourceType() { + return sourceType; + } + + /** + * The date from which you'd like to replicate the data. Any data before this date will not be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Key. See the <a href="https://docs.airbyte.com/integrations/sources/posthog">docs</a> for information on how to generate this key. + */ + public SourcePosthog withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Base PostHog url. Defaults to PostHog Cloud (https://app.posthog.com). + */ + public SourcePosthog withBaseUrl(String baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = Optional.ofNullable(baseUrl); + return this; + } + + /** + * Base PostHog url. Defaults to PostHog Cloud (https://app.posthog.com). + */ + public SourcePosthog withBaseUrl(Optional baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = baseUrl; + return this; + } + + /** + * Set lower value in case of failing long running sync of events stream. + */ + public SourcePosthog withEventsTimeStep(long eventsTimeStep) { + Utils.checkNotNull(eventsTimeStep, "eventsTimeStep"); + this.eventsTimeStep = Optional.ofNullable(eventsTimeStep); + return this; + } + + /** + * Set lower value in case of failing long running sync of events stream. + */ + public SourcePosthog withEventsTimeStep(Optional eventsTimeStep) { + Utils.checkNotNull(eventsTimeStep, "eventsTimeStep"); + this.eventsTimeStep = eventsTimeStep; + return this; + } + + /** + * The date from which you'd like to replicate the data. Any data before this date will not be replicated. + */ + public SourcePosthog withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePosthog other = (SourcePosthog) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.baseUrl, other.baseUrl) && + java.util.Objects.deepEquals(this.eventsTimeStep, other.eventsTimeStep) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + baseUrl, + eventsTimeStep, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourcePosthog.class, + "apiKey", apiKey, + "baseUrl", baseUrl, + "eventsTimeStep", eventsTimeStep, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String apiKey; + + private Optional baseUrl; + + private Optional eventsTimeStep; + + private OffsetDateTime startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * API Key. See the <a href="https://docs.airbyte.com/integrations/sources/posthog">docs</a> for information on how to generate this key. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Base PostHog url. Defaults to PostHog Cloud (https://app.posthog.com). + */ + public Builder baseUrl(String baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = Optional.ofNullable(baseUrl); + return this; + } + + /** + * Base PostHog url. Defaults to PostHog Cloud (https://app.posthog.com). + */ + public Builder baseUrl(Optional baseUrl) { + Utils.checkNotNull(baseUrl, "baseUrl"); + this.baseUrl = baseUrl; + return this; + } + + /** + * Set lower value in case of failing long running sync of events stream. + */ + public Builder eventsTimeStep(long eventsTimeStep) { + Utils.checkNotNull(eventsTimeStep, "eventsTimeStep"); + this.eventsTimeStep = Optional.ofNullable(eventsTimeStep); + return this; + } + + /** + * Set lower value in case of failing long running sync of events stream. + */ + public Builder eventsTimeStep(Optional eventsTimeStep) { + Utils.checkNotNull(eventsTimeStep, "eventsTimeStep"); + this.eventsTimeStep = eventsTimeStep; + return this; + } + + /** + * The date from which you'd like to replicate the data. Any data before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourcePosthog build() { + if (baseUrl == null) { + baseUrl = _SINGLETON_VALUE_BaseUrl.value(); + } + if (eventsTimeStep == null) { + eventsTimeStep = _SINGLETON_VALUE_EventsTimeStep.value(); + } + return new SourcePosthog( + apiKey, + baseUrl, + eventsTimeStep, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_BaseUrl = + new LazySingletonValue<>( + "base_url", + "\"https://app.posthog.com\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_EventsTimeStep = + new LazySingletonValue<>( + "events_time_step", + "30", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"posthog\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePostmarkapp.java b/src/main/java/com/airbyte/api/models/shared/SourcePostmarkapp.java new file mode 100644 index 000000000..d869a13b8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePostmarkapp.java @@ -0,0 +1,157 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourcePostmarkapp { + + /** + * API Key for account + */ + @JsonProperty("X-Postmark-Account-Token") + private String xPostmarkAccountToken; + + /** + * API Key for server + */ + @JsonProperty("X-Postmark-Server-Token") + private String xPostmarkServerToken; + + @JsonProperty("sourceType") + private Postmarkapp sourceType; + + public SourcePostmarkapp( + @JsonProperty("X-Postmark-Account-Token") String xPostmarkAccountToken, + @JsonProperty("X-Postmark-Server-Token") String xPostmarkServerToken) { + Utils.checkNotNull(xPostmarkAccountToken, "xPostmarkAccountToken"); + Utils.checkNotNull(xPostmarkServerToken, "xPostmarkServerToken"); + this.xPostmarkAccountToken = xPostmarkAccountToken; + this.xPostmarkServerToken = xPostmarkServerToken; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * API Key for account + */ + public String xPostmarkAccountToken() { + return xPostmarkAccountToken; + } + + /** + * API Key for server + */ + public String xPostmarkServerToken() { + return xPostmarkServerToken; + } + + public Postmarkapp sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Key for account + */ + public SourcePostmarkapp withXPostmarkAccountToken(String xPostmarkAccountToken) { + Utils.checkNotNull(xPostmarkAccountToken, "xPostmarkAccountToken"); + this.xPostmarkAccountToken = xPostmarkAccountToken; + return this; + } + + /** + * API Key for server + */ + public SourcePostmarkapp withXPostmarkServerToken(String xPostmarkServerToken) { + Utils.checkNotNull(xPostmarkServerToken, "xPostmarkServerToken"); + this.xPostmarkServerToken = xPostmarkServerToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePostmarkapp other = (SourcePostmarkapp) o; + return + java.util.Objects.deepEquals(this.xPostmarkAccountToken, other.xPostmarkAccountToken) && + java.util.Objects.deepEquals(this.xPostmarkServerToken, other.xPostmarkServerToken) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + xPostmarkAccountToken, + xPostmarkServerToken, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourcePostmarkapp.class, + "xPostmarkAccountToken", xPostmarkAccountToken, + "xPostmarkServerToken", xPostmarkServerToken, + "sourceType", sourceType); + } + + public final static class Builder { + + private String xPostmarkAccountToken; + + private String xPostmarkServerToken; + + private Builder() { + // force use of static builder() method + } + + /** + * API Key for account + */ + public Builder xPostmarkAccountToken(String xPostmarkAccountToken) { + Utils.checkNotNull(xPostmarkAccountToken, "xPostmarkAccountToken"); + this.xPostmarkAccountToken = xPostmarkAccountToken; + return this; + } + + /** + * API Key for server + */ + public Builder xPostmarkServerToken(String xPostmarkServerToken) { + Utils.checkNotNull(xPostmarkServerToken, "xPostmarkServerToken"); + this.xPostmarkServerToken = xPostmarkServerToken; + return this; + } + + public SourcePostmarkapp build() { + return new SourcePostmarkapp( + xPostmarkAccountToken, + xPostmarkServerToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"postmarkapp\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePrestashop.java b/src/main/java/com/airbyte/api/models/shared/SourcePrestashop.java new file mode 100644 index 000000000..5275f02cc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePrestashop.java @@ -0,0 +1,198 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; + + +public class SourcePrestashop { + + /** + * Your PrestaShop access key. See <a href="https://devdocs.prestashop.com/1.7/webservice/tutorials/creating-access/#create-an-access-key"> the docs </a> for info on how to obtain this. + */ + @JsonProperty("access_key") + private String accessKey; + + @JsonProperty("sourceType") + private Prestashop sourceType; + + /** + * The Start date in the format YYYY-MM-DD. + */ + @JsonProperty("start_date") + private LocalDate startDate; + + /** + * Shop URL without trailing slash. + */ + @JsonProperty("url") + private String url; + + public SourcePrestashop( + @JsonProperty("access_key") String accessKey, + @JsonProperty("start_date") LocalDate startDate, + @JsonProperty("url") String url) { + Utils.checkNotNull(accessKey, "accessKey"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(url, "url"); + this.accessKey = accessKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.url = url; + } + + /** + * Your PrestaShop access key. See <a href="https://devdocs.prestashop.com/1.7/webservice/tutorials/creating-access/#create-an-access-key"> the docs </a> for info on how to obtain this. + */ + public String accessKey() { + return accessKey; + } + + public Prestashop sourceType() { + return sourceType; + } + + /** + * The Start date in the format YYYY-MM-DD. + */ + public LocalDate startDate() { + return startDate; + } + + /** + * Shop URL without trailing slash. + */ + public String url() { + return url; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your PrestaShop access key. See <a href="https://devdocs.prestashop.com/1.7/webservice/tutorials/creating-access/#create-an-access-key"> the docs </a> for info on how to obtain this. + */ + public SourcePrestashop withAccessKey(String accessKey) { + Utils.checkNotNull(accessKey, "accessKey"); + this.accessKey = accessKey; + return this; + } + + /** + * The Start date in the format YYYY-MM-DD. + */ + public SourcePrestashop withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Shop URL without trailing slash. + */ + public SourcePrestashop withUrl(String url) { + Utils.checkNotNull(url, "url"); + this.url = url; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePrestashop other = (SourcePrestashop) o; + return + java.util.Objects.deepEquals(this.accessKey, other.accessKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.url, other.url); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessKey, + sourceType, + startDate, + url); + } + + @Override + public String toString() { + return Utils.toString(SourcePrestashop.class, + "accessKey", accessKey, + "sourceType", sourceType, + "startDate", startDate, + "url", url); + } + + public final static class Builder { + + private String accessKey; + + private LocalDate startDate; + + private String url; + + private Builder() { + // force use of static builder() method + } + + /** + * Your PrestaShop access key. See <a href="https://devdocs.prestashop.com/1.7/webservice/tutorials/creating-access/#create-an-access-key"> the docs </a> for info on how to obtain this. + */ + public Builder accessKey(String accessKey) { + Utils.checkNotNull(accessKey, "accessKey"); + this.accessKey = accessKey; + return this; + } + + /** + * The Start date in the format YYYY-MM-DD. + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Shop URL without trailing slash. + */ + public Builder url(String url) { + Utils.checkNotNull(url, "url"); + this.url = url; + return this; + } + + public SourcePrestashop build() { + return new SourcePrestashop( + accessKey, + startDate, + url); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"prestashop\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePunkApi.java b/src/main/java/com/airbyte/api/models/shared/SourcePunkApi.java new file mode 100644 index 000000000..0f7690e65 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePunkApi.java @@ -0,0 +1,219 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourcePunkApi { + + /** + * To extract specific data with Unique ID + */ + @JsonProperty("brewed_after") + private String brewedAfter; + + /** + * To extract specific data with Unique ID + */ + @JsonProperty("brewed_before") + private String brewedBefore; + + /** + * To extract specific data with Unique ID + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("id") + private Optional id; + + @JsonProperty("sourceType") + private PunkApi sourceType; + + public SourcePunkApi( + @JsonProperty("brewed_after") String brewedAfter, + @JsonProperty("brewed_before") String brewedBefore, + @JsonProperty("id") Optional id) { + Utils.checkNotNull(brewedAfter, "brewedAfter"); + Utils.checkNotNull(brewedBefore, "brewedBefore"); + Utils.checkNotNull(id, "id"); + this.brewedAfter = brewedAfter; + this.brewedBefore = brewedBefore; + this.id = id; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * To extract specific data with Unique ID + */ + public String brewedAfter() { + return brewedAfter; + } + + /** + * To extract specific data with Unique ID + */ + public String brewedBefore() { + return brewedBefore; + } + + /** + * To extract specific data with Unique ID + */ + public Optional id() { + return id; + } + + public PunkApi sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * To extract specific data with Unique ID + */ + public SourcePunkApi withBrewedAfter(String brewedAfter) { + Utils.checkNotNull(brewedAfter, "brewedAfter"); + this.brewedAfter = brewedAfter; + return this; + } + + /** + * To extract specific data with Unique ID + */ + public SourcePunkApi withBrewedBefore(String brewedBefore) { + Utils.checkNotNull(brewedBefore, "brewedBefore"); + this.brewedBefore = brewedBefore; + return this; + } + + /** + * To extract specific data with Unique ID + */ + public SourcePunkApi withId(String id) { + Utils.checkNotNull(id, "id"); + this.id = Optional.ofNullable(id); + return this; + } + + /** + * To extract specific data with Unique ID + */ + public SourcePunkApi withId(Optional id) { + Utils.checkNotNull(id, "id"); + this.id = id; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePunkApi other = (SourcePunkApi) o; + return + java.util.Objects.deepEquals(this.brewedAfter, other.brewedAfter) && + java.util.Objects.deepEquals(this.brewedBefore, other.brewedBefore) && + java.util.Objects.deepEquals(this.id, other.id) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + brewedAfter, + brewedBefore, + id, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourcePunkApi.class, + "brewedAfter", brewedAfter, + "brewedBefore", brewedBefore, + "id", id, + "sourceType", sourceType); + } + + public final static class Builder { + + private String brewedAfter; + + private String brewedBefore; + + private Optional id = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * To extract specific data with Unique ID + */ + public Builder brewedAfter(String brewedAfter) { + Utils.checkNotNull(brewedAfter, "brewedAfter"); + this.brewedAfter = brewedAfter; + return this; + } + + /** + * To extract specific data with Unique ID + */ + public Builder brewedBefore(String brewedBefore) { + Utils.checkNotNull(brewedBefore, "brewedBefore"); + this.brewedBefore = brewedBefore; + return this; + } + + /** + * To extract specific data with Unique ID + */ + public Builder id(String id) { + Utils.checkNotNull(id, "id"); + this.id = Optional.ofNullable(id); + return this; + } + + /** + * To extract specific data with Unique ID + */ + public Builder id(Optional id) { + Utils.checkNotNull(id, "id"); + this.id = id; + return this; + } + + public SourcePunkApi build() { + return new SourcePunkApi( + brewedAfter, + brewedBefore, + id); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"punk-api\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePutRequest.java b/src/main/java/com/airbyte/api/models/shared/SourcePutRequest.java new file mode 100644 index 000000000..71262dcfa --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePutRequest.java @@ -0,0 +1,127 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourcePutRequest { + + /** + * The values required to configure the source. + */ + @JsonProperty("configuration") + private SourceConfiguration configuration; + + @JsonProperty("name") + private String name; + + public SourcePutRequest( + @JsonProperty("configuration") SourceConfiguration configuration, + @JsonProperty("name") String name) { + Utils.checkNotNull(configuration, "configuration"); + Utils.checkNotNull(name, "name"); + this.configuration = configuration; + this.name = name; + } + + /** + * The values required to configure the source. + */ + public SourceConfiguration configuration() { + return configuration; + } + + public String name() { + return name; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The values required to configure the source. + */ + public SourcePutRequest withConfiguration(SourceConfiguration configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = configuration; + return this; + } + + public SourcePutRequest withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePutRequest other = (SourcePutRequest) o; + return + java.util.Objects.deepEquals(this.configuration, other.configuration) && + java.util.Objects.deepEquals(this.name, other.name); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + configuration, + name); + } + + @Override + public String toString() { + return Utils.toString(SourcePutRequest.class, + "configuration", configuration, + "name", name); + } + + public final static class Builder { + + private SourceConfiguration configuration; + + private String name; + + private Builder() { + // force use of static builder() method + } + + /** + * The values required to configure the source. + */ + public Builder configuration(SourceConfiguration configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = configuration; + return this; + } + + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + public SourcePutRequest build() { + return new SourcePutRequest( + configuration, + name); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcePypi.java b/src/main/java/com/airbyte/api/models/shared/SourcePypi.java new file mode 100644 index 000000000..4b230893e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcePypi.java @@ -0,0 +1,179 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourcePypi { + + /** + * Name of the project/package. Can only be in lowercase with hyphen. This is the name used using pip command for installing the package. + */ + @JsonProperty("project_name") + private String projectName; + + @JsonProperty("sourceType") + private Pypi sourceType; + + /** + * Version of the project/package. Use it to find a particular release instead of all releases. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("version") + private Optional version; + + public SourcePypi( + @JsonProperty("project_name") String projectName, + @JsonProperty("version") Optional version) { + Utils.checkNotNull(projectName, "projectName"); + Utils.checkNotNull(version, "version"); + this.projectName = projectName; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.version = version; + } + + /** + * Name of the project/package. Can only be in lowercase with hyphen. This is the name used using pip command for installing the package. + */ + public String projectName() { + return projectName; + } + + public Pypi sourceType() { + return sourceType; + } + + /** + * Version of the project/package. Use it to find a particular release instead of all releases. + */ + public Optional version() { + return version; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Name of the project/package. Can only be in lowercase with hyphen. This is the name used using pip command for installing the package. + */ + public SourcePypi withProjectName(String projectName) { + Utils.checkNotNull(projectName, "projectName"); + this.projectName = projectName; + return this; + } + + /** + * Version of the project/package. Use it to find a particular release instead of all releases. + */ + public SourcePypi withVersion(String version) { + Utils.checkNotNull(version, "version"); + this.version = Optional.ofNullable(version); + return this; + } + + /** + * Version of the project/package. Use it to find a particular release instead of all releases. + */ + public SourcePypi withVersion(Optional version) { + Utils.checkNotNull(version, "version"); + this.version = version; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcePypi other = (SourcePypi) o; + return + java.util.Objects.deepEquals(this.projectName, other.projectName) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.version, other.version); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + projectName, + sourceType, + version); + } + + @Override + public String toString() { + return Utils.toString(SourcePypi.class, + "projectName", projectName, + "sourceType", sourceType, + "version", version); + } + + public final static class Builder { + + private String projectName; + + private Optional version = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Name of the project/package. Can only be in lowercase with hyphen. This is the name used using pip command for installing the package. + */ + public Builder projectName(String projectName) { + Utils.checkNotNull(projectName, "projectName"); + this.projectName = projectName; + return this; + } + + /** + * Version of the project/package. Use it to find a particular release instead of all releases. + */ + public Builder version(String version) { + Utils.checkNotNull(version, "version"); + this.version = Optional.ofNullable(version); + return this; + } + + /** + * Version of the project/package. Use it to find a particular release instead of all releases. + */ + public Builder version(Optional version) { + Utils.checkNotNull(version, "version"); + this.version = version; + return this; + } + + public SourcePypi build() { + return new SourcePypi( + projectName, + version); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"pypi\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceQualaroo.java b/src/main/java/com/airbyte/api/models/shared/SourceQualaroo.java new file mode 100644 index 000000000..2dc1ac91d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceQualaroo.java @@ -0,0 +1,259 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceQualaroo { + + /** + * A Qualaroo token. See the <a href="https://help.qualaroo.com/hc/en-us/articles/201969438-The-REST-Reporting-API">docs</a> for instructions on how to generate it. + */ + @JsonProperty("key") + private String key; + + @JsonProperty("sourceType") + private Qualaroo sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private String startDate; + + /** + * IDs of the surveys from which you'd like to replicate data. If left empty, data from all surveys to which you have access will be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("survey_ids") + private Optional> surveyIds; + + /** + * A Qualaroo token. See the <a href="https://help.qualaroo.com/hc/en-us/articles/201969438-The-REST-Reporting-API">docs</a> for instructions on how to generate it. + */ + @JsonProperty("token") + private String token; + + public SourceQualaroo( + @JsonProperty("key") String key, + @JsonProperty("start_date") String startDate, + @JsonProperty("survey_ids") Optional> surveyIds, + @JsonProperty("token") String token) { + Utils.checkNotNull(key, "key"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(surveyIds, "surveyIds"); + Utils.checkNotNull(token, "token"); + this.key = key; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.surveyIds = surveyIds; + this.token = token; + } + + /** + * A Qualaroo token. See the <a href="https://help.qualaroo.com/hc/en-us/articles/201969438-The-REST-Reporting-API">docs</a> for instructions on how to generate it. + */ + public String key() { + return key; + } + + public Qualaroo sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public String startDate() { + return startDate; + } + + /** + * IDs of the surveys from which you'd like to replicate data. If left empty, data from all surveys to which you have access will be replicated. + */ + public Optional> surveyIds() { + return surveyIds; + } + + /** + * A Qualaroo token. See the <a href="https://help.qualaroo.com/hc/en-us/articles/201969438-The-REST-Reporting-API">docs</a> for instructions on how to generate it. + */ + public String token() { + return token; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * A Qualaroo token. See the <a href="https://help.qualaroo.com/hc/en-us/articles/201969438-The-REST-Reporting-API">docs</a> for instructions on how to generate it. + */ + public SourceQualaroo withKey(String key) { + Utils.checkNotNull(key, "key"); + this.key = key; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public SourceQualaroo withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * IDs of the surveys from which you'd like to replicate data. If left empty, data from all surveys to which you have access will be replicated. + */ + public SourceQualaroo withSurveyIds(java.util.List surveyIds) { + Utils.checkNotNull(surveyIds, "surveyIds"); + this.surveyIds = Optional.ofNullable(surveyIds); + return this; + } + + /** + * IDs of the surveys from which you'd like to replicate data. If left empty, data from all surveys to which you have access will be replicated. + */ + public SourceQualaroo withSurveyIds(Optional> surveyIds) { + Utils.checkNotNull(surveyIds, "surveyIds"); + this.surveyIds = surveyIds; + return this; + } + + /** + * A Qualaroo token. See the <a href="https://help.qualaroo.com/hc/en-us/articles/201969438-The-REST-Reporting-API">docs</a> for instructions on how to generate it. + */ + public SourceQualaroo withToken(String token) { + Utils.checkNotNull(token, "token"); + this.token = token; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceQualaroo other = (SourceQualaroo) o; + return + java.util.Objects.deepEquals(this.key, other.key) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.surveyIds, other.surveyIds) && + java.util.Objects.deepEquals(this.token, other.token); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + key, + sourceType, + startDate, + surveyIds, + token); + } + + @Override + public String toString() { + return Utils.toString(SourceQualaroo.class, + "key", key, + "sourceType", sourceType, + "startDate", startDate, + "surveyIds", surveyIds, + "token", token); + } + + public final static class Builder { + + private String key; + + private String startDate; + + private Optional> surveyIds = Optional.empty(); + + private String token; + + private Builder() { + // force use of static builder() method + } + + /** + * A Qualaroo token. See the <a href="https://help.qualaroo.com/hc/en-us/articles/201969438-The-REST-Reporting-API">docs</a> for instructions on how to generate it. + */ + public Builder key(String key) { + Utils.checkNotNull(key, "key"); + this.key = key; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * IDs of the surveys from which you'd like to replicate data. If left empty, data from all surveys to which you have access will be replicated. + */ + public Builder surveyIds(java.util.List surveyIds) { + Utils.checkNotNull(surveyIds, "surveyIds"); + this.surveyIds = Optional.ofNullable(surveyIds); + return this; + } + + /** + * IDs of the surveys from which you'd like to replicate data. If left empty, data from all surveys to which you have access will be replicated. + */ + public Builder surveyIds(Optional> surveyIds) { + Utils.checkNotNull(surveyIds, "surveyIds"); + this.surveyIds = surveyIds; + return this; + } + + /** + * A Qualaroo token. See the <a href="https://help.qualaroo.com/hc/en-us/articles/201969438-The-REST-Reporting-API">docs</a> for instructions on how to generate it. + */ + public Builder token(String token) { + Utils.checkNotNull(token, "token"); + this.token = token; + return this; + } + + public SourceQualaroo build() { + return new SourceQualaroo( + key, + startDate, + surveyIds, + token); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"qualaroo\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceQuickbooks.java b/src/main/java/com/airbyte/api/models/shared/SourceQuickbooks.java new file mode 100644 index 000000000..5bbd079d8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceQuickbooks.java @@ -0,0 +1,219 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceQuickbooks { + + @JsonProperty("credentials") + private SourceQuickbooksAuthorizationMethod credentials; + + /** + * Determines whether to use the sandbox or production environment. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sandbox") + private Optional sandbox; + + @JsonProperty("sourceType") + private Quickbooks sourceType; + + /** + * The default value to use if no bookmark exists for an endpoint (rfc3339 date string). E.g, 2021-03-20T00:00:00Z. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + public SourceQuickbooks( + @JsonProperty("credentials") SourceQuickbooksAuthorizationMethod credentials, + @JsonProperty("sandbox") Optional sandbox, + @JsonProperty("start_date") OffsetDateTime startDate) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(sandbox, "sandbox"); + Utils.checkNotNull(startDate, "startDate"); + this.credentials = credentials; + this.sandbox = sandbox; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + public SourceQuickbooksAuthorizationMethod credentials() { + return credentials; + } + + /** + * Determines whether to use the sandbox or production environment. + */ + public Optional sandbox() { + return sandbox; + } + + public Quickbooks sourceType() { + return sourceType; + } + + /** + * The default value to use if no bookmark exists for an endpoint (rfc3339 date string). E.g, 2021-03-20T00:00:00Z. Any data before this date will not be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceQuickbooks withCredentials(SourceQuickbooksAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Determines whether to use the sandbox or production environment. + */ + public SourceQuickbooks withSandbox(boolean sandbox) { + Utils.checkNotNull(sandbox, "sandbox"); + this.sandbox = Optional.ofNullable(sandbox); + return this; + } + + /** + * Determines whether to use the sandbox or production environment. + */ + public SourceQuickbooks withSandbox(Optional sandbox) { + Utils.checkNotNull(sandbox, "sandbox"); + this.sandbox = sandbox; + return this; + } + + /** + * The default value to use if no bookmark exists for an endpoint (rfc3339 date string). E.g, 2021-03-20T00:00:00Z. Any data before this date will not be replicated. + */ + public SourceQuickbooks withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceQuickbooks other = (SourceQuickbooks) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.sandbox, other.sandbox) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + sandbox, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceQuickbooks.class, + "credentials", credentials, + "sandbox", sandbox, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private SourceQuickbooksAuthorizationMethod credentials; + + private Optional sandbox; + + private OffsetDateTime startDate; + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(SourceQuickbooksAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Determines whether to use the sandbox or production environment. + */ + public Builder sandbox(boolean sandbox) { + Utils.checkNotNull(sandbox, "sandbox"); + this.sandbox = Optional.ofNullable(sandbox); + return this; + } + + /** + * Determines whether to use the sandbox or production environment. + */ + public Builder sandbox(Optional sandbox) { + Utils.checkNotNull(sandbox, "sandbox"); + this.sandbox = sandbox; + return this; + } + + /** + * The default value to use if no bookmark exists for an endpoint (rfc3339 date string). E.g, 2021-03-20T00:00:00Z. Any data before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceQuickbooks build() { + if (sandbox == null) { + sandbox = _SINGLETON_VALUE_Sandbox.value(); + } + return new SourceQuickbooks( + credentials, + sandbox, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Sandbox = + new LazySingletonValue<>( + "sandbox", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"quickbooks\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceQuickbooksAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceQuickbooksAuthType.java new file mode 100644 index 000000000..0ebc8ade3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceQuickbooksAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceQuickbooksAuthType { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private SourceQuickbooksAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceQuickbooksAuthorizationMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceQuickbooksAuthorizationMethod.java new file mode 100644 index 000000000..dab033d0c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceQuickbooksAuthorizationMethod.java @@ -0,0 +1,91 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceQuickbooksAuthorizationMethod._Deserializer.class) +public class SourceQuickbooksAuthorizationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceQuickbooksAuthorizationMethod(TypedObject value) { + this.value = value; + } + + public static SourceQuickbooksAuthorizationMethod of(SourceQuickbooksOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new SourceQuickbooksAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceQuickbooksOAuth20}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceQuickbooksAuthorizationMethod other = (SourceQuickbooksAuthorizationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceQuickbooksAuthorizationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceQuickbooksAuthorizationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceQuickbooksOAuth20.java b/src/main/java/com/airbyte/api/models/shared/SourceQuickbooksOAuth20.java new file mode 100644 index 000000000..49f5f2068 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceQuickbooksOAuth20.java @@ -0,0 +1,324 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceQuickbooksOAuth20 { + + /** + * Access token for making authenticated requests. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * Identifies which app is making the request. Obtain this value from the Keys tab on the app profile via My Apps on the developer site. There are two versions of this key: development and production. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * Obtain this value from the Keys tab on the app profile via My Apps on the developer site. There are two versions of this key: development and production. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * Labeled Company ID. The Make API Calls panel is populated with the realm id and the current access token. + */ + @JsonProperty("realm_id") + private String realmId; + + /** + * A token used when refreshing the access token. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + /** + * The date-time when the access token should be refreshed. + */ + @JsonProperty("token_expiry_date") + private OffsetDateTime tokenExpiryDate; + + public SourceQuickbooksOAuth20( + @JsonProperty("access_token") String accessToken, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("realm_id") String realmId, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("token_expiry_date") OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(realmId, "realmId"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.accessToken = accessToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.realmId = realmId; + this.refreshToken = refreshToken; + this.tokenExpiryDate = tokenExpiryDate; + } + + /** + * Access token for making authenticated requests. + */ + public String accessToken() { + return accessToken; + } + + public Optional authType() { + return authType; + } + + /** + * Identifies which app is making the request. Obtain this value from the Keys tab on the app profile via My Apps on the developer site. There are two versions of this key: development and production. + */ + public String clientId() { + return clientId; + } + + /** + * Obtain this value from the Keys tab on the app profile via My Apps on the developer site. There are two versions of this key: development and production. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * Labeled Company ID. The Make API Calls panel is populated with the realm id and the current access token. + */ + public String realmId() { + return realmId; + } + + /** + * A token used when refreshing the access token. + */ + public String refreshToken() { + return refreshToken; + } + + /** + * The date-time when the access token should be refreshed. + */ + public OffsetDateTime tokenExpiryDate() { + return tokenExpiryDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Access token for making authenticated requests. + */ + public SourceQuickbooksOAuth20 withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * Identifies which app is making the request. Obtain this value from the Keys tab on the app profile via My Apps on the developer site. There are two versions of this key: development and production. + */ + public SourceQuickbooksOAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Obtain this value from the Keys tab on the app profile via My Apps on the developer site. There are two versions of this key: development and production. + */ + public SourceQuickbooksOAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Labeled Company ID. The Make API Calls panel is populated with the realm id and the current access token. + */ + public SourceQuickbooksOAuth20 withRealmId(String realmId) { + Utils.checkNotNull(realmId, "realmId"); + this.realmId = realmId; + return this; + } + + /** + * A token used when refreshing the access token. + */ + public SourceQuickbooksOAuth20 withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * The date-time when the access token should be refreshed. + */ + public SourceQuickbooksOAuth20 withTokenExpiryDate(OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.tokenExpiryDate = tokenExpiryDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceQuickbooksOAuth20 other = (SourceQuickbooksOAuth20) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.realmId, other.realmId) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.tokenExpiryDate, other.tokenExpiryDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authType, + clientId, + clientSecret, + realmId, + refreshToken, + tokenExpiryDate); + } + + @Override + public String toString() { + return Utils.toString(SourceQuickbooksOAuth20.class, + "accessToken", accessToken, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "realmId", realmId, + "refreshToken", refreshToken, + "tokenExpiryDate", tokenExpiryDate); + } + + public final static class Builder { + + private String accessToken; + + private String clientId; + + private String clientSecret; + + private String realmId; + + private String refreshToken; + + private OffsetDateTime tokenExpiryDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Access token for making authenticated requests. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * Identifies which app is making the request. Obtain this value from the Keys tab on the app profile via My Apps on the developer site. There are two versions of this key: development and production. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Obtain this value from the Keys tab on the app profile via My Apps on the developer site. There are two versions of this key: development and production. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Labeled Company ID. The Make API Calls panel is populated with the realm id and the current access token. + */ + public Builder realmId(String realmId) { + Utils.checkNotNull(realmId, "realmId"); + this.realmId = realmId; + return this; + } + + /** + * A token used when refreshing the access token. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * The date-time when the access token should be refreshed. + */ + public Builder tokenExpiryDate(OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.tokenExpiryDate = tokenExpiryDate; + return this; + } + + public SourceQuickbooksOAuth20 build() { + return new SourceQuickbooksOAuth20( + accessToken, + clientId, + clientSecret, + realmId, + refreshToken, + tokenExpiryDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"oauth2.0\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceRailz.java b/src/main/java/com/airbyte/api/models/shared/SourceRailz.java new file mode 100644 index 000000000..4fff8d7fe --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceRailz.java @@ -0,0 +1,197 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceRailz { + + /** + * Client ID (client_id) + */ + @JsonProperty("client_id") + private String clientId; + + /** + * Secret key (secret_key) + */ + @JsonProperty("secret_key") + private String secretKey; + + @JsonProperty("sourceType") + private Railz sourceType; + + /** + * Start date + */ + @JsonProperty("start_date") + private String startDate; + + public SourceRailz( + @JsonProperty("client_id") String clientId, + @JsonProperty("secret_key") String secretKey, + @JsonProperty("start_date") String startDate) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(secretKey, "secretKey"); + Utils.checkNotNull(startDate, "startDate"); + this.clientId = clientId; + this.secretKey = secretKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Client ID (client_id) + */ + public String clientId() { + return clientId; + } + + /** + * Secret key (secret_key) + */ + public String secretKey() { + return secretKey; + } + + public Railz sourceType() { + return sourceType; + } + + /** + * Start date + */ + public String startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Client ID (client_id) + */ + public SourceRailz withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Secret key (secret_key) + */ + public SourceRailz withSecretKey(String secretKey) { + Utils.checkNotNull(secretKey, "secretKey"); + this.secretKey = secretKey; + return this; + } + + /** + * Start date + */ + public SourceRailz withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceRailz other = (SourceRailz) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.secretKey, other.secretKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + secretKey, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceRailz.class, + "clientId", clientId, + "secretKey", secretKey, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String clientId; + + private String secretKey; + + private String startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Client ID (client_id) + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Secret key (secret_key) + */ + public Builder secretKey(String secretKey) { + Utils.checkNotNull(secretKey, "secretKey"); + this.secretKey = secretKey; + return this; + } + + /** + * Start date + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceRailz build() { + return new SourceRailz( + clientId, + secretKey, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"railz\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceRecharge.java b/src/main/java/com/airbyte/api/models/shared/SourceRecharge.java new file mode 100644 index 000000000..a34ff29aa --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceRecharge.java @@ -0,0 +1,231 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceRecharge { + + /** + * The value of the Access Token generated. See the <a href="https://docs.airbyte.com/integrations/sources/recharge">docs</a> for more information. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonProperty("sourceType") + private Recharge sourceType; + + /** + * The date from which you'd like to replicate data for Recharge API, in the format YYYY-MM-DDT00:00:00Z. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + /** + * Define whether or not the `Orders` stream should use the deprecated `2021-01` API version, or use `2021-11`, otherwise. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("use_orders_deprecated_api") + private Optional useOrdersDeprecatedApi; + + public SourceRecharge( + @JsonProperty("access_token") String accessToken, + @JsonProperty("start_date") OffsetDateTime startDate, + @JsonProperty("use_orders_deprecated_api") Optional useOrdersDeprecatedApi) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(useOrdersDeprecatedApi, "useOrdersDeprecatedApi"); + this.accessToken = accessToken; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.useOrdersDeprecatedApi = useOrdersDeprecatedApi; + } + + /** + * The value of the Access Token generated. See the <a href="https://docs.airbyte.com/integrations/sources/recharge">docs</a> for more information. + */ + public String accessToken() { + return accessToken; + } + + public Recharge sourceType() { + return sourceType; + } + + /** + * The date from which you'd like to replicate data for Recharge API, in the format YYYY-MM-DDT00:00:00Z. Any data before this date will not be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + /** + * Define whether or not the `Orders` stream should use the deprecated `2021-01` API version, or use `2021-11`, otherwise. + */ + public Optional useOrdersDeprecatedApi() { + return useOrdersDeprecatedApi; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The value of the Access Token generated. See the <a href="https://docs.airbyte.com/integrations/sources/recharge">docs</a> for more information. + */ + public SourceRecharge withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The date from which you'd like to replicate data for Recharge API, in the format YYYY-MM-DDT00:00:00Z. Any data before this date will not be replicated. + */ + public SourceRecharge withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Define whether or not the `Orders` stream should use the deprecated `2021-01` API version, or use `2021-11`, otherwise. + */ + public SourceRecharge withUseOrdersDeprecatedApi(boolean useOrdersDeprecatedApi) { + Utils.checkNotNull(useOrdersDeprecatedApi, "useOrdersDeprecatedApi"); + this.useOrdersDeprecatedApi = Optional.ofNullable(useOrdersDeprecatedApi); + return this; + } + + /** + * Define whether or not the `Orders` stream should use the deprecated `2021-01` API version, or use `2021-11`, otherwise. + */ + public SourceRecharge withUseOrdersDeprecatedApi(Optional useOrdersDeprecatedApi) { + Utils.checkNotNull(useOrdersDeprecatedApi, "useOrdersDeprecatedApi"); + this.useOrdersDeprecatedApi = useOrdersDeprecatedApi; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceRecharge other = (SourceRecharge) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.useOrdersDeprecatedApi, other.useOrdersDeprecatedApi); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + sourceType, + startDate, + useOrdersDeprecatedApi); + } + + @Override + public String toString() { + return Utils.toString(SourceRecharge.class, + "accessToken", accessToken, + "sourceType", sourceType, + "startDate", startDate, + "useOrdersDeprecatedApi", useOrdersDeprecatedApi); + } + + public final static class Builder { + + private String accessToken; + + private OffsetDateTime startDate; + + private Optional useOrdersDeprecatedApi; + + private Builder() { + // force use of static builder() method + } + + /** + * The value of the Access Token generated. See the <a href="https://docs.airbyte.com/integrations/sources/recharge">docs</a> for more information. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The date from which you'd like to replicate data for Recharge API, in the format YYYY-MM-DDT00:00:00Z. Any data before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Define whether or not the `Orders` stream should use the deprecated `2021-01` API version, or use `2021-11`, otherwise. + */ + public Builder useOrdersDeprecatedApi(boolean useOrdersDeprecatedApi) { + Utils.checkNotNull(useOrdersDeprecatedApi, "useOrdersDeprecatedApi"); + this.useOrdersDeprecatedApi = Optional.ofNullable(useOrdersDeprecatedApi); + return this; + } + + /** + * Define whether or not the `Orders` stream should use the deprecated `2021-01` API version, or use `2021-11`, otherwise. + */ + public Builder useOrdersDeprecatedApi(Optional useOrdersDeprecatedApi) { + Utils.checkNotNull(useOrdersDeprecatedApi, "useOrdersDeprecatedApi"); + this.useOrdersDeprecatedApi = useOrdersDeprecatedApi; + return this; + } + + public SourceRecharge build() { + if (useOrdersDeprecatedApi == null) { + useOrdersDeprecatedApi = _SINGLETON_VALUE_UseOrdersDeprecatedApi.value(); + } + return new SourceRecharge( + accessToken, + startDate, + useOrdersDeprecatedApi); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"recharge\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_UseOrdersDeprecatedApi = + new LazySingletonValue<>( + "use_orders_deprecated_api", + "true", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceRecreation.java b/src/main/java/com/airbyte/api/models/shared/SourceRecreation.java new file mode 100644 index 000000000..2f9d1326a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceRecreation.java @@ -0,0 +1,161 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceRecreation { + + /** + * API Key + */ + @JsonProperty("apikey") + private String apikey; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("query_campsites") + private Optional queryCampsites; + + @JsonProperty("sourceType") + private Recreation sourceType; + + public SourceRecreation( + @JsonProperty("apikey") String apikey, + @JsonProperty("query_campsites") Optional queryCampsites) { + Utils.checkNotNull(apikey, "apikey"); + Utils.checkNotNull(queryCampsites, "queryCampsites"); + this.apikey = apikey; + this.queryCampsites = queryCampsites; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * API Key + */ + public String apikey() { + return apikey; + } + + public Optional queryCampsites() { + return queryCampsites; + } + + public Recreation sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Key + */ + public SourceRecreation withApikey(String apikey) { + Utils.checkNotNull(apikey, "apikey"); + this.apikey = apikey; + return this; + } + + public SourceRecreation withQueryCampsites(String queryCampsites) { + Utils.checkNotNull(queryCampsites, "queryCampsites"); + this.queryCampsites = Optional.ofNullable(queryCampsites); + return this; + } + + public SourceRecreation withQueryCampsites(Optional queryCampsites) { + Utils.checkNotNull(queryCampsites, "queryCampsites"); + this.queryCampsites = queryCampsites; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceRecreation other = (SourceRecreation) o; + return + java.util.Objects.deepEquals(this.apikey, other.apikey) && + java.util.Objects.deepEquals(this.queryCampsites, other.queryCampsites) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apikey, + queryCampsites, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceRecreation.class, + "apikey", apikey, + "queryCampsites", queryCampsites, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apikey; + + private Optional queryCampsites = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * API Key + */ + public Builder apikey(String apikey) { + Utils.checkNotNull(apikey, "apikey"); + this.apikey = apikey; + return this; + } + + public Builder queryCampsites(String queryCampsites) { + Utils.checkNotNull(queryCampsites, "queryCampsites"); + this.queryCampsites = Optional.ofNullable(queryCampsites); + return this; + } + + public Builder queryCampsites(Optional queryCampsites) { + Utils.checkNotNull(queryCampsites, "queryCampsites"); + this.queryCampsites = queryCampsites; + return this; + } + + public SourceRecreation build() { + return new SourceRecreation( + apikey, + queryCampsites); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"recreation\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceRecruitee.java b/src/main/java/com/airbyte/api/models/shared/SourceRecruitee.java new file mode 100644 index 000000000..4354f0006 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceRecruitee.java @@ -0,0 +1,157 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceRecruitee { + + /** + * Recruitee API Key. See <a href="https://docs.recruitee.com/reference/getting-started#generate-api-token">here</a>. + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * Recruitee Company ID. You can also find this ID on the <a href="https://app.recruitee.com/#/settings/api_tokens">Recruitee API tokens page</a>. + */ + @JsonProperty("company_id") + private long companyId; + + @JsonProperty("sourceType") + private Recruitee sourceType; + + public SourceRecruitee( + @JsonProperty("api_key") String apiKey, + @JsonProperty("company_id") long companyId) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(companyId, "companyId"); + this.apiKey = apiKey; + this.companyId = companyId; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Recruitee API Key. See <a href="https://docs.recruitee.com/reference/getting-started#generate-api-token">here</a>. + */ + public String apiKey() { + return apiKey; + } + + /** + * Recruitee Company ID. You can also find this ID on the <a href="https://app.recruitee.com/#/settings/api_tokens">Recruitee API tokens page</a>. + */ + public long companyId() { + return companyId; + } + + public Recruitee sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Recruitee API Key. See <a href="https://docs.recruitee.com/reference/getting-started#generate-api-token">here</a>. + */ + public SourceRecruitee withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Recruitee Company ID. You can also find this ID on the <a href="https://app.recruitee.com/#/settings/api_tokens">Recruitee API tokens page</a>. + */ + public SourceRecruitee withCompanyId(long companyId) { + Utils.checkNotNull(companyId, "companyId"); + this.companyId = companyId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceRecruitee other = (SourceRecruitee) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.companyId, other.companyId) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + companyId, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceRecruitee.class, + "apiKey", apiKey, + "companyId", companyId, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Long companyId; + + private Builder() { + // force use of static builder() method + } + + /** + * Recruitee API Key. See <a href="https://docs.recruitee.com/reference/getting-started#generate-api-token">here</a>. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Recruitee Company ID. You can also find this ID on the <a href="https://app.recruitee.com/#/settings/api_tokens">Recruitee API tokens page</a>. + */ + public Builder companyId(long companyId) { + Utils.checkNotNull(companyId, "companyId"); + this.companyId = companyId; + return this; + } + + public SourceRecruitee build() { + return new SourceRecruitee( + apiKey, + companyId); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"recruitee\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceRecurly.java b/src/main/java/com/airbyte/api/models/shared/SourceRecurly.java new file mode 100644 index 000000000..49bb6e165 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceRecurly.java @@ -0,0 +1,238 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceRecurly { + + /** + * Recurly API Key. See the <a href="https://docs.airbyte.com/integrations/sources/recurly">docs</a> for more information on how to generate this key. + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * ISO8601 timestamp from which the replication from Recurly API will start from. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("begin_time") + private Optional beginTime; + + /** + * ISO8601 timestamp to which the replication from Recurly API will stop. Records after that date won't be imported. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_time") + private Optional endTime; + + @JsonProperty("sourceType") + private Recurly sourceType; + + public SourceRecurly( + @JsonProperty("api_key") String apiKey, + @JsonProperty("begin_time") Optional beginTime, + @JsonProperty("end_time") Optional endTime) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(beginTime, "beginTime"); + Utils.checkNotNull(endTime, "endTime"); + this.apiKey = apiKey; + this.beginTime = beginTime; + this.endTime = endTime; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Recurly API Key. See the <a href="https://docs.airbyte.com/integrations/sources/recurly">docs</a> for more information on how to generate this key. + */ + public String apiKey() { + return apiKey; + } + + /** + * ISO8601 timestamp from which the replication from Recurly API will start from. + */ + public Optional beginTime() { + return beginTime; + } + + /** + * ISO8601 timestamp to which the replication from Recurly API will stop. Records after that date won't be imported. + */ + public Optional endTime() { + return endTime; + } + + public Recurly sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Recurly API Key. See the <a href="https://docs.airbyte.com/integrations/sources/recurly">docs</a> for more information on how to generate this key. + */ + public SourceRecurly withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * ISO8601 timestamp from which the replication from Recurly API will start from. + */ + public SourceRecurly withBeginTime(String beginTime) { + Utils.checkNotNull(beginTime, "beginTime"); + this.beginTime = Optional.ofNullable(beginTime); + return this; + } + + /** + * ISO8601 timestamp from which the replication from Recurly API will start from. + */ + public SourceRecurly withBeginTime(Optional beginTime) { + Utils.checkNotNull(beginTime, "beginTime"); + this.beginTime = beginTime; + return this; + } + + /** + * ISO8601 timestamp to which the replication from Recurly API will stop. Records after that date won't be imported. + */ + public SourceRecurly withEndTime(String endTime) { + Utils.checkNotNull(endTime, "endTime"); + this.endTime = Optional.ofNullable(endTime); + return this; + } + + /** + * ISO8601 timestamp to which the replication from Recurly API will stop. Records after that date won't be imported. + */ + public SourceRecurly withEndTime(Optional endTime) { + Utils.checkNotNull(endTime, "endTime"); + this.endTime = endTime; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceRecurly other = (SourceRecurly) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.beginTime, other.beginTime) && + java.util.Objects.deepEquals(this.endTime, other.endTime) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + beginTime, + endTime, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceRecurly.class, + "apiKey", apiKey, + "beginTime", beginTime, + "endTime", endTime, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Optional beginTime = Optional.empty(); + + private Optional endTime = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Recurly API Key. See the <a href="https://docs.airbyte.com/integrations/sources/recurly">docs</a> for more information on how to generate this key. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * ISO8601 timestamp from which the replication from Recurly API will start from. + */ + public Builder beginTime(String beginTime) { + Utils.checkNotNull(beginTime, "beginTime"); + this.beginTime = Optional.ofNullable(beginTime); + return this; + } + + /** + * ISO8601 timestamp from which the replication from Recurly API will start from. + */ + public Builder beginTime(Optional beginTime) { + Utils.checkNotNull(beginTime, "beginTime"); + this.beginTime = beginTime; + return this; + } + + /** + * ISO8601 timestamp to which the replication from Recurly API will stop. Records after that date won't be imported. + */ + public Builder endTime(String endTime) { + Utils.checkNotNull(endTime, "endTime"); + this.endTime = Optional.ofNullable(endTime); + return this; + } + + /** + * ISO8601 timestamp to which the replication from Recurly API will stop. Records after that date won't be imported. + */ + public Builder endTime(Optional endTime) { + Utils.checkNotNull(endTime, "endTime"); + this.endTime = endTime; + return this; + } + + public SourceRecurly build() { + return new SourceRecurly( + apiKey, + beginTime, + endTime); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"recurly\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceRedshift.java b/src/main/java/com/airbyte/api/models/shared/SourceRedshift.java new file mode 100644 index 000000000..4b8fe0e42 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceRedshift.java @@ -0,0 +1,426 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceRedshift { + + /** + * Name of the database. + */ + @JsonProperty("database") + private String database; + + /** + * Host Endpoint of the Redshift Cluster (must include the cluster-id, region and end with .redshift.amazonaws.com). + */ + @JsonProperty("host") + private String host; + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("jdbc_url_params") + private Optional jdbcUrlParams; + + /** + * Password associated with the username. + */ + @JsonProperty("password") + private String password; + + /** + * Port of the database. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + /** + * The list of schemas to sync from. Specify one or more explicitly or keep empty to process all schemas. Schema names are case sensitive. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schemas") + private Optional> schemas; + + @JsonProperty("sourceType") + private SourceRedshiftRedshift sourceType; + + /** + * Username to use to access the database. + */ + @JsonProperty("username") + private String username; + + public SourceRedshift( + @JsonProperty("database") String database, + @JsonProperty("host") String host, + @JsonProperty("jdbc_url_params") Optional jdbcUrlParams, + @JsonProperty("password") String password, + @JsonProperty("port") Optional port, + @JsonProperty("schemas") Optional> schemas, + @JsonProperty("username") String username) { + Utils.checkNotNull(database, "database"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(schemas, "schemas"); + Utils.checkNotNull(username, "username"); + this.database = database; + this.host = host; + this.jdbcUrlParams = jdbcUrlParams; + this.password = password; + this.port = port; + this.schemas = schemas; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.username = username; + } + + /** + * Name of the database. + */ + public String database() { + return database; + } + + /** + * Host Endpoint of the Redshift Cluster (must include the cluster-id, region and end with .redshift.amazonaws.com). + */ + public String host() { + return host; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Optional jdbcUrlParams() { + return jdbcUrlParams; + } + + /** + * Password associated with the username. + */ + public String password() { + return password; + } + + /** + * Port of the database. + */ + public Optional port() { + return port; + } + + /** + * The list of schemas to sync from. Specify one or more explicitly or keep empty to process all schemas. Schema names are case sensitive. + */ + public Optional> schemas() { + return schemas; + } + + public SourceRedshiftRedshift sourceType() { + return sourceType; + } + + /** + * Username to use to access the database. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Name of the database. + */ + public SourceRedshift withDatabase(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * Host Endpoint of the Redshift Cluster (must include the cluster-id, region and end with .redshift.amazonaws.com). + */ + public SourceRedshift withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public SourceRedshift withJdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public SourceRedshift withJdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * Password associated with the username. + */ + public SourceRedshift withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Port of the database. + */ + public SourceRedshift withPort(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Port of the database. + */ + public SourceRedshift withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * The list of schemas to sync from. Specify one or more explicitly or keep empty to process all schemas. Schema names are case sensitive. + */ + public SourceRedshift withSchemas(java.util.List schemas) { + Utils.checkNotNull(schemas, "schemas"); + this.schemas = Optional.ofNullable(schemas); + return this; + } + + /** + * The list of schemas to sync from. Specify one or more explicitly or keep empty to process all schemas. Schema names are case sensitive. + */ + public SourceRedshift withSchemas(Optional> schemas) { + Utils.checkNotNull(schemas, "schemas"); + this.schemas = schemas; + return this; + } + + /** + * Username to use to access the database. + */ + public SourceRedshift withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceRedshift other = (SourceRedshift) o; + return + java.util.Objects.deepEquals(this.database, other.database) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.jdbcUrlParams, other.jdbcUrlParams) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.schemas, other.schemas) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + database, + host, + jdbcUrlParams, + password, + port, + schemas, + sourceType, + username); + } + + @Override + public String toString() { + return Utils.toString(SourceRedshift.class, + "database", database, + "host", host, + "jdbcUrlParams", jdbcUrlParams, + "password", password, + "port", port, + "schemas", schemas, + "sourceType", sourceType, + "username", username); + } + + public final static class Builder { + + private String database; + + private String host; + + private Optional jdbcUrlParams = Optional.empty(); + + private String password; + + private Optional port; + + private Optional> schemas = Optional.empty(); + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Name of the database. + */ + public Builder database(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * Host Endpoint of the Redshift Cluster (must include the cluster-id, region and end with .redshift.amazonaws.com). + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * Password associated with the username. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Port of the database. + */ + public Builder port(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * Port of the database. + */ + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * The list of schemas to sync from. Specify one or more explicitly or keep empty to process all schemas. Schema names are case sensitive. + */ + public Builder schemas(java.util.List schemas) { + Utils.checkNotNull(schemas, "schemas"); + this.schemas = Optional.ofNullable(schemas); + return this; + } + + /** + * The list of schemas to sync from. Specify one or more explicitly or keep empty to process all schemas. Schema names are case sensitive. + */ + public Builder schemas(Optional> schemas) { + Utils.checkNotNull(schemas, "schemas"); + this.schemas = schemas; + return this; + } + + /** + * Username to use to access the database. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public SourceRedshift build() { + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + return new SourceRedshift( + database, + host, + jdbcUrlParams, + password, + port, + schemas, + username); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "5439", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"redshift\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceRedshiftRedshift.java b/src/main/java/com/airbyte/api/models/shared/SourceRedshiftRedshift.java new file mode 100644 index 000000000..dadfbcb53 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceRedshiftRedshift.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceRedshiftRedshift { + REDSHIFT("redshift"); + + @JsonValue + private final String value; + + private SourceRedshiftRedshift(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceResponse.java b/src/main/java/com/airbyte/api/models/shared/SourceResponse.java new file mode 100644 index 000000000..fa3a0ff04 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceResponse.java @@ -0,0 +1,214 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceResponse - Provides details of a single source. + */ + +public class SourceResponse { + + /** + * The values required to configure the source. + */ + @JsonProperty("configuration") + private SourceConfiguration configuration; + + @JsonProperty("name") + private String name; + + @JsonProperty("sourceId") + private String sourceId; + + @JsonProperty("sourceType") + private String sourceType; + + @JsonProperty("workspaceId") + private String workspaceId; + + public SourceResponse( + @JsonProperty("configuration") SourceConfiguration configuration, + @JsonProperty("name") String name, + @JsonProperty("sourceId") String sourceId, + @JsonProperty("sourceType") String sourceType, + @JsonProperty("workspaceId") String workspaceId) { + Utils.checkNotNull(configuration, "configuration"); + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(sourceId, "sourceId"); + Utils.checkNotNull(sourceType, "sourceType"); + Utils.checkNotNull(workspaceId, "workspaceId"); + this.configuration = configuration; + this.name = name; + this.sourceId = sourceId; + this.sourceType = sourceType; + this.workspaceId = workspaceId; + } + + /** + * The values required to configure the source. + */ + public SourceConfiguration configuration() { + return configuration; + } + + public String name() { + return name; + } + + public String sourceId() { + return sourceId; + } + + public String sourceType() { + return sourceType; + } + + public String workspaceId() { + return workspaceId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The values required to configure the source. + */ + public SourceResponse withConfiguration(SourceConfiguration configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = configuration; + return this; + } + + public SourceResponse withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + public SourceResponse withSourceId(String sourceId) { + Utils.checkNotNull(sourceId, "sourceId"); + this.sourceId = sourceId; + return this; + } + + public SourceResponse withSourceType(String sourceType) { + Utils.checkNotNull(sourceType, "sourceType"); + this.sourceType = sourceType; + return this; + } + + public SourceResponse withWorkspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceResponse other = (SourceResponse) o; + return + java.util.Objects.deepEquals(this.configuration, other.configuration) && + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.sourceId, other.sourceId) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.workspaceId, other.workspaceId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + configuration, + name, + sourceId, + sourceType, + workspaceId); + } + + @Override + public String toString() { + return Utils.toString(SourceResponse.class, + "configuration", configuration, + "name", name, + "sourceId", sourceId, + "sourceType", sourceType, + "workspaceId", workspaceId); + } + + public final static class Builder { + + private SourceConfiguration configuration; + + private String name; + + private String sourceId; + + private String sourceType; + + private String workspaceId; + + private Builder() { + // force use of static builder() method + } + + /** + * The values required to configure the source. + */ + public Builder configuration(SourceConfiguration configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = configuration; + return this; + } + + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + public Builder sourceId(String sourceId) { + Utils.checkNotNull(sourceId, "sourceId"); + this.sourceId = sourceId; + return this; + } + + public Builder sourceType(String sourceType) { + Utils.checkNotNull(sourceType, "sourceType"); + this.sourceType = sourceType; + return this; + } + + public Builder workspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + public SourceResponse build() { + return new SourceResponse( + configuration, + name, + sourceId, + sourceType, + workspaceId); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceRetently.java b/src/main/java/com/airbyte/api/models/shared/SourceRetently.java new file mode 100644 index 000000000..ae06103fa --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceRetently.java @@ -0,0 +1,140 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceRetently { + + /** + * Choose how to authenticate to Retently + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sourceType") + private Optional sourceType; + + public SourceRetently( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Choose how to authenticate to Retently + */ + public Optional credentials() { + return credentials; + } + + public Optional sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Choose how to authenticate to Retently + */ + public SourceRetently withCredentials(java.lang.Object credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Choose how to authenticate to Retently + */ + public SourceRetently withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceRetently other = (SourceRetently) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceRetently.class, + "credentials", credentials, + "sourceType", sourceType); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Choose how to authenticate to Retently + */ + public Builder credentials(java.lang.Object credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Choose how to authenticate to Retently + */ + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public SourceRetently build() { + return new SourceRetently( + credentials); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"retently\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceRetentlyRetently.java b/src/main/java/com/airbyte/api/models/shared/SourceRetentlyRetently.java new file mode 100644 index 000000000..aa8273cc2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceRetentlyRetently.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceRetentlyRetently { + RETENTLY("retently"); + + @JsonValue + private final String value; + + private SourceRetentlyRetently(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceRkiCovid.java b/src/main/java/com/airbyte/api/models/shared/SourceRkiCovid.java new file mode 100644 index 000000000..9a1870cb4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceRkiCovid.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceRkiCovid { + + @JsonProperty("sourceType") + private RkiCovid sourceType; + + /** + * UTC date in the format 2017-01-25. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private String startDate; + + public SourceRkiCovid( + @JsonProperty("start_date") String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + public RkiCovid sourceType() { + return sourceType; + } + + /** + * UTC date in the format 2017-01-25. Any data before this date will not be replicated. + */ + public String startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * UTC date in the format 2017-01-25. Any data before this date will not be replicated. + */ + public SourceRkiCovid withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceRkiCovid other = (SourceRkiCovid) o; + return + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceRkiCovid.class, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * UTC date in the format 2017-01-25. Any data before this date will not be replicated. + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceRkiCovid build() { + return new SourceRkiCovid( + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"rki-covid\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceRss.java b/src/main/java/com/airbyte/api/models/shared/SourceRss.java new file mode 100644 index 000000000..5e6c2b34e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceRss.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceRss { + + @JsonProperty("sourceType") + private Rss sourceType; + + /** + * RSS Feed URL + */ + @JsonProperty("url") + private String url; + + public SourceRss( + @JsonProperty("url") String url) { + Utils.checkNotNull(url, "url"); + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.url = url; + } + + public Rss sourceType() { + return sourceType; + } + + /** + * RSS Feed URL + */ + public String url() { + return url; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * RSS Feed URL + */ + public SourceRss withUrl(String url) { + Utils.checkNotNull(url, "url"); + this.url = url; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceRss other = (SourceRss) o; + return + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.url, other.url); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sourceType, + url); + } + + @Override + public String toString() { + return Utils.toString(SourceRss.class, + "sourceType", sourceType, + "url", url); + } + + public final static class Builder { + + private String url; + + private Builder() { + // force use of static builder() method + } + + /** + * RSS Feed URL + */ + public Builder url(String url) { + Utils.checkNotNull(url, "url"); + this.url = url; + return this; + } + + public SourceRss build() { + return new SourceRss( + url); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"rss\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3.java b/src/main/java/com/airbyte/api/models/shared/SourceS3.java new file mode 100644 index 000000000..5ec486070 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3.java @@ -0,0 +1,834 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + +/** + * SourceS3 - NOTE: When this Spec is changed, legacy_config_transformer.py must also be modified to uptake the changes + * because it is responsible for converting legacy S3 v3 configs into v4 configs using the File-Based CDK. + */ + +public class SourceS3 { + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("aws_access_key_id") + private Optional awsAccessKeyId; + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("aws_secret_access_key") + private Optional awsSecretAccessKey; + + /** + * Name of the S3 bucket where the file(s) exist. + */ + @JsonProperty("bucket") + private String bucket; + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.name instead. The name of the stream you would like this source to output. Can contain letters, numbers, or underscores. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("dataset") + private Optional dataset; + + /** + * Endpoint to an S3 compatible service. Leave empty to use AWS. The custom endpoint must be secure, but the 'https' prefix is not required. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("endpoint") + private Optional endpoint; + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.format instead. The format of the files you'd like to replicate + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("format") + private Optional format; + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.globs instead. A regular expression which tells the connector which files to replicate. All files which match this pattern will be replicated. Use | to separate multiple patterns. See <a href="https://facelessuser.github.io/wcmatch/glob/" target="_blank">this page</a> to understand pattern syntax (GLOBSTAR and SPLIT flags are enabled). Use pattern <strong>**</strong> to pick up all files. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("path_pattern") + private Optional pathPattern; + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use bucket, aws_access_key_id, aws_secret_access_key and endpoint instead. Use this to load files from S3 or S3-compatible services + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("provider") + private Optional provider; + + /** + * AWS region where the S3 bucket is located. If not provided, the region will be determined automatically. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("region_name") + private Optional regionName; + + /** + * Specifies the Amazon Resource Name (ARN) of an IAM role that you want to use to perform operations requested using this profile. Set the External ID to the Airbyte workspace ID, which can be found in the URL of this page. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("role_arn") + private Optional roleArn; + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.input_schema instead. Optionally provide a schema to enforce, as a valid JSON string. Ensure this is a mapping of <strong>{ "column" : "type" }</strong>, where types are valid <a href="https://json-schema.org/understanding-json-schema/reference/type.html" target="_blank">JSON Schema datatypes</a>. Leave as {} to auto-infer the schema. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schema") + private Optional schema; + + @JsonProperty("sourceType") + private SourceS3S3 sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + @JsonProperty("streams") + private java.util.List streams; + + public SourceS3( + @JsonProperty("aws_access_key_id") Optional awsAccessKeyId, + @JsonProperty("aws_secret_access_key") Optional awsSecretAccessKey, + @JsonProperty("bucket") String bucket, + @JsonProperty("dataset") Optional dataset, + @JsonProperty("endpoint") Optional endpoint, + @JsonProperty("format") Optional format, + @JsonProperty("path_pattern") Optional pathPattern, + @JsonProperty("provider") Optional provider, + @JsonProperty("region_name") Optional regionName, + @JsonProperty("role_arn") Optional roleArn, + @JsonProperty("schema") Optional schema, + @JsonProperty("start_date") Optional startDate, + @JsonProperty("streams") java.util.List streams) { + Utils.checkNotNull(awsAccessKeyId, "awsAccessKeyId"); + Utils.checkNotNull(awsSecretAccessKey, "awsSecretAccessKey"); + Utils.checkNotNull(bucket, "bucket"); + Utils.checkNotNull(dataset, "dataset"); + Utils.checkNotNull(endpoint, "endpoint"); + Utils.checkNotNull(format, "format"); + Utils.checkNotNull(pathPattern, "pathPattern"); + Utils.checkNotNull(provider, "provider"); + Utils.checkNotNull(regionName, "regionName"); + Utils.checkNotNull(roleArn, "roleArn"); + Utils.checkNotNull(schema, "schema"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(streams, "streams"); + this.awsAccessKeyId = awsAccessKeyId; + this.awsSecretAccessKey = awsSecretAccessKey; + this.bucket = bucket; + this.dataset = dataset; + this.endpoint = endpoint; + this.format = format; + this.pathPattern = pathPattern; + this.provider = provider; + this.regionName = regionName; + this.roleArn = roleArn; + this.schema = schema; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.streams = streams; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public Optional awsAccessKeyId() { + return awsAccessKeyId; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public Optional awsSecretAccessKey() { + return awsSecretAccessKey; + } + + /** + * Name of the S3 bucket where the file(s) exist. + */ + public String bucket() { + return bucket; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.name instead. The name of the stream you would like this source to output. Can contain letters, numbers, or underscores. + */ + public Optional dataset() { + return dataset; + } + + /** + * Endpoint to an S3 compatible service. Leave empty to use AWS. The custom endpoint must be secure, but the 'https' prefix is not required. + */ + public Optional endpoint() { + return endpoint; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.format instead. The format of the files you'd like to replicate + */ + public Optional format() { + return format; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.globs instead. A regular expression which tells the connector which files to replicate. All files which match this pattern will be replicated. Use | to separate multiple patterns. See <a href="https://facelessuser.github.io/wcmatch/glob/" target="_blank">this page</a> to understand pattern syntax (GLOBSTAR and SPLIT flags are enabled). Use pattern <strong>**</strong> to pick up all files. + */ + public Optional pathPattern() { + return pathPattern; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use bucket, aws_access_key_id, aws_secret_access_key and endpoint instead. Use this to load files from S3 or S3-compatible services + */ + public Optional provider() { + return provider; + } + + /** + * AWS region where the S3 bucket is located. If not provided, the region will be determined automatically. + */ + public Optional regionName() { + return regionName; + } + + /** + * Specifies the Amazon Resource Name (ARN) of an IAM role that you want to use to perform operations requested using this profile. Set the External ID to the Airbyte workspace ID, which can be found in the URL of this page. + */ + public Optional roleArn() { + return roleArn; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.input_schema instead. Optionally provide a schema to enforce, as a valid JSON string. Ensure this is a mapping of <strong>{ "column" : "type" }</strong>, where types are valid <a href="https://json-schema.org/understanding-json-schema/reference/type.html" target="_blank">JSON Schema datatypes</a>. Leave as {} to auto-infer the schema. + */ + public Optional schema() { + return schema; + } + + public SourceS3S3 sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public Optional startDate() { + return startDate; + } + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + public java.util.List streams() { + return streams; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public SourceS3 withAwsAccessKeyId(String awsAccessKeyId) { + Utils.checkNotNull(awsAccessKeyId, "awsAccessKeyId"); + this.awsAccessKeyId = Optional.ofNullable(awsAccessKeyId); + return this; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public SourceS3 withAwsAccessKeyId(Optional awsAccessKeyId) { + Utils.checkNotNull(awsAccessKeyId, "awsAccessKeyId"); + this.awsAccessKeyId = awsAccessKeyId; + return this; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public SourceS3 withAwsSecretAccessKey(String awsSecretAccessKey) { + Utils.checkNotNull(awsSecretAccessKey, "awsSecretAccessKey"); + this.awsSecretAccessKey = Optional.ofNullable(awsSecretAccessKey); + return this; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public SourceS3 withAwsSecretAccessKey(Optional awsSecretAccessKey) { + Utils.checkNotNull(awsSecretAccessKey, "awsSecretAccessKey"); + this.awsSecretAccessKey = awsSecretAccessKey; + return this; + } + + /** + * Name of the S3 bucket where the file(s) exist. + */ + public SourceS3 withBucket(String bucket) { + Utils.checkNotNull(bucket, "bucket"); + this.bucket = bucket; + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.name instead. The name of the stream you would like this source to output. Can contain letters, numbers, or underscores. + */ + public SourceS3 withDataset(String dataset) { + Utils.checkNotNull(dataset, "dataset"); + this.dataset = Optional.ofNullable(dataset); + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.name instead. The name of the stream you would like this source to output. Can contain letters, numbers, or underscores. + */ + public SourceS3 withDataset(Optional dataset) { + Utils.checkNotNull(dataset, "dataset"); + this.dataset = dataset; + return this; + } + + /** + * Endpoint to an S3 compatible service. Leave empty to use AWS. The custom endpoint must be secure, but the 'https' prefix is not required. + */ + public SourceS3 withEndpoint(String endpoint) { + Utils.checkNotNull(endpoint, "endpoint"); + this.endpoint = Optional.ofNullable(endpoint); + return this; + } + + /** + * Endpoint to an S3 compatible service. Leave empty to use AWS. The custom endpoint must be secure, but the 'https' prefix is not required. + */ + public SourceS3 withEndpoint(Optional endpoint) { + Utils.checkNotNull(endpoint, "endpoint"); + this.endpoint = endpoint; + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.format instead. The format of the files you'd like to replicate + */ + public SourceS3 withFormat(SourceS3FileFormat format) { + Utils.checkNotNull(format, "format"); + this.format = Optional.ofNullable(format); + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.format instead. The format of the files you'd like to replicate + */ + public SourceS3 withFormat(Optional format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.globs instead. A regular expression which tells the connector which files to replicate. All files which match this pattern will be replicated. Use | to separate multiple patterns. See <a href="https://facelessuser.github.io/wcmatch/glob/" target="_blank">this page</a> to understand pattern syntax (GLOBSTAR and SPLIT flags are enabled). Use pattern <strong>**</strong> to pick up all files. + */ + public SourceS3 withPathPattern(String pathPattern) { + Utils.checkNotNull(pathPattern, "pathPattern"); + this.pathPattern = Optional.ofNullable(pathPattern); + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.globs instead. A regular expression which tells the connector which files to replicate. All files which match this pattern will be replicated. Use | to separate multiple patterns. See <a href="https://facelessuser.github.io/wcmatch/glob/" target="_blank">this page</a> to understand pattern syntax (GLOBSTAR and SPLIT flags are enabled). Use pattern <strong>**</strong> to pick up all files. + */ + public SourceS3 withPathPattern(Optional pathPattern) { + Utils.checkNotNull(pathPattern, "pathPattern"); + this.pathPattern = pathPattern; + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use bucket, aws_access_key_id, aws_secret_access_key and endpoint instead. Use this to load files from S3 or S3-compatible services + */ + public SourceS3 withProvider(S3AmazonWebServices provider) { + Utils.checkNotNull(provider, "provider"); + this.provider = Optional.ofNullable(provider); + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use bucket, aws_access_key_id, aws_secret_access_key and endpoint instead. Use this to load files from S3 or S3-compatible services + */ + public SourceS3 withProvider(Optional provider) { + Utils.checkNotNull(provider, "provider"); + this.provider = provider; + return this; + } + + /** + * AWS region where the S3 bucket is located. If not provided, the region will be determined automatically. + */ + public SourceS3 withRegionName(String regionName) { + Utils.checkNotNull(regionName, "regionName"); + this.regionName = Optional.ofNullable(regionName); + return this; + } + + /** + * AWS region where the S3 bucket is located. If not provided, the region will be determined automatically. + */ + public SourceS3 withRegionName(Optional regionName) { + Utils.checkNotNull(regionName, "regionName"); + this.regionName = regionName; + return this; + } + + /** + * Specifies the Amazon Resource Name (ARN) of an IAM role that you want to use to perform operations requested using this profile. Set the External ID to the Airbyte workspace ID, which can be found in the URL of this page. + */ + public SourceS3 withRoleArn(String roleArn) { + Utils.checkNotNull(roleArn, "roleArn"); + this.roleArn = Optional.ofNullable(roleArn); + return this; + } + + /** + * Specifies the Amazon Resource Name (ARN) of an IAM role that you want to use to perform operations requested using this profile. Set the External ID to the Airbyte workspace ID, which can be found in the URL of this page. + */ + public SourceS3 withRoleArn(Optional roleArn) { + Utils.checkNotNull(roleArn, "roleArn"); + this.roleArn = roleArn; + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.input_schema instead. Optionally provide a schema to enforce, as a valid JSON string. Ensure this is a mapping of <strong>{ "column" : "type" }</strong>, where types are valid <a href="https://json-schema.org/understanding-json-schema/reference/type.html" target="_blank">JSON Schema datatypes</a>. Leave as {} to auto-infer the schema. + */ + public SourceS3 withSchema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = Optional.ofNullable(schema); + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.input_schema instead. Optionally provide a schema to enforce, as a valid JSON string. Ensure this is a mapping of <strong>{ "column" : "type" }</strong>, where types are valid <a href="https://json-schema.org/understanding-json-schema/reference/type.html" target="_blank">JSON Schema datatypes</a>. Leave as {} to auto-infer the schema. + */ + public SourceS3 withSchema(Optional schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public SourceS3 withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public SourceS3 withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + public SourceS3 withStreams(java.util.List streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = streams; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceS3 other = (SourceS3) o; + return + java.util.Objects.deepEquals(this.awsAccessKeyId, other.awsAccessKeyId) && + java.util.Objects.deepEquals(this.awsSecretAccessKey, other.awsSecretAccessKey) && + java.util.Objects.deepEquals(this.bucket, other.bucket) && + java.util.Objects.deepEquals(this.dataset, other.dataset) && + java.util.Objects.deepEquals(this.endpoint, other.endpoint) && + java.util.Objects.deepEquals(this.format, other.format) && + java.util.Objects.deepEquals(this.pathPattern, other.pathPattern) && + java.util.Objects.deepEquals(this.provider, other.provider) && + java.util.Objects.deepEquals(this.regionName, other.regionName) && + java.util.Objects.deepEquals(this.roleArn, other.roleArn) && + java.util.Objects.deepEquals(this.schema, other.schema) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.streams, other.streams); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + awsAccessKeyId, + awsSecretAccessKey, + bucket, + dataset, + endpoint, + format, + pathPattern, + provider, + regionName, + roleArn, + schema, + sourceType, + startDate, + streams); + } + + @Override + public String toString() { + return Utils.toString(SourceS3.class, + "awsAccessKeyId", awsAccessKeyId, + "awsSecretAccessKey", awsSecretAccessKey, + "bucket", bucket, + "dataset", dataset, + "endpoint", endpoint, + "format", format, + "pathPattern", pathPattern, + "provider", provider, + "regionName", regionName, + "roleArn", roleArn, + "schema", schema, + "sourceType", sourceType, + "startDate", startDate, + "streams", streams); + } + + public final static class Builder { + + private Optional awsAccessKeyId = Optional.empty(); + + private Optional awsSecretAccessKey = Optional.empty(); + + private String bucket; + + private Optional dataset = Optional.empty(); + + private Optional endpoint; + + private Optional format = Optional.empty(); + + private Optional pathPattern = Optional.empty(); + + private Optional provider = Optional.empty(); + + private Optional regionName = Optional.empty(); + + private Optional roleArn = Optional.empty(); + + private Optional schema; + + private Optional startDate = Optional.empty(); + + private java.util.List streams; + + private Builder() { + // force use of static builder() method + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public Builder awsAccessKeyId(String awsAccessKeyId) { + Utils.checkNotNull(awsAccessKeyId, "awsAccessKeyId"); + this.awsAccessKeyId = Optional.ofNullable(awsAccessKeyId); + return this; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public Builder awsAccessKeyId(Optional awsAccessKeyId) { + Utils.checkNotNull(awsAccessKeyId, "awsAccessKeyId"); + this.awsAccessKeyId = awsAccessKeyId; + return this; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public Builder awsSecretAccessKey(String awsSecretAccessKey) { + Utils.checkNotNull(awsSecretAccessKey, "awsSecretAccessKey"); + this.awsSecretAccessKey = Optional.ofNullable(awsSecretAccessKey); + return this; + } + + /** + * In order to access private Buckets stored on AWS S3, this connector requires credentials with the proper permissions. If accessing publicly available data, this field is not necessary. + */ + public Builder awsSecretAccessKey(Optional awsSecretAccessKey) { + Utils.checkNotNull(awsSecretAccessKey, "awsSecretAccessKey"); + this.awsSecretAccessKey = awsSecretAccessKey; + return this; + } + + /** + * Name of the S3 bucket where the file(s) exist. + */ + public Builder bucket(String bucket) { + Utils.checkNotNull(bucket, "bucket"); + this.bucket = bucket; + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.name instead. The name of the stream you would like this source to output. Can contain letters, numbers, or underscores. + */ + public Builder dataset(String dataset) { + Utils.checkNotNull(dataset, "dataset"); + this.dataset = Optional.ofNullable(dataset); + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.name instead. The name of the stream you would like this source to output. Can contain letters, numbers, or underscores. + */ + public Builder dataset(Optional dataset) { + Utils.checkNotNull(dataset, "dataset"); + this.dataset = dataset; + return this; + } + + /** + * Endpoint to an S3 compatible service. Leave empty to use AWS. The custom endpoint must be secure, but the 'https' prefix is not required. + */ + public Builder endpoint(String endpoint) { + Utils.checkNotNull(endpoint, "endpoint"); + this.endpoint = Optional.ofNullable(endpoint); + return this; + } + + /** + * Endpoint to an S3 compatible service. Leave empty to use AWS. The custom endpoint must be secure, but the 'https' prefix is not required. + */ + public Builder endpoint(Optional endpoint) { + Utils.checkNotNull(endpoint, "endpoint"); + this.endpoint = endpoint; + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.format instead. The format of the files you'd like to replicate + */ + public Builder format(SourceS3FileFormat format) { + Utils.checkNotNull(format, "format"); + this.format = Optional.ofNullable(format); + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.format instead. The format of the files you'd like to replicate + */ + public Builder format(Optional format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.globs instead. A regular expression which tells the connector which files to replicate. All files which match this pattern will be replicated. Use | to separate multiple patterns. See <a href="https://facelessuser.github.io/wcmatch/glob/" target="_blank">this page</a> to understand pattern syntax (GLOBSTAR and SPLIT flags are enabled). Use pattern <strong>**</strong> to pick up all files. + */ + public Builder pathPattern(String pathPattern) { + Utils.checkNotNull(pathPattern, "pathPattern"); + this.pathPattern = Optional.ofNullable(pathPattern); + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.globs instead. A regular expression which tells the connector which files to replicate. All files which match this pattern will be replicated. Use | to separate multiple patterns. See <a href="https://facelessuser.github.io/wcmatch/glob/" target="_blank">this page</a> to understand pattern syntax (GLOBSTAR and SPLIT flags are enabled). Use pattern <strong>**</strong> to pick up all files. + */ + public Builder pathPattern(Optional pathPattern) { + Utils.checkNotNull(pathPattern, "pathPattern"); + this.pathPattern = pathPattern; + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use bucket, aws_access_key_id, aws_secret_access_key and endpoint instead. Use this to load files from S3 or S3-compatible services + */ + public Builder provider(S3AmazonWebServices provider) { + Utils.checkNotNull(provider, "provider"); + this.provider = Optional.ofNullable(provider); + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use bucket, aws_access_key_id, aws_secret_access_key and endpoint instead. Use this to load files from S3 or S3-compatible services + */ + public Builder provider(Optional provider) { + Utils.checkNotNull(provider, "provider"); + this.provider = provider; + return this; + } + + /** + * AWS region where the S3 bucket is located. If not provided, the region will be determined automatically. + */ + public Builder regionName(String regionName) { + Utils.checkNotNull(regionName, "regionName"); + this.regionName = Optional.ofNullable(regionName); + return this; + } + + /** + * AWS region where the S3 bucket is located. If not provided, the region will be determined automatically. + */ + public Builder regionName(Optional regionName) { + Utils.checkNotNull(regionName, "regionName"); + this.regionName = regionName; + return this; + } + + /** + * Specifies the Amazon Resource Name (ARN) of an IAM role that you want to use to perform operations requested using this profile. Set the External ID to the Airbyte workspace ID, which can be found in the URL of this page. + */ + public Builder roleArn(String roleArn) { + Utils.checkNotNull(roleArn, "roleArn"); + this.roleArn = Optional.ofNullable(roleArn); + return this; + } + + /** + * Specifies the Amazon Resource Name (ARN) of an IAM role that you want to use to perform operations requested using this profile. Set the External ID to the Airbyte workspace ID, which can be found in the URL of this page. + */ + public Builder roleArn(Optional roleArn) { + Utils.checkNotNull(roleArn, "roleArn"); + this.roleArn = roleArn; + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.input_schema instead. Optionally provide a schema to enforce, as a valid JSON string. Ensure this is a mapping of <strong>{ "column" : "type" }</strong>, where types are valid <a href="https://json-schema.org/understanding-json-schema/reference/type.html" target="_blank">JSON Schema datatypes</a>. Leave as {} to auto-infer the schema. + */ + public Builder schema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = Optional.ofNullable(schema); + return this; + } + + /** + * Deprecated and will be removed soon. Please do not use this field anymore and use streams.input_schema instead. Optionally provide a schema to enforce, as a valid JSON string. Ensure this is a mapping of <strong>{ "column" : "type" }</strong>, where types are valid <a href="https://json-schema.org/understanding-json-schema/reference/type.html" target="_blank">JSON Schema datatypes</a>. Leave as {} to auto-infer the schema. + */ + public Builder schema(Optional schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00.000000Z. Any file modified before this date will not be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Each instance of this configuration defines a <a href="https://docs.airbyte.com/cloud/core-concepts#stream">stream</a>. Use this to define which files belong in the stream, their format, and how they should be parsed and validated. When sending data to warehouse destination such as Snowflake or BigQuery, each stream is a separate table. + */ + public Builder streams(java.util.List streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = streams; + return this; + } + + public SourceS3 build() { + if (endpoint == null) { + endpoint = _SINGLETON_VALUE_Endpoint.value(); + } + if (schema == null) { + schema = _SINGLETON_VALUE_Schema.value(); + } + return new SourceS3( + awsAccessKeyId, + awsSecretAccessKey, + bucket, + dataset, + endpoint, + format, + pathPattern, + provider, + regionName, + roleArn, + schema, + startDate, + streams); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Endpoint = + new LazySingletonValue<>( + "endpoint", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Schema = + new LazySingletonValue<>( + "schema", + "\"{}\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"s3\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3Autogenerated.java b/src/main/java/com/airbyte/api/models/shared/SourceS3Autogenerated.java new file mode 100644 index 000000000..710814aa9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3Autogenerated.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceS3Autogenerated { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition_type") + private Optional headerDefinitionType; + + public SourceS3Autogenerated() { + + this.headerDefinitionType = Builder._SINGLETON_VALUE_HeaderDefinitionType.value(); + } + + public Optional headerDefinitionType() { + return headerDefinitionType; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceS3Autogenerated other = (SourceS3Autogenerated) o; + return + java.util.Objects.deepEquals(this.headerDefinitionType, other.headerDefinitionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + headerDefinitionType); + } + + @Override + public String toString() { + return Utils.toString(SourceS3Autogenerated.class, + "headerDefinitionType", headerDefinitionType); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceS3Autogenerated build() { + return new SourceS3Autogenerated( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_HeaderDefinitionType = + new LazySingletonValue<>( + "header_definition_type", + "\"Autogenerated\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3AvroFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceS3AvroFormat.java new file mode 100644 index 000000000..c45734ac5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3AvroFormat.java @@ -0,0 +1,149 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceS3AvroFormat { + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("double_as_string") + private Optional doubleAsString; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + public SourceS3AvroFormat( + @JsonProperty("double_as_string") Optional doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = doubleAsString; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public Optional doubleAsString() { + return doubleAsString; + } + + public Optional filetype() { + return filetype; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public SourceS3AvroFormat withDoubleAsString(boolean doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = Optional.ofNullable(doubleAsString); + return this; + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public SourceS3AvroFormat withDoubleAsString(Optional doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = doubleAsString; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceS3AvroFormat other = (SourceS3AvroFormat) o; + return + java.util.Objects.deepEquals(this.doubleAsString, other.doubleAsString) && + java.util.Objects.deepEquals(this.filetype, other.filetype); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + doubleAsString, + filetype); + } + + @Override + public String toString() { + return Utils.toString(SourceS3AvroFormat.class, + "doubleAsString", doubleAsString, + "filetype", filetype); + } + + public final static class Builder { + + private Optional doubleAsString; + + private Builder() { + // force use of static builder() method + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public Builder doubleAsString(boolean doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = Optional.ofNullable(doubleAsString); + return this; + } + + /** + * Whether to convert double fields to strings. This is recommended if you have decimal numbers with a high degree of precision because there can be a loss precision when handling floating point numbers. + */ + public Builder doubleAsString(Optional doubleAsString) { + Utils.checkNotNull(doubleAsString, "doubleAsString"); + this.doubleAsString = doubleAsString; + return this; + } + + public SourceS3AvroFormat build() { + if (doubleAsString == null) { + doubleAsString = _SINGLETON_VALUE_DoubleAsString.value(); + } + return new SourceS3AvroFormat( + doubleAsString); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DoubleAsString = + new LazySingletonValue<>( + "double_as_string", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"avro\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3CSVFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceS3CSVFormat.java new file mode 100644 index 000000000..0f1f0c4a5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3CSVFormat.java @@ -0,0 +1,920 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceS3CSVFormat { + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("delimiter") + private Optional delimiter; + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("double_quote") + private Optional doubleQuote; + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("encoding") + private Optional encoding; + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("escape_char") + private Optional escapeChar; + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("false_values") + private Optional> falseValues; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition") + private Optional headerDefinition; + + /** + * How to infer the types of the columns. If none, inference default to strings. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("inference_type") + private Optional inferenceType; + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("null_values") + private Optional> nullValues; + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("quote_char") + private Optional quoteChar; + + /** + * The number of rows to skip after the header row. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("skip_rows_after_header") + private Optional skipRowsAfterHeader; + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("skip_rows_before_header") + private Optional skipRowsBeforeHeader; + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("strings_can_be_null") + private Optional stringsCanBeNull; + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("true_values") + private Optional> trueValues; + + public SourceS3CSVFormat( + @JsonProperty("delimiter") Optional delimiter, + @JsonProperty("double_quote") Optional doubleQuote, + @JsonProperty("encoding") Optional encoding, + @JsonProperty("escape_char") Optional escapeChar, + @JsonProperty("false_values") Optional> falseValues, + @JsonProperty("header_definition") Optional headerDefinition, + @JsonProperty("inference_type") Optional inferenceType, + @JsonProperty("null_values") Optional> nullValues, + @JsonProperty("quote_char") Optional quoteChar, + @JsonProperty("skip_rows_after_header") Optional skipRowsAfterHeader, + @JsonProperty("skip_rows_before_header") Optional skipRowsBeforeHeader, + @JsonProperty("strings_can_be_null") Optional stringsCanBeNull, + @JsonProperty("true_values") Optional> trueValues) { + Utils.checkNotNull(delimiter, "delimiter"); + Utils.checkNotNull(doubleQuote, "doubleQuote"); + Utils.checkNotNull(encoding, "encoding"); + Utils.checkNotNull(escapeChar, "escapeChar"); + Utils.checkNotNull(falseValues, "falseValues"); + Utils.checkNotNull(headerDefinition, "headerDefinition"); + Utils.checkNotNull(inferenceType, "inferenceType"); + Utils.checkNotNull(nullValues, "nullValues"); + Utils.checkNotNull(quoteChar, "quoteChar"); + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + Utils.checkNotNull(trueValues, "trueValues"); + this.delimiter = delimiter; + this.doubleQuote = doubleQuote; + this.encoding = encoding; + this.escapeChar = escapeChar; + this.falseValues = falseValues; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + this.headerDefinition = headerDefinition; + this.inferenceType = inferenceType; + this.nullValues = nullValues; + this.quoteChar = quoteChar; + this.skipRowsAfterHeader = skipRowsAfterHeader; + this.skipRowsBeforeHeader = skipRowsBeforeHeader; + this.stringsCanBeNull = stringsCanBeNull; + this.trueValues = trueValues; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Optional delimiter() { + return delimiter; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Optional doubleQuote() { + return doubleQuote; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Optional encoding() { + return encoding; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Optional escapeChar() { + return escapeChar; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public Optional> falseValues() { + return falseValues; + } + + public Optional filetype() { + return filetype; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public Optional headerDefinition() { + return headerDefinition; + } + + /** + * How to infer the types of the columns. If none, inference default to strings. + */ + public Optional inferenceType() { + return inferenceType; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public Optional> nullValues() { + return nullValues; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Optional quoteChar() { + return quoteChar; + } + + /** + * The number of rows to skip after the header row. + */ + public Optional skipRowsAfterHeader() { + return skipRowsAfterHeader; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public Optional skipRowsBeforeHeader() { + return skipRowsBeforeHeader; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public Optional stringsCanBeNull() { + return stringsCanBeNull; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public Optional> trueValues() { + return trueValues; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public SourceS3CSVFormat withDelimiter(String delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = Optional.ofNullable(delimiter); + return this; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public SourceS3CSVFormat withDelimiter(Optional delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = delimiter; + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public SourceS3CSVFormat withDoubleQuote(boolean doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = Optional.ofNullable(doubleQuote); + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public SourceS3CSVFormat withDoubleQuote(Optional doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = doubleQuote; + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public SourceS3CSVFormat withEncoding(String encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = Optional.ofNullable(encoding); + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public SourceS3CSVFormat withEncoding(Optional encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = encoding; + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public SourceS3CSVFormat withEscapeChar(String escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = Optional.ofNullable(escapeChar); + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public SourceS3CSVFormat withEscapeChar(Optional escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = escapeChar; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public SourceS3CSVFormat withFalseValues(java.util.List falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = Optional.ofNullable(falseValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public SourceS3CSVFormat withFalseValues(Optional> falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = falseValues; + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public SourceS3CSVFormat withHeaderDefinition(SourceS3CSVHeaderDefinition headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = Optional.ofNullable(headerDefinition); + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public SourceS3CSVFormat withHeaderDefinition(Optional headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = headerDefinition; + return this; + } + + /** + * How to infer the types of the columns. If none, inference default to strings. + */ + public SourceS3CSVFormat withInferenceType(SourceS3InferenceType inferenceType) { + Utils.checkNotNull(inferenceType, "inferenceType"); + this.inferenceType = Optional.ofNullable(inferenceType); + return this; + } + + /** + * How to infer the types of the columns. If none, inference default to strings. + */ + public SourceS3CSVFormat withInferenceType(Optional inferenceType) { + Utils.checkNotNull(inferenceType, "inferenceType"); + this.inferenceType = inferenceType; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public SourceS3CSVFormat withNullValues(java.util.List nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = Optional.ofNullable(nullValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public SourceS3CSVFormat withNullValues(Optional> nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = nullValues; + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public SourceS3CSVFormat withQuoteChar(String quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = Optional.ofNullable(quoteChar); + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public SourceS3CSVFormat withQuoteChar(Optional quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = quoteChar; + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public SourceS3CSVFormat withSkipRowsAfterHeader(long skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = Optional.ofNullable(skipRowsAfterHeader); + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public SourceS3CSVFormat withSkipRowsAfterHeader(Optional skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = skipRowsAfterHeader; + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public SourceS3CSVFormat withSkipRowsBeforeHeader(long skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = Optional.ofNullable(skipRowsBeforeHeader); + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public SourceS3CSVFormat withSkipRowsBeforeHeader(Optional skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = skipRowsBeforeHeader; + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public SourceS3CSVFormat withStringsCanBeNull(boolean stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = Optional.ofNullable(stringsCanBeNull); + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public SourceS3CSVFormat withStringsCanBeNull(Optional stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = stringsCanBeNull; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public SourceS3CSVFormat withTrueValues(java.util.List trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = Optional.ofNullable(trueValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public SourceS3CSVFormat withTrueValues(Optional> trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = trueValues; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceS3CSVFormat other = (SourceS3CSVFormat) o; + return + java.util.Objects.deepEquals(this.delimiter, other.delimiter) && + java.util.Objects.deepEquals(this.doubleQuote, other.doubleQuote) && + java.util.Objects.deepEquals(this.encoding, other.encoding) && + java.util.Objects.deepEquals(this.escapeChar, other.escapeChar) && + java.util.Objects.deepEquals(this.falseValues, other.falseValues) && + java.util.Objects.deepEquals(this.filetype, other.filetype) && + java.util.Objects.deepEquals(this.headerDefinition, other.headerDefinition) && + java.util.Objects.deepEquals(this.inferenceType, other.inferenceType) && + java.util.Objects.deepEquals(this.nullValues, other.nullValues) && + java.util.Objects.deepEquals(this.quoteChar, other.quoteChar) && + java.util.Objects.deepEquals(this.skipRowsAfterHeader, other.skipRowsAfterHeader) && + java.util.Objects.deepEquals(this.skipRowsBeforeHeader, other.skipRowsBeforeHeader) && + java.util.Objects.deepEquals(this.stringsCanBeNull, other.stringsCanBeNull) && + java.util.Objects.deepEquals(this.trueValues, other.trueValues); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + delimiter, + doubleQuote, + encoding, + escapeChar, + falseValues, + filetype, + headerDefinition, + inferenceType, + nullValues, + quoteChar, + skipRowsAfterHeader, + skipRowsBeforeHeader, + stringsCanBeNull, + trueValues); + } + + @Override + public String toString() { + return Utils.toString(SourceS3CSVFormat.class, + "delimiter", delimiter, + "doubleQuote", doubleQuote, + "encoding", encoding, + "escapeChar", escapeChar, + "falseValues", falseValues, + "filetype", filetype, + "headerDefinition", headerDefinition, + "inferenceType", inferenceType, + "nullValues", nullValues, + "quoteChar", quoteChar, + "skipRowsAfterHeader", skipRowsAfterHeader, + "skipRowsBeforeHeader", skipRowsBeforeHeader, + "stringsCanBeNull", stringsCanBeNull, + "trueValues", trueValues); + } + + public final static class Builder { + + private Optional delimiter; + + private Optional doubleQuote; + + private Optional encoding; + + private Optional escapeChar = Optional.empty(); + + private Optional> falseValues = Optional.empty(); + + private Optional headerDefinition = Optional.empty(); + + private Optional inferenceType; + + private Optional> nullValues = Optional.empty(); + + private Optional quoteChar; + + private Optional skipRowsAfterHeader; + + private Optional skipRowsBeforeHeader; + + private Optional stringsCanBeNull; + + private Optional> trueValues = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Builder delimiter(String delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = Optional.ofNullable(delimiter); + return this; + } + + /** + * The character delimiting individual cells in the CSV data. This may only be a 1-character string. For tab-delimited data enter '\t'. + */ + public Builder delimiter(Optional delimiter) { + Utils.checkNotNull(delimiter, "delimiter"); + this.delimiter = delimiter; + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Builder doubleQuote(boolean doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = Optional.ofNullable(doubleQuote); + return this; + } + + /** + * Whether two quotes in a quoted CSV value denote a single quote in the data. + */ + public Builder doubleQuote(Optional doubleQuote) { + Utils.checkNotNull(doubleQuote, "doubleQuote"); + this.doubleQuote = doubleQuote; + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Builder encoding(String encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = Optional.ofNullable(encoding); + return this; + } + + /** + * The character encoding of the CSV data. Leave blank to default to <strong>UTF8</strong>. See <a href="https://docs.python.org/3/library/codecs.html#standard-encodings" target="_blank">list of python encodings</a> for allowable options. + */ + public Builder encoding(Optional encoding) { + Utils.checkNotNull(encoding, "encoding"); + this.encoding = encoding; + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Builder escapeChar(String escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = Optional.ofNullable(escapeChar); + return this; + } + + /** + * The character used for escaping special characters. To disallow escaping, leave this field blank. + */ + public Builder escapeChar(Optional escapeChar) { + Utils.checkNotNull(escapeChar, "escapeChar"); + this.escapeChar = escapeChar; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public Builder falseValues(java.util.List falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = Optional.ofNullable(falseValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as false values. + */ + public Builder falseValues(Optional> falseValues) { + Utils.checkNotNull(falseValues, "falseValues"); + this.falseValues = falseValues; + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public Builder headerDefinition(SourceS3CSVHeaderDefinition headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = Optional.ofNullable(headerDefinition); + return this; + } + + /** + * How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + public Builder headerDefinition(Optional headerDefinition) { + Utils.checkNotNull(headerDefinition, "headerDefinition"); + this.headerDefinition = headerDefinition; + return this; + } + + /** + * How to infer the types of the columns. If none, inference default to strings. + */ + public Builder inferenceType(SourceS3InferenceType inferenceType) { + Utils.checkNotNull(inferenceType, "inferenceType"); + this.inferenceType = Optional.ofNullable(inferenceType); + return this; + } + + /** + * How to infer the types of the columns. If none, inference default to strings. + */ + public Builder inferenceType(Optional inferenceType) { + Utils.checkNotNull(inferenceType, "inferenceType"); + this.inferenceType = inferenceType; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public Builder nullValues(java.util.List nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = Optional.ofNullable(nullValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as null values. For example, if the value 'NA' should be interpreted as null, enter 'NA' in this field. + */ + public Builder nullValues(Optional> nullValues) { + Utils.checkNotNull(nullValues, "nullValues"); + this.nullValues = nullValues; + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Builder quoteChar(String quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = Optional.ofNullable(quoteChar); + return this; + } + + /** + * The character used for quoting CSV values. To disallow quoting, make this field blank. + */ + public Builder quoteChar(Optional quoteChar) { + Utils.checkNotNull(quoteChar, "quoteChar"); + this.quoteChar = quoteChar; + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public Builder skipRowsAfterHeader(long skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = Optional.ofNullable(skipRowsAfterHeader); + return this; + } + + /** + * The number of rows to skip after the header row. + */ + public Builder skipRowsAfterHeader(Optional skipRowsAfterHeader) { + Utils.checkNotNull(skipRowsAfterHeader, "skipRowsAfterHeader"); + this.skipRowsAfterHeader = skipRowsAfterHeader; + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public Builder skipRowsBeforeHeader(long skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = Optional.ofNullable(skipRowsBeforeHeader); + return this; + } + + /** + * The number of rows to skip before the header row. For example, if the header row is on the 3rd row, enter 2 in this field. + */ + public Builder skipRowsBeforeHeader(Optional skipRowsBeforeHeader) { + Utils.checkNotNull(skipRowsBeforeHeader, "skipRowsBeforeHeader"); + this.skipRowsBeforeHeader = skipRowsBeforeHeader; + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public Builder stringsCanBeNull(boolean stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = Optional.ofNullable(stringsCanBeNull); + return this; + } + + /** + * Whether strings can be interpreted as null values. If true, strings that match the null_values set will be interpreted as null. If false, strings that match the null_values set will be interpreted as the string itself. + */ + public Builder stringsCanBeNull(Optional stringsCanBeNull) { + Utils.checkNotNull(stringsCanBeNull, "stringsCanBeNull"); + this.stringsCanBeNull = stringsCanBeNull; + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public Builder trueValues(java.util.List trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = Optional.ofNullable(trueValues); + return this; + } + + /** + * A set of case-sensitive strings that should be interpreted as true values. + */ + public Builder trueValues(Optional> trueValues) { + Utils.checkNotNull(trueValues, "trueValues"); + this.trueValues = trueValues; + return this; + } + + public SourceS3CSVFormat build() { + if (delimiter == null) { + delimiter = _SINGLETON_VALUE_Delimiter.value(); + } + if (doubleQuote == null) { + doubleQuote = _SINGLETON_VALUE_DoubleQuote.value(); + } + if (encoding == null) { + encoding = _SINGLETON_VALUE_Encoding.value(); + } + if (inferenceType == null) { + inferenceType = _SINGLETON_VALUE_InferenceType.value(); + } + if (quoteChar == null) { + quoteChar = _SINGLETON_VALUE_QuoteChar.value(); + } + if (skipRowsAfterHeader == null) { + skipRowsAfterHeader = _SINGLETON_VALUE_SkipRowsAfterHeader.value(); + } + if (skipRowsBeforeHeader == null) { + skipRowsBeforeHeader = _SINGLETON_VALUE_SkipRowsBeforeHeader.value(); + } + if (stringsCanBeNull == null) { + stringsCanBeNull = _SINGLETON_VALUE_StringsCanBeNull.value(); + } + return new SourceS3CSVFormat( + delimiter, + doubleQuote, + encoding, + escapeChar, + falseValues, + headerDefinition, + inferenceType, + nullValues, + quoteChar, + skipRowsAfterHeader, + skipRowsBeforeHeader, + stringsCanBeNull, + trueValues); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Delimiter = + new LazySingletonValue<>( + "delimiter", + "\",\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_DoubleQuote = + new LazySingletonValue<>( + "double_quote", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Encoding = + new LazySingletonValue<>( + "encoding", + "\"utf8\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"csv\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_InferenceType = + new LazySingletonValue<>( + "inference_type", + "\"None\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_QuoteChar = + new LazySingletonValue<>( + "quote_char", + "\"\\\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SkipRowsAfterHeader = + new LazySingletonValue<>( + "skip_rows_after_header", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SkipRowsBeforeHeader = + new LazySingletonValue<>( + "skip_rows_before_header", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_StringsCanBeNull = + new LazySingletonValue<>( + "strings_can_be_null", + "true", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3CSVHeaderDefinition.java b/src/main/java/com/airbyte/api/models/shared/SourceS3CSVHeaderDefinition.java new file mode 100644 index 000000000..eea98b11d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3CSVHeaderDefinition.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceS3CSVHeaderDefinition - How headers will be defined. `User Provided` assumes the CSV does not have a header row and uses the headers provided and `Autogenerated` assumes the CSV does not have a header row and the CDK will generate headers using for `f{i}` where `i` is the index starting from 0. Else, the default behavior is to use the header from the CSV file. If a user wants to autogenerate or provide column names for a CSV having headers, they can skip rows. + */ + +@JsonDeserialize(using = SourceS3CSVHeaderDefinition._Deserializer.class) +public class SourceS3CSVHeaderDefinition { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceS3CSVHeaderDefinition(TypedObject value) { + this.value = value; + } + + public static SourceS3CSVHeaderDefinition of(SourceS3FromCSV value) { + Utils.checkNotNull(value, "value"); + return new SourceS3CSVHeaderDefinition(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceS3CSVHeaderDefinition of(SourceS3Autogenerated value) { + Utils.checkNotNull(value, "value"); + return new SourceS3CSVHeaderDefinition(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceS3CSVHeaderDefinition of(SourceS3UserProvided value) { + Utils.checkNotNull(value, "value"); + return new SourceS3CSVHeaderDefinition(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceS3FromCSV}
    • + *
    • {@code SourceS3Autogenerated}
    • + *
    • {@code SourceS3UserProvided}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceS3CSVHeaderDefinition other = (SourceS3CSVHeaderDefinition) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceS3CSVHeaderDefinition.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceS3CSVHeaderDefinition.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3DocumentFileTypeFormatExperimental.java b/src/main/java/com/airbyte/api/models/shared/SourceS3DocumentFileTypeFormatExperimental.java new file mode 100644 index 000000000..035b40540 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3DocumentFileTypeFormatExperimental.java @@ -0,0 +1,279 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SourceS3DocumentFileTypeFormatExperimental - Extract text from document formats (.pdf, .docx, .md, .pptx) and emit as one record per file. + */ + +public class SourceS3DocumentFileTypeFormatExperimental { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + /** + * Processing configuration + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("processing") + private Optional processing; + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("skip_unprocessable_files") + private Optional skipUnprocessableFiles; + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("strategy") + private Optional strategy; + + public SourceS3DocumentFileTypeFormatExperimental( + @JsonProperty("processing") Optional processing, + @JsonProperty("skip_unprocessable_files") Optional skipUnprocessableFiles, + @JsonProperty("strategy") Optional strategy) { + Utils.checkNotNull(processing, "processing"); + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + Utils.checkNotNull(strategy, "strategy"); + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + this.processing = processing; + this.skipUnprocessableFiles = skipUnprocessableFiles; + this.strategy = strategy; + } + + public Optional filetype() { + return filetype; + } + + /** + * Processing configuration + */ + public Optional processing() { + return processing; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public Optional skipUnprocessableFiles() { + return skipUnprocessableFiles; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public Optional strategy() { + return strategy; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Processing configuration + */ + public SourceS3DocumentFileTypeFormatExperimental withProcessing(SourceS3Processing processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = Optional.ofNullable(processing); + return this; + } + + /** + * Processing configuration + */ + public SourceS3DocumentFileTypeFormatExperimental withProcessing(Optional processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public SourceS3DocumentFileTypeFormatExperimental withSkipUnprocessableFiles(boolean skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = Optional.ofNullable(skipUnprocessableFiles); + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public SourceS3DocumentFileTypeFormatExperimental withSkipUnprocessableFiles(Optional skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = skipUnprocessableFiles; + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public SourceS3DocumentFileTypeFormatExperimental withStrategy(SourceS3ParsingStrategy strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = Optional.ofNullable(strategy); + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public SourceS3DocumentFileTypeFormatExperimental withStrategy(Optional strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = strategy; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceS3DocumentFileTypeFormatExperimental other = (SourceS3DocumentFileTypeFormatExperimental) o; + return + java.util.Objects.deepEquals(this.filetype, other.filetype) && + java.util.Objects.deepEquals(this.processing, other.processing) && + java.util.Objects.deepEquals(this.skipUnprocessableFiles, other.skipUnprocessableFiles) && + java.util.Objects.deepEquals(this.strategy, other.strategy); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filetype, + processing, + skipUnprocessableFiles, + strategy); + } + + @Override + public String toString() { + return Utils.toString(SourceS3DocumentFileTypeFormatExperimental.class, + "filetype", filetype, + "processing", processing, + "skipUnprocessableFiles", skipUnprocessableFiles, + "strategy", strategy); + } + + public final static class Builder { + + private Optional processing = Optional.empty(); + + private Optional skipUnprocessableFiles; + + private Optional strategy; + + private Builder() { + // force use of static builder() method + } + + /** + * Processing configuration + */ + public Builder processing(SourceS3Processing processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = Optional.ofNullable(processing); + return this; + } + + /** + * Processing configuration + */ + public Builder processing(Optional processing) { + Utils.checkNotNull(processing, "processing"); + this.processing = processing; + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public Builder skipUnprocessableFiles(boolean skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = Optional.ofNullable(skipUnprocessableFiles); + return this; + } + + /** + * If true, skip files that cannot be parsed and pass the error message along as the _ab_source_file_parse_error field. If false, fail the sync. + */ + public Builder skipUnprocessableFiles(Optional skipUnprocessableFiles) { + Utils.checkNotNull(skipUnprocessableFiles, "skipUnprocessableFiles"); + this.skipUnprocessableFiles = skipUnprocessableFiles; + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public Builder strategy(SourceS3ParsingStrategy strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = Optional.ofNullable(strategy); + return this; + } + + /** + * The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ + public Builder strategy(Optional strategy) { + Utils.checkNotNull(strategy, "strategy"); + this.strategy = strategy; + return this; + } + + public SourceS3DocumentFileTypeFormatExperimental build() { + if (skipUnprocessableFiles == null) { + skipUnprocessableFiles = _SINGLETON_VALUE_SkipUnprocessableFiles.value(); + } + if (strategy == null) { + strategy = _SINGLETON_VALUE_Strategy.value(); + } + return new SourceS3DocumentFileTypeFormatExperimental( + processing, + skipUnprocessableFiles, + strategy); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"unstructured\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SkipUnprocessableFiles = + new LazySingletonValue<>( + "skip_unprocessable_files", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Strategy = + new LazySingletonValue<>( + "strategy", + "\"auto\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3FileBasedStreamConfig.java b/src/main/java/com/airbyte/api/models/shared/SourceS3FileBasedStreamConfig.java new file mode 100644 index 000000000..866a93932 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3FileBasedStreamConfig.java @@ -0,0 +1,583 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceS3FileBasedStreamConfig { + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("days_to_sync_if_history_is_full") + private Optional daysToSyncIfHistoryIsFull; + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + @JsonProperty("format") + private SourceS3Format format; + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("globs") + private Optional> globs; + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("input_schema") + private Optional inputSchema; + + /** + * The path prefix configured in v3 versions of the S3 connector. This option is deprecated in favor of a single glob. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("legacy_prefix") + private Optional legacyPrefix; + + /** + * The name of the stream. + */ + @JsonProperty("name") + private String name; + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("primary_key") + private Optional primaryKey; + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schemaless") + private Optional schemaless; + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("validation_policy") + private Optional validationPolicy; + + public SourceS3FileBasedStreamConfig( + @JsonProperty("days_to_sync_if_history_is_full") Optional daysToSyncIfHistoryIsFull, + @JsonProperty("format") SourceS3Format format, + @JsonProperty("globs") Optional> globs, + @JsonProperty("input_schema") Optional inputSchema, + @JsonProperty("legacy_prefix") Optional legacyPrefix, + @JsonProperty("name") String name, + @JsonProperty("primary_key") Optional primaryKey, + @JsonProperty("schemaless") Optional schemaless, + @JsonProperty("validation_policy") Optional validationPolicy) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + Utils.checkNotNull(format, "format"); + Utils.checkNotNull(globs, "globs"); + Utils.checkNotNull(inputSchema, "inputSchema"); + Utils.checkNotNull(legacyPrefix, "legacyPrefix"); + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(primaryKey, "primaryKey"); + Utils.checkNotNull(schemaless, "schemaless"); + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.daysToSyncIfHistoryIsFull = daysToSyncIfHistoryIsFull; + this.format = format; + this.globs = globs; + this.inputSchema = inputSchema; + this.legacyPrefix = legacyPrefix; + this.name = name; + this.primaryKey = primaryKey; + this.schemaless = schemaless; + this.validationPolicy = validationPolicy; + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public Optional daysToSyncIfHistoryIsFull() { + return daysToSyncIfHistoryIsFull; + } + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + public SourceS3Format format() { + return format; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public Optional> globs() { + return globs; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public Optional inputSchema() { + return inputSchema; + } + + /** + * The path prefix configured in v3 versions of the S3 connector. This option is deprecated in favor of a single glob. + */ + public Optional legacyPrefix() { + return legacyPrefix; + } + + /** + * The name of the stream. + */ + public String name() { + return name; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public Optional primaryKey() { + return primaryKey; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public Optional schemaless() { + return schemaless; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public Optional validationPolicy() { + return validationPolicy; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public SourceS3FileBasedStreamConfig withDaysToSyncIfHistoryIsFull(long daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = Optional.ofNullable(daysToSyncIfHistoryIsFull); + return this; + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public SourceS3FileBasedStreamConfig withDaysToSyncIfHistoryIsFull(Optional daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = daysToSyncIfHistoryIsFull; + return this; + } + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + public SourceS3FileBasedStreamConfig withFormat(SourceS3Format format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public SourceS3FileBasedStreamConfig withGlobs(java.util.List globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = Optional.ofNullable(globs); + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public SourceS3FileBasedStreamConfig withGlobs(Optional> globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = globs; + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public SourceS3FileBasedStreamConfig withInputSchema(String inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = Optional.ofNullable(inputSchema); + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public SourceS3FileBasedStreamConfig withInputSchema(Optional inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = inputSchema; + return this; + } + + /** + * The path prefix configured in v3 versions of the S3 connector. This option is deprecated in favor of a single glob. + */ + public SourceS3FileBasedStreamConfig withLegacyPrefix(String legacyPrefix) { + Utils.checkNotNull(legacyPrefix, "legacyPrefix"); + this.legacyPrefix = Optional.ofNullable(legacyPrefix); + return this; + } + + /** + * The path prefix configured in v3 versions of the S3 connector. This option is deprecated in favor of a single glob. + */ + public SourceS3FileBasedStreamConfig withLegacyPrefix(Optional legacyPrefix) { + Utils.checkNotNull(legacyPrefix, "legacyPrefix"); + this.legacyPrefix = legacyPrefix; + return this; + } + + /** + * The name of the stream. + */ + public SourceS3FileBasedStreamConfig withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public SourceS3FileBasedStreamConfig withPrimaryKey(String primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = Optional.ofNullable(primaryKey); + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public SourceS3FileBasedStreamConfig withPrimaryKey(Optional primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = primaryKey; + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public SourceS3FileBasedStreamConfig withSchemaless(boolean schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = Optional.ofNullable(schemaless); + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public SourceS3FileBasedStreamConfig withSchemaless(Optional schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = schemaless; + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public SourceS3FileBasedStreamConfig withValidationPolicy(SourceS3ValidationPolicy validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = Optional.ofNullable(validationPolicy); + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public SourceS3FileBasedStreamConfig withValidationPolicy(Optional validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = validationPolicy; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceS3FileBasedStreamConfig other = (SourceS3FileBasedStreamConfig) o; + return + java.util.Objects.deepEquals(this.daysToSyncIfHistoryIsFull, other.daysToSyncIfHistoryIsFull) && + java.util.Objects.deepEquals(this.format, other.format) && + java.util.Objects.deepEquals(this.globs, other.globs) && + java.util.Objects.deepEquals(this.inputSchema, other.inputSchema) && + java.util.Objects.deepEquals(this.legacyPrefix, other.legacyPrefix) && + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.primaryKey, other.primaryKey) && + java.util.Objects.deepEquals(this.schemaless, other.schemaless) && + java.util.Objects.deepEquals(this.validationPolicy, other.validationPolicy); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + daysToSyncIfHistoryIsFull, + format, + globs, + inputSchema, + legacyPrefix, + name, + primaryKey, + schemaless, + validationPolicy); + } + + @Override + public String toString() { + return Utils.toString(SourceS3FileBasedStreamConfig.class, + "daysToSyncIfHistoryIsFull", daysToSyncIfHistoryIsFull, + "format", format, + "globs", globs, + "inputSchema", inputSchema, + "legacyPrefix", legacyPrefix, + "name", name, + "primaryKey", primaryKey, + "schemaless", schemaless, + "validationPolicy", validationPolicy); + } + + public final static class Builder { + + private Optional daysToSyncIfHistoryIsFull; + + private SourceS3Format format; + + private Optional> globs = Optional.empty(); + + private Optional inputSchema = Optional.empty(); + + private Optional legacyPrefix = Optional.empty(); + + private String name; + + private Optional primaryKey = Optional.empty(); + + private Optional schemaless; + + private Optional validationPolicy; + + private Builder() { + // force use of static builder() method + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public Builder daysToSyncIfHistoryIsFull(long daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = Optional.ofNullable(daysToSyncIfHistoryIsFull); + return this; + } + + /** + * When the state history of the file store is full, syncs will only read files that were last modified in the provided day range. + */ + public Builder daysToSyncIfHistoryIsFull(Optional daysToSyncIfHistoryIsFull) { + Utils.checkNotNull(daysToSyncIfHistoryIsFull, "daysToSyncIfHistoryIsFull"); + this.daysToSyncIfHistoryIsFull = daysToSyncIfHistoryIsFull; + return this; + } + + /** + * The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + public Builder format(SourceS3Format format) { + Utils.checkNotNull(format, "format"); + this.format = format; + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public Builder globs(java.util.List globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = Optional.ofNullable(globs); + return this; + } + + /** + * The pattern used to specify which files should be selected from the file system. For more information on glob pattern matching look <a href="https://en.wikipedia.org/wiki/Glob_(programming)">here</a>. + */ + public Builder globs(Optional> globs) { + Utils.checkNotNull(globs, "globs"); + this.globs = globs; + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public Builder inputSchema(String inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = Optional.ofNullable(inputSchema); + return this; + } + + /** + * The schema that will be used to validate records extracted from the file. This will override the stream schema that is auto-detected from incoming files. + */ + public Builder inputSchema(Optional inputSchema) { + Utils.checkNotNull(inputSchema, "inputSchema"); + this.inputSchema = inputSchema; + return this; + } + + /** + * The path prefix configured in v3 versions of the S3 connector. This option is deprecated in favor of a single glob. + */ + public Builder legacyPrefix(String legacyPrefix) { + Utils.checkNotNull(legacyPrefix, "legacyPrefix"); + this.legacyPrefix = Optional.ofNullable(legacyPrefix); + return this; + } + + /** + * The path prefix configured in v3 versions of the S3 connector. This option is deprecated in favor of a single glob. + */ + public Builder legacyPrefix(Optional legacyPrefix) { + Utils.checkNotNull(legacyPrefix, "legacyPrefix"); + this.legacyPrefix = legacyPrefix; + return this; + } + + /** + * The name of the stream. + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public Builder primaryKey(String primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = Optional.ofNullable(primaryKey); + return this; + } + + /** + * The column or columns (for a composite key) that serves as the unique identifier of a record. If empty, the primary key will default to the parser's default primary key. + */ + public Builder primaryKey(Optional primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = primaryKey; + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public Builder schemaless(boolean schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = Optional.ofNullable(schemaless); + return this; + } + + /** + * When enabled, syncs will not validate or structure records against the stream's schema. + */ + public Builder schemaless(Optional schemaless) { + Utils.checkNotNull(schemaless, "schemaless"); + this.schemaless = schemaless; + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public Builder validationPolicy(SourceS3ValidationPolicy validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = Optional.ofNullable(validationPolicy); + return this; + } + + /** + * The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ + public Builder validationPolicy(Optional validationPolicy) { + Utils.checkNotNull(validationPolicy, "validationPolicy"); + this.validationPolicy = validationPolicy; + return this; + } + + public SourceS3FileBasedStreamConfig build() { + if (daysToSyncIfHistoryIsFull == null) { + daysToSyncIfHistoryIsFull = _SINGLETON_VALUE_DaysToSyncIfHistoryIsFull.value(); + } + if (schemaless == null) { + schemaless = _SINGLETON_VALUE_Schemaless.value(); + } + if (validationPolicy == null) { + validationPolicy = _SINGLETON_VALUE_ValidationPolicy.value(); + } + return new SourceS3FileBasedStreamConfig( + daysToSyncIfHistoryIsFull, + format, + globs, + inputSchema, + legacyPrefix, + name, + primaryKey, + schemaless, + validationPolicy); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DaysToSyncIfHistoryIsFull = + new LazySingletonValue<>( + "days_to_sync_if_history_is_full", + "3", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Schemaless = + new LazySingletonValue<>( + "schemaless", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ValidationPolicy = + new LazySingletonValue<>( + "validation_policy", + "\"Emit Record\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3FileFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceS3FileFormat.java new file mode 100644 index 000000000..c2cf7c4f6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3FileFormat.java @@ -0,0 +1,115 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceS3FileFormat - Deprecated and will be removed soon. Please do not use this field anymore and use streams.format instead. The format of the files you'd like to replicate + */ + +@JsonDeserialize(using = SourceS3FileFormat._Deserializer.class) +public class SourceS3FileFormat { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceS3FileFormat(TypedObject value) { + this.value = value; + } + + public static SourceS3FileFormat of(Csv value) { + Utils.checkNotNull(value, "value"); + return new SourceS3FileFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceS3FileFormat of(Parquet value) { + Utils.checkNotNull(value, "value"); + return new SourceS3FileFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceS3FileFormat of(Avro value) { + Utils.checkNotNull(value, "value"); + return new SourceS3FileFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceS3FileFormat of(Jsonl value) { + Utils.checkNotNull(value, "value"); + return new SourceS3FileFormat(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code Csv}
    • + *
    • {@code Parquet}
    • + *
    • {@code Avro}
    • + *
    • {@code Jsonl}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceS3FileFormat other = (SourceS3FileFormat) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceS3FileFormat.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceS3FileFormat.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3Filetype.java b/src/main/java/com/airbyte/api/models/shared/SourceS3Filetype.java new file mode 100644 index 000000000..ee5527a6d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3Filetype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceS3Filetype { + PARQUET("parquet"); + + @JsonValue + private final String value; + + private SourceS3Filetype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3Format.java b/src/main/java/com/airbyte/api/models/shared/SourceS3Format.java new file mode 100644 index 000000000..06f0bac18 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3Format.java @@ -0,0 +1,122 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceS3Format - The configuration options that are used to alter how to read incoming files that deviate from the standard formatting. + */ + +@JsonDeserialize(using = SourceS3Format._Deserializer.class) +public class SourceS3Format { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceS3Format(TypedObject value) { + this.value = value; + } + + public static SourceS3Format of(SourceS3AvroFormat value) { + Utils.checkNotNull(value, "value"); + return new SourceS3Format(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceS3Format of(SourceS3CSVFormat value) { + Utils.checkNotNull(value, "value"); + return new SourceS3Format(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceS3Format of(SourceS3JsonlFormat value) { + Utils.checkNotNull(value, "value"); + return new SourceS3Format(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceS3Format of(SourceS3ParquetFormat value) { + Utils.checkNotNull(value, "value"); + return new SourceS3Format(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceS3Format of(SourceS3DocumentFileTypeFormatExperimental value) { + Utils.checkNotNull(value, "value"); + return new SourceS3Format(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceS3AvroFormat}
    • + *
    • {@code SourceS3CSVFormat}
    • + *
    • {@code SourceS3JsonlFormat}
    • + *
    • {@code SourceS3ParquetFormat}
    • + *
    • {@code SourceS3DocumentFileTypeFormatExperimental}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceS3Format other = (SourceS3Format) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceS3Format.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceS3Format.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3FromCSV.java b/src/main/java/com/airbyte/api/models/shared/SourceS3FromCSV.java new file mode 100644 index 000000000..9e36bd39c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3FromCSV.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceS3FromCSV { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition_type") + private Optional headerDefinitionType; + + public SourceS3FromCSV() { + + this.headerDefinitionType = Builder._SINGLETON_VALUE_HeaderDefinitionType.value(); + } + + public Optional headerDefinitionType() { + return headerDefinitionType; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceS3FromCSV other = (SourceS3FromCSV) o; + return + java.util.Objects.deepEquals(this.headerDefinitionType, other.headerDefinitionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + headerDefinitionType); + } + + @Override + public String toString() { + return Utils.toString(SourceS3FromCSV.class, + "headerDefinitionType", headerDefinitionType); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceS3FromCSV build() { + return new SourceS3FromCSV( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_HeaderDefinitionType = + new LazySingletonValue<>( + "header_definition_type", + "\"From CSV\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3HeaderDefinitionType.java b/src/main/java/com/airbyte/api/models/shared/SourceS3HeaderDefinitionType.java new file mode 100644 index 000000000..952120031 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3HeaderDefinitionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceS3HeaderDefinitionType { + FROM_CSV("From CSV"); + + @JsonValue + private final String value; + + private SourceS3HeaderDefinitionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3InferenceType.java b/src/main/java/com/airbyte/api/models/shared/SourceS3InferenceType.java new file mode 100644 index 000000000..737f93eb9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3InferenceType.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceS3InferenceType - How to infer the types of the columns. If none, inference default to strings. + */ +public enum SourceS3InferenceType { + NONE("None"), + PRIMITIVE_TYPES_ONLY("Primitive Types Only"); + + @JsonValue + private final String value; + + private SourceS3InferenceType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3JsonlFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceS3JsonlFormat.java new file mode 100644 index 000000000..b36d64a5a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3JsonlFormat.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceS3JsonlFormat { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + public SourceS3JsonlFormat() { + + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + } + + public Optional filetype() { + return filetype; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceS3JsonlFormat other = (SourceS3JsonlFormat) o; + return + java.util.Objects.deepEquals(this.filetype, other.filetype); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + filetype); + } + + @Override + public String toString() { + return Utils.toString(SourceS3JsonlFormat.class, + "filetype", filetype); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceS3JsonlFormat build() { + return new SourceS3JsonlFormat( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"jsonl\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3Local.java b/src/main/java/com/airbyte/api/models/shared/SourceS3Local.java new file mode 100644 index 000000000..588d5d618 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3Local.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SourceS3Local - Process files locally, supporting `fast` and `ocr` modes. This is the default option. + */ + +public class SourceS3Local { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public SourceS3Local() { + + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceS3Local other = (SourceS3Local) o; + return + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + mode); + } + + @Override + public String toString() { + return Utils.toString(SourceS3Local.class, + "mode", mode); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceS3Local build() { + return new SourceS3Local( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"local\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3Mode.java b/src/main/java/com/airbyte/api/models/shared/SourceS3Mode.java new file mode 100644 index 000000000..0e098d82f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3Mode.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceS3Mode { + LOCAL("local"); + + @JsonValue + private final String value; + + private SourceS3Mode(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3ParquetFormat.java b/src/main/java/com/airbyte/api/models/shared/SourceS3ParquetFormat.java new file mode 100644 index 000000000..6a13dc733 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3ParquetFormat.java @@ -0,0 +1,149 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceS3ParquetFormat { + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("decimal_as_float") + private Optional decimalAsFloat; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("filetype") + private Optional filetype; + + public SourceS3ParquetFormat( + @JsonProperty("decimal_as_float") Optional decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = decimalAsFloat; + this.filetype = Builder._SINGLETON_VALUE_Filetype.value(); + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public Optional decimalAsFloat() { + return decimalAsFloat; + } + + public Optional filetype() { + return filetype; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public SourceS3ParquetFormat withDecimalAsFloat(boolean decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = Optional.ofNullable(decimalAsFloat); + return this; + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public SourceS3ParquetFormat withDecimalAsFloat(Optional decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = decimalAsFloat; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceS3ParquetFormat other = (SourceS3ParquetFormat) o; + return + java.util.Objects.deepEquals(this.decimalAsFloat, other.decimalAsFloat) && + java.util.Objects.deepEquals(this.filetype, other.filetype); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + decimalAsFloat, + filetype); + } + + @Override + public String toString() { + return Utils.toString(SourceS3ParquetFormat.class, + "decimalAsFloat", decimalAsFloat, + "filetype", filetype); + } + + public final static class Builder { + + private Optional decimalAsFloat; + + private Builder() { + // force use of static builder() method + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public Builder decimalAsFloat(boolean decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = Optional.ofNullable(decimalAsFloat); + return this; + } + + /** + * Whether to convert decimal fields to floats. There is a loss of precision when converting decimals to floats, so this is not recommended. + */ + public Builder decimalAsFloat(Optional decimalAsFloat) { + Utils.checkNotNull(decimalAsFloat, "decimalAsFloat"); + this.decimalAsFloat = decimalAsFloat; + return this; + } + + public SourceS3ParquetFormat build() { + if (decimalAsFloat == null) { + decimalAsFloat = _SINGLETON_VALUE_DecimalAsFloat.value(); + } + return new SourceS3ParquetFormat( + decimalAsFloat); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DecimalAsFloat = + new LazySingletonValue<>( + "decimal_as_float", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Filetype = + new LazySingletonValue<>( + "filetype", + "\"parquet\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3ParsingStrategy.java b/src/main/java/com/airbyte/api/models/shared/SourceS3ParsingStrategy.java new file mode 100644 index 000000000..fce438e2f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3ParsingStrategy.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceS3ParsingStrategy - The strategy used to parse documents. `fast` extracts text directly from the document which doesn't work for all files. `ocr_only` is more reliable, but slower. `hi_res` is the most reliable, but requires an API key and a hosted instance of unstructured and can't be used with local mode. See the unstructured.io documentation for more details: https://unstructured-io.github.io/unstructured/core/partition.html#partition-pdf + */ +public enum SourceS3ParsingStrategy { + AUTO("auto"), + FAST("fast"), + OCR_ONLY("ocr_only"), + HI_RES("hi_res"); + + @JsonValue + private final String value; + + private SourceS3ParsingStrategy(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3Processing.java b/src/main/java/com/airbyte/api/models/shared/SourceS3Processing.java new file mode 100644 index 000000000..026d49075 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3Processing.java @@ -0,0 +1,94 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceS3Processing - Processing configuration + */ + +@JsonDeserialize(using = SourceS3Processing._Deserializer.class) +public class SourceS3Processing { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceS3Processing(TypedObject value) { + this.value = value; + } + + public static SourceS3Processing of(SourceS3Local value) { + Utils.checkNotNull(value, "value"); + return new SourceS3Processing(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceS3Local}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceS3Processing other = (SourceS3Processing) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceS3Processing.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceS3Processing.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3S3.java b/src/main/java/com/airbyte/api/models/shared/SourceS3S3.java new file mode 100644 index 000000000..2627c4db8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3S3.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceS3S3 { + S3("s3"); + + @JsonValue + private final String value; + + private SourceS3S3(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasFiletype.java new file mode 100644 index 000000000..8955114ee --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceS3SchemasFiletype { + AVRO("avro"); + + @JsonValue + private final String value; + + private SourceS3SchemasFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasFormatFileFormatFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasFormatFileFormatFiletype.java new file mode 100644 index 000000000..474b0a0d5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasFormatFileFormatFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceS3SchemasFormatFileFormatFiletype { + CSV("csv"); + + @JsonValue + private final String value; + + private SourceS3SchemasFormatFileFormatFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasFormatFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasFormatFiletype.java new file mode 100644 index 000000000..c00d64fda --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasFormatFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceS3SchemasFormatFiletype { + JSONL("jsonl"); + + @JsonValue + private final String value; + + private SourceS3SchemasFormatFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasHeaderDefinitionType.java b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasHeaderDefinitionType.java new file mode 100644 index 000000000..3d328c691 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasHeaderDefinitionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceS3SchemasHeaderDefinitionType { + AUTOGENERATED("Autogenerated"); + + @JsonValue + private final String value; + + private SourceS3SchemasHeaderDefinitionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFiletype.java new file mode 100644 index 000000000..df8991915 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceS3SchemasStreamsFiletype { + AVRO("avro"); + + @JsonValue + private final String value; + + private SourceS3SchemasStreamsFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFormatFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFormatFiletype.java new file mode 100644 index 000000000..438ca3842 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFormatFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceS3SchemasStreamsFormatFiletype { + CSV("csv"); + + @JsonValue + private final String value; + + private SourceS3SchemasStreamsFormatFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFormatFormat4Filetype.java b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFormatFormat4Filetype.java new file mode 100644 index 000000000..26fb87418 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFormatFormat4Filetype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceS3SchemasStreamsFormatFormat4Filetype { + PARQUET("parquet"); + + @JsonValue + private final String value; + + private SourceS3SchemasStreamsFormatFormat4Filetype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFormatFormat5Filetype.java b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFormatFormat5Filetype.java new file mode 100644 index 000000000..f11f77fd9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFormatFormat5Filetype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceS3SchemasStreamsFormatFormat5Filetype { + UNSTRUCTURED("unstructured"); + + @JsonValue + private final String value; + + private SourceS3SchemasStreamsFormatFormat5Filetype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFormatFormatFiletype.java b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFormatFormatFiletype.java new file mode 100644 index 000000000..751c9a0a4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsFormatFormatFiletype.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceS3SchemasStreamsFormatFormatFiletype { + JSONL("jsonl"); + + @JsonValue + private final String value; + + private SourceS3SchemasStreamsFormatFormatFiletype(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsHeaderDefinitionType.java b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsHeaderDefinitionType.java new file mode 100644 index 000000000..6cf0b5b9a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3SchemasStreamsHeaderDefinitionType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceS3SchemasStreamsHeaderDefinitionType { + USER_PROVIDED("User Provided"); + + @JsonValue + private final String value; + + private SourceS3SchemasStreamsHeaderDefinitionType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3UserProvided.java b/src/main/java/com/airbyte/api/models/shared/SourceS3UserProvided.java new file mode 100644 index 000000000..ac76d492f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3UserProvided.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceS3UserProvided { + + /** + * The column names that will be used while emitting the CSV records + */ + @JsonProperty("column_names") + private java.util.List columnNames; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition_type") + private Optional headerDefinitionType; + + public SourceS3UserProvided( + @JsonProperty("column_names") java.util.List columnNames) { + Utils.checkNotNull(columnNames, "columnNames"); + this.columnNames = columnNames; + this.headerDefinitionType = Builder._SINGLETON_VALUE_HeaderDefinitionType.value(); + } + + /** + * The column names that will be used while emitting the CSV records + */ + public java.util.List columnNames() { + return columnNames; + } + + public Optional headerDefinitionType() { + return headerDefinitionType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The column names that will be used while emitting the CSV records + */ + public SourceS3UserProvided withColumnNames(java.util.List columnNames) { + Utils.checkNotNull(columnNames, "columnNames"); + this.columnNames = columnNames; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceS3UserProvided other = (SourceS3UserProvided) o; + return + java.util.Objects.deepEquals(this.columnNames, other.columnNames) && + java.util.Objects.deepEquals(this.headerDefinitionType, other.headerDefinitionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + columnNames, + headerDefinitionType); + } + + @Override + public String toString() { + return Utils.toString(SourceS3UserProvided.class, + "columnNames", columnNames, + "headerDefinitionType", headerDefinitionType); + } + + public final static class Builder { + + private java.util.List columnNames; + + private Builder() { + // force use of static builder() method + } + + /** + * The column names that will be used while emitting the CSV records + */ + public Builder columnNames(java.util.List columnNames) { + Utils.checkNotNull(columnNames, "columnNames"); + this.columnNames = columnNames; + return this; + } + + public SourceS3UserProvided build() { + return new SourceS3UserProvided( + columnNames); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_HeaderDefinitionType = + new LazySingletonValue<>( + "header_definition_type", + "\"User Provided\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceS3ValidationPolicy.java b/src/main/java/com/airbyte/api/models/shared/SourceS3ValidationPolicy.java new file mode 100644 index 000000000..f8a693294 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceS3ValidationPolicy.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceS3ValidationPolicy - The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ +public enum SourceS3ValidationPolicy { + EMIT_RECORD("Emit Record"), + SKIP_RECORD("Skip Record"), + WAIT_FOR_DISCOVER("Wait for Discover"); + + @JsonValue + private final String value; + + private SourceS3ValidationPolicy(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSalesforce.java b/src/main/java/com/airbyte/api/models/shared/SourceSalesforce.java new file mode 100644 index 000000000..2b8340338 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSalesforce.java @@ -0,0 +1,543 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceSalesforce { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client ID</a> + */ + @JsonProperty("client_id") + private String clientId; + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client secret</a> + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * Toggle to use Bulk API (this might cause empty fields for some streams) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("force_use_bulk_api") + private Optional forceUseBulkApi; + + /** + * Toggle if you're using a <a href="https://help.salesforce.com/s/articleView?id=sf.deploy_sandboxes_parent.htm&type=5">Salesforce Sandbox</a> + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("is_sandbox") + private Optional isSandbox; + + /** + * Enter your application's <a href="https://developer.salesforce.com/docs/atlas.en-us.mobile_sdk.meta/mobile_sdk/oauth_refresh_token_flow.htm">Salesforce Refresh Token</a> used for Airbyte to access your Salesforce account. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + @JsonProperty("sourceType") + private SourceSalesforceSalesforce sourceType; + + /** + * Enter the date (or date-time) in the YYYY-MM-DD or YYYY-MM-DDTHH:mm:ssZ format. Airbyte will replicate the data updated on and after this date. If this field is blank, Airbyte will replicate the data for last two years. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + /** + * The size of the time window (ISO8601 duration) to slice requests. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("stream_slice_step") + private Optional streamSliceStep; + + /** + * Add filters to select only required stream based on `SObject` name. Use this field to filter which tables are displayed by this connector. This is useful if your Salesforce account has a large number of tables (>1000), in which case you may find it easier to navigate the UI and speed up the connector's performance if you restrict the tables displayed by this connector. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("streams_criteria") + private Optional> streamsCriteria; + + public SourceSalesforce( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("force_use_bulk_api") Optional forceUseBulkApi, + @JsonProperty("is_sandbox") Optional isSandbox, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("start_date") Optional startDate, + @JsonProperty("stream_slice_step") Optional streamSliceStep, + @JsonProperty("streams_criteria") Optional> streamsCriteria) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(forceUseBulkApi, "forceUseBulkApi"); + Utils.checkNotNull(isSandbox, "isSandbox"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(streamSliceStep, "streamSliceStep"); + Utils.checkNotNull(streamsCriteria, "streamsCriteria"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.forceUseBulkApi = forceUseBulkApi; + this.isSandbox = isSandbox; + this.refreshToken = refreshToken; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.streamSliceStep = streamSliceStep; + this.streamsCriteria = streamsCriteria; + } + + public Optional authType() { + return authType; + } + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client ID</a> + */ + public String clientId() { + return clientId; + } + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client secret</a> + */ + public String clientSecret() { + return clientSecret; + } + + /** + * Toggle to use Bulk API (this might cause empty fields for some streams) + */ + public Optional forceUseBulkApi() { + return forceUseBulkApi; + } + + /** + * Toggle if you're using a <a href="https://help.salesforce.com/s/articleView?id=sf.deploy_sandboxes_parent.htm&type=5">Salesforce Sandbox</a> + */ + public Optional isSandbox() { + return isSandbox; + } + + /** + * Enter your application's <a href="https://developer.salesforce.com/docs/atlas.en-us.mobile_sdk.meta/mobile_sdk/oauth_refresh_token_flow.htm">Salesforce Refresh Token</a> used for Airbyte to access your Salesforce account. + */ + public String refreshToken() { + return refreshToken; + } + + public SourceSalesforceSalesforce sourceType() { + return sourceType; + } + + /** + * Enter the date (or date-time) in the YYYY-MM-DD or YYYY-MM-DDTHH:mm:ssZ format. Airbyte will replicate the data updated on and after this date. If this field is blank, Airbyte will replicate the data for last two years. + */ + public Optional startDate() { + return startDate; + } + + /** + * The size of the time window (ISO8601 duration) to slice requests. + */ + public Optional streamSliceStep() { + return streamSliceStep; + } + + /** + * Add filters to select only required stream based on `SObject` name. Use this field to filter which tables are displayed by this connector. This is useful if your Salesforce account has a large number of tables (>1000), in which case you may find it easier to navigate the UI and speed up the connector's performance if you restrict the tables displayed by this connector. + */ + public Optional> streamsCriteria() { + return streamsCriteria; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client ID</a> + */ + public SourceSalesforce withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client secret</a> + */ + public SourceSalesforce withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Toggle to use Bulk API (this might cause empty fields for some streams) + */ + public SourceSalesforce withForceUseBulkApi(boolean forceUseBulkApi) { + Utils.checkNotNull(forceUseBulkApi, "forceUseBulkApi"); + this.forceUseBulkApi = Optional.ofNullable(forceUseBulkApi); + return this; + } + + /** + * Toggle to use Bulk API (this might cause empty fields for some streams) + */ + public SourceSalesforce withForceUseBulkApi(Optional forceUseBulkApi) { + Utils.checkNotNull(forceUseBulkApi, "forceUseBulkApi"); + this.forceUseBulkApi = forceUseBulkApi; + return this; + } + + /** + * Toggle if you're using a <a href="https://help.salesforce.com/s/articleView?id=sf.deploy_sandboxes_parent.htm&type=5">Salesforce Sandbox</a> + */ + public SourceSalesforce withIsSandbox(boolean isSandbox) { + Utils.checkNotNull(isSandbox, "isSandbox"); + this.isSandbox = Optional.ofNullable(isSandbox); + return this; + } + + /** + * Toggle if you're using a <a href="https://help.salesforce.com/s/articleView?id=sf.deploy_sandboxes_parent.htm&type=5">Salesforce Sandbox</a> + */ + public SourceSalesforce withIsSandbox(Optional isSandbox) { + Utils.checkNotNull(isSandbox, "isSandbox"); + this.isSandbox = isSandbox; + return this; + } + + /** + * Enter your application's <a href="https://developer.salesforce.com/docs/atlas.en-us.mobile_sdk.meta/mobile_sdk/oauth_refresh_token_flow.htm">Salesforce Refresh Token</a> used for Airbyte to access your Salesforce account. + */ + public SourceSalesforce withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * Enter the date (or date-time) in the YYYY-MM-DD or YYYY-MM-DDTHH:mm:ssZ format. Airbyte will replicate the data updated on and after this date. If this field is blank, Airbyte will replicate the data for last two years. + */ + public SourceSalesforce withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * Enter the date (or date-time) in the YYYY-MM-DD or YYYY-MM-DDTHH:mm:ssZ format. Airbyte will replicate the data updated on and after this date. If this field is blank, Airbyte will replicate the data for last two years. + */ + public SourceSalesforce withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * The size of the time window (ISO8601 duration) to slice requests. + */ + public SourceSalesforce withStreamSliceStep(String streamSliceStep) { + Utils.checkNotNull(streamSliceStep, "streamSliceStep"); + this.streamSliceStep = Optional.ofNullable(streamSliceStep); + return this; + } + + /** + * The size of the time window (ISO8601 duration) to slice requests. + */ + public SourceSalesforce withStreamSliceStep(Optional streamSliceStep) { + Utils.checkNotNull(streamSliceStep, "streamSliceStep"); + this.streamSliceStep = streamSliceStep; + return this; + } + + /** + * Add filters to select only required stream based on `SObject` name. Use this field to filter which tables are displayed by this connector. This is useful if your Salesforce account has a large number of tables (>1000), in which case you may find it easier to navigate the UI and speed up the connector's performance if you restrict the tables displayed by this connector. + */ + public SourceSalesforce withStreamsCriteria(java.util.List streamsCriteria) { + Utils.checkNotNull(streamsCriteria, "streamsCriteria"); + this.streamsCriteria = Optional.ofNullable(streamsCriteria); + return this; + } + + /** + * Add filters to select only required stream based on `SObject` name. Use this field to filter which tables are displayed by this connector. This is useful if your Salesforce account has a large number of tables (>1000), in which case you may find it easier to navigate the UI and speed up the connector's performance if you restrict the tables displayed by this connector. + */ + public SourceSalesforce withStreamsCriteria(Optional> streamsCriteria) { + Utils.checkNotNull(streamsCriteria, "streamsCriteria"); + this.streamsCriteria = streamsCriteria; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSalesforce other = (SourceSalesforce) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.forceUseBulkApi, other.forceUseBulkApi) && + java.util.Objects.deepEquals(this.isSandbox, other.isSandbox) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.streamSliceStep, other.streamSliceStep) && + java.util.Objects.deepEquals(this.streamsCriteria, other.streamsCriteria); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + clientId, + clientSecret, + forceUseBulkApi, + isSandbox, + refreshToken, + sourceType, + startDate, + streamSliceStep, + streamsCriteria); + } + + @Override + public String toString() { + return Utils.toString(SourceSalesforce.class, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "forceUseBulkApi", forceUseBulkApi, + "isSandbox", isSandbox, + "refreshToken", refreshToken, + "sourceType", sourceType, + "startDate", startDate, + "streamSliceStep", streamSliceStep, + "streamsCriteria", streamsCriteria); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private Optional forceUseBulkApi; + + private Optional isSandbox; + + private String refreshToken; + + private Optional startDate = Optional.empty(); + + private Optional streamSliceStep; + + private Optional> streamsCriteria = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client ID</a> + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Enter your Salesforce developer application's <a href="https://developer.salesforce.com/forums/?id=9062I000000DLgbQAG">Client secret</a> + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Toggle to use Bulk API (this might cause empty fields for some streams) + */ + public Builder forceUseBulkApi(boolean forceUseBulkApi) { + Utils.checkNotNull(forceUseBulkApi, "forceUseBulkApi"); + this.forceUseBulkApi = Optional.ofNullable(forceUseBulkApi); + return this; + } + + /** + * Toggle to use Bulk API (this might cause empty fields for some streams) + */ + public Builder forceUseBulkApi(Optional forceUseBulkApi) { + Utils.checkNotNull(forceUseBulkApi, "forceUseBulkApi"); + this.forceUseBulkApi = forceUseBulkApi; + return this; + } + + /** + * Toggle if you're using a <a href="https://help.salesforce.com/s/articleView?id=sf.deploy_sandboxes_parent.htm&type=5">Salesforce Sandbox</a> + */ + public Builder isSandbox(boolean isSandbox) { + Utils.checkNotNull(isSandbox, "isSandbox"); + this.isSandbox = Optional.ofNullable(isSandbox); + return this; + } + + /** + * Toggle if you're using a <a href="https://help.salesforce.com/s/articleView?id=sf.deploy_sandboxes_parent.htm&type=5">Salesforce Sandbox</a> + */ + public Builder isSandbox(Optional isSandbox) { + Utils.checkNotNull(isSandbox, "isSandbox"); + this.isSandbox = isSandbox; + return this; + } + + /** + * Enter your application's <a href="https://developer.salesforce.com/docs/atlas.en-us.mobile_sdk.meta/mobile_sdk/oauth_refresh_token_flow.htm">Salesforce Refresh Token</a> used for Airbyte to access your Salesforce account. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * Enter the date (or date-time) in the YYYY-MM-DD or YYYY-MM-DDTHH:mm:ssZ format. Airbyte will replicate the data updated on and after this date. If this field is blank, Airbyte will replicate the data for last two years. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * Enter the date (or date-time) in the YYYY-MM-DD or YYYY-MM-DDTHH:mm:ssZ format. Airbyte will replicate the data updated on and after this date. If this field is blank, Airbyte will replicate the data for last two years. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * The size of the time window (ISO8601 duration) to slice requests. + */ + public Builder streamSliceStep(String streamSliceStep) { + Utils.checkNotNull(streamSliceStep, "streamSliceStep"); + this.streamSliceStep = Optional.ofNullable(streamSliceStep); + return this; + } + + /** + * The size of the time window (ISO8601 duration) to slice requests. + */ + public Builder streamSliceStep(Optional streamSliceStep) { + Utils.checkNotNull(streamSliceStep, "streamSliceStep"); + this.streamSliceStep = streamSliceStep; + return this; + } + + /** + * Add filters to select only required stream based on `SObject` name. Use this field to filter which tables are displayed by this connector. This is useful if your Salesforce account has a large number of tables (>1000), in which case you may find it easier to navigate the UI and speed up the connector's performance if you restrict the tables displayed by this connector. + */ + public Builder streamsCriteria(java.util.List streamsCriteria) { + Utils.checkNotNull(streamsCriteria, "streamsCriteria"); + this.streamsCriteria = Optional.ofNullable(streamsCriteria); + return this; + } + + /** + * Add filters to select only required stream based on `SObject` name. Use this field to filter which tables are displayed by this connector. This is useful if your Salesforce account has a large number of tables (>1000), in which case you may find it easier to navigate the UI and speed up the connector's performance if you restrict the tables displayed by this connector. + */ + public Builder streamsCriteria(Optional> streamsCriteria) { + Utils.checkNotNull(streamsCriteria, "streamsCriteria"); + this.streamsCriteria = streamsCriteria; + return this; + } + + public SourceSalesforce build() { + if (forceUseBulkApi == null) { + forceUseBulkApi = _SINGLETON_VALUE_ForceUseBulkApi.value(); + } + if (isSandbox == null) { + isSandbox = _SINGLETON_VALUE_IsSandbox.value(); + } + if (streamSliceStep == null) { + streamSliceStep = _SINGLETON_VALUE_StreamSliceStep.value(); + } + return new SourceSalesforce( + clientId, + clientSecret, + forceUseBulkApi, + isSandbox, + refreshToken, + startDate, + streamSliceStep, + streamsCriteria); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Client\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ForceUseBulkApi = + new LazySingletonValue<>( + "force_use_bulk_api", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_IsSandbox = + new LazySingletonValue<>( + "is_sandbox", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"salesforce\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_StreamSliceStep = + new LazySingletonValue<>( + "stream_slice_step", + "\"P30D\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSalesforceSalesforce.java b/src/main/java/com/airbyte/api/models/shared/SourceSalesforceSalesforce.java new file mode 100644 index 000000000..c22d941a9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSalesforceSalesforce.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSalesforceSalesforce { + SALESFORCE("salesforce"); + + @JsonValue + private final String value; + + private SourceSalesforceSalesforce(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSalesloft.java b/src/main/java/com/airbyte/api/models/shared/SourceSalesloft.java new file mode 100644 index 000000000..3fd7d2c16 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSalesloft.java @@ -0,0 +1,148 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; + + +public class SourceSalesloft { + + @JsonProperty("credentials") + private SourceSalesloftCredentials credentials; + + @JsonProperty("sourceType") + private Salesloft sourceType; + + /** + * The date from which you'd like to replicate data for Salesloft API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + public SourceSalesloft( + @JsonProperty("credentials") SourceSalesloftCredentials credentials, + @JsonProperty("start_date") OffsetDateTime startDate) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(startDate, "startDate"); + this.credentials = credentials; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + public SourceSalesloftCredentials credentials() { + return credentials; + } + + public Salesloft sourceType() { + return sourceType; + } + + /** + * The date from which you'd like to replicate data for Salesloft API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceSalesloft withCredentials(SourceSalesloftCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The date from which you'd like to replicate data for Salesloft API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public SourceSalesloft withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSalesloft other = (SourceSalesloft) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceSalesloft.class, + "credentials", credentials, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private SourceSalesloftCredentials credentials; + + private OffsetDateTime startDate; + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(SourceSalesloftCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The date from which you'd like to replicate data for Salesloft API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceSalesloft build() { + return new SourceSalesloft( + credentials, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"salesloft\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSalesloftAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceSalesloftAuthType.java new file mode 100644 index 000000000..bf77934b8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSalesloftAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSalesloftAuthType { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private SourceSalesloftAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSalesloftCredentials.java b/src/main/java/com/airbyte/api/models/shared/SourceSalesloftCredentials.java new file mode 100644 index 000000000..694e3bad9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSalesloftCredentials.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceSalesloftCredentials._Deserializer.class) +public class SourceSalesloftCredentials { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceSalesloftCredentials(TypedObject value) { + this.value = value; + } + + public static SourceSalesloftCredentials of(AuthenticateViaOAuth value) { + Utils.checkNotNull(value, "value"); + return new SourceSalesloftCredentials(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceSalesloftCredentials of(AuthenticateViaAPIKey value) { + Utils.checkNotNull(value, "value"); + return new SourceSalesloftCredentials(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code AuthenticateViaOAuth}
    • + *
    • {@code AuthenticateViaAPIKey}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSalesloftCredentials other = (SourceSalesloftCredentials) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceSalesloftCredentials.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceSalesloftCredentials.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSalesloftSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceSalesloftSchemasAuthType.java new file mode 100644 index 000000000..abb0d4384 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSalesloftSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSalesloftSchemasAuthType { + API_KEY("api_key"); + + @JsonValue + private final String value; + + private SourceSalesloftSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSapFieldglass.java b/src/main/java/com/airbyte/api/models/shared/SourceSapFieldglass.java new file mode 100644 index 000000000..2c8d5792d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSapFieldglass.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceSapFieldglass { + + /** + * API Key + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private SapFieldglass sourceType; + + public SourceSapFieldglass( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * API Key + */ + public String apiKey() { + return apiKey; + } + + public SapFieldglass sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Key + */ + public SourceSapFieldglass withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSapFieldglass other = (SourceSapFieldglass) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceSapFieldglass.class, + "apiKey", apiKey, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * API Key + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public SourceSapFieldglass build() { + return new SourceSapFieldglass( + apiKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"sap-fieldglass\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSecoda.java b/src/main/java/com/airbyte/api/models/shared/SourceSecoda.java new file mode 100644 index 000000000..9265a1f00 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSecoda.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceSecoda { + + /** + * Your API Access Key. See <a href="https://docs.secoda.co/secoda-api/authentication">here</a>. The key is case sensitive. + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private Secoda sourceType; + + public SourceSecoda( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Your API Access Key. See <a href="https://docs.secoda.co/secoda-api/authentication">here</a>. The key is case sensitive. + */ + public String apiKey() { + return apiKey; + } + + public Secoda sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your API Access Key. See <a href="https://docs.secoda.co/secoda-api/authentication">here</a>. The key is case sensitive. + */ + public SourceSecoda withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSecoda other = (SourceSecoda) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceSecoda.class, + "apiKey", apiKey, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * Your API Access Key. See <a href="https://docs.secoda.co/secoda-api/authentication">here</a>. The key is case sensitive. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public SourceSecoda build() { + return new SourceSecoda( + apiKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"secoda\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSendgrid.java b/src/main/java/com/airbyte/api/models/shared/SourceSendgrid.java new file mode 100644 index 000000000..1f627bc58 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSendgrid.java @@ -0,0 +1,182 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceSendgrid { + + /** + * API Key, use <a href="https://app.sendgrid.com/settings/api_keys/">admin</a> to generate this key. + */ + @JsonProperty("apikey") + private String apikey; + + @JsonProperty("sourceType") + private Sendgrid sourceType; + + /** + * Start time in ISO8601 format. Any data before this time point will not be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_time") + private Optional startTime; + + public SourceSendgrid( + @JsonProperty("apikey") String apikey, + @JsonProperty("start_time") Optional startTime) { + Utils.checkNotNull(apikey, "apikey"); + Utils.checkNotNull(startTime, "startTime"); + this.apikey = apikey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startTime = startTime; + } + + /** + * API Key, use <a href="https://app.sendgrid.com/settings/api_keys/">admin</a> to generate this key. + */ + public String apikey() { + return apikey; + } + + public Sendgrid sourceType() { + return sourceType; + } + + /** + * Start time in ISO8601 format. Any data before this time point will not be replicated. + */ + public Optional startTime() { + return startTime; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Key, use <a href="https://app.sendgrid.com/settings/api_keys/">admin</a> to generate this key. + */ + public SourceSendgrid withApikey(String apikey) { + Utils.checkNotNull(apikey, "apikey"); + this.apikey = apikey; + return this; + } + + /** + * Start time in ISO8601 format. Any data before this time point will not be replicated. + */ + public SourceSendgrid withStartTime(OffsetDateTime startTime) { + Utils.checkNotNull(startTime, "startTime"); + this.startTime = Optional.ofNullable(startTime); + return this; + } + + /** + * Start time in ISO8601 format. Any data before this time point will not be replicated. + */ + public SourceSendgrid withStartTime(Optional startTime) { + Utils.checkNotNull(startTime, "startTime"); + this.startTime = startTime; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSendgrid other = (SourceSendgrid) o; + return + java.util.Objects.deepEquals(this.apikey, other.apikey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startTime, other.startTime); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apikey, + sourceType, + startTime); + } + + @Override + public String toString() { + return Utils.toString(SourceSendgrid.class, + "apikey", apikey, + "sourceType", sourceType, + "startTime", startTime); + } + + public final static class Builder { + + private String apikey; + + private Optional startTime = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * API Key, use <a href="https://app.sendgrid.com/settings/api_keys/">admin</a> to generate this key. + */ + public Builder apikey(String apikey) { + Utils.checkNotNull(apikey, "apikey"); + this.apikey = apikey; + return this; + } + + /** + * Start time in ISO8601 format. Any data before this time point will not be replicated. + */ + public Builder startTime(OffsetDateTime startTime) { + Utils.checkNotNull(startTime, "startTime"); + this.startTime = Optional.ofNullable(startTime); + return this; + } + + /** + * Start time in ISO8601 format. Any data before this time point will not be replicated. + */ + public Builder startTime(Optional startTime) { + Utils.checkNotNull(startTime, "startTime"); + this.startTime = startTime; + return this; + } + + public SourceSendgrid build() { + return new SourceSendgrid( + apikey, + startTime); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"sendgrid\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSendinblue.java b/src/main/java/com/airbyte/api/models/shared/SourceSendinblue.java new file mode 100644 index 000000000..31b42a51c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSendinblue.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceSendinblue { + + /** + * Your API Key. See <a href="https://developers.sendinblue.com/docs/getting-started">here</a>. + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private Sendinblue sourceType; + + public SourceSendinblue( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Your API Key. See <a href="https://developers.sendinblue.com/docs/getting-started">here</a>. + */ + public String apiKey() { + return apiKey; + } + + public Sendinblue sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your API Key. See <a href="https://developers.sendinblue.com/docs/getting-started">here</a>. + */ + public SourceSendinblue withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSendinblue other = (SourceSendinblue) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceSendinblue.class, + "apiKey", apiKey, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * Your API Key. See <a href="https://developers.sendinblue.com/docs/getting-started">here</a>. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public SourceSendinblue build() { + return new SourceSendinblue( + apiKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"sendinblue\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSenseforce.java b/src/main/java/com/airbyte/api/models/shared/SourceSenseforce.java new file mode 100644 index 000000000..248633bc1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSenseforce.java @@ -0,0 +1,309 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceSenseforce { + + /** + * Your API access token. See <a href="https://manual.senseforce.io/manual/sf-platform/public-api/get-your-access-token/">here</a>. The toke is case sensitive. + */ + @JsonProperty("access_token") + private String accessToken; + + /** + * Your Senseforce API backend URL. This is the URL shown during the Login screen. See <a href="https://manual.senseforce.io/manual/sf-platform/public-api/get-your-access-token/">here</a> for more details. (Note: Most Senseforce backend APIs have the term 'galaxy' in their ULR) + */ + @JsonProperty("backend_url") + private String backendUrl; + + /** + * The ID of the dataset you want to synchronize. The ID can be found in the URL when opening the dataset. See <a href="https://manual.senseforce.io/manual/sf-platform/public-api/get-your-access-token/">here</a> for more details. (Note: As the Senseforce API only allows to synchronize a specific dataset, each dataset you want to synchronize needs to be implemented as a separate airbyte source). + */ + @JsonProperty("dataset_id") + private String datasetId; + + /** + * The time increment used by the connector when requesting data from the Senseforce API. The bigger the value is, the less requests will be made and faster the sync will be. On the other hand, the more seldom the state is persisted and the more likely one could run into rate limites. Furthermore, consider that large chunks of time might take a long time for the Senseforce query to return data - meaning it could take in effect longer than with more smaller time slices. If there are a lot of data per day, set this setting to 1. If there is only very little data per day, you might change the setting to 10 or more. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("slice_range") + private Optional sliceRange; + + @JsonProperty("sourceType") + private Senseforce sourceType; + + /** + * UTC date and time in the format 2017-01-25. Only data with "Timestamp" after this date will be replicated. Important note: This start date must be set to the first day of where your dataset provides data. If your dataset has data from 2020-10-10 10:21:10, set the start_date to 2020-10-10 or later + */ + @JsonProperty("start_date") + private LocalDate startDate; + + public SourceSenseforce( + @JsonProperty("access_token") String accessToken, + @JsonProperty("backend_url") String backendUrl, + @JsonProperty("dataset_id") String datasetId, + @JsonProperty("slice_range") Optional sliceRange, + @JsonProperty("start_date") LocalDate startDate) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(backendUrl, "backendUrl"); + Utils.checkNotNull(datasetId, "datasetId"); + Utils.checkNotNull(sliceRange, "sliceRange"); + Utils.checkNotNull(startDate, "startDate"); + this.accessToken = accessToken; + this.backendUrl = backendUrl; + this.datasetId = datasetId; + this.sliceRange = sliceRange; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Your API access token. See <a href="https://manual.senseforce.io/manual/sf-platform/public-api/get-your-access-token/">here</a>. The toke is case sensitive. + */ + public String accessToken() { + return accessToken; + } + + /** + * Your Senseforce API backend URL. This is the URL shown during the Login screen. See <a href="https://manual.senseforce.io/manual/sf-platform/public-api/get-your-access-token/">here</a> for more details. (Note: Most Senseforce backend APIs have the term 'galaxy' in their ULR) + */ + public String backendUrl() { + return backendUrl; + } + + /** + * The ID of the dataset you want to synchronize. The ID can be found in the URL when opening the dataset. See <a href="https://manual.senseforce.io/manual/sf-platform/public-api/get-your-access-token/">here</a> for more details. (Note: As the Senseforce API only allows to synchronize a specific dataset, each dataset you want to synchronize needs to be implemented as a separate airbyte source). + */ + public String datasetId() { + return datasetId; + } + + /** + * The time increment used by the connector when requesting data from the Senseforce API. The bigger the value is, the less requests will be made and faster the sync will be. On the other hand, the more seldom the state is persisted and the more likely one could run into rate limites. Furthermore, consider that large chunks of time might take a long time for the Senseforce query to return data - meaning it could take in effect longer than with more smaller time slices. If there are a lot of data per day, set this setting to 1. If there is only very little data per day, you might change the setting to 10 or more. + */ + public Optional sliceRange() { + return sliceRange; + } + + public Senseforce sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25. Only data with "Timestamp" after this date will be replicated. Important note: This start date must be set to the first day of where your dataset provides data. If your dataset has data from 2020-10-10 10:21:10, set the start_date to 2020-10-10 or later + */ + public LocalDate startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your API access token. See <a href="https://manual.senseforce.io/manual/sf-platform/public-api/get-your-access-token/">here</a>. The toke is case sensitive. + */ + public SourceSenseforce withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * Your Senseforce API backend URL. This is the URL shown during the Login screen. See <a href="https://manual.senseforce.io/manual/sf-platform/public-api/get-your-access-token/">here</a> for more details. (Note: Most Senseforce backend APIs have the term 'galaxy' in their ULR) + */ + public SourceSenseforce withBackendUrl(String backendUrl) { + Utils.checkNotNull(backendUrl, "backendUrl"); + this.backendUrl = backendUrl; + return this; + } + + /** + * The ID of the dataset you want to synchronize. The ID can be found in the URL when opening the dataset. See <a href="https://manual.senseforce.io/manual/sf-platform/public-api/get-your-access-token/">here</a> for more details. (Note: As the Senseforce API only allows to synchronize a specific dataset, each dataset you want to synchronize needs to be implemented as a separate airbyte source). + */ + public SourceSenseforce withDatasetId(String datasetId) { + Utils.checkNotNull(datasetId, "datasetId"); + this.datasetId = datasetId; + return this; + } + + /** + * The time increment used by the connector when requesting data from the Senseforce API. The bigger the value is, the less requests will be made and faster the sync will be. On the other hand, the more seldom the state is persisted and the more likely one could run into rate limites. Furthermore, consider that large chunks of time might take a long time for the Senseforce query to return data - meaning it could take in effect longer than with more smaller time slices. If there are a lot of data per day, set this setting to 1. If there is only very little data per day, you might change the setting to 10 or more. + */ + public SourceSenseforce withSliceRange(long sliceRange) { + Utils.checkNotNull(sliceRange, "sliceRange"); + this.sliceRange = Optional.ofNullable(sliceRange); + return this; + } + + /** + * The time increment used by the connector when requesting data from the Senseforce API. The bigger the value is, the less requests will be made and faster the sync will be. On the other hand, the more seldom the state is persisted and the more likely one could run into rate limites. Furthermore, consider that large chunks of time might take a long time for the Senseforce query to return data - meaning it could take in effect longer than with more smaller time slices. If there are a lot of data per day, set this setting to 1. If there is only very little data per day, you might change the setting to 10 or more. + */ + public SourceSenseforce withSliceRange(Optional sliceRange) { + Utils.checkNotNull(sliceRange, "sliceRange"); + this.sliceRange = sliceRange; + return this; + } + + /** + * UTC date and time in the format 2017-01-25. Only data with "Timestamp" after this date will be replicated. Important note: This start date must be set to the first day of where your dataset provides data. If your dataset has data from 2020-10-10 10:21:10, set the start_date to 2020-10-10 or later + */ + public SourceSenseforce withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSenseforce other = (SourceSenseforce) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.backendUrl, other.backendUrl) && + java.util.Objects.deepEquals(this.datasetId, other.datasetId) && + java.util.Objects.deepEquals(this.sliceRange, other.sliceRange) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + backendUrl, + datasetId, + sliceRange, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceSenseforce.class, + "accessToken", accessToken, + "backendUrl", backendUrl, + "datasetId", datasetId, + "sliceRange", sliceRange, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String accessToken; + + private String backendUrl; + + private String datasetId; + + private Optional sliceRange; + + private LocalDate startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Your API access token. See <a href="https://manual.senseforce.io/manual/sf-platform/public-api/get-your-access-token/">here</a>. The toke is case sensitive. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * Your Senseforce API backend URL. This is the URL shown during the Login screen. See <a href="https://manual.senseforce.io/manual/sf-platform/public-api/get-your-access-token/">here</a> for more details. (Note: Most Senseforce backend APIs have the term 'galaxy' in their ULR) + */ + public Builder backendUrl(String backendUrl) { + Utils.checkNotNull(backendUrl, "backendUrl"); + this.backendUrl = backendUrl; + return this; + } + + /** + * The ID of the dataset you want to synchronize. The ID can be found in the URL when opening the dataset. See <a href="https://manual.senseforce.io/manual/sf-platform/public-api/get-your-access-token/">here</a> for more details. (Note: As the Senseforce API only allows to synchronize a specific dataset, each dataset you want to synchronize needs to be implemented as a separate airbyte source). + */ + public Builder datasetId(String datasetId) { + Utils.checkNotNull(datasetId, "datasetId"); + this.datasetId = datasetId; + return this; + } + + /** + * The time increment used by the connector when requesting data from the Senseforce API. The bigger the value is, the less requests will be made and faster the sync will be. On the other hand, the more seldom the state is persisted and the more likely one could run into rate limites. Furthermore, consider that large chunks of time might take a long time for the Senseforce query to return data - meaning it could take in effect longer than with more smaller time slices. If there are a lot of data per day, set this setting to 1. If there is only very little data per day, you might change the setting to 10 or more. + */ + public Builder sliceRange(long sliceRange) { + Utils.checkNotNull(sliceRange, "sliceRange"); + this.sliceRange = Optional.ofNullable(sliceRange); + return this; + } + + /** + * The time increment used by the connector when requesting data from the Senseforce API. The bigger the value is, the less requests will be made and faster the sync will be. On the other hand, the more seldom the state is persisted and the more likely one could run into rate limites. Furthermore, consider that large chunks of time might take a long time for the Senseforce query to return data - meaning it could take in effect longer than with more smaller time slices. If there are a lot of data per day, set this setting to 1. If there is only very little data per day, you might change the setting to 10 or more. + */ + public Builder sliceRange(Optional sliceRange) { + Utils.checkNotNull(sliceRange, "sliceRange"); + this.sliceRange = sliceRange; + return this; + } + + /** + * UTC date and time in the format 2017-01-25. Only data with "Timestamp" after this date will be replicated. Important note: This start date must be set to the first day of where your dataset provides data. If your dataset has data from 2020-10-10 10:21:10, set the start_date to 2020-10-10 or later + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceSenseforce build() { + if (sliceRange == null) { + sliceRange = _SINGLETON_VALUE_SliceRange.value(); + } + return new SourceSenseforce( + accessToken, + backendUrl, + datasetId, + sliceRange, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_SliceRange = + new LazySingletonValue<>( + "slice_range", + "10", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"senseforce\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSentry.java b/src/main/java/com/airbyte/api/models/shared/SourceSentry.java new file mode 100644 index 000000000..173b1349b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSentry.java @@ -0,0 +1,327 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceSentry { + + /** + * Log into Sentry and then <a href="https://sentry.io/settings/account/api/auth-tokens/">create authentication tokens</a>.For self-hosted, you can find or create authentication tokens by visiting "{instance_url_prefix}/settings/account/api/auth-tokens/" + */ + @JsonProperty("auth_token") + private String authToken; + + /** + * Fields to retrieve when fetching discover events + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("discover_fields") + private Optional> discoverFields; + + /** + * Host name of Sentry API server.For self-hosted, specify your host name here. Otherwise, leave it empty. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("hostname") + private Optional hostname; + + /** + * The slug of the organization the groups belong to. + */ + @JsonProperty("organization") + private String organization; + + /** + * The name (slug) of the Project you want to sync. + */ + @JsonProperty("project") + private String project; + + @JsonProperty("sourceType") + private Sentry sourceType; + + public SourceSentry( + @JsonProperty("auth_token") String authToken, + @JsonProperty("discover_fields") Optional> discoverFields, + @JsonProperty("hostname") Optional hostname, + @JsonProperty("organization") String organization, + @JsonProperty("project") String project) { + Utils.checkNotNull(authToken, "authToken"); + Utils.checkNotNull(discoverFields, "discoverFields"); + Utils.checkNotNull(hostname, "hostname"); + Utils.checkNotNull(organization, "organization"); + Utils.checkNotNull(project, "project"); + this.authToken = authToken; + this.discoverFields = discoverFields; + this.hostname = hostname; + this.organization = organization; + this.project = project; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Log into Sentry and then <a href="https://sentry.io/settings/account/api/auth-tokens/">create authentication tokens</a>.For self-hosted, you can find or create authentication tokens by visiting "{instance_url_prefix}/settings/account/api/auth-tokens/" + */ + public String authToken() { + return authToken; + } + + /** + * Fields to retrieve when fetching discover events + */ + public Optional> discoverFields() { + return discoverFields; + } + + /** + * Host name of Sentry API server.For self-hosted, specify your host name here. Otherwise, leave it empty. + */ + public Optional hostname() { + return hostname; + } + + /** + * The slug of the organization the groups belong to. + */ + public String organization() { + return organization; + } + + /** + * The name (slug) of the Project you want to sync. + */ + public String project() { + return project; + } + + public Sentry sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Log into Sentry and then <a href="https://sentry.io/settings/account/api/auth-tokens/">create authentication tokens</a>.For self-hosted, you can find or create authentication tokens by visiting "{instance_url_prefix}/settings/account/api/auth-tokens/" + */ + public SourceSentry withAuthToken(String authToken) { + Utils.checkNotNull(authToken, "authToken"); + this.authToken = authToken; + return this; + } + + /** + * Fields to retrieve when fetching discover events + */ + public SourceSentry withDiscoverFields(java.util.List discoverFields) { + Utils.checkNotNull(discoverFields, "discoverFields"); + this.discoverFields = Optional.ofNullable(discoverFields); + return this; + } + + /** + * Fields to retrieve when fetching discover events + */ + public SourceSentry withDiscoverFields(Optional> discoverFields) { + Utils.checkNotNull(discoverFields, "discoverFields"); + this.discoverFields = discoverFields; + return this; + } + + /** + * Host name of Sentry API server.For self-hosted, specify your host name here. Otherwise, leave it empty. + */ + public SourceSentry withHostname(String hostname) { + Utils.checkNotNull(hostname, "hostname"); + this.hostname = Optional.ofNullable(hostname); + return this; + } + + /** + * Host name of Sentry API server.For self-hosted, specify your host name here. Otherwise, leave it empty. + */ + public SourceSentry withHostname(Optional hostname) { + Utils.checkNotNull(hostname, "hostname"); + this.hostname = hostname; + return this; + } + + /** + * The slug of the organization the groups belong to. + */ + public SourceSentry withOrganization(String organization) { + Utils.checkNotNull(organization, "organization"); + this.organization = organization; + return this; + } + + /** + * The name (slug) of the Project you want to sync. + */ + public SourceSentry withProject(String project) { + Utils.checkNotNull(project, "project"); + this.project = project; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSentry other = (SourceSentry) o; + return + java.util.Objects.deepEquals(this.authToken, other.authToken) && + java.util.Objects.deepEquals(this.discoverFields, other.discoverFields) && + java.util.Objects.deepEquals(this.hostname, other.hostname) && + java.util.Objects.deepEquals(this.organization, other.organization) && + java.util.Objects.deepEquals(this.project, other.project) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authToken, + discoverFields, + hostname, + organization, + project, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceSentry.class, + "authToken", authToken, + "discoverFields", discoverFields, + "hostname", hostname, + "organization", organization, + "project", project, + "sourceType", sourceType); + } + + public final static class Builder { + + private String authToken; + + private Optional> discoverFields = Optional.empty(); + + private Optional hostname; + + private String organization; + + private String project; + + private Builder() { + // force use of static builder() method + } + + /** + * Log into Sentry and then <a href="https://sentry.io/settings/account/api/auth-tokens/">create authentication tokens</a>.For self-hosted, you can find or create authentication tokens by visiting "{instance_url_prefix}/settings/account/api/auth-tokens/" + */ + public Builder authToken(String authToken) { + Utils.checkNotNull(authToken, "authToken"); + this.authToken = authToken; + return this; + } + + /** + * Fields to retrieve when fetching discover events + */ + public Builder discoverFields(java.util.List discoverFields) { + Utils.checkNotNull(discoverFields, "discoverFields"); + this.discoverFields = Optional.ofNullable(discoverFields); + return this; + } + + /** + * Fields to retrieve when fetching discover events + */ + public Builder discoverFields(Optional> discoverFields) { + Utils.checkNotNull(discoverFields, "discoverFields"); + this.discoverFields = discoverFields; + return this; + } + + /** + * Host name of Sentry API server.For self-hosted, specify your host name here. Otherwise, leave it empty. + */ + public Builder hostname(String hostname) { + Utils.checkNotNull(hostname, "hostname"); + this.hostname = Optional.ofNullable(hostname); + return this; + } + + /** + * Host name of Sentry API server.For self-hosted, specify your host name here. Otherwise, leave it empty. + */ + public Builder hostname(Optional hostname) { + Utils.checkNotNull(hostname, "hostname"); + this.hostname = hostname; + return this; + } + + /** + * The slug of the organization the groups belong to. + */ + public Builder organization(String organization) { + Utils.checkNotNull(organization, "organization"); + this.organization = organization; + return this; + } + + /** + * The name (slug) of the Project you want to sync. + */ + public Builder project(String project) { + Utils.checkNotNull(project, "project"); + this.project = project; + return this; + } + + public SourceSentry build() { + if (hostname == null) { + hostname = _SINGLETON_VALUE_Hostname.value(); + } + return new SourceSentry( + authToken, + discoverFields, + hostname, + organization, + project); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Hostname = + new LazySingletonValue<>( + "hostname", + "\"sentry.io\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"sentry\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSftp.java b/src/main/java/com/airbyte/api/models/shared/SourceSftp.java new file mode 100644 index 000000000..76bb30123 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSftp.java @@ -0,0 +1,491 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceSftp { + + /** + * The server authentication method + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + /** + * The regular expression to specify files for sync in a chosen Folder Path + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("file_pattern") + private Optional filePattern; + + /** + * Coma separated file types. Currently only 'csv' and 'json' types are supported. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("file_types") + private Optional fileTypes; + + /** + * The directory to search files for sync + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("folder_path") + private Optional folderPath; + + /** + * The server host address + */ + @JsonProperty("host") + private String host; + + /** + * The server port + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + @JsonProperty("sourceType") + private Sftp sourceType; + + /** + * The server user + */ + @JsonProperty("user") + private String user; + + public SourceSftp( + @JsonProperty("credentials") Optional credentials, + @JsonProperty("file_pattern") Optional filePattern, + @JsonProperty("file_types") Optional fileTypes, + @JsonProperty("folder_path") Optional folderPath, + @JsonProperty("host") String host, + @JsonProperty("port") Optional port, + @JsonProperty("user") String user) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(filePattern, "filePattern"); + Utils.checkNotNull(fileTypes, "fileTypes"); + Utils.checkNotNull(folderPath, "folderPath"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(user, "user"); + this.credentials = credentials; + this.filePattern = filePattern; + this.fileTypes = fileTypes; + this.folderPath = folderPath; + this.host = host; + this.port = port; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.user = user; + } + + /** + * The server authentication method + */ + public Optional credentials() { + return credentials; + } + + /** + * The regular expression to specify files for sync in a chosen Folder Path + */ + public Optional filePattern() { + return filePattern; + } + + /** + * Coma separated file types. Currently only 'csv' and 'json' types are supported. + */ + public Optional fileTypes() { + return fileTypes; + } + + /** + * The directory to search files for sync + */ + public Optional folderPath() { + return folderPath; + } + + /** + * The server host address + */ + public String host() { + return host; + } + + /** + * The server port + */ + public Optional port() { + return port; + } + + public Sftp sourceType() { + return sourceType; + } + + /** + * The server user + */ + public String user() { + return user; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The server authentication method + */ + public SourceSftp withCredentials(SourceSftpAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * The server authentication method + */ + public SourceSftp withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The regular expression to specify files for sync in a chosen Folder Path + */ + public SourceSftp withFilePattern(String filePattern) { + Utils.checkNotNull(filePattern, "filePattern"); + this.filePattern = Optional.ofNullable(filePattern); + return this; + } + + /** + * The regular expression to specify files for sync in a chosen Folder Path + */ + public SourceSftp withFilePattern(Optional filePattern) { + Utils.checkNotNull(filePattern, "filePattern"); + this.filePattern = filePattern; + return this; + } + + /** + * Coma separated file types. Currently only 'csv' and 'json' types are supported. + */ + public SourceSftp withFileTypes(String fileTypes) { + Utils.checkNotNull(fileTypes, "fileTypes"); + this.fileTypes = Optional.ofNullable(fileTypes); + return this; + } + + /** + * Coma separated file types. Currently only 'csv' and 'json' types are supported. + */ + public SourceSftp withFileTypes(Optional fileTypes) { + Utils.checkNotNull(fileTypes, "fileTypes"); + this.fileTypes = fileTypes; + return this; + } + + /** + * The directory to search files for sync + */ + public SourceSftp withFolderPath(String folderPath) { + Utils.checkNotNull(folderPath, "folderPath"); + this.folderPath = Optional.ofNullable(folderPath); + return this; + } + + /** + * The directory to search files for sync + */ + public SourceSftp withFolderPath(Optional folderPath) { + Utils.checkNotNull(folderPath, "folderPath"); + this.folderPath = folderPath; + return this; + } + + /** + * The server host address + */ + public SourceSftp withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * The server port + */ + public SourceSftp withPort(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * The server port + */ + public SourceSftp withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * The server user + */ + public SourceSftp withUser(String user) { + Utils.checkNotNull(user, "user"); + this.user = user; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSftp other = (SourceSftp) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.filePattern, other.filePattern) && + java.util.Objects.deepEquals(this.fileTypes, other.fileTypes) && + java.util.Objects.deepEquals(this.folderPath, other.folderPath) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.user, other.user); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + filePattern, + fileTypes, + folderPath, + host, + port, + sourceType, + user); + } + + @Override + public String toString() { + return Utils.toString(SourceSftp.class, + "credentials", credentials, + "filePattern", filePattern, + "fileTypes", fileTypes, + "folderPath", folderPath, + "host", host, + "port", port, + "sourceType", sourceType, + "user", user); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Optional filePattern; + + private Optional fileTypes; + + private Optional folderPath; + + private String host; + + private Optional port; + + private String user; + + private Builder() { + // force use of static builder() method + } + + /** + * The server authentication method + */ + public Builder credentials(SourceSftpAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * The server authentication method + */ + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The regular expression to specify files for sync in a chosen Folder Path + */ + public Builder filePattern(String filePattern) { + Utils.checkNotNull(filePattern, "filePattern"); + this.filePattern = Optional.ofNullable(filePattern); + return this; + } + + /** + * The regular expression to specify files for sync in a chosen Folder Path + */ + public Builder filePattern(Optional filePattern) { + Utils.checkNotNull(filePattern, "filePattern"); + this.filePattern = filePattern; + return this; + } + + /** + * Coma separated file types. Currently only 'csv' and 'json' types are supported. + */ + public Builder fileTypes(String fileTypes) { + Utils.checkNotNull(fileTypes, "fileTypes"); + this.fileTypes = Optional.ofNullable(fileTypes); + return this; + } + + /** + * Coma separated file types. Currently only 'csv' and 'json' types are supported. + */ + public Builder fileTypes(Optional fileTypes) { + Utils.checkNotNull(fileTypes, "fileTypes"); + this.fileTypes = fileTypes; + return this; + } + + /** + * The directory to search files for sync + */ + public Builder folderPath(String folderPath) { + Utils.checkNotNull(folderPath, "folderPath"); + this.folderPath = Optional.ofNullable(folderPath); + return this; + } + + /** + * The directory to search files for sync + */ + public Builder folderPath(Optional folderPath) { + Utils.checkNotNull(folderPath, "folderPath"); + this.folderPath = folderPath; + return this; + } + + /** + * The server host address + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * The server port + */ + public Builder port(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * The server port + */ + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * The server user + */ + public Builder user(String user) { + Utils.checkNotNull(user, "user"); + this.user = user; + return this; + } + + public SourceSftp build() { + if (filePattern == null) { + filePattern = _SINGLETON_VALUE_FilePattern.value(); + } + if (fileTypes == null) { + fileTypes = _SINGLETON_VALUE_FileTypes.value(); + } + if (folderPath == null) { + folderPath = _SINGLETON_VALUE_FolderPath.value(); + } + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + return new SourceSftp( + credentials, + filePattern, + fileTypes, + folderPath, + host, + port, + user); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_FilePattern = + new LazySingletonValue<>( + "file_pattern", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_FileTypes = + new LazySingletonValue<>( + "file_types", + "\"csv,json\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_FolderPath = + new LazySingletonValue<>( + "folder_path", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "22", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"sftp\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSftpAuthMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceSftpAuthMethod.java new file mode 100644 index 000000000..f7a6ea13a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSftpAuthMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceSftpAuthMethod - Connect through password authentication + */ +public enum SourceSftpAuthMethod { + SSH_PASSWORD_AUTH("SSH_PASSWORD_AUTH"); + + @JsonValue + private final String value; + + private SourceSftpAuthMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSftpAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceSftpAuthentication.java new file mode 100644 index 000000000..656d90abe --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSftpAuthentication.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceSftpAuthentication - The server authentication method + */ + +@JsonDeserialize(using = SourceSftpAuthentication._Deserializer.class) +public class SourceSftpAuthentication { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceSftpAuthentication(TypedObject value) { + this.value = value; + } + + public static SourceSftpAuthentication of(SourceSftpPasswordAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourceSftpAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceSftpAuthentication of(SourceSftpSSHKeyAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourceSftpAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceSftpPasswordAuthentication}
    • + *
    • {@code SourceSftpSSHKeyAuthentication}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSftpAuthentication other = (SourceSftpAuthentication) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceSftpAuthentication.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceSftpAuthentication.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSftpBulk.java b/src/main/java/com/airbyte/api/models/shared/SourceSftpBulk.java new file mode 100644 index 000000000..cd8bb9dfd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSftpBulk.java @@ -0,0 +1,769 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceSftpBulk { + + /** + * Sync only the most recent file for the configured folder path and file pattern + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("file_most_recent") + private Optional fileMostRecent; + + /** + * The regular expression to specify files for sync in a chosen Folder Path + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("file_pattern") + private Optional filePattern; + + /** + * The file type you want to sync. Currently only 'csv' and 'json' files are supported. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("file_type") + private Optional fileType; + + /** + * The directory to search files for sync + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("folder_path") + private Optional folderPath; + + /** + * The server host address + */ + @JsonProperty("host") + private String host; + + /** + * OS-level password for logging into the jump server host + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("password") + private Optional password; + + /** + * The server port + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + /** + * The private key + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("private_key") + private Optional privateKey; + + /** + * The separator used in the CSV files. Define None if you want to use the Sniffer functionality + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("separator") + private Optional separator; + + @JsonProperty("sourceType") + private SftpBulk sourceType; + + /** + * The date from which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + /** + * The name of the stream or table you want to create + */ + @JsonProperty("stream_name") + private String streamName; + + /** + * The server user + */ + @JsonProperty("username") + private String username; + + public SourceSftpBulk( + @JsonProperty("file_most_recent") Optional fileMostRecent, + @JsonProperty("file_pattern") Optional filePattern, + @JsonProperty("file_type") Optional fileType, + @JsonProperty("folder_path") Optional folderPath, + @JsonProperty("host") String host, + @JsonProperty("password") Optional password, + @JsonProperty("port") Optional port, + @JsonProperty("private_key") Optional privateKey, + @JsonProperty("separator") Optional separator, + @JsonProperty("start_date") OffsetDateTime startDate, + @JsonProperty("stream_name") String streamName, + @JsonProperty("username") String username) { + Utils.checkNotNull(fileMostRecent, "fileMostRecent"); + Utils.checkNotNull(filePattern, "filePattern"); + Utils.checkNotNull(fileType, "fileType"); + Utils.checkNotNull(folderPath, "folderPath"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(port, "port"); + Utils.checkNotNull(privateKey, "privateKey"); + Utils.checkNotNull(separator, "separator"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(streamName, "streamName"); + Utils.checkNotNull(username, "username"); + this.fileMostRecent = fileMostRecent; + this.filePattern = filePattern; + this.fileType = fileType; + this.folderPath = folderPath; + this.host = host; + this.password = password; + this.port = port; + this.privateKey = privateKey; + this.separator = separator; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.streamName = streamName; + this.username = username; + } + + /** + * Sync only the most recent file for the configured folder path and file pattern + */ + public Optional fileMostRecent() { + return fileMostRecent; + } + + /** + * The regular expression to specify files for sync in a chosen Folder Path + */ + public Optional filePattern() { + return filePattern; + } + + /** + * The file type you want to sync. Currently only 'csv' and 'json' files are supported. + */ + public Optional fileType() { + return fileType; + } + + /** + * The directory to search files for sync + */ + public Optional folderPath() { + return folderPath; + } + + /** + * The server host address + */ + public String host() { + return host; + } + + /** + * OS-level password for logging into the jump server host + */ + public Optional password() { + return password; + } + + /** + * The server port + */ + public Optional port() { + return port; + } + + /** + * The private key + */ + public Optional privateKey() { + return privateKey; + } + + /** + * The separator used in the CSV files. Define None if you want to use the Sniffer functionality + */ + public Optional separator() { + return separator; + } + + public SftpBulk sourceType() { + return sourceType; + } + + /** + * The date from which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + /** + * The name of the stream or table you want to create + */ + public String streamName() { + return streamName; + } + + /** + * The server user + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Sync only the most recent file for the configured folder path and file pattern + */ + public SourceSftpBulk withFileMostRecent(boolean fileMostRecent) { + Utils.checkNotNull(fileMostRecent, "fileMostRecent"); + this.fileMostRecent = Optional.ofNullable(fileMostRecent); + return this; + } + + /** + * Sync only the most recent file for the configured folder path and file pattern + */ + public SourceSftpBulk withFileMostRecent(Optional fileMostRecent) { + Utils.checkNotNull(fileMostRecent, "fileMostRecent"); + this.fileMostRecent = fileMostRecent; + return this; + } + + /** + * The regular expression to specify files for sync in a chosen Folder Path + */ + public SourceSftpBulk withFilePattern(String filePattern) { + Utils.checkNotNull(filePattern, "filePattern"); + this.filePattern = Optional.ofNullable(filePattern); + return this; + } + + /** + * The regular expression to specify files for sync in a chosen Folder Path + */ + public SourceSftpBulk withFilePattern(Optional filePattern) { + Utils.checkNotNull(filePattern, "filePattern"); + this.filePattern = filePattern; + return this; + } + + /** + * The file type you want to sync. Currently only 'csv' and 'json' files are supported. + */ + public SourceSftpBulk withFileType(FileType fileType) { + Utils.checkNotNull(fileType, "fileType"); + this.fileType = Optional.ofNullable(fileType); + return this; + } + + /** + * The file type you want to sync. Currently only 'csv' and 'json' files are supported. + */ + public SourceSftpBulk withFileType(Optional fileType) { + Utils.checkNotNull(fileType, "fileType"); + this.fileType = fileType; + return this; + } + + /** + * The directory to search files for sync + */ + public SourceSftpBulk withFolderPath(String folderPath) { + Utils.checkNotNull(folderPath, "folderPath"); + this.folderPath = Optional.ofNullable(folderPath); + return this; + } + + /** + * The directory to search files for sync + */ + public SourceSftpBulk withFolderPath(Optional folderPath) { + Utils.checkNotNull(folderPath, "folderPath"); + this.folderPath = folderPath; + return this; + } + + /** + * The server host address + */ + public SourceSftpBulk withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public SourceSftpBulk withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public SourceSftpBulk withPassword(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * The server port + */ + public SourceSftpBulk withPort(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * The server port + */ + public SourceSftpBulk withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * The private key + */ + public SourceSftpBulk withPrivateKey(String privateKey) { + Utils.checkNotNull(privateKey, "privateKey"); + this.privateKey = Optional.ofNullable(privateKey); + return this; + } + + /** + * The private key + */ + public SourceSftpBulk withPrivateKey(Optional privateKey) { + Utils.checkNotNull(privateKey, "privateKey"); + this.privateKey = privateKey; + return this; + } + + /** + * The separator used in the CSV files. Define None if you want to use the Sniffer functionality + */ + public SourceSftpBulk withSeparator(String separator) { + Utils.checkNotNull(separator, "separator"); + this.separator = Optional.ofNullable(separator); + return this; + } + + /** + * The separator used in the CSV files. Define None if you want to use the Sniffer functionality + */ + public SourceSftpBulk withSeparator(Optional separator) { + Utils.checkNotNull(separator, "separator"); + this.separator = separator; + return this; + } + + /** + * The date from which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public SourceSftpBulk withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * The name of the stream or table you want to create + */ + public SourceSftpBulk withStreamName(String streamName) { + Utils.checkNotNull(streamName, "streamName"); + this.streamName = streamName; + return this; + } + + /** + * The server user + */ + public SourceSftpBulk withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSftpBulk other = (SourceSftpBulk) o; + return + java.util.Objects.deepEquals(this.fileMostRecent, other.fileMostRecent) && + java.util.Objects.deepEquals(this.filePattern, other.filePattern) && + java.util.Objects.deepEquals(this.fileType, other.fileType) && + java.util.Objects.deepEquals(this.folderPath, other.folderPath) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.port, other.port) && + java.util.Objects.deepEquals(this.privateKey, other.privateKey) && + java.util.Objects.deepEquals(this.separator, other.separator) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.streamName, other.streamName) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + fileMostRecent, + filePattern, + fileType, + folderPath, + host, + password, + port, + privateKey, + separator, + sourceType, + startDate, + streamName, + username); + } + + @Override + public String toString() { + return Utils.toString(SourceSftpBulk.class, + "fileMostRecent", fileMostRecent, + "filePattern", filePattern, + "fileType", fileType, + "folderPath", folderPath, + "host", host, + "password", password, + "port", port, + "privateKey", privateKey, + "separator", separator, + "sourceType", sourceType, + "startDate", startDate, + "streamName", streamName, + "username", username); + } + + public final static class Builder { + + private Optional fileMostRecent; + + private Optional filePattern; + + private Optional fileType; + + private Optional folderPath; + + private String host; + + private Optional password = Optional.empty(); + + private Optional port; + + private Optional privateKey = Optional.empty(); + + private Optional separator; + + private OffsetDateTime startDate; + + private String streamName; + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Sync only the most recent file for the configured folder path and file pattern + */ + public Builder fileMostRecent(boolean fileMostRecent) { + Utils.checkNotNull(fileMostRecent, "fileMostRecent"); + this.fileMostRecent = Optional.ofNullable(fileMostRecent); + return this; + } + + /** + * Sync only the most recent file for the configured folder path and file pattern + */ + public Builder fileMostRecent(Optional fileMostRecent) { + Utils.checkNotNull(fileMostRecent, "fileMostRecent"); + this.fileMostRecent = fileMostRecent; + return this; + } + + /** + * The regular expression to specify files for sync in a chosen Folder Path + */ + public Builder filePattern(String filePattern) { + Utils.checkNotNull(filePattern, "filePattern"); + this.filePattern = Optional.ofNullable(filePattern); + return this; + } + + /** + * The regular expression to specify files for sync in a chosen Folder Path + */ + public Builder filePattern(Optional filePattern) { + Utils.checkNotNull(filePattern, "filePattern"); + this.filePattern = filePattern; + return this; + } + + /** + * The file type you want to sync. Currently only 'csv' and 'json' files are supported. + */ + public Builder fileType(FileType fileType) { + Utils.checkNotNull(fileType, "fileType"); + this.fileType = Optional.ofNullable(fileType); + return this; + } + + /** + * The file type you want to sync. Currently only 'csv' and 'json' files are supported. + */ + public Builder fileType(Optional fileType) { + Utils.checkNotNull(fileType, "fileType"); + this.fileType = fileType; + return this; + } + + /** + * The directory to search files for sync + */ + public Builder folderPath(String folderPath) { + Utils.checkNotNull(folderPath, "folderPath"); + this.folderPath = Optional.ofNullable(folderPath); + return this; + } + + /** + * The directory to search files for sync + */ + public Builder folderPath(Optional folderPath) { + Utils.checkNotNull(folderPath, "folderPath"); + this.folderPath = folderPath; + return this; + } + + /** + * The server host address + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = Optional.ofNullable(password); + return this; + } + + /** + * OS-level password for logging into the jump server host + */ + public Builder password(Optional password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * The server port + */ + public Builder port(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * The server port + */ + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + /** + * The private key + */ + public Builder privateKey(String privateKey) { + Utils.checkNotNull(privateKey, "privateKey"); + this.privateKey = Optional.ofNullable(privateKey); + return this; + } + + /** + * The private key + */ + public Builder privateKey(Optional privateKey) { + Utils.checkNotNull(privateKey, "privateKey"); + this.privateKey = privateKey; + return this; + } + + /** + * The separator used in the CSV files. Define None if you want to use the Sniffer functionality + */ + public Builder separator(String separator) { + Utils.checkNotNull(separator, "separator"); + this.separator = Optional.ofNullable(separator); + return this; + } + + /** + * The separator used in the CSV files. Define None if you want to use the Sniffer functionality + */ + public Builder separator(Optional separator) { + Utils.checkNotNull(separator, "separator"); + this.separator = separator; + return this; + } + + /** + * The date from which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * The name of the stream or table you want to create + */ + public Builder streamName(String streamName) { + Utils.checkNotNull(streamName, "streamName"); + this.streamName = streamName; + return this; + } + + /** + * The server user + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public SourceSftpBulk build() { + if (fileMostRecent == null) { + fileMostRecent = _SINGLETON_VALUE_FileMostRecent.value(); + } + if (filePattern == null) { + filePattern = _SINGLETON_VALUE_FilePattern.value(); + } + if (fileType == null) { + fileType = _SINGLETON_VALUE_FileType.value(); + } + if (folderPath == null) { + folderPath = _SINGLETON_VALUE_FolderPath.value(); + } + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + if (separator == null) { + separator = _SINGLETON_VALUE_Separator.value(); + } + return new SourceSftpBulk( + fileMostRecent, + filePattern, + fileType, + folderPath, + host, + password, + port, + privateKey, + separator, + startDate, + streamName, + username); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_FileMostRecent = + new LazySingletonValue<>( + "file_most_recent", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_FilePattern = + new LazySingletonValue<>( + "file_pattern", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_FileType = + new LazySingletonValue<>( + "file_type", + "\"csv\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_FolderPath = + new LazySingletonValue<>( + "folder_path", + "\"\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "22", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Separator = + new LazySingletonValue<>( + "separator", + "\",\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"sftp-bulk\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSftpPasswordAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceSftpPasswordAuthentication.java new file mode 100644 index 000000000..cf4e2bde1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSftpPasswordAuthentication.java @@ -0,0 +1,123 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceSftpPasswordAuthentication { + + /** + * Connect through password authentication + */ + @JsonProperty("auth_method") + private SourceSftpAuthMethod authMethod; + + /** + * OS-level password for logging into the jump server host + */ + @JsonProperty("auth_user_password") + private String authUserPassword; + + public SourceSftpPasswordAuthentication( + @JsonProperty("auth_user_password") String authUserPassword) { + Utils.checkNotNull(authUserPassword, "authUserPassword"); + this.authMethod = Builder._SINGLETON_VALUE_AuthMethod.value(); + this.authUserPassword = authUserPassword; + } + + /** + * Connect through password authentication + */ + public SourceSftpAuthMethod authMethod() { + return authMethod; + } + + /** + * OS-level password for logging into the jump server host + */ + public String authUserPassword() { + return authUserPassword; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OS-level password for logging into the jump server host + */ + public SourceSftpPasswordAuthentication withAuthUserPassword(String authUserPassword) { + Utils.checkNotNull(authUserPassword, "authUserPassword"); + this.authUserPassword = authUserPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSftpPasswordAuthentication other = (SourceSftpPasswordAuthentication) o; + return + java.util.Objects.deepEquals(this.authMethod, other.authMethod) && + java.util.Objects.deepEquals(this.authUserPassword, other.authUserPassword); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authMethod, + authUserPassword); + } + + @Override + public String toString() { + return Utils.toString(SourceSftpPasswordAuthentication.class, + "authMethod", authMethod, + "authUserPassword", authUserPassword); + } + + public final static class Builder { + + private String authUserPassword; + + private Builder() { + // force use of static builder() method + } + + /** + * OS-level password for logging into the jump server host + */ + public Builder authUserPassword(String authUserPassword) { + Utils.checkNotNull(authUserPassword, "authUserPassword"); + this.authUserPassword = authUserPassword; + return this; + } + + public SourceSftpPasswordAuthentication build() { + return new SourceSftpPasswordAuthentication( + authUserPassword); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthMethod = + new LazySingletonValue<>( + "auth_method", + "\"SSH_PASSWORD_AUTH\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSftpSSHKeyAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceSftpSSHKeyAuthentication.java new file mode 100644 index 000000000..db7c0f9f4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSftpSSHKeyAuthentication.java @@ -0,0 +1,123 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceSftpSSHKeyAuthentication { + + /** + * Connect through ssh key + */ + @JsonProperty("auth_method") + private SourceSftpSchemasAuthMethod authMethod; + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + @JsonProperty("auth_ssh_key") + private String authSshKey; + + public SourceSftpSSHKeyAuthentication( + @JsonProperty("auth_ssh_key") String authSshKey) { + Utils.checkNotNull(authSshKey, "authSshKey"); + this.authMethod = Builder._SINGLETON_VALUE_AuthMethod.value(); + this.authSshKey = authSshKey; + } + + /** + * Connect through ssh key + */ + public SourceSftpSchemasAuthMethod authMethod() { + return authMethod; + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public String authSshKey() { + return authSshKey; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public SourceSftpSSHKeyAuthentication withAuthSshKey(String authSshKey) { + Utils.checkNotNull(authSshKey, "authSshKey"); + this.authSshKey = authSshKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSftpSSHKeyAuthentication other = (SourceSftpSSHKeyAuthentication) o; + return + java.util.Objects.deepEquals(this.authMethod, other.authMethod) && + java.util.Objects.deepEquals(this.authSshKey, other.authSshKey); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authMethod, + authSshKey); + } + + @Override + public String toString() { + return Utils.toString(SourceSftpSSHKeyAuthentication.class, + "authMethod", authMethod, + "authSshKey", authSshKey); + } + + public final static class Builder { + + private String authSshKey; + + private Builder() { + // force use of static builder() method + } + + /** + * OS-level user account ssh key credentials in RSA PEM format ( created with ssh-keygen -t rsa -m PEM -f myuser_rsa ) + */ + public Builder authSshKey(String authSshKey) { + Utils.checkNotNull(authSshKey, "authSshKey"); + this.authSshKey = authSshKey; + return this; + } + + public SourceSftpSSHKeyAuthentication build() { + return new SourceSftpSSHKeyAuthentication( + authSshKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthMethod = + new LazySingletonValue<>( + "auth_method", + "\"SSH_KEY_AUTH\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSftpSchemasAuthMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceSftpSchemasAuthMethod.java new file mode 100644 index 000000000..f763c80a8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSftpSchemasAuthMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceSftpSchemasAuthMethod - Connect through ssh key + */ +public enum SourceSftpSchemasAuthMethod { + SSH_KEY_AUTH("SSH_KEY_AUTH"); + + @JsonValue + private final String value; + + private SourceSftpSchemasAuthMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceShopify.java b/src/main/java/com/airbyte/api/models/shared/SourceShopify.java new file mode 100644 index 000000000..d3612cdfc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceShopify.java @@ -0,0 +1,384 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceShopify { + + /** + * Defines what would be a date range per single BULK Job + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("bulk_window_in_days") + private Optional bulkWindowInDays; + + /** + * The authorization method to use to retrieve data from Shopify + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + /** + * Defines which API type (REST/BULK) to use to fetch `Transactions` data. If you are a `Shopify Plus` user, leave the default value to speed up the fetch. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("fetch_transactions_user_id") + private Optional fetchTransactionsUserId; + + /** + * The name of your Shopify store found in the URL. For example, if your URL was https://NAME.myshopify.com, then the name would be 'NAME' or 'NAME.myshopify.com'. + */ + @JsonProperty("shop") + private String shop; + + @JsonProperty("sourceType") + private SourceShopifyShopify sourceType; + + /** + * The date you would like to replicate data from. Format: YYYY-MM-DD. Any data before this date will not be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceShopify( + @JsonProperty("bulk_window_in_days") Optional bulkWindowInDays, + @JsonProperty("credentials") Optional credentials, + @JsonProperty("fetch_transactions_user_id") Optional fetchTransactionsUserId, + @JsonProperty("shop") String shop, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(bulkWindowInDays, "bulkWindowInDays"); + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(fetchTransactionsUserId, "fetchTransactionsUserId"); + Utils.checkNotNull(shop, "shop"); + Utils.checkNotNull(startDate, "startDate"); + this.bulkWindowInDays = bulkWindowInDays; + this.credentials = credentials; + this.fetchTransactionsUserId = fetchTransactionsUserId; + this.shop = shop; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Defines what would be a date range per single BULK Job + */ + public Optional bulkWindowInDays() { + return bulkWindowInDays; + } + + /** + * The authorization method to use to retrieve data from Shopify + */ + public Optional credentials() { + return credentials; + } + + /** + * Defines which API type (REST/BULK) to use to fetch `Transactions` data. If you are a `Shopify Plus` user, leave the default value to speed up the fetch. + */ + public Optional fetchTransactionsUserId() { + return fetchTransactionsUserId; + } + + /** + * The name of your Shopify store found in the URL. For example, if your URL was https://NAME.myshopify.com, then the name would be 'NAME' or 'NAME.myshopify.com'. + */ + public String shop() { + return shop; + } + + public SourceShopifyShopify sourceType() { + return sourceType; + } + + /** + * The date you would like to replicate data from. Format: YYYY-MM-DD. Any data before this date will not be replicated. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Defines what would be a date range per single BULK Job + */ + public SourceShopify withBulkWindowInDays(long bulkWindowInDays) { + Utils.checkNotNull(bulkWindowInDays, "bulkWindowInDays"); + this.bulkWindowInDays = Optional.ofNullable(bulkWindowInDays); + return this; + } + + /** + * Defines what would be a date range per single BULK Job + */ + public SourceShopify withBulkWindowInDays(Optional bulkWindowInDays) { + Utils.checkNotNull(bulkWindowInDays, "bulkWindowInDays"); + this.bulkWindowInDays = bulkWindowInDays; + return this; + } + + /** + * The authorization method to use to retrieve data from Shopify + */ + public SourceShopify withCredentials(ShopifyAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * The authorization method to use to retrieve data from Shopify + */ + public SourceShopify withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Defines which API type (REST/BULK) to use to fetch `Transactions` data. If you are a `Shopify Plus` user, leave the default value to speed up the fetch. + */ + public SourceShopify withFetchTransactionsUserId(boolean fetchTransactionsUserId) { + Utils.checkNotNull(fetchTransactionsUserId, "fetchTransactionsUserId"); + this.fetchTransactionsUserId = Optional.ofNullable(fetchTransactionsUserId); + return this; + } + + /** + * Defines which API type (REST/BULK) to use to fetch `Transactions` data. If you are a `Shopify Plus` user, leave the default value to speed up the fetch. + */ + public SourceShopify withFetchTransactionsUserId(Optional fetchTransactionsUserId) { + Utils.checkNotNull(fetchTransactionsUserId, "fetchTransactionsUserId"); + this.fetchTransactionsUserId = fetchTransactionsUserId; + return this; + } + + /** + * The name of your Shopify store found in the URL. For example, if your URL was https://NAME.myshopify.com, then the name would be 'NAME' or 'NAME.myshopify.com'. + */ + public SourceShopify withShop(String shop) { + Utils.checkNotNull(shop, "shop"); + this.shop = shop; + return this; + } + + /** + * The date you would like to replicate data from. Format: YYYY-MM-DD. Any data before this date will not be replicated. + */ + public SourceShopify withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date you would like to replicate data from. Format: YYYY-MM-DD. Any data before this date will not be replicated. + */ + public SourceShopify withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceShopify other = (SourceShopify) o; + return + java.util.Objects.deepEquals(this.bulkWindowInDays, other.bulkWindowInDays) && + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.fetchTransactionsUserId, other.fetchTransactionsUserId) && + java.util.Objects.deepEquals(this.shop, other.shop) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + bulkWindowInDays, + credentials, + fetchTransactionsUserId, + shop, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceShopify.class, + "bulkWindowInDays", bulkWindowInDays, + "credentials", credentials, + "fetchTransactionsUserId", fetchTransactionsUserId, + "shop", shop, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private Optional bulkWindowInDays; + + private Optional credentials = Optional.empty(); + + private Optional fetchTransactionsUserId; + + private String shop; + + private Optional startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Defines what would be a date range per single BULK Job + */ + public Builder bulkWindowInDays(long bulkWindowInDays) { + Utils.checkNotNull(bulkWindowInDays, "bulkWindowInDays"); + this.bulkWindowInDays = Optional.ofNullable(bulkWindowInDays); + return this; + } + + /** + * Defines what would be a date range per single BULK Job + */ + public Builder bulkWindowInDays(Optional bulkWindowInDays) { + Utils.checkNotNull(bulkWindowInDays, "bulkWindowInDays"); + this.bulkWindowInDays = bulkWindowInDays; + return this; + } + + /** + * The authorization method to use to retrieve data from Shopify + */ + public Builder credentials(ShopifyAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * The authorization method to use to retrieve data from Shopify + */ + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Defines which API type (REST/BULK) to use to fetch `Transactions` data. If you are a `Shopify Plus` user, leave the default value to speed up the fetch. + */ + public Builder fetchTransactionsUserId(boolean fetchTransactionsUserId) { + Utils.checkNotNull(fetchTransactionsUserId, "fetchTransactionsUserId"); + this.fetchTransactionsUserId = Optional.ofNullable(fetchTransactionsUserId); + return this; + } + + /** + * Defines which API type (REST/BULK) to use to fetch `Transactions` data. If you are a `Shopify Plus` user, leave the default value to speed up the fetch. + */ + public Builder fetchTransactionsUserId(Optional fetchTransactionsUserId) { + Utils.checkNotNull(fetchTransactionsUserId, "fetchTransactionsUserId"); + this.fetchTransactionsUserId = fetchTransactionsUserId; + return this; + } + + /** + * The name of your Shopify store found in the URL. For example, if your URL was https://NAME.myshopify.com, then the name would be 'NAME' or 'NAME.myshopify.com'. + */ + public Builder shop(String shop) { + Utils.checkNotNull(shop, "shop"); + this.shop = shop; + return this; + } + + /** + * The date you would like to replicate data from. Format: YYYY-MM-DD. Any data before this date will not be replicated. + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date you would like to replicate data from. Format: YYYY-MM-DD. Any data before this date will not be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceShopify build() { + if (bulkWindowInDays == null) { + bulkWindowInDays = _SINGLETON_VALUE_BulkWindowInDays.value(); + } + if (fetchTransactionsUserId == null) { + fetchTransactionsUserId = _SINGLETON_VALUE_FetchTransactionsUserId.value(); + } + if (startDate == null) { + startDate = _SINGLETON_VALUE_StartDate.value(); + } + return new SourceShopify( + bulkWindowInDays, + credentials, + fetchTransactionsUserId, + shop, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_BulkWindowInDays = + new LazySingletonValue<>( + "bulk_window_in_days", + "30", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_FetchTransactionsUserId = + new LazySingletonValue<>( + "fetch_transactions_user_id", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"shopify\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_StartDate = + new LazySingletonValue<>( + "start_date", + "\"2020-01-01\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceShopifyAuthMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceShopifyAuthMethod.java new file mode 100644 index 000000000..34e15d194 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceShopifyAuthMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceShopifyAuthMethod { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private SourceShopifyAuthMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceShopifyOAuth20.java b/src/main/java/com/airbyte/api/models/shared/SourceShopifyOAuth20.java new file mode 100644 index 000000000..b3c433a01 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceShopifyOAuth20.java @@ -0,0 +1,260 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SourceShopifyOAuth20 - OAuth2.0 + */ + +public class SourceShopifyOAuth20 { + + /** + * The Access Token for making authenticated requests. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("access_token") + private Optional accessToken; + + @JsonProperty("auth_method") + private SourceShopifyAuthMethod authMethod; + + /** + * The Client ID of the Shopify developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of the Shopify developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public SourceShopifyOAuth20( + @JsonProperty("access_token") Optional accessToken, + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.accessToken = accessToken; + this.authMethod = Builder._SINGLETON_VALUE_AuthMethod.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Access Token for making authenticated requests. + */ + public Optional accessToken() { + return accessToken; + } + + public SourceShopifyAuthMethod authMethod() { + return authMethod; + } + + /** + * The Client ID of the Shopify developer application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of the Shopify developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Access Token for making authenticated requests. + */ + public SourceShopifyOAuth20 withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = Optional.ofNullable(accessToken); + return this; + } + + /** + * The Access Token for making authenticated requests. + */ + public SourceShopifyOAuth20 withAccessToken(Optional accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of the Shopify developer application. + */ + public SourceShopifyOAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of the Shopify developer application. + */ + public SourceShopifyOAuth20 withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of the Shopify developer application. + */ + public SourceShopifyOAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of the Shopify developer application. + */ + public SourceShopifyOAuth20 withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceShopifyOAuth20 other = (SourceShopifyOAuth20) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authMethod, other.authMethod) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authMethod, + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(SourceShopifyOAuth20.class, + "accessToken", accessToken, + "authMethod", authMethod, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional accessToken = Optional.empty(); + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Access Token for making authenticated requests. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = Optional.ofNullable(accessToken); + return this; + } + + /** + * The Access Token for making authenticated requests. + */ + public Builder accessToken(Optional accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of the Shopify developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of the Shopify developer application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of the Shopify developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of the Shopify developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public SourceShopifyOAuth20 build() { + return new SourceShopifyOAuth20( + accessToken, + clientId, + clientSecret); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthMethod = + new LazySingletonValue<>( + "auth_method", + "\"oauth2.0\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceShopifySchemasAuthMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceShopifySchemasAuthMethod.java new file mode 100644 index 000000000..700604756 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceShopifySchemasAuthMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceShopifySchemasAuthMethod { + API_PASSWORD("api_password"); + + @JsonValue + private final String value; + + private SourceShopifySchemasAuthMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceShopifyShopify.java b/src/main/java/com/airbyte/api/models/shared/SourceShopifyShopify.java new file mode 100644 index 000000000..b027c89de --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceShopifyShopify.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceShopifyShopify { + SHOPIFY("shopify"); + + @JsonValue + private final String value; + + private SourceShopifyShopify(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceShortio.java b/src/main/java/com/airbyte/api/models/shared/SourceShortio.java new file mode 100644 index 000000000..271a1ff44 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceShortio.java @@ -0,0 +1,185 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceShortio { + + @JsonProperty("domain_id") + private String domainId; + + /** + * Short.io Secret Key + */ + @JsonProperty("secret_key") + private String secretKey; + + @JsonProperty("sourceType") + private Shortio sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private String startDate; + + public SourceShortio( + @JsonProperty("domain_id") String domainId, + @JsonProperty("secret_key") String secretKey, + @JsonProperty("start_date") String startDate) { + Utils.checkNotNull(domainId, "domainId"); + Utils.checkNotNull(secretKey, "secretKey"); + Utils.checkNotNull(startDate, "startDate"); + this.domainId = domainId; + this.secretKey = secretKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + public String domainId() { + return domainId; + } + + /** + * Short.io Secret Key + */ + public String secretKey() { + return secretKey; + } + + public Shortio sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public String startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceShortio withDomainId(String domainId) { + Utils.checkNotNull(domainId, "domainId"); + this.domainId = domainId; + return this; + } + + /** + * Short.io Secret Key + */ + public SourceShortio withSecretKey(String secretKey) { + Utils.checkNotNull(secretKey, "secretKey"); + this.secretKey = secretKey; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public SourceShortio withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceShortio other = (SourceShortio) o; + return + java.util.Objects.deepEquals(this.domainId, other.domainId) && + java.util.Objects.deepEquals(this.secretKey, other.secretKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + domainId, + secretKey, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceShortio.class, + "domainId", domainId, + "secretKey", secretKey, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String domainId; + + private String secretKey; + + private String startDate; + + private Builder() { + // force use of static builder() method + } + + public Builder domainId(String domainId) { + Utils.checkNotNull(domainId, "domainId"); + this.domainId = domainId; + return this; + } + + /** + * Short.io Secret Key + */ + public Builder secretKey(String secretKey) { + Utils.checkNotNull(secretKey, "secretKey"); + this.secretKey = secretKey; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceShortio build() { + return new SourceShortio( + domainId, + secretKey, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"shortio\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSlack.java b/src/main/java/com/airbyte/api/models/shared/SourceSlack.java new file mode 100644 index 000000000..7066ce575 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSlack.java @@ -0,0 +1,377 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceSlack { + + /** + * A channel name list (without leading '#' char) which limit the channels from which you'd like to sync. Empty list means no filter. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("channel_filter") + private Optional> channelFilter; + + /** + * Choose how to authenticate into Slack + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + /** + * Whether to join all channels or to sync data only from channels the bot is already in. If false, you'll need to manually add the bot to all the channels from which you'd like to sync messages. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("join_channels") + private Optional joinChannels; + + /** + * How far into the past to look for messages in threads, default is 0 days + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lookback_window") + private Optional lookbackWindow; + + @JsonProperty("sourceType") + private SourceSlackSlack sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + public SourceSlack( + @JsonProperty("channel_filter") Optional> channelFilter, + @JsonProperty("credentials") Optional credentials, + @JsonProperty("join_channels") Optional joinChannels, + @JsonProperty("lookback_window") Optional lookbackWindow, + @JsonProperty("start_date") OffsetDateTime startDate) { + Utils.checkNotNull(channelFilter, "channelFilter"); + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(joinChannels, "joinChannels"); + Utils.checkNotNull(lookbackWindow, "lookbackWindow"); + Utils.checkNotNull(startDate, "startDate"); + this.channelFilter = channelFilter; + this.credentials = credentials; + this.joinChannels = joinChannels; + this.lookbackWindow = lookbackWindow; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * A channel name list (without leading '#' char) which limit the channels from which you'd like to sync. Empty list means no filter. + */ + public Optional> channelFilter() { + return channelFilter; + } + + /** + * Choose how to authenticate into Slack + */ + public Optional credentials() { + return credentials; + } + + /** + * Whether to join all channels or to sync data only from channels the bot is already in. If false, you'll need to manually add the bot to all the channels from which you'd like to sync messages. + */ + public Optional joinChannels() { + return joinChannels; + } + + /** + * How far into the past to look for messages in threads, default is 0 days + */ + public Optional lookbackWindow() { + return lookbackWindow; + } + + public SourceSlackSlack sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * A channel name list (without leading '#' char) which limit the channels from which you'd like to sync. Empty list means no filter. + */ + public SourceSlack withChannelFilter(java.util.List channelFilter) { + Utils.checkNotNull(channelFilter, "channelFilter"); + this.channelFilter = Optional.ofNullable(channelFilter); + return this; + } + + /** + * A channel name list (without leading '#' char) which limit the channels from which you'd like to sync. Empty list means no filter. + */ + public SourceSlack withChannelFilter(Optional> channelFilter) { + Utils.checkNotNull(channelFilter, "channelFilter"); + this.channelFilter = channelFilter; + return this; + } + + /** + * Choose how to authenticate into Slack + */ + public SourceSlack withCredentials(SourceSlackAuthenticationMechanism credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Choose how to authenticate into Slack + */ + public SourceSlack withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Whether to join all channels or to sync data only from channels the bot is already in. If false, you'll need to manually add the bot to all the channels from which you'd like to sync messages. + */ + public SourceSlack withJoinChannels(boolean joinChannels) { + Utils.checkNotNull(joinChannels, "joinChannels"); + this.joinChannels = Optional.ofNullable(joinChannels); + return this; + } + + /** + * Whether to join all channels or to sync data only from channels the bot is already in. If false, you'll need to manually add the bot to all the channels from which you'd like to sync messages. + */ + public SourceSlack withJoinChannels(Optional joinChannels) { + Utils.checkNotNull(joinChannels, "joinChannels"); + this.joinChannels = joinChannels; + return this; + } + + /** + * How far into the past to look for messages in threads, default is 0 days + */ + public SourceSlack withLookbackWindow(long lookbackWindow) { + Utils.checkNotNull(lookbackWindow, "lookbackWindow"); + this.lookbackWindow = Optional.ofNullable(lookbackWindow); + return this; + } + + /** + * How far into the past to look for messages in threads, default is 0 days + */ + public SourceSlack withLookbackWindow(Optional lookbackWindow) { + Utils.checkNotNull(lookbackWindow, "lookbackWindow"); + this.lookbackWindow = lookbackWindow; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public SourceSlack withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSlack other = (SourceSlack) o; + return + java.util.Objects.deepEquals(this.channelFilter, other.channelFilter) && + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.joinChannels, other.joinChannels) && + java.util.Objects.deepEquals(this.lookbackWindow, other.lookbackWindow) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + channelFilter, + credentials, + joinChannels, + lookbackWindow, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceSlack.class, + "channelFilter", channelFilter, + "credentials", credentials, + "joinChannels", joinChannels, + "lookbackWindow", lookbackWindow, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private Optional> channelFilter = Optional.empty(); + + private Optional credentials = Optional.empty(); + + private Optional joinChannels; + + private Optional lookbackWindow; + + private OffsetDateTime startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * A channel name list (without leading '#' char) which limit the channels from which you'd like to sync. Empty list means no filter. + */ + public Builder channelFilter(java.util.List channelFilter) { + Utils.checkNotNull(channelFilter, "channelFilter"); + this.channelFilter = Optional.ofNullable(channelFilter); + return this; + } + + /** + * A channel name list (without leading '#' char) which limit the channels from which you'd like to sync. Empty list means no filter. + */ + public Builder channelFilter(Optional> channelFilter) { + Utils.checkNotNull(channelFilter, "channelFilter"); + this.channelFilter = channelFilter; + return this; + } + + /** + * Choose how to authenticate into Slack + */ + public Builder credentials(SourceSlackAuthenticationMechanism credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Choose how to authenticate into Slack + */ + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Whether to join all channels or to sync data only from channels the bot is already in. If false, you'll need to manually add the bot to all the channels from which you'd like to sync messages. + */ + public Builder joinChannels(boolean joinChannels) { + Utils.checkNotNull(joinChannels, "joinChannels"); + this.joinChannels = Optional.ofNullable(joinChannels); + return this; + } + + /** + * Whether to join all channels or to sync data only from channels the bot is already in. If false, you'll need to manually add the bot to all the channels from which you'd like to sync messages. + */ + public Builder joinChannels(Optional joinChannels) { + Utils.checkNotNull(joinChannels, "joinChannels"); + this.joinChannels = joinChannels; + return this; + } + + /** + * How far into the past to look for messages in threads, default is 0 days + */ + public Builder lookbackWindow(long lookbackWindow) { + Utils.checkNotNull(lookbackWindow, "lookbackWindow"); + this.lookbackWindow = Optional.ofNullable(lookbackWindow); + return this; + } + + /** + * How far into the past to look for messages in threads, default is 0 days + */ + public Builder lookbackWindow(Optional lookbackWindow) { + Utils.checkNotNull(lookbackWindow, "lookbackWindow"); + this.lookbackWindow = lookbackWindow; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceSlack build() { + if (joinChannels == null) { + joinChannels = _SINGLETON_VALUE_JoinChannels.value(); + } + if (lookbackWindow == null) { + lookbackWindow = _SINGLETON_VALUE_LookbackWindow.value(); + } + return new SourceSlack( + channelFilter, + credentials, + joinChannels, + lookbackWindow, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_JoinChannels = + new LazySingletonValue<>( + "join_channels", + "true", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_LookbackWindow = + new LazySingletonValue<>( + "lookback_window", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"slack\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSlackAPIToken.java b/src/main/java/com/airbyte/api/models/shared/SourceSlackAPIToken.java new file mode 100644 index 000000000..50dd4a6a7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSlackAPIToken.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceSlackAPIToken { + + /** + * A Slack bot token. See the <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> for instructions on how to generate it. + */ + @JsonProperty("api_token") + private String apiToken; + + @JsonProperty("option_title") + private SourceSlackSchemasOptionTitle optionTitle; + + public SourceSlackAPIToken( + @JsonProperty("api_token") String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + this.optionTitle = Builder._SINGLETON_VALUE_OptionTitle.value(); + } + + /** + * A Slack bot token. See the <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> for instructions on how to generate it. + */ + public String apiToken() { + return apiToken; + } + + public SourceSlackSchemasOptionTitle optionTitle() { + return optionTitle; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * A Slack bot token. See the <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> for instructions on how to generate it. + */ + public SourceSlackAPIToken withApiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSlackAPIToken other = (SourceSlackAPIToken) o; + return + java.util.Objects.deepEquals(this.apiToken, other.apiToken) && + java.util.Objects.deepEquals(this.optionTitle, other.optionTitle); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiToken, + optionTitle); + } + + @Override + public String toString() { + return Utils.toString(SourceSlackAPIToken.class, + "apiToken", apiToken, + "optionTitle", optionTitle); + } + + public final static class Builder { + + private String apiToken; + + private Builder() { + // force use of static builder() method + } + + /** + * A Slack bot token. See the <a href="https://docs.airbyte.com/integrations/sources/slack">docs</a> for instructions on how to generate it. + */ + public Builder apiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + public SourceSlackAPIToken build() { + return new SourceSlackAPIToken( + apiToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_OptionTitle = + new LazySingletonValue<>( + "option_title", + "\"API Token Credentials\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSlackAuthenticationMechanism.java b/src/main/java/com/airbyte/api/models/shared/SourceSlackAuthenticationMechanism.java new file mode 100644 index 000000000..6c9f0508a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSlackAuthenticationMechanism.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceSlackAuthenticationMechanism - Choose how to authenticate into Slack + */ + +@JsonDeserialize(using = SourceSlackAuthenticationMechanism._Deserializer.class) +public class SourceSlackAuthenticationMechanism { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceSlackAuthenticationMechanism(TypedObject value) { + this.value = value; + } + + public static SourceSlackAuthenticationMechanism of(SignInViaSlackOAuth value) { + Utils.checkNotNull(value, "value"); + return new SourceSlackAuthenticationMechanism(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceSlackAuthenticationMechanism of(SourceSlackAPIToken value) { + Utils.checkNotNull(value, "value"); + return new SourceSlackAuthenticationMechanism(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SignInViaSlackOAuth}
    • + *
    • {@code SourceSlackAPIToken}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSlackAuthenticationMechanism other = (SourceSlackAuthenticationMechanism) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceSlackAuthenticationMechanism.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceSlackAuthenticationMechanism.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSlackOptionTitle.java b/src/main/java/com/airbyte/api/models/shared/SourceSlackOptionTitle.java new file mode 100644 index 000000000..b373950c5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSlackOptionTitle.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSlackOptionTitle { + DEFAULT_O_AUTH20_AUTHORIZATION("Default OAuth2.0 authorization"); + + @JsonValue + private final String value; + + private SourceSlackOptionTitle(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSlackSchemasOptionTitle.java b/src/main/java/com/airbyte/api/models/shared/SourceSlackSchemasOptionTitle.java new file mode 100644 index 000000000..20a5a3f9d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSlackSchemasOptionTitle.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSlackSchemasOptionTitle { + API_TOKEN_CREDENTIALS("API Token Credentials"); + + @JsonValue + private final String value; + + private SourceSlackSchemasOptionTitle(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSlackSlack.java b/src/main/java/com/airbyte/api/models/shared/SourceSlackSlack.java new file mode 100644 index 000000000..ed3a1b898 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSlackSlack.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSlackSlack { + SLACK("slack"); + + @JsonValue + private final String value; + + private SourceSlackSlack(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSmaily.java b/src/main/java/com/airbyte/api/models/shared/SourceSmaily.java new file mode 100644 index 000000000..7cdf9aa6d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSmaily.java @@ -0,0 +1,197 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceSmaily { + + /** + * API user password. See https://smaily.com/help/api/general/create-api-user/ + */ + @JsonProperty("api_password") + private String apiPassword; + + /** + * API Subdomain. See https://smaily.com/help/api/general/create-api-user/ + */ + @JsonProperty("api_subdomain") + private String apiSubdomain; + + /** + * API user username. See https://smaily.com/help/api/general/create-api-user/ + */ + @JsonProperty("api_username") + private String apiUsername; + + @JsonProperty("sourceType") + private Smaily sourceType; + + public SourceSmaily( + @JsonProperty("api_password") String apiPassword, + @JsonProperty("api_subdomain") String apiSubdomain, + @JsonProperty("api_username") String apiUsername) { + Utils.checkNotNull(apiPassword, "apiPassword"); + Utils.checkNotNull(apiSubdomain, "apiSubdomain"); + Utils.checkNotNull(apiUsername, "apiUsername"); + this.apiPassword = apiPassword; + this.apiSubdomain = apiSubdomain; + this.apiUsername = apiUsername; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * API user password. See https://smaily.com/help/api/general/create-api-user/ + */ + public String apiPassword() { + return apiPassword; + } + + /** + * API Subdomain. See https://smaily.com/help/api/general/create-api-user/ + */ + public String apiSubdomain() { + return apiSubdomain; + } + + /** + * API user username. See https://smaily.com/help/api/general/create-api-user/ + */ + public String apiUsername() { + return apiUsername; + } + + public Smaily sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API user password. See https://smaily.com/help/api/general/create-api-user/ + */ + public SourceSmaily withApiPassword(String apiPassword) { + Utils.checkNotNull(apiPassword, "apiPassword"); + this.apiPassword = apiPassword; + return this; + } + + /** + * API Subdomain. See https://smaily.com/help/api/general/create-api-user/ + */ + public SourceSmaily withApiSubdomain(String apiSubdomain) { + Utils.checkNotNull(apiSubdomain, "apiSubdomain"); + this.apiSubdomain = apiSubdomain; + return this; + } + + /** + * API user username. See https://smaily.com/help/api/general/create-api-user/ + */ + public SourceSmaily withApiUsername(String apiUsername) { + Utils.checkNotNull(apiUsername, "apiUsername"); + this.apiUsername = apiUsername; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSmaily other = (SourceSmaily) o; + return + java.util.Objects.deepEquals(this.apiPassword, other.apiPassword) && + java.util.Objects.deepEquals(this.apiSubdomain, other.apiSubdomain) && + java.util.Objects.deepEquals(this.apiUsername, other.apiUsername) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiPassword, + apiSubdomain, + apiUsername, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceSmaily.class, + "apiPassword", apiPassword, + "apiSubdomain", apiSubdomain, + "apiUsername", apiUsername, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiPassword; + + private String apiSubdomain; + + private String apiUsername; + + private Builder() { + // force use of static builder() method + } + + /** + * API user password. See https://smaily.com/help/api/general/create-api-user/ + */ + public Builder apiPassword(String apiPassword) { + Utils.checkNotNull(apiPassword, "apiPassword"); + this.apiPassword = apiPassword; + return this; + } + + /** + * API Subdomain. See https://smaily.com/help/api/general/create-api-user/ + */ + public Builder apiSubdomain(String apiSubdomain) { + Utils.checkNotNull(apiSubdomain, "apiSubdomain"); + this.apiSubdomain = apiSubdomain; + return this; + } + + /** + * API user username. See https://smaily.com/help/api/general/create-api-user/ + */ + public Builder apiUsername(String apiUsername) { + Utils.checkNotNull(apiUsername, "apiUsername"); + this.apiUsername = apiUsername; + return this; + } + + public SourceSmaily build() { + return new SourceSmaily( + apiPassword, + apiSubdomain, + apiUsername); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"smaily\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSmartengage.java b/src/main/java/com/airbyte/api/models/shared/SourceSmartengage.java new file mode 100644 index 000000000..5fd4d428e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSmartengage.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceSmartengage { + + /** + * API Key + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("sourceType") + private Smartengage sourceType; + + public SourceSmartengage( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * API Key + */ + public String apiKey() { + return apiKey; + } + + public Smartengage sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Key + */ + public SourceSmartengage withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSmartengage other = (SourceSmartengage) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceSmartengage.class, + "apiKey", apiKey, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * API Key + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public SourceSmartengage build() { + return new SourceSmartengage( + apiKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"smartengage\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSmartsheets.java b/src/main/java/com/airbyte/api/models/shared/SourceSmartsheets.java new file mode 100644 index 000000000..49da46d30 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSmartsheets.java @@ -0,0 +1,278 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceSmartsheets { + + @JsonProperty("credentials") + private SourceSmartsheetsAuthorizationMethod credentials; + + /** + * A List of available columns which metadata can be pulled from. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("metadata_fields") + private Optional> metadataFields; + + @JsonProperty("sourceType") + private SourceSmartsheetsSmartsheets sourceType; + + /** + * The spreadsheet ID. Find it by opening the spreadsheet then navigating to File > Properties + */ + @JsonProperty("spreadsheet_id") + private String spreadsheetId; + + /** + * Only rows modified after this date/time will be replicated. This should be an ISO 8601 string, for instance: `2000-01-01T13:00:00` + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_datetime") + private Optional startDatetime; + + public SourceSmartsheets( + @JsonProperty("credentials") SourceSmartsheetsAuthorizationMethod credentials, + @JsonProperty("metadata_fields") Optional> metadataFields, + @JsonProperty("spreadsheet_id") String spreadsheetId, + @JsonProperty("start_datetime") Optional startDatetime) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(metadataFields, "metadataFields"); + Utils.checkNotNull(spreadsheetId, "spreadsheetId"); + Utils.checkNotNull(startDatetime, "startDatetime"); + this.credentials = credentials; + this.metadataFields = metadataFields; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.spreadsheetId = spreadsheetId; + this.startDatetime = startDatetime; + } + + public SourceSmartsheetsAuthorizationMethod credentials() { + return credentials; + } + + /** + * A List of available columns which metadata can be pulled from. + */ + public Optional> metadataFields() { + return metadataFields; + } + + public SourceSmartsheetsSmartsheets sourceType() { + return sourceType; + } + + /** + * The spreadsheet ID. Find it by opening the spreadsheet then navigating to File > Properties + */ + public String spreadsheetId() { + return spreadsheetId; + } + + /** + * Only rows modified after this date/time will be replicated. This should be an ISO 8601 string, for instance: `2000-01-01T13:00:00` + */ + public Optional startDatetime() { + return startDatetime; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceSmartsheets withCredentials(SourceSmartsheetsAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * A List of available columns which metadata can be pulled from. + */ + public SourceSmartsheets withMetadataFields(java.util.List metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = Optional.ofNullable(metadataFields); + return this; + } + + /** + * A List of available columns which metadata can be pulled from. + */ + public SourceSmartsheets withMetadataFields(Optional> metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = metadataFields; + return this; + } + + /** + * The spreadsheet ID. Find it by opening the spreadsheet then navigating to File > Properties + */ + public SourceSmartsheets withSpreadsheetId(String spreadsheetId) { + Utils.checkNotNull(spreadsheetId, "spreadsheetId"); + this.spreadsheetId = spreadsheetId; + return this; + } + + /** + * Only rows modified after this date/time will be replicated. This should be an ISO 8601 string, for instance: `2000-01-01T13:00:00` + */ + public SourceSmartsheets withStartDatetime(OffsetDateTime startDatetime) { + Utils.checkNotNull(startDatetime, "startDatetime"); + this.startDatetime = Optional.ofNullable(startDatetime); + return this; + } + + /** + * Only rows modified after this date/time will be replicated. This should be an ISO 8601 string, for instance: `2000-01-01T13:00:00` + */ + public SourceSmartsheets withStartDatetime(Optional startDatetime) { + Utils.checkNotNull(startDatetime, "startDatetime"); + this.startDatetime = startDatetime; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSmartsheets other = (SourceSmartsheets) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.metadataFields, other.metadataFields) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.spreadsheetId, other.spreadsheetId) && + java.util.Objects.deepEquals(this.startDatetime, other.startDatetime); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + metadataFields, + sourceType, + spreadsheetId, + startDatetime); + } + + @Override + public String toString() { + return Utils.toString(SourceSmartsheets.class, + "credentials", credentials, + "metadataFields", metadataFields, + "sourceType", sourceType, + "spreadsheetId", spreadsheetId, + "startDatetime", startDatetime); + } + + public final static class Builder { + + private SourceSmartsheetsAuthorizationMethod credentials; + + private Optional> metadataFields = Optional.empty(); + + private String spreadsheetId; + + private Optional startDatetime; + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(SourceSmartsheetsAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * A List of available columns which metadata can be pulled from. + */ + public Builder metadataFields(java.util.List metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = Optional.ofNullable(metadataFields); + return this; + } + + /** + * A List of available columns which metadata can be pulled from. + */ + public Builder metadataFields(Optional> metadataFields) { + Utils.checkNotNull(metadataFields, "metadataFields"); + this.metadataFields = metadataFields; + return this; + } + + /** + * The spreadsheet ID. Find it by opening the spreadsheet then navigating to File > Properties + */ + public Builder spreadsheetId(String spreadsheetId) { + Utils.checkNotNull(spreadsheetId, "spreadsheetId"); + this.spreadsheetId = spreadsheetId; + return this; + } + + /** + * Only rows modified after this date/time will be replicated. This should be an ISO 8601 string, for instance: `2000-01-01T13:00:00` + */ + public Builder startDatetime(OffsetDateTime startDatetime) { + Utils.checkNotNull(startDatetime, "startDatetime"); + this.startDatetime = Optional.ofNullable(startDatetime); + return this; + } + + /** + * Only rows modified after this date/time will be replicated. This should be an ISO 8601 string, for instance: `2000-01-01T13:00:00` + */ + public Builder startDatetime(Optional startDatetime) { + Utils.checkNotNull(startDatetime, "startDatetime"); + this.startDatetime = startDatetime; + return this; + } + + public SourceSmartsheets build() { + if (startDatetime == null) { + startDatetime = _SINGLETON_VALUE_StartDatetime.value(); + } + return new SourceSmartsheets( + credentials, + metadataFields, + spreadsheetId, + startDatetime); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"smartsheets\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_StartDatetime = + new LazySingletonValue<>( + "start_datetime", + "\"2020-01-01T00:00:00+00:00\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsAuthType.java new file mode 100644 index 000000000..b3ec44cc1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSmartsheetsAuthType { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private SourceSmartsheetsAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsAuthorizationMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsAuthorizationMethod.java new file mode 100644 index 000000000..e90949372 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsAuthorizationMethod.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceSmartsheetsAuthorizationMethod._Deserializer.class) +public class SourceSmartsheetsAuthorizationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceSmartsheetsAuthorizationMethod(TypedObject value) { + this.value = value; + } + + public static SourceSmartsheetsAuthorizationMethod of(SourceSmartsheetsOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new SourceSmartsheetsAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceSmartsheetsAuthorizationMethod of(APIAccessToken value) { + Utils.checkNotNull(value, "value"); + return new SourceSmartsheetsAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceSmartsheetsOAuth20}
    • + *
    • {@code APIAccessToken}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSmartsheetsAuthorizationMethod other = (SourceSmartsheetsAuthorizationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceSmartsheetsAuthorizationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceSmartsheetsAuthorizationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsOAuth20.java b/src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsOAuth20.java new file mode 100644 index 000000000..a05d43a00 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsOAuth20.java @@ -0,0 +1,284 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceSmartsheetsOAuth20 { + + /** + * Access Token for making authenticated requests. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * The API ID of the SmartSheets developer application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The API Secret the SmartSheets developer application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * The key to refresh the expired access_token. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + /** + * The date-time when the access token should be refreshed. + */ + @JsonProperty("token_expiry_date") + private OffsetDateTime tokenExpiryDate; + + public SourceSmartsheetsOAuth20( + @JsonProperty("access_token") String accessToken, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("token_expiry_date") OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.accessToken = accessToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + this.tokenExpiryDate = tokenExpiryDate; + } + + /** + * Access Token for making authenticated requests. + */ + public String accessToken() { + return accessToken; + } + + public Optional authType() { + return authType; + } + + /** + * The API ID of the SmartSheets developer application. + */ + public String clientId() { + return clientId; + } + + /** + * The API Secret the SmartSheets developer application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * The key to refresh the expired access_token. + */ + public String refreshToken() { + return refreshToken; + } + + /** + * The date-time when the access token should be refreshed. + */ + public OffsetDateTime tokenExpiryDate() { + return tokenExpiryDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Access Token for making authenticated requests. + */ + public SourceSmartsheetsOAuth20 withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The API ID of the SmartSheets developer application. + */ + public SourceSmartsheetsOAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The API Secret the SmartSheets developer application. + */ + public SourceSmartsheetsOAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The key to refresh the expired access_token. + */ + public SourceSmartsheetsOAuth20 withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * The date-time when the access token should be refreshed. + */ + public SourceSmartsheetsOAuth20 withTokenExpiryDate(OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.tokenExpiryDate = tokenExpiryDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSmartsheetsOAuth20 other = (SourceSmartsheetsOAuth20) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.tokenExpiryDate, other.tokenExpiryDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authType, + clientId, + clientSecret, + refreshToken, + tokenExpiryDate); + } + + @Override + public String toString() { + return Utils.toString(SourceSmartsheetsOAuth20.class, + "accessToken", accessToken, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken, + "tokenExpiryDate", tokenExpiryDate); + } + + public final static class Builder { + + private String accessToken; + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private OffsetDateTime tokenExpiryDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Access Token for making authenticated requests. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The API ID of the SmartSheets developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The API Secret the SmartSheets developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The key to refresh the expired access_token. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * The date-time when the access token should be refreshed. + */ + public Builder tokenExpiryDate(OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.tokenExpiryDate = tokenExpiryDate; + return this; + } + + public SourceSmartsheetsOAuth20 build() { + return new SourceSmartsheetsOAuth20( + accessToken, + clientId, + clientSecret, + refreshToken, + tokenExpiryDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"oauth2.0\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsSchemasAuthType.java new file mode 100644 index 000000000..98f4042a4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSmartsheetsSchemasAuthType { + ACCESS_TOKEN("access_token"); + + @JsonValue + private final String value; + + private SourceSmartsheetsSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsSmartsheets.java b/src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsSmartsheets.java new file mode 100644 index 000000000..4fc46add9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSmartsheetsSmartsheets.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSmartsheetsSmartsheets { + SMARTSHEETS("smartsheets"); + + @JsonValue + private final String value; + + private SourceSmartsheetsSmartsheets(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSnapchatMarketing.java b/src/main/java/com/airbyte/api/models/shared/SourceSnapchatMarketing.java new file mode 100644 index 000000000..133cc13f5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSnapchatMarketing.java @@ -0,0 +1,532 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceSnapchatMarketing { + + /** + * Specifies the principle for conversion reporting. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("action_report_time") + private Optional actionReportTime; + + /** + * The Client ID of your Snapchat developer application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of your Snapchat developer application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * Date in the format 2017-01-25. Any data after this date will not be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + /** + * Refresh Token to renew the expired Access Token. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + @JsonProperty("sourceType") + private SourceSnapchatMarketingSnapchatMarketing sourceType; + + /** + * Date in the format 2022-01-01. Any data before this date will not be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + /** + * Attribution window for swipe ups. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("swipe_up_attribution_window") + private Optional swipeUpAttributionWindow; + + /** + * Attribution window for views. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("view_attribution_window") + private Optional viewAttributionWindow; + + public SourceSnapchatMarketing( + @JsonProperty("action_report_time") Optional actionReportTime, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("start_date") Optional startDate, + @JsonProperty("swipe_up_attribution_window") Optional swipeUpAttributionWindow, + @JsonProperty("view_attribution_window") Optional viewAttributionWindow) { + Utils.checkNotNull(actionReportTime, "actionReportTime"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(swipeUpAttributionWindow, "swipeUpAttributionWindow"); + Utils.checkNotNull(viewAttributionWindow, "viewAttributionWindow"); + this.actionReportTime = actionReportTime; + this.clientId = clientId; + this.clientSecret = clientSecret; + this.endDate = endDate; + this.refreshToken = refreshToken; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.swipeUpAttributionWindow = swipeUpAttributionWindow; + this.viewAttributionWindow = viewAttributionWindow; + } + + /** + * Specifies the principle for conversion reporting. + */ + public Optional actionReportTime() { + return actionReportTime; + } + + /** + * The Client ID of your Snapchat developer application. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of your Snapchat developer application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * Date in the format 2017-01-25. Any data after this date will not be replicated. + */ + public Optional endDate() { + return endDate; + } + + /** + * Refresh Token to renew the expired Access Token. + */ + public String refreshToken() { + return refreshToken; + } + + public SourceSnapchatMarketingSnapchatMarketing sourceType() { + return sourceType; + } + + /** + * Date in the format 2022-01-01. Any data before this date will not be replicated. + */ + public Optional startDate() { + return startDate; + } + + /** + * Attribution window for swipe ups. + */ + public Optional swipeUpAttributionWindow() { + return swipeUpAttributionWindow; + } + + /** + * Attribution window for views. + */ + public Optional viewAttributionWindow() { + return viewAttributionWindow; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Specifies the principle for conversion reporting. + */ + public SourceSnapchatMarketing withActionReportTime(ActionReportTime actionReportTime) { + Utils.checkNotNull(actionReportTime, "actionReportTime"); + this.actionReportTime = Optional.ofNullable(actionReportTime); + return this; + } + + /** + * Specifies the principle for conversion reporting. + */ + public SourceSnapchatMarketing withActionReportTime(Optional actionReportTime) { + Utils.checkNotNull(actionReportTime, "actionReportTime"); + this.actionReportTime = actionReportTime; + return this; + } + + /** + * The Client ID of your Snapchat developer application. + */ + public SourceSnapchatMarketing withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Snapchat developer application. + */ + public SourceSnapchatMarketing withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Date in the format 2017-01-25. Any data after this date will not be replicated. + */ + public SourceSnapchatMarketing withEndDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * Date in the format 2017-01-25. Any data after this date will not be replicated. + */ + public SourceSnapchatMarketing withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Refresh Token to renew the expired Access Token. + */ + public SourceSnapchatMarketing withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * Date in the format 2022-01-01. Any data before this date will not be replicated. + */ + public SourceSnapchatMarketing withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * Date in the format 2022-01-01. Any data before this date will not be replicated. + */ + public SourceSnapchatMarketing withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Attribution window for swipe ups. + */ + public SourceSnapchatMarketing withSwipeUpAttributionWindow(SwipeUpAttributionWindow swipeUpAttributionWindow) { + Utils.checkNotNull(swipeUpAttributionWindow, "swipeUpAttributionWindow"); + this.swipeUpAttributionWindow = Optional.ofNullable(swipeUpAttributionWindow); + return this; + } + + /** + * Attribution window for swipe ups. + */ + public SourceSnapchatMarketing withSwipeUpAttributionWindow(Optional swipeUpAttributionWindow) { + Utils.checkNotNull(swipeUpAttributionWindow, "swipeUpAttributionWindow"); + this.swipeUpAttributionWindow = swipeUpAttributionWindow; + return this; + } + + /** + * Attribution window for views. + */ + public SourceSnapchatMarketing withViewAttributionWindow(ViewAttributionWindow viewAttributionWindow) { + Utils.checkNotNull(viewAttributionWindow, "viewAttributionWindow"); + this.viewAttributionWindow = Optional.ofNullable(viewAttributionWindow); + return this; + } + + /** + * Attribution window for views. + */ + public SourceSnapchatMarketing withViewAttributionWindow(Optional viewAttributionWindow) { + Utils.checkNotNull(viewAttributionWindow, "viewAttributionWindow"); + this.viewAttributionWindow = viewAttributionWindow; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSnapchatMarketing other = (SourceSnapchatMarketing) o; + return + java.util.Objects.deepEquals(this.actionReportTime, other.actionReportTime) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.swipeUpAttributionWindow, other.swipeUpAttributionWindow) && + java.util.Objects.deepEquals(this.viewAttributionWindow, other.viewAttributionWindow); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + actionReportTime, + clientId, + clientSecret, + endDate, + refreshToken, + sourceType, + startDate, + swipeUpAttributionWindow, + viewAttributionWindow); + } + + @Override + public String toString() { + return Utils.toString(SourceSnapchatMarketing.class, + "actionReportTime", actionReportTime, + "clientId", clientId, + "clientSecret", clientSecret, + "endDate", endDate, + "refreshToken", refreshToken, + "sourceType", sourceType, + "startDate", startDate, + "swipeUpAttributionWindow", swipeUpAttributionWindow, + "viewAttributionWindow", viewAttributionWindow); + } + + public final static class Builder { + + private Optional actionReportTime; + + private String clientId; + + private String clientSecret; + + private Optional endDate = Optional.empty(); + + private String refreshToken; + + private Optional startDate; + + private Optional swipeUpAttributionWindow; + + private Optional viewAttributionWindow; + + private Builder() { + // force use of static builder() method + } + + /** + * Specifies the principle for conversion reporting. + */ + public Builder actionReportTime(ActionReportTime actionReportTime) { + Utils.checkNotNull(actionReportTime, "actionReportTime"); + this.actionReportTime = Optional.ofNullable(actionReportTime); + return this; + } + + /** + * Specifies the principle for conversion reporting. + */ + public Builder actionReportTime(Optional actionReportTime) { + Utils.checkNotNull(actionReportTime, "actionReportTime"); + this.actionReportTime = actionReportTime; + return this; + } + + /** + * The Client ID of your Snapchat developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Snapchat developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Date in the format 2017-01-25. Any data after this date will not be replicated. + */ + public Builder endDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * Date in the format 2017-01-25. Any data after this date will not be replicated. + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Refresh Token to renew the expired Access Token. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * Date in the format 2022-01-01. Any data before this date will not be replicated. + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * Date in the format 2022-01-01. Any data before this date will not be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Attribution window for swipe ups. + */ + public Builder swipeUpAttributionWindow(SwipeUpAttributionWindow swipeUpAttributionWindow) { + Utils.checkNotNull(swipeUpAttributionWindow, "swipeUpAttributionWindow"); + this.swipeUpAttributionWindow = Optional.ofNullable(swipeUpAttributionWindow); + return this; + } + + /** + * Attribution window for swipe ups. + */ + public Builder swipeUpAttributionWindow(Optional swipeUpAttributionWindow) { + Utils.checkNotNull(swipeUpAttributionWindow, "swipeUpAttributionWindow"); + this.swipeUpAttributionWindow = swipeUpAttributionWindow; + return this; + } + + /** + * Attribution window for views. + */ + public Builder viewAttributionWindow(ViewAttributionWindow viewAttributionWindow) { + Utils.checkNotNull(viewAttributionWindow, "viewAttributionWindow"); + this.viewAttributionWindow = Optional.ofNullable(viewAttributionWindow); + return this; + } + + /** + * Attribution window for views. + */ + public Builder viewAttributionWindow(Optional viewAttributionWindow) { + Utils.checkNotNull(viewAttributionWindow, "viewAttributionWindow"); + this.viewAttributionWindow = viewAttributionWindow; + return this; + } + + public SourceSnapchatMarketing build() { + if (actionReportTime == null) { + actionReportTime = _SINGLETON_VALUE_ActionReportTime.value(); + } + if (startDate == null) { + startDate = _SINGLETON_VALUE_StartDate.value(); + } + if (swipeUpAttributionWindow == null) { + swipeUpAttributionWindow = _SINGLETON_VALUE_SwipeUpAttributionWindow.value(); + } + if (viewAttributionWindow == null) { + viewAttributionWindow = _SINGLETON_VALUE_ViewAttributionWindow.value(); + } + return new SourceSnapchatMarketing( + actionReportTime, + clientId, + clientSecret, + endDate, + refreshToken, + startDate, + swipeUpAttributionWindow, + viewAttributionWindow); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ActionReportTime = + new LazySingletonValue<>( + "action_report_time", + "\"conversion\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"snapchat-marketing\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_StartDate = + new LazySingletonValue<>( + "start_date", + "\"2022-01-01\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SwipeUpAttributionWindow = + new LazySingletonValue<>( + "swipe_up_attribution_window", + "\"28_DAY\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_ViewAttributionWindow = + new LazySingletonValue<>( + "view_attribution_window", + "\"1_DAY\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSnapchatMarketingSnapchatMarketing.java b/src/main/java/com/airbyte/api/models/shared/SourceSnapchatMarketingSnapchatMarketing.java new file mode 100644 index 000000000..b24116ac4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSnapchatMarketingSnapchatMarketing.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSnapchatMarketingSnapchatMarketing { + SNAPCHAT_MARKETING("snapchat-marketing"); + + @JsonValue + private final String value; + + private SourceSnapchatMarketingSnapchatMarketing(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSnowflake.java b/src/main/java/com/airbyte/api/models/shared/SourceSnowflake.java new file mode 100644 index 000000000..4dd67668b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSnowflake.java @@ -0,0 +1,399 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceSnowflake { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + /** + * The database you created for Airbyte to access data. + */ + @JsonProperty("database") + private String database; + + /** + * The host domain of the snowflake instance (must include the account, region, cloud environment, and end with snowflakecomputing.com). + */ + @JsonProperty("host") + private String host; + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("jdbc_url_params") + private Optional jdbcUrlParams; + + /** + * The role you created for Airbyte to access Snowflake. + */ + @JsonProperty("role") + private String role; + + /** + * The source Snowflake schema tables. Leave empty to access tables from multiple schemas. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("schema") + private Optional schema; + + @JsonProperty("sourceType") + private SourceSnowflakeSnowflake sourceType; + + /** + * The warehouse you created for Airbyte to access data. + */ + @JsonProperty("warehouse") + private String warehouse; + + public SourceSnowflake( + @JsonProperty("credentials") Optional credentials, + @JsonProperty("database") String database, + @JsonProperty("host") String host, + @JsonProperty("jdbc_url_params") Optional jdbcUrlParams, + @JsonProperty("role") String role, + @JsonProperty("schema") Optional schema, + @JsonProperty("warehouse") String warehouse) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(database, "database"); + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + Utils.checkNotNull(role, "role"); + Utils.checkNotNull(schema, "schema"); + Utils.checkNotNull(warehouse, "warehouse"); + this.credentials = credentials; + this.database = database; + this.host = host; + this.jdbcUrlParams = jdbcUrlParams; + this.role = role; + this.schema = schema; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.warehouse = warehouse; + } + + public Optional credentials() { + return credentials; + } + + /** + * The database you created for Airbyte to access data. + */ + public String database() { + return database; + } + + /** + * The host domain of the snowflake instance (must include the account, region, cloud environment, and end with snowflakecomputing.com). + */ + public String host() { + return host; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Optional jdbcUrlParams() { + return jdbcUrlParams; + } + + /** + * The role you created for Airbyte to access Snowflake. + */ + public String role() { + return role; + } + + /** + * The source Snowflake schema tables. Leave empty to access tables from multiple schemas. + */ + public Optional schema() { + return schema; + } + + public SourceSnowflakeSnowflake sourceType() { + return sourceType; + } + + /** + * The warehouse you created for Airbyte to access data. + */ + public String warehouse() { + return warehouse; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceSnowflake withCredentials(SourceSnowflakeAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public SourceSnowflake withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The database you created for Airbyte to access data. + */ + public SourceSnowflake withDatabase(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * The host domain of the snowflake instance (must include the account, region, cloud environment, and end with snowflakecomputing.com). + */ + public SourceSnowflake withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public SourceSnowflake withJdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public SourceSnowflake withJdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * The role you created for Airbyte to access Snowflake. + */ + public SourceSnowflake withRole(String role) { + Utils.checkNotNull(role, "role"); + this.role = role; + return this; + } + + /** + * The source Snowflake schema tables. Leave empty to access tables from multiple schemas. + */ + public SourceSnowflake withSchema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = Optional.ofNullable(schema); + return this; + } + + /** + * The source Snowflake schema tables. Leave empty to access tables from multiple schemas. + */ + public SourceSnowflake withSchema(Optional schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + /** + * The warehouse you created for Airbyte to access data. + */ + public SourceSnowflake withWarehouse(String warehouse) { + Utils.checkNotNull(warehouse, "warehouse"); + this.warehouse = warehouse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSnowflake other = (SourceSnowflake) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.database, other.database) && + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.jdbcUrlParams, other.jdbcUrlParams) && + java.util.Objects.deepEquals(this.role, other.role) && + java.util.Objects.deepEquals(this.schema, other.schema) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.warehouse, other.warehouse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + database, + host, + jdbcUrlParams, + role, + schema, + sourceType, + warehouse); + } + + @Override + public String toString() { + return Utils.toString(SourceSnowflake.class, + "credentials", credentials, + "database", database, + "host", host, + "jdbcUrlParams", jdbcUrlParams, + "role", role, + "schema", schema, + "sourceType", sourceType, + "warehouse", warehouse); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private String database; + + private String host; + + private Optional jdbcUrlParams = Optional.empty(); + + private String role; + + private Optional schema = Optional.empty(); + + private String warehouse; + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(SourceSnowflakeAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The database you created for Airbyte to access data. + */ + public Builder database(String database) { + Utils.checkNotNull(database, "database"); + this.database = database; + return this; + } + + /** + * The host domain of the snowflake instance (must include the account, region, cloud environment, and end with snowflakecomputing.com). + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(String jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = Optional.ofNullable(jdbcUrlParams); + return this; + } + + /** + * Additional properties to pass to the JDBC URL string when connecting to the database formatted as 'key=value' pairs separated by the symbol '&'. (example: key1=value1&key2=value2&key3=value3). + */ + public Builder jdbcUrlParams(Optional jdbcUrlParams) { + Utils.checkNotNull(jdbcUrlParams, "jdbcUrlParams"); + this.jdbcUrlParams = jdbcUrlParams; + return this; + } + + /** + * The role you created for Airbyte to access Snowflake. + */ + public Builder role(String role) { + Utils.checkNotNull(role, "role"); + this.role = role; + return this; + } + + /** + * The source Snowflake schema tables. Leave empty to access tables from multiple schemas. + */ + public Builder schema(String schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = Optional.ofNullable(schema); + return this; + } + + /** + * The source Snowflake schema tables. Leave empty to access tables from multiple schemas. + */ + public Builder schema(Optional schema) { + Utils.checkNotNull(schema, "schema"); + this.schema = schema; + return this; + } + + /** + * The warehouse you created for Airbyte to access data. + */ + public Builder warehouse(String warehouse) { + Utils.checkNotNull(warehouse, "warehouse"); + this.warehouse = warehouse; + return this; + } + + public SourceSnowflake build() { + return new SourceSnowflake( + credentials, + database, + host, + jdbcUrlParams, + role, + schema, + warehouse); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"snowflake\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSnowflakeAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceSnowflakeAuthType.java new file mode 100644 index 000000000..134dec173 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSnowflakeAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSnowflakeAuthType { + O_AUTH("OAuth"); + + @JsonValue + private final String value; + + private SourceSnowflakeAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSnowflakeAuthorizationMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceSnowflakeAuthorizationMethod.java new file mode 100644 index 000000000..e40c1bad3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSnowflakeAuthorizationMethod.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceSnowflakeAuthorizationMethod._Deserializer.class) +public class SourceSnowflakeAuthorizationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceSnowflakeAuthorizationMethod(TypedObject value) { + this.value = value; + } + + public static SourceSnowflakeAuthorizationMethod of(SourceSnowflakeOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new SourceSnowflakeAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceSnowflakeAuthorizationMethod of(SourceSnowflakeUsernameAndPassword value) { + Utils.checkNotNull(value, "value"); + return new SourceSnowflakeAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceSnowflakeOAuth20}
    • + *
    • {@code SourceSnowflakeUsernameAndPassword}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSnowflakeAuthorizationMethod other = (SourceSnowflakeAuthorizationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceSnowflakeAuthorizationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceSnowflakeAuthorizationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSnowflakeOAuth20.java b/src/main/java/com/airbyte/api/models/shared/SourceSnowflakeOAuth20.java new file mode 100644 index 000000000..b0d9fdc03 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSnowflakeOAuth20.java @@ -0,0 +1,278 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceSnowflakeOAuth20 { + + /** + * Access Token for making authenticated requests. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("access_token") + private Optional accessToken; + + @JsonProperty("auth_type") + private SourceSnowflakeAuthType authType; + + /** + * The Client ID of your Snowflake developer application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of your Snowflake developer application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * Refresh Token for making authenticated requests. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("refresh_token") + private Optional refreshToken; + + public SourceSnowflakeOAuth20( + @JsonProperty("access_token") Optional accessToken, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") Optional refreshToken) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + this.accessToken = accessToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + } + + /** + * Access Token for making authenticated requests. + */ + public Optional accessToken() { + return accessToken; + } + + public SourceSnowflakeAuthType authType() { + return authType; + } + + /** + * The Client ID of your Snowflake developer application. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of your Snowflake developer application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * Refresh Token for making authenticated requests. + */ + public Optional refreshToken() { + return refreshToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Access Token for making authenticated requests. + */ + public SourceSnowflakeOAuth20 withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = Optional.ofNullable(accessToken); + return this; + } + + /** + * Access Token for making authenticated requests. + */ + public SourceSnowflakeOAuth20 withAccessToken(Optional accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of your Snowflake developer application. + */ + public SourceSnowflakeOAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Snowflake developer application. + */ + public SourceSnowflakeOAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Refresh Token for making authenticated requests. + */ + public SourceSnowflakeOAuth20 withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = Optional.ofNullable(refreshToken); + return this; + } + + /** + * Refresh Token for making authenticated requests. + */ + public SourceSnowflakeOAuth20 withRefreshToken(Optional refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSnowflakeOAuth20 other = (SourceSnowflakeOAuth20) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authType, + clientId, + clientSecret, + refreshToken); + } + + @Override + public String toString() { + return Utils.toString(SourceSnowflakeOAuth20.class, + "accessToken", accessToken, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken); + } + + public final static class Builder { + + private Optional accessToken = Optional.empty(); + + private String clientId; + + private String clientSecret; + + private Optional refreshToken = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Access Token for making authenticated requests. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = Optional.ofNullable(accessToken); + return this; + } + + /** + * Access Token for making authenticated requests. + */ + public Builder accessToken(Optional accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of your Snowflake developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Snowflake developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Refresh Token for making authenticated requests. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = Optional.ofNullable(refreshToken); + return this; + } + + /** + * Refresh Token for making authenticated requests. + */ + public Builder refreshToken(Optional refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + public SourceSnowflakeOAuth20 build() { + return new SourceSnowflakeOAuth20( + accessToken, + clientId, + clientSecret, + refreshToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"OAuth\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSnowflakeSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceSnowflakeSchemasAuthType.java new file mode 100644 index 000000000..a13de5fbe --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSnowflakeSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSnowflakeSchemasAuthType { + USERNAME_PASSWORD("username/password"); + + @JsonValue + private final String value; + + private SourceSnowflakeSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSnowflakeSnowflake.java b/src/main/java/com/airbyte/api/models/shared/SourceSnowflakeSnowflake.java new file mode 100644 index 000000000..14a3913d6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSnowflakeSnowflake.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSnowflakeSnowflake { + SNOWFLAKE("snowflake"); + + @JsonValue + private final String value; + + private SourceSnowflakeSnowflake(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSnowflakeUsernameAndPassword.java b/src/main/java/com/airbyte/api/models/shared/SourceSnowflakeUsernameAndPassword.java new file mode 100644 index 000000000..f9c851e3f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSnowflakeUsernameAndPassword.java @@ -0,0 +1,157 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceSnowflakeUsernameAndPassword { + + @JsonProperty("auth_type") + private SourceSnowflakeSchemasAuthType authType; + + /** + * The password associated with the username. + */ + @JsonProperty("password") + private String password; + + /** + * The username you created to allow Airbyte to access the database. + */ + @JsonProperty("username") + private String username; + + public SourceSnowflakeUsernameAndPassword( + @JsonProperty("password") String password, + @JsonProperty("username") String username) { + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(username, "username"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.password = password; + this.username = username; + } + + public SourceSnowflakeSchemasAuthType authType() { + return authType; + } + + /** + * The password associated with the username. + */ + public String password() { + return password; + } + + /** + * The username you created to allow Airbyte to access the database. + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The password associated with the username. + */ + public SourceSnowflakeUsernameAndPassword withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * The username you created to allow Airbyte to access the database. + */ + public SourceSnowflakeUsernameAndPassword withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSnowflakeUsernameAndPassword other = (SourceSnowflakeUsernameAndPassword) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + password, + username); + } + + @Override + public String toString() { + return Utils.toString(SourceSnowflakeUsernameAndPassword.class, + "authType", authType, + "password", password, + "username", username); + } + + public final static class Builder { + + private String password; + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * The password associated with the username. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * The username you created to allow Airbyte to access the database. + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public SourceSnowflakeUsernameAndPassword build() { + return new SourceSnowflakeUsernameAndPassword( + password, + username); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"username/password\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSonarCloud.java b/src/main/java/com/airbyte/api/models/shared/SourceSonarCloud.java new file mode 100644 index 000000000..d1768e5db --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSonarCloud.java @@ -0,0 +1,319 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceSonarCloud { + + /** + * Comma-separated list of component keys. + */ + @JsonProperty("component_keys") + private java.util.List componentKeys; + + /** + * To retrieve issues created before the given date (inclusive). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + /** + * Organization key. See <a href="https://docs.sonarcloud.io/appendices/project-information/#project-and-organization-keys">here</a>. + */ + @JsonProperty("organization") + private String organization; + + @JsonProperty("sourceType") + private SonarCloud sourceType; + + /** + * To retrieve issues created after the given date (inclusive). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + /** + * Your User Token. See <a href="https://docs.sonarcloud.io/advanced-setup/user-accounts/">here</a>. The token is case sensitive. + */ + @JsonProperty("user_token") + private String userToken; + + public SourceSonarCloud( + @JsonProperty("component_keys") java.util.List componentKeys, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("organization") String organization, + @JsonProperty("start_date") Optional startDate, + @JsonProperty("user_token") String userToken) { + Utils.checkNotNull(componentKeys, "componentKeys"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(organization, "organization"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(userToken, "userToken"); + this.componentKeys = componentKeys; + this.endDate = endDate; + this.organization = organization; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.userToken = userToken; + } + + /** + * Comma-separated list of component keys. + */ + public java.util.List componentKeys() { + return componentKeys; + } + + /** + * To retrieve issues created before the given date (inclusive). + */ + public Optional endDate() { + return endDate; + } + + /** + * Organization key. See <a href="https://docs.sonarcloud.io/appendices/project-information/#project-and-organization-keys">here</a>. + */ + public String organization() { + return organization; + } + + public SonarCloud sourceType() { + return sourceType; + } + + /** + * To retrieve issues created after the given date (inclusive). + */ + public Optional startDate() { + return startDate; + } + + /** + * Your User Token. See <a href="https://docs.sonarcloud.io/advanced-setup/user-accounts/">here</a>. The token is case sensitive. + */ + public String userToken() { + return userToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Comma-separated list of component keys. + */ + public SourceSonarCloud withComponentKeys(java.util.List componentKeys) { + Utils.checkNotNull(componentKeys, "componentKeys"); + this.componentKeys = componentKeys; + return this; + } + + /** + * To retrieve issues created before the given date (inclusive). + */ + public SourceSonarCloud withEndDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * To retrieve issues created before the given date (inclusive). + */ + public SourceSonarCloud withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Organization key. See <a href="https://docs.sonarcloud.io/appendices/project-information/#project-and-organization-keys">here</a>. + */ + public SourceSonarCloud withOrganization(String organization) { + Utils.checkNotNull(organization, "organization"); + this.organization = organization; + return this; + } + + /** + * To retrieve issues created after the given date (inclusive). + */ + public SourceSonarCloud withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * To retrieve issues created after the given date (inclusive). + */ + public SourceSonarCloud withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Your User Token. See <a href="https://docs.sonarcloud.io/advanced-setup/user-accounts/">here</a>. The token is case sensitive. + */ + public SourceSonarCloud withUserToken(String userToken) { + Utils.checkNotNull(userToken, "userToken"); + this.userToken = userToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSonarCloud other = (SourceSonarCloud) o; + return + java.util.Objects.deepEquals(this.componentKeys, other.componentKeys) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.organization, other.organization) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.userToken, other.userToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + componentKeys, + endDate, + organization, + sourceType, + startDate, + userToken); + } + + @Override + public String toString() { + return Utils.toString(SourceSonarCloud.class, + "componentKeys", componentKeys, + "endDate", endDate, + "organization", organization, + "sourceType", sourceType, + "startDate", startDate, + "userToken", userToken); + } + + public final static class Builder { + + private java.util.List componentKeys; + + private Optional endDate = Optional.empty(); + + private String organization; + + private Optional startDate = Optional.empty(); + + private String userToken; + + private Builder() { + // force use of static builder() method + } + + /** + * Comma-separated list of component keys. + */ + public Builder componentKeys(java.util.List componentKeys) { + Utils.checkNotNull(componentKeys, "componentKeys"); + this.componentKeys = componentKeys; + return this; + } + + /** + * To retrieve issues created before the given date (inclusive). + */ + public Builder endDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * To retrieve issues created before the given date (inclusive). + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Organization key. See <a href="https://docs.sonarcloud.io/appendices/project-information/#project-and-organization-keys">here</a>. + */ + public Builder organization(String organization) { + Utils.checkNotNull(organization, "organization"); + this.organization = organization; + return this; + } + + /** + * To retrieve issues created after the given date (inclusive). + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * To retrieve issues created after the given date (inclusive). + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Your User Token. See <a href="https://docs.sonarcloud.io/advanced-setup/user-accounts/">here</a>. The token is case sensitive. + */ + public Builder userToken(String userToken) { + Utils.checkNotNull(userToken, "userToken"); + this.userToken = userToken; + return this; + } + + public SourceSonarCloud build() { + return new SourceSonarCloud( + componentKeys, + endDate, + organization, + startDate, + userToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"sonar-cloud\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSpacexApi.java b/src/main/java/com/airbyte/api/models/shared/SourceSpacexApi.java new file mode 100644 index 000000000..111c836f6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSpacexApi.java @@ -0,0 +1,162 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceSpacexApi { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("id") + private Optional id; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("options") + private Optional options; + + @JsonProperty("sourceType") + private SpacexApi sourceType; + + public SourceSpacexApi( + @JsonProperty("id") Optional id, + @JsonProperty("options") Optional options) { + Utils.checkNotNull(id, "id"); + Utils.checkNotNull(options, "options"); + this.id = id; + this.options = options; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + public Optional id() { + return id; + } + + public Optional options() { + return options; + } + + public SpacexApi sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceSpacexApi withId(String id) { + Utils.checkNotNull(id, "id"); + this.id = Optional.ofNullable(id); + return this; + } + + public SourceSpacexApi withId(Optional id) { + Utils.checkNotNull(id, "id"); + this.id = id; + return this; + } + + public SourceSpacexApi withOptions(String options) { + Utils.checkNotNull(options, "options"); + this.options = Optional.ofNullable(options); + return this; + } + + public SourceSpacexApi withOptions(Optional options) { + Utils.checkNotNull(options, "options"); + this.options = options; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSpacexApi other = (SourceSpacexApi) o; + return + java.util.Objects.deepEquals(this.id, other.id) && + java.util.Objects.deepEquals(this.options, other.options) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + id, + options, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceSpacexApi.class, + "id", id, + "options", options, + "sourceType", sourceType); + } + + public final static class Builder { + + private Optional id = Optional.empty(); + + private Optional options = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder id(String id) { + Utils.checkNotNull(id, "id"); + this.id = Optional.ofNullable(id); + return this; + } + + public Builder id(Optional id) { + Utils.checkNotNull(id, "id"); + this.id = id; + return this; + } + + public Builder options(String options) { + Utils.checkNotNull(options, "options"); + this.options = Optional.ofNullable(options); + return this; + } + + public Builder options(Optional options) { + Utils.checkNotNull(options, "options"); + this.options = options; + return this; + } + + public SourceSpacexApi build() { + return new SourceSpacexApi( + id, + options); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"spacex-api\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSquare.java b/src/main/java/com/airbyte/api/models/shared/SourceSquare.java new file mode 100644 index 000000000..c1464d52d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSquare.java @@ -0,0 +1,344 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceSquare { + + /** + * Choose how to authenticate to Square. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + /** + * In some streams there is an option to include deleted objects (Items, Categories, Discounts, Taxes) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("include_deleted_objects") + private Optional includeDeletedObjects; + + /** + * Determines whether to use the sandbox or production environment. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("is_sandbox") + private Optional isSandbox; + + @JsonProperty("sourceType") + private SourceSquareSquare sourceType; + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. If not set, all data will be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceSquare( + @JsonProperty("credentials") Optional credentials, + @JsonProperty("include_deleted_objects") Optional includeDeletedObjects, + @JsonProperty("is_sandbox") Optional isSandbox, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(includeDeletedObjects, "includeDeletedObjects"); + Utils.checkNotNull(isSandbox, "isSandbox"); + Utils.checkNotNull(startDate, "startDate"); + this.credentials = credentials; + this.includeDeletedObjects = includeDeletedObjects; + this.isSandbox = isSandbox; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Choose how to authenticate to Square. + */ + public Optional credentials() { + return credentials; + } + + /** + * In some streams there is an option to include deleted objects (Items, Categories, Discounts, Taxes) + */ + public Optional includeDeletedObjects() { + return includeDeletedObjects; + } + + /** + * Determines whether to use the sandbox or production environment. + */ + public Optional isSandbox() { + return isSandbox; + } + + public SourceSquareSquare sourceType() { + return sourceType; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. If not set, all data will be replicated. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Choose how to authenticate to Square. + */ + public SourceSquare withCredentials(SourceSquareAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Choose how to authenticate to Square. + */ + public SourceSquare withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * In some streams there is an option to include deleted objects (Items, Categories, Discounts, Taxes) + */ + public SourceSquare withIncludeDeletedObjects(boolean includeDeletedObjects) { + Utils.checkNotNull(includeDeletedObjects, "includeDeletedObjects"); + this.includeDeletedObjects = Optional.ofNullable(includeDeletedObjects); + return this; + } + + /** + * In some streams there is an option to include deleted objects (Items, Categories, Discounts, Taxes) + */ + public SourceSquare withIncludeDeletedObjects(Optional includeDeletedObjects) { + Utils.checkNotNull(includeDeletedObjects, "includeDeletedObjects"); + this.includeDeletedObjects = includeDeletedObjects; + return this; + } + + /** + * Determines whether to use the sandbox or production environment. + */ + public SourceSquare withIsSandbox(boolean isSandbox) { + Utils.checkNotNull(isSandbox, "isSandbox"); + this.isSandbox = Optional.ofNullable(isSandbox); + return this; + } + + /** + * Determines whether to use the sandbox or production environment. + */ + public SourceSquare withIsSandbox(Optional isSandbox) { + Utils.checkNotNull(isSandbox, "isSandbox"); + this.isSandbox = isSandbox; + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. If not set, all data will be replicated. + */ + public SourceSquare withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. If not set, all data will be replicated. + */ + public SourceSquare withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSquare other = (SourceSquare) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.includeDeletedObjects, other.includeDeletedObjects) && + java.util.Objects.deepEquals(this.isSandbox, other.isSandbox) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + includeDeletedObjects, + isSandbox, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceSquare.class, + "credentials", credentials, + "includeDeletedObjects", includeDeletedObjects, + "isSandbox", isSandbox, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Optional includeDeletedObjects; + + private Optional isSandbox; + + private Optional startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Choose how to authenticate to Square. + */ + public Builder credentials(SourceSquareAuthentication credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Choose how to authenticate to Square. + */ + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * In some streams there is an option to include deleted objects (Items, Categories, Discounts, Taxes) + */ + public Builder includeDeletedObjects(boolean includeDeletedObjects) { + Utils.checkNotNull(includeDeletedObjects, "includeDeletedObjects"); + this.includeDeletedObjects = Optional.ofNullable(includeDeletedObjects); + return this; + } + + /** + * In some streams there is an option to include deleted objects (Items, Categories, Discounts, Taxes) + */ + public Builder includeDeletedObjects(Optional includeDeletedObjects) { + Utils.checkNotNull(includeDeletedObjects, "includeDeletedObjects"); + this.includeDeletedObjects = includeDeletedObjects; + return this; + } + + /** + * Determines whether to use the sandbox or production environment. + */ + public Builder isSandbox(boolean isSandbox) { + Utils.checkNotNull(isSandbox, "isSandbox"); + this.isSandbox = Optional.ofNullable(isSandbox); + return this; + } + + /** + * Determines whether to use the sandbox or production environment. + */ + public Builder isSandbox(Optional isSandbox) { + Utils.checkNotNull(isSandbox, "isSandbox"); + this.isSandbox = isSandbox; + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. If not set, all data will be replicated. + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated. If not set, all data will be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceSquare build() { + if (includeDeletedObjects == null) { + includeDeletedObjects = _SINGLETON_VALUE_IncludeDeletedObjects.value(); + } + if (isSandbox == null) { + isSandbox = _SINGLETON_VALUE_IsSandbox.value(); + } + if (startDate == null) { + startDate = _SINGLETON_VALUE_StartDate.value(); + } + return new SourceSquare( + credentials, + includeDeletedObjects, + isSandbox, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_IncludeDeletedObjects = + new LazySingletonValue<>( + "include_deleted_objects", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_IsSandbox = + new LazySingletonValue<>( + "is_sandbox", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"square\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_StartDate = + new LazySingletonValue<>( + "start_date", + "\"2021-01-01\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSquareAPIKey.java b/src/main/java/com/airbyte/api/models/shared/SourceSquareAPIKey.java new file mode 100644 index 000000000..f1e8101f0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSquareAPIKey.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceSquareAPIKey { + + /** + * The API key for a Square application + */ + @JsonProperty("api_key") + private String apiKey; + + @JsonProperty("auth_type") + private SourceSquareSchemasAuthType authType; + + public SourceSquareAPIKey( + @JsonProperty("api_key") String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + } + + /** + * The API key for a Square application + */ + public String apiKey() { + return apiKey; + } + + public SourceSquareSchemasAuthType authType() { + return authType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The API key for a Square application + */ + public SourceSquareAPIKey withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSquareAPIKey other = (SourceSquareAPIKey) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.authType, other.authType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + authType); + } + + @Override + public String toString() { + return Utils.toString(SourceSquareAPIKey.class, + "apiKey", apiKey, + "authType", authType); + } + + public final static class Builder { + + private String apiKey; + + private Builder() { + // force use of static builder() method + } + + /** + * The API key for a Square application + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + public SourceSquareAPIKey build() { + return new SourceSquareAPIKey( + apiKey); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"API Key\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSquareAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceSquareAuthType.java new file mode 100644 index 000000000..d3344396b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSquareAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSquareAuthType { + O_AUTH("OAuth"); + + @JsonValue + private final String value; + + private SourceSquareAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSquareAuthentication.java b/src/main/java/com/airbyte/api/models/shared/SourceSquareAuthentication.java new file mode 100644 index 000000000..e2fae7f3a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSquareAuthentication.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceSquareAuthentication - Choose how to authenticate to Square. + */ + +@JsonDeserialize(using = SourceSquareAuthentication._Deserializer.class) +public class SourceSquareAuthentication { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceSquareAuthentication(TypedObject value) { + this.value = value; + } + + public static SourceSquareAuthentication of(OauthAuthentication value) { + Utils.checkNotNull(value, "value"); + return new SourceSquareAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceSquareAuthentication of(SourceSquareAPIKey value) { + Utils.checkNotNull(value, "value"); + return new SourceSquareAuthentication(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code OauthAuthentication}
    • + *
    • {@code SourceSquareAPIKey}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSquareAuthentication other = (SourceSquareAuthentication) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceSquareAuthentication.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceSquareAuthentication.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSquareSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceSquareSchemasAuthType.java new file mode 100644 index 000000000..abd8b41b3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSquareSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSquareSchemasAuthType { + API_KEY("API Key"); + + @JsonValue + private final String value; + + private SourceSquareSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSquareSquare.java b/src/main/java/com/airbyte/api/models/shared/SourceSquareSquare.java new file mode 100644 index 000000000..e26c116c0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSquareSquare.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSquareSquare { + SQUARE("square"); + + @JsonValue + private final String value; + + private SourceSquareSquare(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceStrava.java b/src/main/java/com/airbyte/api/models/shared/SourceStrava.java new file mode 100644 index 000000000..2b44fea71 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceStrava.java @@ -0,0 +1,301 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceStrava { + + /** + * The Athlete ID of your Strava developer application. + */ + @JsonProperty("athlete_id") + private long athleteId; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * The Client ID of your Strava developer application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of your Strava developer application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * The Refresh Token with the activity: read_all permissions. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + @JsonProperty("sourceType") + private SourceStravaStrava sourceType; + + /** + * UTC date and time. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + public SourceStrava( + @JsonProperty("athlete_id") long athleteId, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("start_date") OffsetDateTime startDate) { + Utils.checkNotNull(athleteId, "athleteId"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(startDate, "startDate"); + this.athleteId = athleteId; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * The Athlete ID of your Strava developer application. + */ + public long athleteId() { + return athleteId; + } + + public Optional authType() { + return authType; + } + + /** + * The Client ID of your Strava developer application. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of your Strava developer application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * The Refresh Token with the activity: read_all permissions. + */ + public String refreshToken() { + return refreshToken; + } + + public SourceStravaStrava sourceType() { + return sourceType; + } + + /** + * UTC date and time. Any data before this date will not be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Athlete ID of your Strava developer application. + */ + public SourceStrava withAthleteId(long athleteId) { + Utils.checkNotNull(athleteId, "athleteId"); + this.athleteId = athleteId; + return this; + } + + /** + * The Client ID of your Strava developer application. + */ + public SourceStrava withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Strava developer application. + */ + public SourceStrava withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The Refresh Token with the activity: read_all permissions. + */ + public SourceStrava withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * UTC date and time. Any data before this date will not be replicated. + */ + public SourceStrava withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceStrava other = (SourceStrava) o; + return + java.util.Objects.deepEquals(this.athleteId, other.athleteId) && + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + athleteId, + authType, + clientId, + clientSecret, + refreshToken, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceStrava.class, + "athleteId", athleteId, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private Long athleteId; + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private OffsetDateTime startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * The Athlete ID of your Strava developer application. + */ + public Builder athleteId(long athleteId) { + Utils.checkNotNull(athleteId, "athleteId"); + this.athleteId = athleteId; + return this; + } + + /** + * The Client ID of your Strava developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Strava developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The Refresh Token with the activity: read_all permissions. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * UTC date and time. Any data before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceStrava build() { + return new SourceStrava( + athleteId, + clientId, + clientSecret, + refreshToken, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Client\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"strava\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceStravaAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceStravaAuthType.java new file mode 100644 index 000000000..ef5c46b08 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceStravaAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceStravaAuthType { + CLIENT("Client"); + + @JsonValue + private final String value; + + private SourceStravaAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceStravaStrava.java b/src/main/java/com/airbyte/api/models/shared/SourceStravaStrava.java new file mode 100644 index 000000000..51dd02798 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceStravaStrava.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceStravaStrava { + STRAVA("strava"); + + @JsonValue + private final String value; + + private SourceStravaStrava(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceStripe.java b/src/main/java/com/airbyte/api/models/shared/SourceStripe.java new file mode 100644 index 000000000..41c0e2e36 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceStripe.java @@ -0,0 +1,494 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceStripe { + + /** + * Your Stripe account ID (starts with 'acct_', find yours <a href="https://dashboard.stripe.com/settings/account">here</a>). + */ + @JsonProperty("account_id") + private String accountId; + + /** + * The number of API calls per second that you allow connector to make. This value can not be bigger than real API call rate limit (https://stripe.com/docs/rate-limits). If not specified the default maximum is 25 and 100 calls per second for test and production tokens respectively. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("call_rate_limit") + private Optional callRateLimit; + + /** + * Stripe API key (usually starts with 'sk_live_'; find yours <a href="https://dashboard.stripe.com/apikeys">here</a>). + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * When set, the connector will always re-export data from the past N days, where N is the value set here. This is useful if your data is frequently updated after creation. The Lookback Window only applies to streams that do not support event-based incremental syncs: Events, SetupAttempts, ShippingRates, BalanceTransactions, Files, FileLinks, Refunds. More info <a href="https://docs.airbyte.com/integrations/sources/stripe#requirements">here</a> + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lookback_window_days") + private Optional lookbackWindowDays; + + /** + * The number of worker thread to use for the sync. The performance upper boundary depends on call_rate_limit setting and type of account. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("num_workers") + private Optional numWorkers; + + /** + * The time increment used by the connector when requesting data from the Stripe API. The bigger the value is, the less requests will be made and faster the sync will be. On the other hand, the more seldom the state is persisted. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("slice_range") + private Optional sliceRange; + + @JsonProperty("sourceType") + private Stripe sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Only data generated after this date will be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceStripe( + @JsonProperty("account_id") String accountId, + @JsonProperty("call_rate_limit") Optional callRateLimit, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("lookback_window_days") Optional lookbackWindowDays, + @JsonProperty("num_workers") Optional numWorkers, + @JsonProperty("slice_range") Optional sliceRange, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(accountId, "accountId"); + Utils.checkNotNull(callRateLimit, "callRateLimit"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(lookbackWindowDays, "lookbackWindowDays"); + Utils.checkNotNull(numWorkers, "numWorkers"); + Utils.checkNotNull(sliceRange, "sliceRange"); + Utils.checkNotNull(startDate, "startDate"); + this.accountId = accountId; + this.callRateLimit = callRateLimit; + this.clientSecret = clientSecret; + this.lookbackWindowDays = lookbackWindowDays; + this.numWorkers = numWorkers; + this.sliceRange = sliceRange; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Your Stripe account ID (starts with 'acct_', find yours <a href="https://dashboard.stripe.com/settings/account">here</a>). + */ + public String accountId() { + return accountId; + } + + /** + * The number of API calls per second that you allow connector to make. This value can not be bigger than real API call rate limit (https://stripe.com/docs/rate-limits). If not specified the default maximum is 25 and 100 calls per second for test and production tokens respectively. + */ + public Optional callRateLimit() { + return callRateLimit; + } + + /** + * Stripe API key (usually starts with 'sk_live_'; find yours <a href="https://dashboard.stripe.com/apikeys">here</a>). + */ + public String clientSecret() { + return clientSecret; + } + + /** + * When set, the connector will always re-export data from the past N days, where N is the value set here. This is useful if your data is frequently updated after creation. The Lookback Window only applies to streams that do not support event-based incremental syncs: Events, SetupAttempts, ShippingRates, BalanceTransactions, Files, FileLinks, Refunds. More info <a href="https://docs.airbyte.com/integrations/sources/stripe#requirements">here</a> + */ + public Optional lookbackWindowDays() { + return lookbackWindowDays; + } + + /** + * The number of worker thread to use for the sync. The performance upper boundary depends on call_rate_limit setting and type of account. + */ + public Optional numWorkers() { + return numWorkers; + } + + /** + * The time increment used by the connector when requesting data from the Stripe API. The bigger the value is, the less requests will be made and faster the sync will be. On the other hand, the more seldom the state is persisted. + */ + public Optional sliceRange() { + return sliceRange; + } + + public Stripe sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Only data generated after this date will be replicated. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your Stripe account ID (starts with 'acct_', find yours <a href="https://dashboard.stripe.com/settings/account">here</a>). + */ + public SourceStripe withAccountId(String accountId) { + Utils.checkNotNull(accountId, "accountId"); + this.accountId = accountId; + return this; + } + + /** + * The number of API calls per second that you allow connector to make. This value can not be bigger than real API call rate limit (https://stripe.com/docs/rate-limits). If not specified the default maximum is 25 and 100 calls per second for test and production tokens respectively. + */ + public SourceStripe withCallRateLimit(long callRateLimit) { + Utils.checkNotNull(callRateLimit, "callRateLimit"); + this.callRateLimit = Optional.ofNullable(callRateLimit); + return this; + } + + /** + * The number of API calls per second that you allow connector to make. This value can not be bigger than real API call rate limit (https://stripe.com/docs/rate-limits). If not specified the default maximum is 25 and 100 calls per second for test and production tokens respectively. + */ + public SourceStripe withCallRateLimit(Optional callRateLimit) { + Utils.checkNotNull(callRateLimit, "callRateLimit"); + this.callRateLimit = callRateLimit; + return this; + } + + /** + * Stripe API key (usually starts with 'sk_live_'; find yours <a href="https://dashboard.stripe.com/apikeys">here</a>). + */ + public SourceStripe withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * When set, the connector will always re-export data from the past N days, where N is the value set here. This is useful if your data is frequently updated after creation. The Lookback Window only applies to streams that do not support event-based incremental syncs: Events, SetupAttempts, ShippingRates, BalanceTransactions, Files, FileLinks, Refunds. More info <a href="https://docs.airbyte.com/integrations/sources/stripe#requirements">here</a> + */ + public SourceStripe withLookbackWindowDays(long lookbackWindowDays) { + Utils.checkNotNull(lookbackWindowDays, "lookbackWindowDays"); + this.lookbackWindowDays = Optional.ofNullable(lookbackWindowDays); + return this; + } + + /** + * When set, the connector will always re-export data from the past N days, where N is the value set here. This is useful if your data is frequently updated after creation. The Lookback Window only applies to streams that do not support event-based incremental syncs: Events, SetupAttempts, ShippingRates, BalanceTransactions, Files, FileLinks, Refunds. More info <a href="https://docs.airbyte.com/integrations/sources/stripe#requirements">here</a> + */ + public SourceStripe withLookbackWindowDays(Optional lookbackWindowDays) { + Utils.checkNotNull(lookbackWindowDays, "lookbackWindowDays"); + this.lookbackWindowDays = lookbackWindowDays; + return this; + } + + /** + * The number of worker thread to use for the sync. The performance upper boundary depends on call_rate_limit setting and type of account. + */ + public SourceStripe withNumWorkers(long numWorkers) { + Utils.checkNotNull(numWorkers, "numWorkers"); + this.numWorkers = Optional.ofNullable(numWorkers); + return this; + } + + /** + * The number of worker thread to use for the sync. The performance upper boundary depends on call_rate_limit setting and type of account. + */ + public SourceStripe withNumWorkers(Optional numWorkers) { + Utils.checkNotNull(numWorkers, "numWorkers"); + this.numWorkers = numWorkers; + return this; + } + + /** + * The time increment used by the connector when requesting data from the Stripe API. The bigger the value is, the less requests will be made and faster the sync will be. On the other hand, the more seldom the state is persisted. + */ + public SourceStripe withSliceRange(long sliceRange) { + Utils.checkNotNull(sliceRange, "sliceRange"); + this.sliceRange = Optional.ofNullable(sliceRange); + return this; + } + + /** + * The time increment used by the connector when requesting data from the Stripe API. The bigger the value is, the less requests will be made and faster the sync will be. On the other hand, the more seldom the state is persisted. + */ + public SourceStripe withSliceRange(Optional sliceRange) { + Utils.checkNotNull(sliceRange, "sliceRange"); + this.sliceRange = sliceRange; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Only data generated after this date will be replicated. + */ + public SourceStripe withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Only data generated after this date will be replicated. + */ + public SourceStripe withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceStripe other = (SourceStripe) o; + return + java.util.Objects.deepEquals(this.accountId, other.accountId) && + java.util.Objects.deepEquals(this.callRateLimit, other.callRateLimit) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.lookbackWindowDays, other.lookbackWindowDays) && + java.util.Objects.deepEquals(this.numWorkers, other.numWorkers) && + java.util.Objects.deepEquals(this.sliceRange, other.sliceRange) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accountId, + callRateLimit, + clientSecret, + lookbackWindowDays, + numWorkers, + sliceRange, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceStripe.class, + "accountId", accountId, + "callRateLimit", callRateLimit, + "clientSecret", clientSecret, + "lookbackWindowDays", lookbackWindowDays, + "numWorkers", numWorkers, + "sliceRange", sliceRange, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String accountId; + + private Optional callRateLimit = Optional.empty(); + + private String clientSecret; + + private Optional lookbackWindowDays; + + private Optional numWorkers; + + private Optional sliceRange; + + private Optional startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Your Stripe account ID (starts with 'acct_', find yours <a href="https://dashboard.stripe.com/settings/account">here</a>). + */ + public Builder accountId(String accountId) { + Utils.checkNotNull(accountId, "accountId"); + this.accountId = accountId; + return this; + } + + /** + * The number of API calls per second that you allow connector to make. This value can not be bigger than real API call rate limit (https://stripe.com/docs/rate-limits). If not specified the default maximum is 25 and 100 calls per second for test and production tokens respectively. + */ + public Builder callRateLimit(long callRateLimit) { + Utils.checkNotNull(callRateLimit, "callRateLimit"); + this.callRateLimit = Optional.ofNullable(callRateLimit); + return this; + } + + /** + * The number of API calls per second that you allow connector to make. This value can not be bigger than real API call rate limit (https://stripe.com/docs/rate-limits). If not specified the default maximum is 25 and 100 calls per second for test and production tokens respectively. + */ + public Builder callRateLimit(Optional callRateLimit) { + Utils.checkNotNull(callRateLimit, "callRateLimit"); + this.callRateLimit = callRateLimit; + return this; + } + + /** + * Stripe API key (usually starts with 'sk_live_'; find yours <a href="https://dashboard.stripe.com/apikeys">here</a>). + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * When set, the connector will always re-export data from the past N days, where N is the value set here. This is useful if your data is frequently updated after creation. The Lookback Window only applies to streams that do not support event-based incremental syncs: Events, SetupAttempts, ShippingRates, BalanceTransactions, Files, FileLinks, Refunds. More info <a href="https://docs.airbyte.com/integrations/sources/stripe#requirements">here</a> + */ + public Builder lookbackWindowDays(long lookbackWindowDays) { + Utils.checkNotNull(lookbackWindowDays, "lookbackWindowDays"); + this.lookbackWindowDays = Optional.ofNullable(lookbackWindowDays); + return this; + } + + /** + * When set, the connector will always re-export data from the past N days, where N is the value set here. This is useful if your data is frequently updated after creation. The Lookback Window only applies to streams that do not support event-based incremental syncs: Events, SetupAttempts, ShippingRates, BalanceTransactions, Files, FileLinks, Refunds. More info <a href="https://docs.airbyte.com/integrations/sources/stripe#requirements">here</a> + */ + public Builder lookbackWindowDays(Optional lookbackWindowDays) { + Utils.checkNotNull(lookbackWindowDays, "lookbackWindowDays"); + this.lookbackWindowDays = lookbackWindowDays; + return this; + } + + /** + * The number of worker thread to use for the sync. The performance upper boundary depends on call_rate_limit setting and type of account. + */ + public Builder numWorkers(long numWorkers) { + Utils.checkNotNull(numWorkers, "numWorkers"); + this.numWorkers = Optional.ofNullable(numWorkers); + return this; + } + + /** + * The number of worker thread to use for the sync. The performance upper boundary depends on call_rate_limit setting and type of account. + */ + public Builder numWorkers(Optional numWorkers) { + Utils.checkNotNull(numWorkers, "numWorkers"); + this.numWorkers = numWorkers; + return this; + } + + /** + * The time increment used by the connector when requesting data from the Stripe API. The bigger the value is, the less requests will be made and faster the sync will be. On the other hand, the more seldom the state is persisted. + */ + public Builder sliceRange(long sliceRange) { + Utils.checkNotNull(sliceRange, "sliceRange"); + this.sliceRange = Optional.ofNullable(sliceRange); + return this; + } + + /** + * The time increment used by the connector when requesting data from the Stripe API. The bigger the value is, the less requests will be made and faster the sync will be. On the other hand, the more seldom the state is persisted. + */ + public Builder sliceRange(Optional sliceRange) { + Utils.checkNotNull(sliceRange, "sliceRange"); + this.sliceRange = sliceRange; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Only data generated after this date will be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Only data generated after this date will be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceStripe build() { + if (lookbackWindowDays == null) { + lookbackWindowDays = _SINGLETON_VALUE_LookbackWindowDays.value(); + } + if (numWorkers == null) { + numWorkers = _SINGLETON_VALUE_NumWorkers.value(); + } + if (sliceRange == null) { + sliceRange = _SINGLETON_VALUE_SliceRange.value(); + } + if (startDate == null) { + startDate = _SINGLETON_VALUE_StartDate.value(); + } + return new SourceStripe( + accountId, + callRateLimit, + clientSecret, + lookbackWindowDays, + numWorkers, + sliceRange, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_LookbackWindowDays = + new LazySingletonValue<>( + "lookback_window_days", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_NumWorkers = + new LazySingletonValue<>( + "num_workers", + "10", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SliceRange = + new LazySingletonValue<>( + "slice_range", + "365", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"stripe\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_StartDate = + new LazySingletonValue<>( + "start_date", + "\"2017-01-25T00:00:00Z\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSurveySparrow.java b/src/main/java/com/airbyte/api/models/shared/SourceSurveySparrow.java new file mode 100644 index 000000000..4ae9cb4ed --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSurveySparrow.java @@ -0,0 +1,238 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceSurveySparrow { + + /** + * Your access token. See <a href="https://developers.surveysparrow.com/rest-apis#authentication">here</a>. The key is case sensitive. + */ + @JsonProperty("access_token") + private String accessToken; + + /** + * Is your account location is EU based? If yes, the base url to retrieve data will be different. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("region") + private Optional region; + + @JsonProperty("sourceType") + private SurveySparrow sourceType; + + /** + * A List of your survey ids for survey-specific stream + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("survey_id") + private Optional> surveyId; + + public SourceSurveySparrow( + @JsonProperty("access_token") String accessToken, + @JsonProperty("region") Optional region, + @JsonProperty("survey_id") Optional> surveyId) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(region, "region"); + Utils.checkNotNull(surveyId, "surveyId"); + this.accessToken = accessToken; + this.region = region; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.surveyId = surveyId; + } + + /** + * Your access token. See <a href="https://developers.surveysparrow.com/rest-apis#authentication">here</a>. The key is case sensitive. + */ + public String accessToken() { + return accessToken; + } + + /** + * Is your account location is EU based? If yes, the base url to retrieve data will be different. + */ + public Optional region() { + return region; + } + + public SurveySparrow sourceType() { + return sourceType; + } + + /** + * A List of your survey ids for survey-specific stream + */ + public Optional> surveyId() { + return surveyId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your access token. See <a href="https://developers.surveysparrow.com/rest-apis#authentication">here</a>. The key is case sensitive. + */ + public SourceSurveySparrow withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * Is your account location is EU based? If yes, the base url to retrieve data will be different. + */ + public SourceSurveySparrow withRegion(BaseURL region) { + Utils.checkNotNull(region, "region"); + this.region = Optional.ofNullable(region); + return this; + } + + /** + * Is your account location is EU based? If yes, the base url to retrieve data will be different. + */ + public SourceSurveySparrow withRegion(Optional region) { + Utils.checkNotNull(region, "region"); + this.region = region; + return this; + } + + /** + * A List of your survey ids for survey-specific stream + */ + public SourceSurveySparrow withSurveyId(java.util.List surveyId) { + Utils.checkNotNull(surveyId, "surveyId"); + this.surveyId = Optional.ofNullable(surveyId); + return this; + } + + /** + * A List of your survey ids for survey-specific stream + */ + public SourceSurveySparrow withSurveyId(Optional> surveyId) { + Utils.checkNotNull(surveyId, "surveyId"); + this.surveyId = surveyId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSurveySparrow other = (SourceSurveySparrow) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.region, other.region) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.surveyId, other.surveyId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + region, + sourceType, + surveyId); + } + + @Override + public String toString() { + return Utils.toString(SourceSurveySparrow.class, + "accessToken", accessToken, + "region", region, + "sourceType", sourceType, + "surveyId", surveyId); + } + + public final static class Builder { + + private String accessToken; + + private Optional region = Optional.empty(); + + private Optional> surveyId = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Your access token. See <a href="https://developers.surveysparrow.com/rest-apis#authentication">here</a>. The key is case sensitive. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * Is your account location is EU based? If yes, the base url to retrieve data will be different. + */ + public Builder region(BaseURL region) { + Utils.checkNotNull(region, "region"); + this.region = Optional.ofNullable(region); + return this; + } + + /** + * Is your account location is EU based? If yes, the base url to retrieve data will be different. + */ + public Builder region(Optional region) { + Utils.checkNotNull(region, "region"); + this.region = region; + return this; + } + + /** + * A List of your survey ids for survey-specific stream + */ + public Builder surveyId(java.util.List surveyId) { + Utils.checkNotNull(surveyId, "surveyId"); + this.surveyId = Optional.ofNullable(surveyId); + return this; + } + + /** + * A List of your survey ids for survey-specific stream + */ + public Builder surveyId(Optional> surveyId) { + Utils.checkNotNull(surveyId, "surveyId"); + this.surveyId = surveyId; + return this; + } + + public SourceSurveySparrow build() { + return new SourceSurveySparrow( + accessToken, + region, + surveyId); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"survey-sparrow\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSurveySparrowUrlBase.java b/src/main/java/com/airbyte/api/models/shared/SourceSurveySparrowUrlBase.java new file mode 100644 index 000000000..44014fe61 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSurveySparrowUrlBase.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSurveySparrowUrlBase { + HTTPS_API_SURVEYSPARROW_COM_V3("https://api.surveysparrow.com/v3"); + + @JsonValue + private final String value; + + private SourceSurveySparrowUrlBase(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSurveymonkey.java b/src/main/java/com/airbyte/api/models/shared/SourceSurveymonkey.java new file mode 100644 index 000000000..d12bac108 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSurveymonkey.java @@ -0,0 +1,290 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceSurveymonkey { + + /** + * The authorization method to use to retrieve data from SurveyMonkey + */ + @JsonProperty("credentials") + private SurveyMonkeyAuthorizationMethod credentials; + + /** + * Depending on the originating datacenter of the SurveyMonkey account, the API access URL may be different. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("origin") + private Optional origin; + + @JsonProperty("sourceType") + private SourceSurveymonkeySurveymonkey sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + /** + * IDs of the surveys from which you'd like to replicate data. If left empty, data from all boards to which you have access will be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("survey_ids") + private Optional> surveyIds; + + public SourceSurveymonkey( + @JsonProperty("credentials") SurveyMonkeyAuthorizationMethod credentials, + @JsonProperty("origin") Optional origin, + @JsonProperty("start_date") OffsetDateTime startDate, + @JsonProperty("survey_ids") Optional> surveyIds) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(origin, "origin"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(surveyIds, "surveyIds"); + this.credentials = credentials; + this.origin = origin; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.surveyIds = surveyIds; + } + + /** + * The authorization method to use to retrieve data from SurveyMonkey + */ + public SurveyMonkeyAuthorizationMethod credentials() { + return credentials; + } + + /** + * Depending on the originating datacenter of the SurveyMonkey account, the API access URL may be different. + */ + public Optional origin() { + return origin; + } + + public SourceSurveymonkeySurveymonkey sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + /** + * IDs of the surveys from which you'd like to replicate data. If left empty, data from all boards to which you have access will be replicated. + */ + public Optional> surveyIds() { + return surveyIds; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The authorization method to use to retrieve data from SurveyMonkey + */ + public SourceSurveymonkey withCredentials(SurveyMonkeyAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Depending on the originating datacenter of the SurveyMonkey account, the API access URL may be different. + */ + public SourceSurveymonkey withOrigin(OriginDatacenterOfTheSurveyMonkeyAccount origin) { + Utils.checkNotNull(origin, "origin"); + this.origin = Optional.ofNullable(origin); + return this; + } + + /** + * Depending on the originating datacenter of the SurveyMonkey account, the API access URL may be different. + */ + public SourceSurveymonkey withOrigin(Optional origin) { + Utils.checkNotNull(origin, "origin"); + this.origin = origin; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public SourceSurveymonkey withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * IDs of the surveys from which you'd like to replicate data. If left empty, data from all boards to which you have access will be replicated. + */ + public SourceSurveymonkey withSurveyIds(java.util.List surveyIds) { + Utils.checkNotNull(surveyIds, "surveyIds"); + this.surveyIds = Optional.ofNullable(surveyIds); + return this; + } + + /** + * IDs of the surveys from which you'd like to replicate data. If left empty, data from all boards to which you have access will be replicated. + */ + public SourceSurveymonkey withSurveyIds(Optional> surveyIds) { + Utils.checkNotNull(surveyIds, "surveyIds"); + this.surveyIds = surveyIds; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceSurveymonkey other = (SourceSurveymonkey) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.origin, other.origin) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.surveyIds, other.surveyIds); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + origin, + sourceType, + startDate, + surveyIds); + } + + @Override + public String toString() { + return Utils.toString(SourceSurveymonkey.class, + "credentials", credentials, + "origin", origin, + "sourceType", sourceType, + "startDate", startDate, + "surveyIds", surveyIds); + } + + public final static class Builder { + + private SurveyMonkeyAuthorizationMethod credentials; + + private Optional origin; + + private OffsetDateTime startDate; + + private Optional> surveyIds = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The authorization method to use to retrieve data from SurveyMonkey + */ + public Builder credentials(SurveyMonkeyAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Depending on the originating datacenter of the SurveyMonkey account, the API access URL may be different. + */ + public Builder origin(OriginDatacenterOfTheSurveyMonkeyAccount origin) { + Utils.checkNotNull(origin, "origin"); + this.origin = Optional.ofNullable(origin); + return this; + } + + /** + * Depending on the originating datacenter of the SurveyMonkey account, the API access URL may be different. + */ + public Builder origin(Optional origin) { + Utils.checkNotNull(origin, "origin"); + this.origin = origin; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * IDs of the surveys from which you'd like to replicate data. If left empty, data from all boards to which you have access will be replicated. + */ + public Builder surveyIds(java.util.List surveyIds) { + Utils.checkNotNull(surveyIds, "surveyIds"); + this.surveyIds = Optional.ofNullable(surveyIds); + return this; + } + + /** + * IDs of the surveys from which you'd like to replicate data. If left empty, data from all boards to which you have access will be replicated. + */ + public Builder surveyIds(Optional> surveyIds) { + Utils.checkNotNull(surveyIds, "surveyIds"); + this.surveyIds = surveyIds; + return this; + } + + public SourceSurveymonkey build() { + if (origin == null) { + origin = _SINGLETON_VALUE_Origin.value(); + } + return new SourceSurveymonkey( + credentials, + origin, + startDate, + surveyIds); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Origin = + new LazySingletonValue<>( + "origin", + "\"USA\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"surveymonkey\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSurveymonkeyAuthMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceSurveymonkeyAuthMethod.java new file mode 100644 index 000000000..35a2cea2b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSurveymonkeyAuthMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSurveymonkeyAuthMethod { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private SourceSurveymonkeyAuthMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceSurveymonkeySurveymonkey.java b/src/main/java/com/airbyte/api/models/shared/SourceSurveymonkeySurveymonkey.java new file mode 100644 index 000000000..959b2ae3e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceSurveymonkeySurveymonkey.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceSurveymonkeySurveymonkey { + SURVEYMONKEY("surveymonkey"); + + @JsonValue + private final String value; + + private SourceSurveymonkeySurveymonkey(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTempo.java b/src/main/java/com/airbyte/api/models/shared/SourceTempo.java new file mode 100644 index 000000000..134f252f4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTempo.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceTempo { + + /** + * Tempo API Token. Go to Tempo>Settings, scroll down to Data Access and select API integration. + */ + @JsonProperty("api_token") + private String apiToken; + + @JsonProperty("sourceType") + private Tempo sourceType; + + public SourceTempo( + @JsonProperty("api_token") String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Tempo API Token. Go to Tempo>Settings, scroll down to Data Access and select API integration. + */ + public String apiToken() { + return apiToken; + } + + public Tempo sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Tempo API Token. Go to Tempo>Settings, scroll down to Data Access and select API integration. + */ + public SourceTempo withApiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceTempo other = (SourceTempo) o; + return + java.util.Objects.deepEquals(this.apiToken, other.apiToken) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiToken, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceTempo.class, + "apiToken", apiToken, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiToken; + + private Builder() { + // force use of static builder() method + } + + /** + * Tempo API Token. Go to Tempo>Settings, scroll down to Data Access and select API integration. + */ + public Builder apiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + public SourceTempo build() { + return new SourceTempo( + apiToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"tempo\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTheGuardianApi.java b/src/main/java/com/airbyte/api/models/shared/SourceTheGuardianApi.java new file mode 100644 index 000000000..1997619b0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTheGuardianApi.java @@ -0,0 +1,396 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceTheGuardianApi { + + /** + * Your API Key. See <a href="https://open-platform.theguardian.com/access/">here</a>. The key is case sensitive. + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * (Optional) Use this to set the maximum date (YYYY-MM-DD) of the results. Results newer than the end_date will not be shown. Default is set to the current date (today) for incremental syncs. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + /** + * (Optional) The query (q) parameter filters the results to only those that include that search term. The q parameter supports AND, OR and NOT operators. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("query") + private Optional query; + + /** + * (Optional) Use this to filter the results by a particular section. See <a href="https://content.guardianapis.com/sections?api-key=test">here</a> for a list of all sections, and <a href="https://open-platform.theguardian.com/documentation/section">here</a> for the sections endpoint documentation. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("section") + private Optional section; + + @JsonProperty("sourceType") + private TheGuardianApi sourceType; + + /** + * Use this to set the minimum date (YYYY-MM-DD) of the results. Results older than the start_date will not be shown. + */ + @JsonProperty("start_date") + private String startDate; + + /** + * (Optional) A tag is a piece of data that is used by The Guardian to categorise content. Use this parameter to filter results by showing only the ones matching the entered tag. See <a href="https://content.guardianapis.com/tags?api-key=test">here</a> for a list of all tags, and <a href="https://open-platform.theguardian.com/documentation/tag">here</a> for the tags endpoint documentation. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tag") + private Optional tag; + + public SourceTheGuardianApi( + @JsonProperty("api_key") String apiKey, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("query") Optional query, + @JsonProperty("section") Optional section, + @JsonProperty("start_date") String startDate, + @JsonProperty("tag") Optional tag) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(query, "query"); + Utils.checkNotNull(section, "section"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(tag, "tag"); + this.apiKey = apiKey; + this.endDate = endDate; + this.query = query; + this.section = section; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.tag = tag; + } + + /** + * Your API Key. See <a href="https://open-platform.theguardian.com/access/">here</a>. The key is case sensitive. + */ + public String apiKey() { + return apiKey; + } + + /** + * (Optional) Use this to set the maximum date (YYYY-MM-DD) of the results. Results newer than the end_date will not be shown. Default is set to the current date (today) for incremental syncs. + */ + public Optional endDate() { + return endDate; + } + + /** + * (Optional) The query (q) parameter filters the results to only those that include that search term. The q parameter supports AND, OR and NOT operators. + */ + public Optional query() { + return query; + } + + /** + * (Optional) Use this to filter the results by a particular section. See <a href="https://content.guardianapis.com/sections?api-key=test">here</a> for a list of all sections, and <a href="https://open-platform.theguardian.com/documentation/section">here</a> for the sections endpoint documentation. + */ + public Optional section() { + return section; + } + + public TheGuardianApi sourceType() { + return sourceType; + } + + /** + * Use this to set the minimum date (YYYY-MM-DD) of the results. Results older than the start_date will not be shown. + */ + public String startDate() { + return startDate; + } + + /** + * (Optional) A tag is a piece of data that is used by The Guardian to categorise content. Use this parameter to filter results by showing only the ones matching the entered tag. See <a href="https://content.guardianapis.com/tags?api-key=test">here</a> for a list of all tags, and <a href="https://open-platform.theguardian.com/documentation/tag">here</a> for the tags endpoint documentation. + */ + public Optional tag() { + return tag; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your API Key. See <a href="https://open-platform.theguardian.com/access/">here</a>. The key is case sensitive. + */ + public SourceTheGuardianApi withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * (Optional) Use this to set the maximum date (YYYY-MM-DD) of the results. Results newer than the end_date will not be shown. Default is set to the current date (today) for incremental syncs. + */ + public SourceTheGuardianApi withEndDate(String endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * (Optional) Use this to set the maximum date (YYYY-MM-DD) of the results. Results newer than the end_date will not be shown. Default is set to the current date (today) for incremental syncs. + */ + public SourceTheGuardianApi withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * (Optional) The query (q) parameter filters the results to only those that include that search term. The q parameter supports AND, OR and NOT operators. + */ + public SourceTheGuardianApi withQuery(String query) { + Utils.checkNotNull(query, "query"); + this.query = Optional.ofNullable(query); + return this; + } + + /** + * (Optional) The query (q) parameter filters the results to only those that include that search term. The q parameter supports AND, OR and NOT operators. + */ + public SourceTheGuardianApi withQuery(Optional query) { + Utils.checkNotNull(query, "query"); + this.query = query; + return this; + } + + /** + * (Optional) Use this to filter the results by a particular section. See <a href="https://content.guardianapis.com/sections?api-key=test">here</a> for a list of all sections, and <a href="https://open-platform.theguardian.com/documentation/section">here</a> for the sections endpoint documentation. + */ + public SourceTheGuardianApi withSection(String section) { + Utils.checkNotNull(section, "section"); + this.section = Optional.ofNullable(section); + return this; + } + + /** + * (Optional) Use this to filter the results by a particular section. See <a href="https://content.guardianapis.com/sections?api-key=test">here</a> for a list of all sections, and <a href="https://open-platform.theguardian.com/documentation/section">here</a> for the sections endpoint documentation. + */ + public SourceTheGuardianApi withSection(Optional section) { + Utils.checkNotNull(section, "section"); + this.section = section; + return this; + } + + /** + * Use this to set the minimum date (YYYY-MM-DD) of the results. Results older than the start_date will not be shown. + */ + public SourceTheGuardianApi withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * (Optional) A tag is a piece of data that is used by The Guardian to categorise content. Use this parameter to filter results by showing only the ones matching the entered tag. See <a href="https://content.guardianapis.com/tags?api-key=test">here</a> for a list of all tags, and <a href="https://open-platform.theguardian.com/documentation/tag">here</a> for the tags endpoint documentation. + */ + public SourceTheGuardianApi withTag(String tag) { + Utils.checkNotNull(tag, "tag"); + this.tag = Optional.ofNullable(tag); + return this; + } + + /** + * (Optional) A tag is a piece of data that is used by The Guardian to categorise content. Use this parameter to filter results by showing only the ones matching the entered tag. See <a href="https://content.guardianapis.com/tags?api-key=test">here</a> for a list of all tags, and <a href="https://open-platform.theguardian.com/documentation/tag">here</a> for the tags endpoint documentation. + */ + public SourceTheGuardianApi withTag(Optional tag) { + Utils.checkNotNull(tag, "tag"); + this.tag = tag; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceTheGuardianApi other = (SourceTheGuardianApi) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.query, other.query) && + java.util.Objects.deepEquals(this.section, other.section) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.tag, other.tag); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + endDate, + query, + section, + sourceType, + startDate, + tag); + } + + @Override + public String toString() { + return Utils.toString(SourceTheGuardianApi.class, + "apiKey", apiKey, + "endDate", endDate, + "query", query, + "section", section, + "sourceType", sourceType, + "startDate", startDate, + "tag", tag); + } + + public final static class Builder { + + private String apiKey; + + private Optional endDate = Optional.empty(); + + private Optional query = Optional.empty(); + + private Optional section = Optional.empty(); + + private String startDate; + + private Optional tag = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Your API Key. See <a href="https://open-platform.theguardian.com/access/">here</a>. The key is case sensitive. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * (Optional) Use this to set the maximum date (YYYY-MM-DD) of the results. Results newer than the end_date will not be shown. Default is set to the current date (today) for incremental syncs. + */ + public Builder endDate(String endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * (Optional) Use this to set the maximum date (YYYY-MM-DD) of the results. Results newer than the end_date will not be shown. Default is set to the current date (today) for incremental syncs. + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * (Optional) The query (q) parameter filters the results to only those that include that search term. The q parameter supports AND, OR and NOT operators. + */ + public Builder query(String query) { + Utils.checkNotNull(query, "query"); + this.query = Optional.ofNullable(query); + return this; + } + + /** + * (Optional) The query (q) parameter filters the results to only those that include that search term. The q parameter supports AND, OR and NOT operators. + */ + public Builder query(Optional query) { + Utils.checkNotNull(query, "query"); + this.query = query; + return this; + } + + /** + * (Optional) Use this to filter the results by a particular section. See <a href="https://content.guardianapis.com/sections?api-key=test">here</a> for a list of all sections, and <a href="https://open-platform.theguardian.com/documentation/section">here</a> for the sections endpoint documentation. + */ + public Builder section(String section) { + Utils.checkNotNull(section, "section"); + this.section = Optional.ofNullable(section); + return this; + } + + /** + * (Optional) Use this to filter the results by a particular section. See <a href="https://content.guardianapis.com/sections?api-key=test">here</a> for a list of all sections, and <a href="https://open-platform.theguardian.com/documentation/section">here</a> for the sections endpoint documentation. + */ + public Builder section(Optional section) { + Utils.checkNotNull(section, "section"); + this.section = section; + return this; + } + + /** + * Use this to set the minimum date (YYYY-MM-DD) of the results. Results older than the start_date will not be shown. + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * (Optional) A tag is a piece of data that is used by The Guardian to categorise content. Use this parameter to filter results by showing only the ones matching the entered tag. See <a href="https://content.guardianapis.com/tags?api-key=test">here</a> for a list of all tags, and <a href="https://open-platform.theguardian.com/documentation/tag">here</a> for the tags endpoint documentation. + */ + public Builder tag(String tag) { + Utils.checkNotNull(tag, "tag"); + this.tag = Optional.ofNullable(tag); + return this; + } + + /** + * (Optional) A tag is a piece of data that is used by The Guardian to categorise content. Use this parameter to filter results by showing only the ones matching the entered tag. See <a href="https://content.guardianapis.com/tags?api-key=test">here</a> for a list of all tags, and <a href="https://open-platform.theguardian.com/documentation/tag">here</a> for the tags endpoint documentation. + */ + public Builder tag(Optional tag) { + Utils.checkNotNull(tag, "tag"); + this.tag = tag; + return this; + } + + public SourceTheGuardianApi build() { + return new SourceTheGuardianApi( + apiKey, + endDate, + query, + section, + startDate, + tag); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"the-guardian-api\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketing.java b/src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketing.java new file mode 100644 index 000000000..80174cbff --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketing.java @@ -0,0 +1,404 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceTiktokMarketing { + + /** + * The attribution window in days. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("attribution_window") + private Optional attributionWindow; + + /** + * Authentication method + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + /** + * The date until which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DD. All data generated between start_date and this date will be replicated. Not setting this option will result in always syncing the data till the current date. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + /** + * Set to active if you want to include deleted data in reports. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("include_deleted") + private Optional includeDeleted; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sourceType") + private Optional sourceType; + + /** + * The Start Date in format: YYYY-MM-DD. Any data before this date will not be replicated. If this parameter is not set, all data will be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceTiktokMarketing( + @JsonProperty("attribution_window") Optional attributionWindow, + @JsonProperty("credentials") Optional credentials, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("include_deleted") Optional includeDeleted, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(attributionWindow, "attributionWindow"); + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(includeDeleted, "includeDeleted"); + Utils.checkNotNull(startDate, "startDate"); + this.attributionWindow = attributionWindow; + this.credentials = credentials; + this.endDate = endDate; + this.includeDeleted = includeDeleted; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * The attribution window in days. + */ + public Optional attributionWindow() { + return attributionWindow; + } + + /** + * Authentication method + */ + public Optional credentials() { + return credentials; + } + + /** + * The date until which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DD. All data generated between start_date and this date will be replicated. Not setting this option will result in always syncing the data till the current date. + */ + public Optional endDate() { + return endDate; + } + + /** + * Set to active if you want to include deleted data in reports. + */ + public Optional includeDeleted() { + return includeDeleted; + } + + public Optional sourceType() { + return sourceType; + } + + /** + * The Start Date in format: YYYY-MM-DD. Any data before this date will not be replicated. If this parameter is not set, all data will be replicated. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The attribution window in days. + */ + public SourceTiktokMarketing withAttributionWindow(long attributionWindow) { + Utils.checkNotNull(attributionWindow, "attributionWindow"); + this.attributionWindow = Optional.ofNullable(attributionWindow); + return this; + } + + /** + * The attribution window in days. + */ + public SourceTiktokMarketing withAttributionWindow(Optional attributionWindow) { + Utils.checkNotNull(attributionWindow, "attributionWindow"); + this.attributionWindow = attributionWindow; + return this; + } + + /** + * Authentication method + */ + public SourceTiktokMarketing withCredentials(SourceTiktokMarketingAuthenticationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Authentication method + */ + public SourceTiktokMarketing withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The date until which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DD. All data generated between start_date and this date will be replicated. Not setting this option will result in always syncing the data till the current date. + */ + public SourceTiktokMarketing withEndDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * The date until which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DD. All data generated between start_date and this date will be replicated. Not setting this option will result in always syncing the data till the current date. + */ + public SourceTiktokMarketing withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Set to active if you want to include deleted data in reports. + */ + public SourceTiktokMarketing withIncludeDeleted(boolean includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = Optional.ofNullable(includeDeleted); + return this; + } + + /** + * Set to active if you want to include deleted data in reports. + */ + public SourceTiktokMarketing withIncludeDeleted(Optional includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = includeDeleted; + return this; + } + + /** + * The Start Date in format: YYYY-MM-DD. Any data before this date will not be replicated. If this parameter is not set, all data will be replicated. + */ + public SourceTiktokMarketing withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The Start Date in format: YYYY-MM-DD. Any data before this date will not be replicated. If this parameter is not set, all data will be replicated. + */ + public SourceTiktokMarketing withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceTiktokMarketing other = (SourceTiktokMarketing) o; + return + java.util.Objects.deepEquals(this.attributionWindow, other.attributionWindow) && + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.includeDeleted, other.includeDeleted) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + attributionWindow, + credentials, + endDate, + includeDeleted, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceTiktokMarketing.class, + "attributionWindow", attributionWindow, + "credentials", credentials, + "endDate", endDate, + "includeDeleted", includeDeleted, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private Optional attributionWindow; + + private Optional credentials = Optional.empty(); + + private Optional endDate = Optional.empty(); + + private Optional includeDeleted; + + private Optional startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * The attribution window in days. + */ + public Builder attributionWindow(long attributionWindow) { + Utils.checkNotNull(attributionWindow, "attributionWindow"); + this.attributionWindow = Optional.ofNullable(attributionWindow); + return this; + } + + /** + * The attribution window in days. + */ + public Builder attributionWindow(Optional attributionWindow) { + Utils.checkNotNull(attributionWindow, "attributionWindow"); + this.attributionWindow = attributionWindow; + return this; + } + + /** + * Authentication method + */ + public Builder credentials(SourceTiktokMarketingAuthenticationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Authentication method + */ + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The date until which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DD. All data generated between start_date and this date will be replicated. Not setting this option will result in always syncing the data till the current date. + */ + public Builder endDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * The date until which you'd like to replicate data for all incremental streams, in the format YYYY-MM-DD. All data generated between start_date and this date will be replicated. Not setting this option will result in always syncing the data till the current date. + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Set to active if you want to include deleted data in reports. + */ + public Builder includeDeleted(boolean includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = Optional.ofNullable(includeDeleted); + return this; + } + + /** + * Set to active if you want to include deleted data in reports. + */ + public Builder includeDeleted(Optional includeDeleted) { + Utils.checkNotNull(includeDeleted, "includeDeleted"); + this.includeDeleted = includeDeleted; + return this; + } + + /** + * The Start Date in format: YYYY-MM-DD. Any data before this date will not be replicated. If this parameter is not set, all data will be replicated. + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The Start Date in format: YYYY-MM-DD. Any data before this date will not be replicated. If this parameter is not set, all data will be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceTiktokMarketing build() { + if (attributionWindow == null) { + attributionWindow = _SINGLETON_VALUE_AttributionWindow.value(); + } + if (includeDeleted == null) { + includeDeleted = _SINGLETON_VALUE_IncludeDeleted.value(); + } + if (startDate == null) { + startDate = _SINGLETON_VALUE_StartDate.value(); + } + return new SourceTiktokMarketing( + attributionWindow, + credentials, + endDate, + includeDeleted, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AttributionWindow = + new LazySingletonValue<>( + "attribution_window", + "3", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_IncludeDeleted = + new LazySingletonValue<>( + "include_deleted", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"tiktok-marketing\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_StartDate = + new LazySingletonValue<>( + "start_date", + "\"2016-09-01\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingAuthType.java new file mode 100644 index 000000000..805b8be06 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceTiktokMarketingAuthType { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private SourceTiktokMarketingAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingAuthenticationMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingAuthenticationMethod.java new file mode 100644 index 000000000..c6a0ce88d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingAuthenticationMethod.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * SourceTiktokMarketingAuthenticationMethod - Authentication method + */ + +@JsonDeserialize(using = SourceTiktokMarketingAuthenticationMethod._Deserializer.class) +public class SourceTiktokMarketingAuthenticationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceTiktokMarketingAuthenticationMethod(TypedObject value) { + this.value = value; + } + + public static SourceTiktokMarketingAuthenticationMethod of(SourceTiktokMarketingOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new SourceTiktokMarketingAuthenticationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceTiktokMarketingAuthenticationMethod of(SandboxAccessToken value) { + Utils.checkNotNull(value, "value"); + return new SourceTiktokMarketingAuthenticationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceTiktokMarketingOAuth20}
    • + *
    • {@code SandboxAccessToken}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceTiktokMarketingAuthenticationMethod other = (SourceTiktokMarketingAuthenticationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceTiktokMarketingAuthenticationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceTiktokMarketingAuthenticationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingOAuth20.java b/src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingOAuth20.java new file mode 100644 index 000000000..a02f486e5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingOAuth20.java @@ -0,0 +1,260 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceTiktokMarketingOAuth20 { + + /** + * Long-term Authorized Access Token. + */ + @JsonProperty("access_token") + private String accessToken; + + /** + * The Advertiser ID to filter reports and streams. Let this empty to retrieve all. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("advertiser_id") + private Optional advertiserId; + + /** + * The Developer Application App ID. + */ + @JsonProperty("app_id") + private String appId; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * The Developer Application Secret. + */ + @JsonProperty("secret") + private String secret; + + public SourceTiktokMarketingOAuth20( + @JsonProperty("access_token") String accessToken, + @JsonProperty("advertiser_id") Optional advertiserId, + @JsonProperty("app_id") String appId, + @JsonProperty("secret") String secret) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(advertiserId, "advertiserId"); + Utils.checkNotNull(appId, "appId"); + Utils.checkNotNull(secret, "secret"); + this.accessToken = accessToken; + this.advertiserId = advertiserId; + this.appId = appId; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.secret = secret; + } + + /** + * Long-term Authorized Access Token. + */ + public String accessToken() { + return accessToken; + } + + /** + * The Advertiser ID to filter reports and streams. Let this empty to retrieve all. + */ + public Optional advertiserId() { + return advertiserId; + } + + /** + * The Developer Application App ID. + */ + public String appId() { + return appId; + } + + public Optional authType() { + return authType; + } + + /** + * The Developer Application Secret. + */ + public String secret() { + return secret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Long-term Authorized Access Token. + */ + public SourceTiktokMarketingOAuth20 withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Advertiser ID to filter reports and streams. Let this empty to retrieve all. + */ + public SourceTiktokMarketingOAuth20 withAdvertiserId(String advertiserId) { + Utils.checkNotNull(advertiserId, "advertiserId"); + this.advertiserId = Optional.ofNullable(advertiserId); + return this; + } + + /** + * The Advertiser ID to filter reports and streams. Let this empty to retrieve all. + */ + public SourceTiktokMarketingOAuth20 withAdvertiserId(Optional advertiserId) { + Utils.checkNotNull(advertiserId, "advertiserId"); + this.advertiserId = advertiserId; + return this; + } + + /** + * The Developer Application App ID. + */ + public SourceTiktokMarketingOAuth20 withAppId(String appId) { + Utils.checkNotNull(appId, "appId"); + this.appId = appId; + return this; + } + + /** + * The Developer Application Secret. + */ + public SourceTiktokMarketingOAuth20 withSecret(String secret) { + Utils.checkNotNull(secret, "secret"); + this.secret = secret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceTiktokMarketingOAuth20 other = (SourceTiktokMarketingOAuth20) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.advertiserId, other.advertiserId) && + java.util.Objects.deepEquals(this.appId, other.appId) && + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.secret, other.secret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + advertiserId, + appId, + authType, + secret); + } + + @Override + public String toString() { + return Utils.toString(SourceTiktokMarketingOAuth20.class, + "accessToken", accessToken, + "advertiserId", advertiserId, + "appId", appId, + "authType", authType, + "secret", secret); + } + + public final static class Builder { + + private String accessToken; + + private Optional advertiserId = Optional.empty(); + + private String appId; + + private String secret; + + private Builder() { + // force use of static builder() method + } + + /** + * Long-term Authorized Access Token. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Advertiser ID to filter reports and streams. Let this empty to retrieve all. + */ + public Builder advertiserId(String advertiserId) { + Utils.checkNotNull(advertiserId, "advertiserId"); + this.advertiserId = Optional.ofNullable(advertiserId); + return this; + } + + /** + * The Advertiser ID to filter reports and streams. Let this empty to retrieve all. + */ + public Builder advertiserId(Optional advertiserId) { + Utils.checkNotNull(advertiserId, "advertiserId"); + this.advertiserId = advertiserId; + return this; + } + + /** + * The Developer Application App ID. + */ + public Builder appId(String appId) { + Utils.checkNotNull(appId, "appId"); + this.appId = appId; + return this; + } + + /** + * The Developer Application Secret. + */ + public Builder secret(String secret) { + Utils.checkNotNull(secret, "secret"); + this.secret = secret; + return this; + } + + public SourceTiktokMarketingOAuth20 build() { + return new SourceTiktokMarketingOAuth20( + accessToken, + advertiserId, + appId, + secret); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"oauth2.0\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingSchemasAuthType.java new file mode 100644 index 000000000..4ca7ae9d9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceTiktokMarketingSchemasAuthType { + SANDBOX_ACCESS_TOKEN("sandbox_access_token"); + + @JsonValue + private final String value; + + private SourceTiktokMarketingSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingTiktokMarketing.java b/src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingTiktokMarketing.java new file mode 100644 index 000000000..6d267d3dc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTiktokMarketingTiktokMarketing.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceTiktokMarketingTiktokMarketing { + TIKTOK_MARKETING("tiktok-marketing"); + + @JsonValue + private final String value; + + private SourceTiktokMarketingTiktokMarketing(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTrello.java b/src/main/java/com/airbyte/api/models/shared/SourceTrello.java new file mode 100644 index 000000000..8cecdec3a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTrello.java @@ -0,0 +1,262 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceTrello { + + /** + * IDs of the boards to replicate data from. If left empty, data from all boards to which you have access will be replicated. Please note that this is not the 8-character ID in the board's shortLink (URL of the board). Rather, what is required here is the 24-character ID usually returned by the API + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("board_ids") + private Optional> boardIds; + + /** + * Trello API key. See the <a href="https://developer.atlassian.com/cloud/trello/guides/rest-api/authorization/#using-basic-oauth">docs</a> for instructions on how to generate it. + */ + @JsonProperty("key") + private String key; + + @JsonProperty("sourceType") + private Trello sourceType; + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + /** + * Trello API token. See the <a href="https://developer.atlassian.com/cloud/trello/guides/rest-api/authorization/#using-basic-oauth">docs</a> for instructions on how to generate it. + */ + @JsonProperty("token") + private String token; + + public SourceTrello( + @JsonProperty("board_ids") Optional> boardIds, + @JsonProperty("key") String key, + @JsonProperty("start_date") OffsetDateTime startDate, + @JsonProperty("token") String token) { + Utils.checkNotNull(boardIds, "boardIds"); + Utils.checkNotNull(key, "key"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(token, "token"); + this.boardIds = boardIds; + this.key = key; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.token = token; + } + + /** + * IDs of the boards to replicate data from. If left empty, data from all boards to which you have access will be replicated. Please note that this is not the 8-character ID in the board's shortLink (URL of the board). Rather, what is required here is the 24-character ID usually returned by the API + */ + public Optional> boardIds() { + return boardIds; + } + + /** + * Trello API key. See the <a href="https://developer.atlassian.com/cloud/trello/guides/rest-api/authorization/#using-basic-oauth">docs</a> for instructions on how to generate it. + */ + public String key() { + return key; + } + + public Trello sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + /** + * Trello API token. See the <a href="https://developer.atlassian.com/cloud/trello/guides/rest-api/authorization/#using-basic-oauth">docs</a> for instructions on how to generate it. + */ + public String token() { + return token; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * IDs of the boards to replicate data from. If left empty, data from all boards to which you have access will be replicated. Please note that this is not the 8-character ID in the board's shortLink (URL of the board). Rather, what is required here is the 24-character ID usually returned by the API + */ + public SourceTrello withBoardIds(java.util.List boardIds) { + Utils.checkNotNull(boardIds, "boardIds"); + this.boardIds = Optional.ofNullable(boardIds); + return this; + } + + /** + * IDs of the boards to replicate data from. If left empty, data from all boards to which you have access will be replicated. Please note that this is not the 8-character ID in the board's shortLink (URL of the board). Rather, what is required here is the 24-character ID usually returned by the API + */ + public SourceTrello withBoardIds(Optional> boardIds) { + Utils.checkNotNull(boardIds, "boardIds"); + this.boardIds = boardIds; + return this; + } + + /** + * Trello API key. See the <a href="https://developer.atlassian.com/cloud/trello/guides/rest-api/authorization/#using-basic-oauth">docs</a> for instructions on how to generate it. + */ + public SourceTrello withKey(String key) { + Utils.checkNotNull(key, "key"); + this.key = key; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public SourceTrello withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Trello API token. See the <a href="https://developer.atlassian.com/cloud/trello/guides/rest-api/authorization/#using-basic-oauth">docs</a> for instructions on how to generate it. + */ + public SourceTrello withToken(String token) { + Utils.checkNotNull(token, "token"); + this.token = token; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceTrello other = (SourceTrello) o; + return + java.util.Objects.deepEquals(this.boardIds, other.boardIds) && + java.util.Objects.deepEquals(this.key, other.key) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.token, other.token); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + boardIds, + key, + sourceType, + startDate, + token); + } + + @Override + public String toString() { + return Utils.toString(SourceTrello.class, + "boardIds", boardIds, + "key", key, + "sourceType", sourceType, + "startDate", startDate, + "token", token); + } + + public final static class Builder { + + private Optional> boardIds = Optional.empty(); + + private String key; + + private OffsetDateTime startDate; + + private String token; + + private Builder() { + // force use of static builder() method + } + + /** + * IDs of the boards to replicate data from. If left empty, data from all boards to which you have access will be replicated. Please note that this is not the 8-character ID in the board's shortLink (URL of the board). Rather, what is required here is the 24-character ID usually returned by the API + */ + public Builder boardIds(java.util.List boardIds) { + Utils.checkNotNull(boardIds, "boardIds"); + this.boardIds = Optional.ofNullable(boardIds); + return this; + } + + /** + * IDs of the boards to replicate data from. If left empty, data from all boards to which you have access will be replicated. Please note that this is not the 8-character ID in the board's shortLink (URL of the board). Rather, what is required here is the 24-character ID usually returned by the API + */ + public Builder boardIds(Optional> boardIds) { + Utils.checkNotNull(boardIds, "boardIds"); + this.boardIds = boardIds; + return this; + } + + /** + * Trello API key. See the <a href="https://developer.atlassian.com/cloud/trello/guides/rest-api/authorization/#using-basic-oauth">docs</a> for instructions on how to generate it. + */ + public Builder key(String key) { + Utils.checkNotNull(key, "key"); + this.key = key; + return this; + } + + /** + * UTC date and time in the format 2017-01-25T00:00:00Z. Any data before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Trello API token. See the <a href="https://developer.atlassian.com/cloud/trello/guides/rest-api/authorization/#using-basic-oauth">docs</a> for instructions on how to generate it. + */ + public Builder token(String token) { + Utils.checkNotNull(token, "token"); + this.token = token; + return this; + } + + public SourceTrello build() { + return new SourceTrello( + boardIds, + key, + startDate, + token); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"trello\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTrustpilot.java b/src/main/java/com/airbyte/api/models/shared/SourceTrustpilot.java new file mode 100644 index 000000000..eaebfe1fd --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTrustpilot.java @@ -0,0 +1,185 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceTrustpilot { + + /** + * The names of business units which shall be synchronized. Some streams e.g. configured_business_units or private_reviews use this configuration. + */ + @JsonProperty("business_units") + private java.util.List businessUnits; + + @JsonProperty("credentials") + private SourceTrustpilotAuthorizationMethod credentials; + + @JsonProperty("sourceType") + private Trustpilot sourceType; + + /** + * For streams with sync. method incremental the start date time to be used + */ + @JsonProperty("start_date") + private String startDate; + + public SourceTrustpilot( + @JsonProperty("business_units") java.util.List businessUnits, + @JsonProperty("credentials") SourceTrustpilotAuthorizationMethod credentials, + @JsonProperty("start_date") String startDate) { + Utils.checkNotNull(businessUnits, "businessUnits"); + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(startDate, "startDate"); + this.businessUnits = businessUnits; + this.credentials = credentials; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * The names of business units which shall be synchronized. Some streams e.g. configured_business_units or private_reviews use this configuration. + */ + public java.util.List businessUnits() { + return businessUnits; + } + + public SourceTrustpilotAuthorizationMethod credentials() { + return credentials; + } + + public Trustpilot sourceType() { + return sourceType; + } + + /** + * For streams with sync. method incremental the start date time to be used + */ + public String startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The names of business units which shall be synchronized. Some streams e.g. configured_business_units or private_reviews use this configuration. + */ + public SourceTrustpilot withBusinessUnits(java.util.List businessUnits) { + Utils.checkNotNull(businessUnits, "businessUnits"); + this.businessUnits = businessUnits; + return this; + } + + public SourceTrustpilot withCredentials(SourceTrustpilotAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * For streams with sync. method incremental the start date time to be used + */ + public SourceTrustpilot withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceTrustpilot other = (SourceTrustpilot) o; + return + java.util.Objects.deepEquals(this.businessUnits, other.businessUnits) && + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + businessUnits, + credentials, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceTrustpilot.class, + "businessUnits", businessUnits, + "credentials", credentials, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private java.util.List businessUnits; + + private SourceTrustpilotAuthorizationMethod credentials; + + private String startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * The names of business units which shall be synchronized. Some streams e.g. configured_business_units or private_reviews use this configuration. + */ + public Builder businessUnits(java.util.List businessUnits) { + Utils.checkNotNull(businessUnits, "businessUnits"); + this.businessUnits = businessUnits; + return this; + } + + public Builder credentials(SourceTrustpilotAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * For streams with sync. method incremental the start date time to be used + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceTrustpilot build() { + return new SourceTrustpilot( + businessUnits, + credentials, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"trustpilot\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTrustpilotAPIKey.java b/src/main/java/com/airbyte/api/models/shared/SourceTrustpilotAPIKey.java new file mode 100644 index 000000000..c67e583ad --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTrustpilotAPIKey.java @@ -0,0 +1,124 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SourceTrustpilotAPIKey - The API key authentication method gives you access to only the streams which are part of the Public API. When you want to get streams available via the Consumer API (e.g. the private reviews) you need to use authentication method OAuth 2.0. + */ + +public class SourceTrustpilotAPIKey { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * The API key of the Trustpilot API application. + */ + @JsonProperty("client_id") + private String clientId; + + public SourceTrustpilotAPIKey( + @JsonProperty("client_id") String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + } + + public Optional authType() { + return authType; + } + + /** + * The API key of the Trustpilot API application. + */ + public String clientId() { + return clientId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The API key of the Trustpilot API application. + */ + public SourceTrustpilotAPIKey withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceTrustpilotAPIKey other = (SourceTrustpilotAPIKey) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + clientId); + } + + @Override + public String toString() { + return Utils.toString(SourceTrustpilotAPIKey.class, + "authType", authType, + "clientId", clientId); + } + + public final static class Builder { + + private String clientId; + + private Builder() { + // force use of static builder() method + } + + /** + * The API key of the Trustpilot API application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + public SourceTrustpilotAPIKey build() { + return new SourceTrustpilotAPIKey( + clientId); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"apikey\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTrustpilotAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceTrustpilotAuthType.java new file mode 100644 index 000000000..0ee113344 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTrustpilotAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceTrustpilotAuthType { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private SourceTrustpilotAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTrustpilotAuthorizationMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceTrustpilotAuthorizationMethod.java new file mode 100644 index 000000000..3d978c648 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTrustpilotAuthorizationMethod.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceTrustpilotAuthorizationMethod._Deserializer.class) +public class SourceTrustpilotAuthorizationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceTrustpilotAuthorizationMethod(TypedObject value) { + this.value = value; + } + + public static SourceTrustpilotAuthorizationMethod of(SourceTrustpilotOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new SourceTrustpilotAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceTrustpilotAuthorizationMethod of(SourceTrustpilotAPIKey value) { + Utils.checkNotNull(value, "value"); + return new SourceTrustpilotAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceTrustpilotOAuth20}
    • + *
    • {@code SourceTrustpilotAPIKey}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceTrustpilotAuthorizationMethod other = (SourceTrustpilotAuthorizationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceTrustpilotAuthorizationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceTrustpilotAuthorizationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTrustpilotOAuth20.java b/src/main/java/com/airbyte/api/models/shared/SourceTrustpilotOAuth20.java new file mode 100644 index 000000000..a5987348d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTrustpilotOAuth20.java @@ -0,0 +1,284 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceTrustpilotOAuth20 { + + /** + * Access Token for making authenticated requests. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * The API key of the Trustpilot API application. (represents the OAuth Client ID) + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Secret of the Trustpilot API application. (represents the OAuth Client Secret) + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * The key to refresh the expired access_token. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + /** + * The date-time when the access token should be refreshed. + */ + @JsonProperty("token_expiry_date") + private OffsetDateTime tokenExpiryDate; + + public SourceTrustpilotOAuth20( + @JsonProperty("access_token") String accessToken, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("token_expiry_date") OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.accessToken = accessToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + this.tokenExpiryDate = tokenExpiryDate; + } + + /** + * Access Token for making authenticated requests. + */ + public String accessToken() { + return accessToken; + } + + public Optional authType() { + return authType; + } + + /** + * The API key of the Trustpilot API application. (represents the OAuth Client ID) + */ + public String clientId() { + return clientId; + } + + /** + * The Secret of the Trustpilot API application. (represents the OAuth Client Secret) + */ + public String clientSecret() { + return clientSecret; + } + + /** + * The key to refresh the expired access_token. + */ + public String refreshToken() { + return refreshToken; + } + + /** + * The date-time when the access token should be refreshed. + */ + public OffsetDateTime tokenExpiryDate() { + return tokenExpiryDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Access Token for making authenticated requests. + */ + public SourceTrustpilotOAuth20 withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The API key of the Trustpilot API application. (represents the OAuth Client ID) + */ + public SourceTrustpilotOAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Secret of the Trustpilot API application. (represents the OAuth Client Secret) + */ + public SourceTrustpilotOAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The key to refresh the expired access_token. + */ + public SourceTrustpilotOAuth20 withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * The date-time when the access token should be refreshed. + */ + public SourceTrustpilotOAuth20 withTokenExpiryDate(OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.tokenExpiryDate = tokenExpiryDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceTrustpilotOAuth20 other = (SourceTrustpilotOAuth20) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.tokenExpiryDate, other.tokenExpiryDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authType, + clientId, + clientSecret, + refreshToken, + tokenExpiryDate); + } + + @Override + public String toString() { + return Utils.toString(SourceTrustpilotOAuth20.class, + "accessToken", accessToken, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken, + "tokenExpiryDate", tokenExpiryDate); + } + + public final static class Builder { + + private String accessToken; + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private OffsetDateTime tokenExpiryDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Access Token for making authenticated requests. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The API key of the Trustpilot API application. (represents the OAuth Client ID) + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Secret of the Trustpilot API application. (represents the OAuth Client Secret) + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The key to refresh the expired access_token. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * The date-time when the access token should be refreshed. + */ + public Builder tokenExpiryDate(OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.tokenExpiryDate = tokenExpiryDate; + return this; + } + + public SourceTrustpilotOAuth20 build() { + return new SourceTrustpilotOAuth20( + accessToken, + clientId, + clientSecret, + refreshToken, + tokenExpiryDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"oauth2.0\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTrustpilotSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceTrustpilotSchemasAuthType.java new file mode 100644 index 000000000..ab4235383 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTrustpilotSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceTrustpilotSchemasAuthType { + APIKEY("apikey"); + + @JsonValue + private final String value; + + private SourceTrustpilotSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTvmazeSchedule.java b/src/main/java/com/airbyte/api/models/shared/SourceTvmazeSchedule.java new file mode 100644 index 000000000..957d94b7f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTvmazeSchedule.java @@ -0,0 +1,302 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceTvmazeSchedule { + + /** + * Country code for domestic TV schedule retrieval. + */ + @JsonProperty("domestic_schedule_country_code") + private String domesticScheduleCountryCode; + + /** + * End date for TV schedule retrieval. May be in the future. Optional. + * + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + @JsonProperty("sourceType") + private TvmazeSchedule sourceType; + + /** + * Start date for TV schedule retrieval. May be in the future. + */ + @JsonProperty("start_date") + private String startDate; + + /** + * ISO 3166-1 country code for web TV schedule retrieval. Leave blank for + * all countries plus global web channels (e.g. Netflix). Alternatively, + * set to 'global' for just global web channels. + * + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("web_schedule_country_code") + private Optional webScheduleCountryCode; + + public SourceTvmazeSchedule( + @JsonProperty("domestic_schedule_country_code") String domesticScheduleCountryCode, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("start_date") String startDate, + @JsonProperty("web_schedule_country_code") Optional webScheduleCountryCode) { + Utils.checkNotNull(domesticScheduleCountryCode, "domesticScheduleCountryCode"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(webScheduleCountryCode, "webScheduleCountryCode"); + this.domesticScheduleCountryCode = domesticScheduleCountryCode; + this.endDate = endDate; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.webScheduleCountryCode = webScheduleCountryCode; + } + + /** + * Country code for domestic TV schedule retrieval. + */ + public String domesticScheduleCountryCode() { + return domesticScheduleCountryCode; + } + + /** + * End date for TV schedule retrieval. May be in the future. Optional. + * + */ + public Optional endDate() { + return endDate; + } + + public TvmazeSchedule sourceType() { + return sourceType; + } + + /** + * Start date for TV schedule retrieval. May be in the future. + */ + public String startDate() { + return startDate; + } + + /** + * ISO 3166-1 country code for web TV schedule retrieval. Leave blank for + * all countries plus global web channels (e.g. Netflix). Alternatively, + * set to 'global' for just global web channels. + * + */ + public Optional webScheduleCountryCode() { + return webScheduleCountryCode; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Country code for domestic TV schedule retrieval. + */ + public SourceTvmazeSchedule withDomesticScheduleCountryCode(String domesticScheduleCountryCode) { + Utils.checkNotNull(domesticScheduleCountryCode, "domesticScheduleCountryCode"); + this.domesticScheduleCountryCode = domesticScheduleCountryCode; + return this; + } + + /** + * End date for TV schedule retrieval. May be in the future. Optional. + * + */ + public SourceTvmazeSchedule withEndDate(String endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * End date for TV schedule retrieval. May be in the future. Optional. + * + */ + public SourceTvmazeSchedule withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Start date for TV schedule retrieval. May be in the future. + */ + public SourceTvmazeSchedule withStartDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * ISO 3166-1 country code for web TV schedule retrieval. Leave blank for + * all countries plus global web channels (e.g. Netflix). Alternatively, + * set to 'global' for just global web channels. + * + */ + public SourceTvmazeSchedule withWebScheduleCountryCode(String webScheduleCountryCode) { + Utils.checkNotNull(webScheduleCountryCode, "webScheduleCountryCode"); + this.webScheduleCountryCode = Optional.ofNullable(webScheduleCountryCode); + return this; + } + + /** + * ISO 3166-1 country code for web TV schedule retrieval. Leave blank for + * all countries plus global web channels (e.g. Netflix). Alternatively, + * set to 'global' for just global web channels. + * + */ + public SourceTvmazeSchedule withWebScheduleCountryCode(Optional webScheduleCountryCode) { + Utils.checkNotNull(webScheduleCountryCode, "webScheduleCountryCode"); + this.webScheduleCountryCode = webScheduleCountryCode; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceTvmazeSchedule other = (SourceTvmazeSchedule) o; + return + java.util.Objects.deepEquals(this.domesticScheduleCountryCode, other.domesticScheduleCountryCode) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.webScheduleCountryCode, other.webScheduleCountryCode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + domesticScheduleCountryCode, + endDate, + sourceType, + startDate, + webScheduleCountryCode); + } + + @Override + public String toString() { + return Utils.toString(SourceTvmazeSchedule.class, + "domesticScheduleCountryCode", domesticScheduleCountryCode, + "endDate", endDate, + "sourceType", sourceType, + "startDate", startDate, + "webScheduleCountryCode", webScheduleCountryCode); + } + + public final static class Builder { + + private String domesticScheduleCountryCode; + + private Optional endDate = Optional.empty(); + + private String startDate; + + private Optional webScheduleCountryCode = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Country code for domestic TV schedule retrieval. + */ + public Builder domesticScheduleCountryCode(String domesticScheduleCountryCode) { + Utils.checkNotNull(domesticScheduleCountryCode, "domesticScheduleCountryCode"); + this.domesticScheduleCountryCode = domesticScheduleCountryCode; + return this; + } + + /** + * End date for TV schedule retrieval. May be in the future. Optional. + * + */ + public Builder endDate(String endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * End date for TV schedule retrieval. May be in the future. Optional. + * + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Start date for TV schedule retrieval. May be in the future. + */ + public Builder startDate(String startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * ISO 3166-1 country code for web TV schedule retrieval. Leave blank for + * all countries plus global web channels (e.g. Netflix). Alternatively, + * set to 'global' for just global web channels. + * + */ + public Builder webScheduleCountryCode(String webScheduleCountryCode) { + Utils.checkNotNull(webScheduleCountryCode, "webScheduleCountryCode"); + this.webScheduleCountryCode = Optional.ofNullable(webScheduleCountryCode); + return this; + } + + /** + * ISO 3166-1 country code for web TV schedule retrieval. Leave blank for + * all countries plus global web channels (e.g. Netflix). Alternatively, + * set to 'global' for just global web channels. + * + */ + public Builder webScheduleCountryCode(Optional webScheduleCountryCode) { + Utils.checkNotNull(webScheduleCountryCode, "webScheduleCountryCode"); + this.webScheduleCountryCode = webScheduleCountryCode; + return this; + } + + public SourceTvmazeSchedule build() { + return new SourceTvmazeSchedule( + domesticScheduleCountryCode, + endDate, + startDate, + webScheduleCountryCode); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"tvmaze-schedule\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTwilio.java b/src/main/java/com/airbyte/api/models/shared/SourceTwilio.java new file mode 100644 index 000000000..f062f3245 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTwilio.java @@ -0,0 +1,271 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceTwilio { + + /** + * Twilio account SID + */ + @JsonProperty("account_sid") + private String accountSid; + + /** + * Twilio Auth Token. + */ + @JsonProperty("auth_token") + private String authToken; + + /** + * How far into the past to look for records. (in minutes) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lookback_window") + private Optional lookbackWindow; + + @JsonProperty("sourceType") + private Twilio sourceType; + + /** + * UTC date and time in the format 2020-10-01T00:00:00Z. Any data before this date will not be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + public SourceTwilio( + @JsonProperty("account_sid") String accountSid, + @JsonProperty("auth_token") String authToken, + @JsonProperty("lookback_window") Optional lookbackWindow, + @JsonProperty("start_date") OffsetDateTime startDate) { + Utils.checkNotNull(accountSid, "accountSid"); + Utils.checkNotNull(authToken, "authToken"); + Utils.checkNotNull(lookbackWindow, "lookbackWindow"); + Utils.checkNotNull(startDate, "startDate"); + this.accountSid = accountSid; + this.authToken = authToken; + this.lookbackWindow = lookbackWindow; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Twilio account SID + */ + public String accountSid() { + return accountSid; + } + + /** + * Twilio Auth Token. + */ + public String authToken() { + return authToken; + } + + /** + * How far into the past to look for records. (in minutes) + */ + public Optional lookbackWindow() { + return lookbackWindow; + } + + public Twilio sourceType() { + return sourceType; + } + + /** + * UTC date and time in the format 2020-10-01T00:00:00Z. Any data before this date will not be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Twilio account SID + */ + public SourceTwilio withAccountSid(String accountSid) { + Utils.checkNotNull(accountSid, "accountSid"); + this.accountSid = accountSid; + return this; + } + + /** + * Twilio Auth Token. + */ + public SourceTwilio withAuthToken(String authToken) { + Utils.checkNotNull(authToken, "authToken"); + this.authToken = authToken; + return this; + } + + /** + * How far into the past to look for records. (in minutes) + */ + public SourceTwilio withLookbackWindow(long lookbackWindow) { + Utils.checkNotNull(lookbackWindow, "lookbackWindow"); + this.lookbackWindow = Optional.ofNullable(lookbackWindow); + return this; + } + + /** + * How far into the past to look for records. (in minutes) + */ + public SourceTwilio withLookbackWindow(Optional lookbackWindow) { + Utils.checkNotNull(lookbackWindow, "lookbackWindow"); + this.lookbackWindow = lookbackWindow; + return this; + } + + /** + * UTC date and time in the format 2020-10-01T00:00:00Z. Any data before this date will not be replicated. + */ + public SourceTwilio withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceTwilio other = (SourceTwilio) o; + return + java.util.Objects.deepEquals(this.accountSid, other.accountSid) && + java.util.Objects.deepEquals(this.authToken, other.authToken) && + java.util.Objects.deepEquals(this.lookbackWindow, other.lookbackWindow) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accountSid, + authToken, + lookbackWindow, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceTwilio.class, + "accountSid", accountSid, + "authToken", authToken, + "lookbackWindow", lookbackWindow, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String accountSid; + + private String authToken; + + private Optional lookbackWindow; + + private OffsetDateTime startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Twilio account SID + */ + public Builder accountSid(String accountSid) { + Utils.checkNotNull(accountSid, "accountSid"); + this.accountSid = accountSid; + return this; + } + + /** + * Twilio Auth Token. + */ + public Builder authToken(String authToken) { + Utils.checkNotNull(authToken, "authToken"); + this.authToken = authToken; + return this; + } + + /** + * How far into the past to look for records. (in minutes) + */ + public Builder lookbackWindow(long lookbackWindow) { + Utils.checkNotNull(lookbackWindow, "lookbackWindow"); + this.lookbackWindow = Optional.ofNullable(lookbackWindow); + return this; + } + + /** + * How far into the past to look for records. (in minutes) + */ + public Builder lookbackWindow(Optional lookbackWindow) { + Utils.checkNotNull(lookbackWindow, "lookbackWindow"); + this.lookbackWindow = lookbackWindow; + return this; + } + + /** + * UTC date and time in the format 2020-10-01T00:00:00Z. Any data before this date will not be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceTwilio build() { + if (lookbackWindow == null) { + lookbackWindow = _SINGLETON_VALUE_LookbackWindow.value(); + } + return new SourceTwilio( + accountSid, + authToken, + lookbackWindow, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_LookbackWindow = + new LazySingletonValue<>( + "lookback_window", + "0", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"twilio\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTwilioTaskrouter.java b/src/main/java/com/airbyte/api/models/shared/SourceTwilioTaskrouter.java new file mode 100644 index 000000000..54c92edb6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTwilioTaskrouter.java @@ -0,0 +1,157 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceTwilioTaskrouter { + + /** + * Twilio Account ID + */ + @JsonProperty("account_sid") + private String accountSid; + + /** + * Twilio Auth Token + */ + @JsonProperty("auth_token") + private String authToken; + + @JsonProperty("sourceType") + private TwilioTaskrouter sourceType; + + public SourceTwilioTaskrouter( + @JsonProperty("account_sid") String accountSid, + @JsonProperty("auth_token") String authToken) { + Utils.checkNotNull(accountSid, "accountSid"); + Utils.checkNotNull(authToken, "authToken"); + this.accountSid = accountSid; + this.authToken = authToken; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Twilio Account ID + */ + public String accountSid() { + return accountSid; + } + + /** + * Twilio Auth Token + */ + public String authToken() { + return authToken; + } + + public TwilioTaskrouter sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Twilio Account ID + */ + public SourceTwilioTaskrouter withAccountSid(String accountSid) { + Utils.checkNotNull(accountSid, "accountSid"); + this.accountSid = accountSid; + return this; + } + + /** + * Twilio Auth Token + */ + public SourceTwilioTaskrouter withAuthToken(String authToken) { + Utils.checkNotNull(authToken, "authToken"); + this.authToken = authToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceTwilioTaskrouter other = (SourceTwilioTaskrouter) o; + return + java.util.Objects.deepEquals(this.accountSid, other.accountSid) && + java.util.Objects.deepEquals(this.authToken, other.authToken) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accountSid, + authToken, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceTwilioTaskrouter.class, + "accountSid", accountSid, + "authToken", authToken, + "sourceType", sourceType); + } + + public final static class Builder { + + private String accountSid; + + private String authToken; + + private Builder() { + // force use of static builder() method + } + + /** + * Twilio Account ID + */ + public Builder accountSid(String accountSid) { + Utils.checkNotNull(accountSid, "accountSid"); + this.accountSid = accountSid; + return this; + } + + /** + * Twilio Auth Token + */ + public Builder authToken(String authToken) { + Utils.checkNotNull(authToken, "authToken"); + this.authToken = authToken; + return this; + } + + public SourceTwilioTaskrouter build() { + return new SourceTwilioTaskrouter( + accountSid, + authToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"twilio-taskrouter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTwitter.java b/src/main/java/com/airbyte/api/models/shared/SourceTwitter.java new file mode 100644 index 000000000..b92a3b8d4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTwitter.java @@ -0,0 +1,281 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceTwitter { + + /** + * App only Bearer Token. See the <a href="https://developer.twitter.com/en/docs/authentication/oauth-2-0/bearer-tokens">docs</a> for more information on how to obtain this token. + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * The end date for retrieving tweets must be a minimum of 10 seconds prior to the request time. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + /** + * Query for matching Tweets. You can learn how to build this query by reading <a href="https://developer.twitter.com/en/docs/twitter-api/tweets/search/integrate/build-a-query"> build a query guide </a>. + */ + @JsonProperty("query") + private String query; + + @JsonProperty("sourceType") + private Twitter sourceType; + + /** + * The start date for retrieving tweets cannot be more than 7 days in the past. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceTwitter( + @JsonProperty("api_key") String apiKey, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("query") String query, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(query, "query"); + Utils.checkNotNull(startDate, "startDate"); + this.apiKey = apiKey; + this.endDate = endDate; + this.query = query; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * App only Bearer Token. See the <a href="https://developer.twitter.com/en/docs/authentication/oauth-2-0/bearer-tokens">docs</a> for more information on how to obtain this token. + */ + public String apiKey() { + return apiKey; + } + + /** + * The end date for retrieving tweets must be a minimum of 10 seconds prior to the request time. + */ + public Optional endDate() { + return endDate; + } + + /** + * Query for matching Tweets. You can learn how to build this query by reading <a href="https://developer.twitter.com/en/docs/twitter-api/tweets/search/integrate/build-a-query"> build a query guide </a>. + */ + public String query() { + return query; + } + + public Twitter sourceType() { + return sourceType; + } + + /** + * The start date for retrieving tweets cannot be more than 7 days in the past. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * App only Bearer Token. See the <a href="https://developer.twitter.com/en/docs/authentication/oauth-2-0/bearer-tokens">docs</a> for more information on how to obtain this token. + */ + public SourceTwitter withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The end date for retrieving tweets must be a minimum of 10 seconds prior to the request time. + */ + public SourceTwitter withEndDate(OffsetDateTime endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * The end date for retrieving tweets must be a minimum of 10 seconds prior to the request time. + */ + public SourceTwitter withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Query for matching Tweets. You can learn how to build this query by reading <a href="https://developer.twitter.com/en/docs/twitter-api/tweets/search/integrate/build-a-query"> build a query guide </a>. + */ + public SourceTwitter withQuery(String query) { + Utils.checkNotNull(query, "query"); + this.query = query; + return this; + } + + /** + * The start date for retrieving tweets cannot be more than 7 days in the past. + */ + public SourceTwitter withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The start date for retrieving tweets cannot be more than 7 days in the past. + */ + public SourceTwitter withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceTwitter other = (SourceTwitter) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.query, other.query) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + endDate, + query, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceTwitter.class, + "apiKey", apiKey, + "endDate", endDate, + "query", query, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String apiKey; + + private Optional endDate = Optional.empty(); + + private String query; + + private Optional startDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * App only Bearer Token. See the <a href="https://developer.twitter.com/en/docs/authentication/oauth-2-0/bearer-tokens">docs</a> for more information on how to obtain this token. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The end date for retrieving tweets must be a minimum of 10 seconds prior to the request time. + */ + public Builder endDate(OffsetDateTime endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * The end date for retrieving tweets must be a minimum of 10 seconds prior to the request time. + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Query for matching Tweets. You can learn how to build this query by reading <a href="https://developer.twitter.com/en/docs/twitter-api/tweets/search/integrate/build-a-query"> build a query guide </a>. + */ + public Builder query(String query) { + Utils.checkNotNull(query, "query"); + this.query = query; + return this; + } + + /** + * The start date for retrieving tweets cannot be more than 7 days in the past. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The start date for retrieving tweets cannot be more than 7 days in the past. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceTwitter build() { + return new SourceTwitter( + apiKey, + endDate, + query, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"twitter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTypeform.java b/src/main/java/com/airbyte/api/models/shared/SourceTypeform.java new file mode 100644 index 000000000..a14ed8935 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTypeform.java @@ -0,0 +1,229 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceTypeform { + + @JsonProperty("credentials") + private SourceTypeformAuthorizationMethod credentials; + + /** + * When this parameter is set, the connector will replicate data only from the input forms. Otherwise, all forms in your Typeform account will be replicated. You can find form IDs in your form URLs. For example, in the URL "https://mysite.typeform.com/to/u6nXL7" the form_id is u6nXL7. You can find form URLs on Share panel + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("form_ids") + private Optional> formIds; + + @JsonProperty("sourceType") + private SourceTypeformTypeform sourceType; + + /** + * The date from which you'd like to replicate data for Typeform API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + public SourceTypeform( + @JsonProperty("credentials") SourceTypeformAuthorizationMethod credentials, + @JsonProperty("form_ids") Optional> formIds, + @JsonProperty("start_date") Optional startDate) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(formIds, "formIds"); + Utils.checkNotNull(startDate, "startDate"); + this.credentials = credentials; + this.formIds = formIds; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + public SourceTypeformAuthorizationMethod credentials() { + return credentials; + } + + /** + * When this parameter is set, the connector will replicate data only from the input forms. Otherwise, all forms in your Typeform account will be replicated. You can find form IDs in your form URLs. For example, in the URL "https://mysite.typeform.com/to/u6nXL7" the form_id is u6nXL7. You can find form URLs on Share panel + */ + public Optional> formIds() { + return formIds; + } + + public SourceTypeformTypeform sourceType() { + return sourceType; + } + + /** + * The date from which you'd like to replicate data for Typeform API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public Optional startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceTypeform withCredentials(SourceTypeformAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * When this parameter is set, the connector will replicate data only from the input forms. Otherwise, all forms in your Typeform account will be replicated. You can find form IDs in your form URLs. For example, in the URL "https://mysite.typeform.com/to/u6nXL7" the form_id is u6nXL7. You can find form URLs on Share panel + */ + public SourceTypeform withFormIds(java.util.List formIds) { + Utils.checkNotNull(formIds, "formIds"); + this.formIds = Optional.ofNullable(formIds); + return this; + } + + /** + * When this parameter is set, the connector will replicate data only from the input forms. Otherwise, all forms in your Typeform account will be replicated. You can find form IDs in your form URLs. For example, in the URL "https://mysite.typeform.com/to/u6nXL7" the form_id is u6nXL7. You can find form URLs on Share panel + */ + public SourceTypeform withFormIds(Optional> formIds) { + Utils.checkNotNull(formIds, "formIds"); + this.formIds = formIds; + return this; + } + + /** + * The date from which you'd like to replicate data for Typeform API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public SourceTypeform withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date from which you'd like to replicate data for Typeform API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public SourceTypeform withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceTypeform other = (SourceTypeform) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.formIds, other.formIds) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + formIds, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceTypeform.class, + "credentials", credentials, + "formIds", formIds, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private SourceTypeformAuthorizationMethod credentials; + + private Optional> formIds = Optional.empty(); + + private Optional startDate = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(SourceTypeformAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * When this parameter is set, the connector will replicate data only from the input forms. Otherwise, all forms in your Typeform account will be replicated. You can find form IDs in your form URLs. For example, in the URL "https://mysite.typeform.com/to/u6nXL7" the form_id is u6nXL7. You can find form URLs on Share panel + */ + public Builder formIds(java.util.List formIds) { + Utils.checkNotNull(formIds, "formIds"); + this.formIds = Optional.ofNullable(formIds); + return this; + } + + /** + * When this parameter is set, the connector will replicate data only from the input forms. Otherwise, all forms in your Typeform account will be replicated. You can find form IDs in your form URLs. For example, in the URL "https://mysite.typeform.com/to/u6nXL7" the form_id is u6nXL7. You can find form URLs on Share panel + */ + public Builder formIds(Optional> formIds) { + Utils.checkNotNull(formIds, "formIds"); + this.formIds = formIds; + return this; + } + + /** + * The date from which you'd like to replicate data for Typeform API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The date from which you'd like to replicate data for Typeform API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceTypeform build() { + return new SourceTypeform( + credentials, + formIds, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"typeform\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTypeformAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceTypeformAuthType.java new file mode 100644 index 000000000..c6226207c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTypeformAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceTypeformAuthType { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private SourceTypeformAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTypeformAuthorizationMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceTypeformAuthorizationMethod.java new file mode 100644 index 000000000..66322a2c1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTypeformAuthorizationMethod.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceTypeformAuthorizationMethod._Deserializer.class) +public class SourceTypeformAuthorizationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceTypeformAuthorizationMethod(TypedObject value) { + this.value = value; + } + + public static SourceTypeformAuthorizationMethod of(SourceTypeformOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new SourceTypeformAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceTypeformAuthorizationMethod of(SourceTypeformPrivateToken value) { + Utils.checkNotNull(value, "value"); + return new SourceTypeformAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceTypeformOAuth20}
    • + *
    • {@code SourceTypeformPrivateToken}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceTypeformAuthorizationMethod other = (SourceTypeformAuthorizationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceTypeformAuthorizationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceTypeformAuthorizationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTypeformOAuth20.java b/src/main/java/com/airbyte/api/models/shared/SourceTypeformOAuth20.java new file mode 100644 index 000000000..a3c985492 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTypeformOAuth20.java @@ -0,0 +1,284 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceTypeformOAuth20 { + + /** + * Access Token for making authenticated requests. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * The Client ID of the Typeform developer application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret the Typeform developer application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * The key to refresh the expired access_token. + */ + @JsonProperty("refresh_token") + private String refreshToken; + + /** + * The date-time when the access token should be refreshed. + */ + @JsonProperty("token_expiry_date") + private OffsetDateTime tokenExpiryDate; + + public SourceTypeformOAuth20( + @JsonProperty("access_token") String accessToken, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("token_expiry_date") OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.accessToken = accessToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.refreshToken = refreshToken; + this.tokenExpiryDate = tokenExpiryDate; + } + + /** + * Access Token for making authenticated requests. + */ + public String accessToken() { + return accessToken; + } + + public Optional authType() { + return authType; + } + + /** + * The Client ID of the Typeform developer application. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret the Typeform developer application. + */ + public String clientSecret() { + return clientSecret; + } + + /** + * The key to refresh the expired access_token. + */ + public String refreshToken() { + return refreshToken; + } + + /** + * The date-time when the access token should be refreshed. + */ + public OffsetDateTime tokenExpiryDate() { + return tokenExpiryDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Access Token for making authenticated requests. + */ + public SourceTypeformOAuth20 withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of the Typeform developer application. + */ + public SourceTypeformOAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret the Typeform developer application. + */ + public SourceTypeformOAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The key to refresh the expired access_token. + */ + public SourceTypeformOAuth20 withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * The date-time when the access token should be refreshed. + */ + public SourceTypeformOAuth20 withTokenExpiryDate(OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.tokenExpiryDate = tokenExpiryDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceTypeformOAuth20 other = (SourceTypeformOAuth20) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.tokenExpiryDate, other.tokenExpiryDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authType, + clientId, + clientSecret, + refreshToken, + tokenExpiryDate); + } + + @Override + public String toString() { + return Utils.toString(SourceTypeformOAuth20.class, + "accessToken", accessToken, + "authType", authType, + "clientId", clientId, + "clientSecret", clientSecret, + "refreshToken", refreshToken, + "tokenExpiryDate", tokenExpiryDate); + } + + public final static class Builder { + + private String accessToken; + + private String clientId; + + private String clientSecret; + + private String refreshToken; + + private OffsetDateTime tokenExpiryDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Access Token for making authenticated requests. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of the Typeform developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret the Typeform developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * The key to refresh the expired access_token. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * The date-time when the access token should be refreshed. + */ + public Builder tokenExpiryDate(OffsetDateTime tokenExpiryDate) { + Utils.checkNotNull(tokenExpiryDate, "tokenExpiryDate"); + this.tokenExpiryDate = tokenExpiryDate; + return this; + } + + public SourceTypeformOAuth20 build() { + return new SourceTypeformOAuth20( + accessToken, + clientId, + clientSecret, + refreshToken, + tokenExpiryDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"oauth2.0\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTypeformPrivateToken.java b/src/main/java/com/airbyte/api/models/shared/SourceTypeformPrivateToken.java new file mode 100644 index 000000000..e699ebb75 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTypeformPrivateToken.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceTypeformPrivateToken { + + /** + * Log into your Typeform account and then generate a personal Access Token. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + public SourceTypeformPrivateToken( + @JsonProperty("access_token") String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + } + + /** + * Log into your Typeform account and then generate a personal Access Token. + */ + public String accessToken() { + return accessToken; + } + + public Optional authType() { + return authType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Log into your Typeform account and then generate a personal Access Token. + */ + public SourceTypeformPrivateToken withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceTypeformPrivateToken other = (SourceTypeformPrivateToken) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authType, other.authType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authType); + } + + @Override + public String toString() { + return Utils.toString(SourceTypeformPrivateToken.class, + "accessToken", accessToken, + "authType", authType); + } + + public final static class Builder { + + private String accessToken; + + private Builder() { + // force use of static builder() method + } + + /** + * Log into your Typeform account and then generate a personal Access Token. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + public SourceTypeformPrivateToken build() { + return new SourceTypeformPrivateToken( + accessToken); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"access_token\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTypeformSchemasAuthType.java b/src/main/java/com/airbyte/api/models/shared/SourceTypeformSchemasAuthType.java new file mode 100644 index 000000000..ea01eac43 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTypeformSchemasAuthType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceTypeformSchemasAuthType { + ACCESS_TOKEN("access_token"); + + @JsonValue + private final String value; + + private SourceTypeformSchemasAuthType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceTypeformTypeform.java b/src/main/java/com/airbyte/api/models/shared/SourceTypeformTypeform.java new file mode 100644 index 000000000..ddf90a0b0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceTypeformTypeform.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceTypeformTypeform { + TYPEFORM("typeform"); + + @JsonValue + private final String value; + + private SourceTypeformTypeform(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceUsCensus.java b/src/main/java/com/airbyte/api/models/shared/SourceUsCensus.java new file mode 100644 index 000000000..98342469e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceUsCensus.java @@ -0,0 +1,219 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceUsCensus { + + /** + * Your API Key. Get your key <a href="https://api.census.gov/data/key_signup.html">here</a>. + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * The query parameters portion of the GET request, without the api key + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("query_params") + private Optional queryParams; + + /** + * The path portion of the GET request + */ + @JsonProperty("query_path") + private String queryPath; + + @JsonProperty("sourceType") + private UsCensus sourceType; + + public SourceUsCensus( + @JsonProperty("api_key") String apiKey, + @JsonProperty("query_params") Optional queryParams, + @JsonProperty("query_path") String queryPath) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(queryParams, "queryParams"); + Utils.checkNotNull(queryPath, "queryPath"); + this.apiKey = apiKey; + this.queryParams = queryParams; + this.queryPath = queryPath; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Your API Key. Get your key <a href="https://api.census.gov/data/key_signup.html">here</a>. + */ + public String apiKey() { + return apiKey; + } + + /** + * The query parameters portion of the GET request, without the api key + */ + public Optional queryParams() { + return queryParams; + } + + /** + * The path portion of the GET request + */ + public String queryPath() { + return queryPath; + } + + public UsCensus sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your API Key. Get your key <a href="https://api.census.gov/data/key_signup.html">here</a>. + */ + public SourceUsCensus withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The query parameters portion of the GET request, without the api key + */ + public SourceUsCensus withQueryParams(String queryParams) { + Utils.checkNotNull(queryParams, "queryParams"); + this.queryParams = Optional.ofNullable(queryParams); + return this; + } + + /** + * The query parameters portion of the GET request, without the api key + */ + public SourceUsCensus withQueryParams(Optional queryParams) { + Utils.checkNotNull(queryParams, "queryParams"); + this.queryParams = queryParams; + return this; + } + + /** + * The path portion of the GET request + */ + public SourceUsCensus withQueryPath(String queryPath) { + Utils.checkNotNull(queryPath, "queryPath"); + this.queryPath = queryPath; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceUsCensus other = (SourceUsCensus) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.queryParams, other.queryParams) && + java.util.Objects.deepEquals(this.queryPath, other.queryPath) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + queryParams, + queryPath, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceUsCensus.class, + "apiKey", apiKey, + "queryParams", queryParams, + "queryPath", queryPath, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiKey; + + private Optional queryParams = Optional.empty(); + + private String queryPath; + + private Builder() { + // force use of static builder() method + } + + /** + * Your API Key. Get your key <a href="https://api.census.gov/data/key_signup.html">here</a>. + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The query parameters portion of the GET request, without the api key + */ + public Builder queryParams(String queryParams) { + Utils.checkNotNull(queryParams, "queryParams"); + this.queryParams = Optional.ofNullable(queryParams); + return this; + } + + /** + * The query parameters portion of the GET request, without the api key + */ + public Builder queryParams(Optional queryParams) { + Utils.checkNotNull(queryParams, "queryParams"); + this.queryParams = queryParams; + return this; + } + + /** + * The path portion of the GET request + */ + public Builder queryPath(String queryPath) { + Utils.checkNotNull(queryPath, "queryPath"); + this.queryPath = queryPath; + return this; + } + + public SourceUsCensus build() { + return new SourceUsCensus( + apiKey, + queryParams, + queryPath); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"us-census\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceVantage.java b/src/main/java/com/airbyte/api/models/shared/SourceVantage.java new file mode 100644 index 000000000..50bb6b8e7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceVantage.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceVantage { + + /** + * Your API Access token. See <a href="https://vantage.readme.io/reference/authentication">here</a>. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonProperty("sourceType") + private Vantage sourceType; + + public SourceVantage( + @JsonProperty("access_token") String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * Your API Access token. See <a href="https://vantage.readme.io/reference/authentication">here</a>. + */ + public String accessToken() { + return accessToken; + } + + public Vantage sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your API Access token. See <a href="https://vantage.readme.io/reference/authentication">here</a>. + */ + public SourceVantage withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceVantage other = (SourceVantage) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceVantage.class, + "accessToken", accessToken, + "sourceType", sourceType); + } + + public final static class Builder { + + private String accessToken; + + private Builder() { + // force use of static builder() method + } + + /** + * Your API Access token. See <a href="https://vantage.readme.io/reference/authentication">here</a>. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + public SourceVantage build() { + return new SourceVantage( + accessToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"vantage\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceWebflow.java b/src/main/java/com/airbyte/api/models/shared/SourceWebflow.java new file mode 100644 index 000000000..b752682fc --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceWebflow.java @@ -0,0 +1,219 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceWebflow { + + /** + * The version of the Webflow API to use. See https://developers.webflow.com/#versioning + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("accept_version") + private Optional acceptVersion; + + /** + * The API token for authenticating to Webflow. See https://university.webflow.com/lesson/intro-to-the-webflow-api + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * The id of the Webflow site you are requesting data from. See https://developers.webflow.com/#sites + */ + @JsonProperty("site_id") + private String siteId; + + @JsonProperty("sourceType") + private Webflow sourceType; + + public SourceWebflow( + @JsonProperty("accept_version") Optional acceptVersion, + @JsonProperty("api_key") String apiKey, + @JsonProperty("site_id") String siteId) { + Utils.checkNotNull(acceptVersion, "acceptVersion"); + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(siteId, "siteId"); + this.acceptVersion = acceptVersion; + this.apiKey = apiKey; + this.siteId = siteId; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * The version of the Webflow API to use. See https://developers.webflow.com/#versioning + */ + public Optional acceptVersion() { + return acceptVersion; + } + + /** + * The API token for authenticating to Webflow. See https://university.webflow.com/lesson/intro-to-the-webflow-api + */ + public String apiKey() { + return apiKey; + } + + /** + * The id of the Webflow site you are requesting data from. See https://developers.webflow.com/#sites + */ + public String siteId() { + return siteId; + } + + public Webflow sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The version of the Webflow API to use. See https://developers.webflow.com/#versioning + */ + public SourceWebflow withAcceptVersion(String acceptVersion) { + Utils.checkNotNull(acceptVersion, "acceptVersion"); + this.acceptVersion = Optional.ofNullable(acceptVersion); + return this; + } + + /** + * The version of the Webflow API to use. See https://developers.webflow.com/#versioning + */ + public SourceWebflow withAcceptVersion(Optional acceptVersion) { + Utils.checkNotNull(acceptVersion, "acceptVersion"); + this.acceptVersion = acceptVersion; + return this; + } + + /** + * The API token for authenticating to Webflow. See https://university.webflow.com/lesson/intro-to-the-webflow-api + */ + public SourceWebflow withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The id of the Webflow site you are requesting data from. See https://developers.webflow.com/#sites + */ + public SourceWebflow withSiteId(String siteId) { + Utils.checkNotNull(siteId, "siteId"); + this.siteId = siteId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceWebflow other = (SourceWebflow) o; + return + java.util.Objects.deepEquals(this.acceptVersion, other.acceptVersion) && + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.siteId, other.siteId) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + acceptVersion, + apiKey, + siteId, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceWebflow.class, + "acceptVersion", acceptVersion, + "apiKey", apiKey, + "siteId", siteId, + "sourceType", sourceType); + } + + public final static class Builder { + + private Optional acceptVersion = Optional.empty(); + + private String apiKey; + + private String siteId; + + private Builder() { + // force use of static builder() method + } + + /** + * The version of the Webflow API to use. See https://developers.webflow.com/#versioning + */ + public Builder acceptVersion(String acceptVersion) { + Utils.checkNotNull(acceptVersion, "acceptVersion"); + this.acceptVersion = Optional.ofNullable(acceptVersion); + return this; + } + + /** + * The version of the Webflow API to use. See https://developers.webflow.com/#versioning + */ + public Builder acceptVersion(Optional acceptVersion) { + Utils.checkNotNull(acceptVersion, "acceptVersion"); + this.acceptVersion = acceptVersion; + return this; + } + + /** + * The API token for authenticating to Webflow. See https://university.webflow.com/lesson/intro-to-the-webflow-api + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * The id of the Webflow site you are requesting data from. See https://developers.webflow.com/#sites + */ + public Builder siteId(String siteId) { + Utils.checkNotNull(siteId, "siteId"); + this.siteId = siteId; + return this; + } + + public SourceWebflow build() { + return new SourceWebflow( + acceptVersion, + apiKey, + siteId); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"webflow\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceWhiskyHunter.java b/src/main/java/com/airbyte/api/models/shared/SourceWhiskyHunter.java new file mode 100644 index 000000000..d604eb0d4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceWhiskyHunter.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceWhiskyHunter { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sourceType") + private Optional sourceType; + + public SourceWhiskyHunter() { + + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + public Optional sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceWhiskyHunter other = (SourceWhiskyHunter) o; + return + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceWhiskyHunter.class, + "sourceType", sourceType); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceWhiskyHunter build() { + return new SourceWhiskyHunter( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"whisky-hunter\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceWikipediaPageviews.java b/src/main/java/com/airbyte/api/models/shared/SourceWikipediaPageviews.java new file mode 100644 index 000000000..c5507b263 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceWikipediaPageviews.java @@ -0,0 +1,357 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceWikipediaPageviews { + + /** + * If you want to filter by access method, use one of desktop, mobile-app or mobile-web. If you are interested in pageviews regardless of access method, use all-access. + */ + @JsonProperty("access") + private String access; + + /** + * If you want to filter by agent type, use one of user, automated or spider. If you are interested in pageviews regardless of agent type, use all-agents. + */ + @JsonProperty("agent") + private String agent; + + /** + * The title of any article in the specified project. Any spaces should be replaced with underscores. It also should be URI-encoded, so that non-URI-safe characters like %, / or ? are accepted. + */ + @JsonProperty("article") + private String article; + + /** + * The ISO 3166-1 alpha-2 code of a country for which to retrieve top articles. + */ + @JsonProperty("country") + private String country; + + /** + * The date of the last day to include, in YYYYMMDD or YYYYMMDDHH format. + */ + @JsonProperty("end") + private String end; + + /** + * If you want to filter by project, use the domain of any Wikimedia project. + */ + @JsonProperty("project") + private String project; + + @JsonProperty("sourceType") + private WikipediaPageviews sourceType; + + /** + * The date of the first day to include, in YYYYMMDD or YYYYMMDDHH format. + */ + @JsonProperty("start") + private String start; + + public SourceWikipediaPageviews( + @JsonProperty("access") String access, + @JsonProperty("agent") String agent, + @JsonProperty("article") String article, + @JsonProperty("country") String country, + @JsonProperty("end") String end, + @JsonProperty("project") String project, + @JsonProperty("start") String start) { + Utils.checkNotNull(access, "access"); + Utils.checkNotNull(agent, "agent"); + Utils.checkNotNull(article, "article"); + Utils.checkNotNull(country, "country"); + Utils.checkNotNull(end, "end"); + Utils.checkNotNull(project, "project"); + Utils.checkNotNull(start, "start"); + this.access = access; + this.agent = agent; + this.article = article; + this.country = country; + this.end = end; + this.project = project; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.start = start; + } + + /** + * If you want to filter by access method, use one of desktop, mobile-app or mobile-web. If you are interested in pageviews regardless of access method, use all-access. + */ + public String access() { + return access; + } + + /** + * If you want to filter by agent type, use one of user, automated or spider. If you are interested in pageviews regardless of agent type, use all-agents. + */ + public String agent() { + return agent; + } + + /** + * The title of any article in the specified project. Any spaces should be replaced with underscores. It also should be URI-encoded, so that non-URI-safe characters like %, / or ? are accepted. + */ + public String article() { + return article; + } + + /** + * The ISO 3166-1 alpha-2 code of a country for which to retrieve top articles. + */ + public String country() { + return country; + } + + /** + * The date of the last day to include, in YYYYMMDD or YYYYMMDDHH format. + */ + public String end() { + return end; + } + + /** + * If you want to filter by project, use the domain of any Wikimedia project. + */ + public String project() { + return project; + } + + public WikipediaPageviews sourceType() { + return sourceType; + } + + /** + * The date of the first day to include, in YYYYMMDD or YYYYMMDDHH format. + */ + public String start() { + return start; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * If you want to filter by access method, use one of desktop, mobile-app or mobile-web. If you are interested in pageviews regardless of access method, use all-access. + */ + public SourceWikipediaPageviews withAccess(String access) { + Utils.checkNotNull(access, "access"); + this.access = access; + return this; + } + + /** + * If you want to filter by agent type, use one of user, automated or spider. If you are interested in pageviews regardless of agent type, use all-agents. + */ + public SourceWikipediaPageviews withAgent(String agent) { + Utils.checkNotNull(agent, "agent"); + this.agent = agent; + return this; + } + + /** + * The title of any article in the specified project. Any spaces should be replaced with underscores. It also should be URI-encoded, so that non-URI-safe characters like %, / or ? are accepted. + */ + public SourceWikipediaPageviews withArticle(String article) { + Utils.checkNotNull(article, "article"); + this.article = article; + return this; + } + + /** + * The ISO 3166-1 alpha-2 code of a country for which to retrieve top articles. + */ + public SourceWikipediaPageviews withCountry(String country) { + Utils.checkNotNull(country, "country"); + this.country = country; + return this; + } + + /** + * The date of the last day to include, in YYYYMMDD or YYYYMMDDHH format. + */ + public SourceWikipediaPageviews withEnd(String end) { + Utils.checkNotNull(end, "end"); + this.end = end; + return this; + } + + /** + * If you want to filter by project, use the domain of any Wikimedia project. + */ + public SourceWikipediaPageviews withProject(String project) { + Utils.checkNotNull(project, "project"); + this.project = project; + return this; + } + + /** + * The date of the first day to include, in YYYYMMDD or YYYYMMDDHH format. + */ + public SourceWikipediaPageviews withStart(String start) { + Utils.checkNotNull(start, "start"); + this.start = start; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceWikipediaPageviews other = (SourceWikipediaPageviews) o; + return + java.util.Objects.deepEquals(this.access, other.access) && + java.util.Objects.deepEquals(this.agent, other.agent) && + java.util.Objects.deepEquals(this.article, other.article) && + java.util.Objects.deepEquals(this.country, other.country) && + java.util.Objects.deepEquals(this.end, other.end) && + java.util.Objects.deepEquals(this.project, other.project) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.start, other.start); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + access, + agent, + article, + country, + end, + project, + sourceType, + start); + } + + @Override + public String toString() { + return Utils.toString(SourceWikipediaPageviews.class, + "access", access, + "agent", agent, + "article", article, + "country", country, + "end", end, + "project", project, + "sourceType", sourceType, + "start", start); + } + + public final static class Builder { + + private String access; + + private String agent; + + private String article; + + private String country; + + private String end; + + private String project; + + private String start; + + private Builder() { + // force use of static builder() method + } + + /** + * If you want to filter by access method, use one of desktop, mobile-app or mobile-web. If you are interested in pageviews regardless of access method, use all-access. + */ + public Builder access(String access) { + Utils.checkNotNull(access, "access"); + this.access = access; + return this; + } + + /** + * If you want to filter by agent type, use one of user, automated or spider. If you are interested in pageviews regardless of agent type, use all-agents. + */ + public Builder agent(String agent) { + Utils.checkNotNull(agent, "agent"); + this.agent = agent; + return this; + } + + /** + * The title of any article in the specified project. Any spaces should be replaced with underscores. It also should be URI-encoded, so that non-URI-safe characters like %, / or ? are accepted. + */ + public Builder article(String article) { + Utils.checkNotNull(article, "article"); + this.article = article; + return this; + } + + /** + * The ISO 3166-1 alpha-2 code of a country for which to retrieve top articles. + */ + public Builder country(String country) { + Utils.checkNotNull(country, "country"); + this.country = country; + return this; + } + + /** + * The date of the last day to include, in YYYYMMDD or YYYYMMDDHH format. + */ + public Builder end(String end) { + Utils.checkNotNull(end, "end"); + this.end = end; + return this; + } + + /** + * If you want to filter by project, use the domain of any Wikimedia project. + */ + public Builder project(String project) { + Utils.checkNotNull(project, "project"); + this.project = project; + return this; + } + + /** + * The date of the first day to include, in YYYYMMDD or YYYYMMDDHH format. + */ + public Builder start(String start) { + Utils.checkNotNull(start, "start"); + this.start = start; + return this; + } + + public SourceWikipediaPageviews build() { + return new SourceWikipediaPageviews( + access, + agent, + article, + country, + end, + project, + start); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"wikipedia-pageviews\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceWoocommerce.java b/src/main/java/com/airbyte/api/models/shared/SourceWoocommerce.java new file mode 100644 index 000000000..72d2d0849 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceWoocommerce.java @@ -0,0 +1,238 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; + + +public class SourceWoocommerce { + + /** + * Customer Key for API in WooCommerce shop + */ + @JsonProperty("api_key") + private String apiKey; + + /** + * Customer Secret for API in WooCommerce shop + */ + @JsonProperty("api_secret") + private String apiSecret; + + /** + * The name of the store. For https://EXAMPLE.com, the shop name is 'EXAMPLE.com'. + */ + @JsonProperty("shop") + private String shop; + + @JsonProperty("sourceType") + private Woocommerce sourceType; + + /** + * The date you would like to replicate data from. Format: YYYY-MM-DD + */ + @JsonProperty("start_date") + private LocalDate startDate; + + public SourceWoocommerce( + @JsonProperty("api_key") String apiKey, + @JsonProperty("api_secret") String apiSecret, + @JsonProperty("shop") String shop, + @JsonProperty("start_date") LocalDate startDate) { + Utils.checkNotNull(apiKey, "apiKey"); + Utils.checkNotNull(apiSecret, "apiSecret"); + Utils.checkNotNull(shop, "shop"); + Utils.checkNotNull(startDate, "startDate"); + this.apiKey = apiKey; + this.apiSecret = apiSecret; + this.shop = shop; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Customer Key for API in WooCommerce shop + */ + public String apiKey() { + return apiKey; + } + + /** + * Customer Secret for API in WooCommerce shop + */ + public String apiSecret() { + return apiSecret; + } + + /** + * The name of the store. For https://EXAMPLE.com, the shop name is 'EXAMPLE.com'. + */ + public String shop() { + return shop; + } + + public Woocommerce sourceType() { + return sourceType; + } + + /** + * The date you would like to replicate data from. Format: YYYY-MM-DD + */ + public LocalDate startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Customer Key for API in WooCommerce shop + */ + public SourceWoocommerce withApiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Customer Secret for API in WooCommerce shop + */ + public SourceWoocommerce withApiSecret(String apiSecret) { + Utils.checkNotNull(apiSecret, "apiSecret"); + this.apiSecret = apiSecret; + return this; + } + + /** + * The name of the store. For https://EXAMPLE.com, the shop name is 'EXAMPLE.com'. + */ + public SourceWoocommerce withShop(String shop) { + Utils.checkNotNull(shop, "shop"); + this.shop = shop; + return this; + } + + /** + * The date you would like to replicate data from. Format: YYYY-MM-DD + */ + public SourceWoocommerce withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceWoocommerce other = (SourceWoocommerce) o; + return + java.util.Objects.deepEquals(this.apiKey, other.apiKey) && + java.util.Objects.deepEquals(this.apiSecret, other.apiSecret) && + java.util.Objects.deepEquals(this.shop, other.shop) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiKey, + apiSecret, + shop, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceWoocommerce.class, + "apiKey", apiKey, + "apiSecret", apiSecret, + "shop", shop, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String apiKey; + + private String apiSecret; + + private String shop; + + private LocalDate startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Customer Key for API in WooCommerce shop + */ + public Builder apiKey(String apiKey) { + Utils.checkNotNull(apiKey, "apiKey"); + this.apiKey = apiKey; + return this; + } + + /** + * Customer Secret for API in WooCommerce shop + */ + public Builder apiSecret(String apiSecret) { + Utils.checkNotNull(apiSecret, "apiSecret"); + this.apiSecret = apiSecret; + return this; + } + + /** + * The name of the store. For https://EXAMPLE.com, the shop name is 'EXAMPLE.com'. + */ + public Builder shop(String shop) { + Utils.checkNotNull(shop, "shop"); + this.shop = shop; + return this; + } + + /** + * The date you would like to replicate data from. Format: YYYY-MM-DD + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceWoocommerce build() { + return new SourceWoocommerce( + apiKey, + apiSecret, + shop, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"woocommerce\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceXkcd.java b/src/main/java/com/airbyte/api/models/shared/SourceXkcd.java new file mode 100644 index 000000000..6ef07492f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceXkcd.java @@ -0,0 +1,83 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceXkcd { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sourceType") + private Optional sourceType; + + public SourceXkcd() { + + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + public Optional sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceXkcd other = (SourceXkcd) o; + return + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceXkcd.class, + "sourceType", sourceType); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public SourceXkcd build() { + return new SourceXkcd( + ); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"xkcd\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceYandexMetrica.java b/src/main/java/com/airbyte/api/models/shared/SourceYandexMetrica.java new file mode 100644 index 000000000..4803cc53b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceYandexMetrica.java @@ -0,0 +1,260 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.util.Optional; + + +public class SourceYandexMetrica { + + /** + * Your Yandex Metrica API access token + */ + @JsonProperty("auth_token") + private String authToken; + + /** + * Counter ID + */ + @JsonProperty("counter_id") + private String counterId; + + /** + * Starting point for your data replication, in format of "YYYY-MM-DD". If not provided will sync till most recent date. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("end_date") + private Optional endDate; + + @JsonProperty("sourceType") + private YandexMetrica sourceType; + + /** + * Starting point for your data replication, in format of "YYYY-MM-DD". + */ + @JsonProperty("start_date") + private LocalDate startDate; + + public SourceYandexMetrica( + @JsonProperty("auth_token") String authToken, + @JsonProperty("counter_id") String counterId, + @JsonProperty("end_date") Optional endDate, + @JsonProperty("start_date") LocalDate startDate) { + Utils.checkNotNull(authToken, "authToken"); + Utils.checkNotNull(counterId, "counterId"); + Utils.checkNotNull(endDate, "endDate"); + Utils.checkNotNull(startDate, "startDate"); + this.authToken = authToken; + this.counterId = counterId; + this.endDate = endDate; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Your Yandex Metrica API access token + */ + public String authToken() { + return authToken; + } + + /** + * Counter ID + */ + public String counterId() { + return counterId; + } + + /** + * Starting point for your data replication, in format of "YYYY-MM-DD". If not provided will sync till most recent date. + */ + public Optional endDate() { + return endDate; + } + + public YandexMetrica sourceType() { + return sourceType; + } + + /** + * Starting point for your data replication, in format of "YYYY-MM-DD". + */ + public LocalDate startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Your Yandex Metrica API access token + */ + public SourceYandexMetrica withAuthToken(String authToken) { + Utils.checkNotNull(authToken, "authToken"); + this.authToken = authToken; + return this; + } + + /** + * Counter ID + */ + public SourceYandexMetrica withCounterId(String counterId) { + Utils.checkNotNull(counterId, "counterId"); + this.counterId = counterId; + return this; + } + + /** + * Starting point for your data replication, in format of "YYYY-MM-DD". If not provided will sync till most recent date. + */ + public SourceYandexMetrica withEndDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * Starting point for your data replication, in format of "YYYY-MM-DD". If not provided will sync till most recent date. + */ + public SourceYandexMetrica withEndDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Starting point for your data replication, in format of "YYYY-MM-DD". + */ + public SourceYandexMetrica withStartDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceYandexMetrica other = (SourceYandexMetrica) o; + return + java.util.Objects.deepEquals(this.authToken, other.authToken) && + java.util.Objects.deepEquals(this.counterId, other.counterId) && + java.util.Objects.deepEquals(this.endDate, other.endDate) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authToken, + counterId, + endDate, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceYandexMetrica.class, + "authToken", authToken, + "counterId", counterId, + "endDate", endDate, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String authToken; + + private String counterId; + + private Optional endDate = Optional.empty(); + + private LocalDate startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Your Yandex Metrica API access token + */ + public Builder authToken(String authToken) { + Utils.checkNotNull(authToken, "authToken"); + this.authToken = authToken; + return this; + } + + /** + * Counter ID + */ + public Builder counterId(String counterId) { + Utils.checkNotNull(counterId, "counterId"); + this.counterId = counterId; + return this; + } + + /** + * Starting point for your data replication, in format of "YYYY-MM-DD". If not provided will sync till most recent date. + */ + public Builder endDate(LocalDate endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = Optional.ofNullable(endDate); + return this; + } + + /** + * Starting point for your data replication, in format of "YYYY-MM-DD". If not provided will sync till most recent date. + */ + public Builder endDate(Optional endDate) { + Utils.checkNotNull(endDate, "endDate"); + this.endDate = endDate; + return this; + } + + /** + * Starting point for your data replication, in format of "YYYY-MM-DD". + */ + public Builder startDate(LocalDate startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceYandexMetrica build() { + return new SourceYandexMetrica( + authToken, + counterId, + endDate, + startDate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"yandex-metrica\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceYotpo.java b/src/main/java/com/airbyte/api/models/shared/SourceYotpo.java new file mode 100644 index 000000000..9b4bc37cf --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceYotpo.java @@ -0,0 +1,271 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceYotpo { + + /** + * Access token recieved as a result of API call to https://api.yotpo.com/oauth/token (Ref- https://apidocs.yotpo.com/reference/yotpo-authentication) + */ + @JsonProperty("access_token") + private String accessToken; + + /** + * App key found at settings (Ref- https://settings.yotpo.com/#/general_settings) + */ + @JsonProperty("app_key") + private String appKey; + + /** + * Email address registered with yotpo. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("email") + private Optional email; + + @JsonProperty("sourceType") + private Yotpo sourceType; + + /** + * Date time filter for incremental filter, Specify which date to extract from. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + public SourceYotpo( + @JsonProperty("access_token") String accessToken, + @JsonProperty("app_key") String appKey, + @JsonProperty("email") Optional email, + @JsonProperty("start_date") OffsetDateTime startDate) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(appKey, "appKey"); + Utils.checkNotNull(email, "email"); + Utils.checkNotNull(startDate, "startDate"); + this.accessToken = accessToken; + this.appKey = appKey; + this.email = email; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + } + + /** + * Access token recieved as a result of API call to https://api.yotpo.com/oauth/token (Ref- https://apidocs.yotpo.com/reference/yotpo-authentication) + */ + public String accessToken() { + return accessToken; + } + + /** + * App key found at settings (Ref- https://settings.yotpo.com/#/general_settings) + */ + public String appKey() { + return appKey; + } + + /** + * Email address registered with yotpo. + */ + public Optional email() { + return email; + } + + public Yotpo sourceType() { + return sourceType; + } + + /** + * Date time filter for incremental filter, Specify which date to extract from. + */ + public OffsetDateTime startDate() { + return startDate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Access token recieved as a result of API call to https://api.yotpo.com/oauth/token (Ref- https://apidocs.yotpo.com/reference/yotpo-authentication) + */ + public SourceYotpo withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * App key found at settings (Ref- https://settings.yotpo.com/#/general_settings) + */ + public SourceYotpo withAppKey(String appKey) { + Utils.checkNotNull(appKey, "appKey"); + this.appKey = appKey; + return this; + } + + /** + * Email address registered with yotpo. + */ + public SourceYotpo withEmail(String email) { + Utils.checkNotNull(email, "email"); + this.email = Optional.ofNullable(email); + return this; + } + + /** + * Email address registered with yotpo. + */ + public SourceYotpo withEmail(Optional email) { + Utils.checkNotNull(email, "email"); + this.email = email; + return this; + } + + /** + * Date time filter for incremental filter, Specify which date to extract from. + */ + public SourceYotpo withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceYotpo other = (SourceYotpo) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.appKey, other.appKey) && + java.util.Objects.deepEquals(this.email, other.email) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + appKey, + email, + sourceType, + startDate); + } + + @Override + public String toString() { + return Utils.toString(SourceYotpo.class, + "accessToken", accessToken, + "appKey", appKey, + "email", email, + "sourceType", sourceType, + "startDate", startDate); + } + + public final static class Builder { + + private String accessToken; + + private String appKey; + + private Optional email; + + private OffsetDateTime startDate; + + private Builder() { + // force use of static builder() method + } + + /** + * Access token recieved as a result of API call to https://api.yotpo.com/oauth/token (Ref- https://apidocs.yotpo.com/reference/yotpo-authentication) + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * App key found at settings (Ref- https://settings.yotpo.com/#/general_settings) + */ + public Builder appKey(String appKey) { + Utils.checkNotNull(appKey, "appKey"); + this.appKey = appKey; + return this; + } + + /** + * Email address registered with yotpo. + */ + public Builder email(String email) { + Utils.checkNotNull(email, "email"); + this.email = Optional.ofNullable(email); + return this; + } + + /** + * Email address registered with yotpo. + */ + public Builder email(Optional email) { + Utils.checkNotNull(email, "email"); + this.email = email; + return this; + } + + /** + * Date time filter for incremental filter, Specify which date to extract from. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + public SourceYotpo build() { + if (email == null) { + email = _SINGLETON_VALUE_Email.value(); + } + return new SourceYotpo( + accessToken, + appKey, + email, + startDate); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Email = + new LazySingletonValue<>( + "email", + "\"example@gmail.com\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"yotpo\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceYoutubeAnalytics.java b/src/main/java/com/airbyte/api/models/shared/SourceYoutubeAnalytics.java new file mode 100644 index 000000000..bc628a1f0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceYoutubeAnalytics.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceYoutubeAnalytics { + + @JsonProperty("credentials") + private java.util.Map credentials; + + @JsonProperty("sourceType") + private SourceYoutubeAnalyticsYoutubeAnalytics sourceType; + + public SourceYoutubeAnalytics( + @JsonProperty("credentials") java.util.Map credentials) { + credentials = Utils.emptyMapIfNull(credentials); + this.credentials = credentials; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + public java.util.Map credentials() { + return credentials; + } + + public SourceYoutubeAnalyticsYoutubeAnalytics sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceYoutubeAnalytics withCredentials(java.util.Map credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceYoutubeAnalytics other = (SourceYoutubeAnalytics) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceYoutubeAnalytics.class, + "credentials", credentials, + "sourceType", sourceType); + } + + public final static class Builder { + + private java.util.Map credentials; + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(java.util.Map credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public SourceYoutubeAnalytics build() { + return new SourceYoutubeAnalytics( + credentials); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"youtube-analytics\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceYoutubeAnalyticsYoutubeAnalytics.java b/src/main/java/com/airbyte/api/models/shared/SourceYoutubeAnalyticsYoutubeAnalytics.java new file mode 100644 index 000000000..db41b714b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceYoutubeAnalyticsYoutubeAnalytics.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceYoutubeAnalyticsYoutubeAnalytics { + YOUTUBE_ANALYTICS("youtube-analytics"); + + @JsonValue + private final String value; + + private SourceYoutubeAnalyticsYoutubeAnalytics(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskChat.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskChat.java new file mode 100644 index 000000000..058ad7984 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskChat.java @@ -0,0 +1,232 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceZendeskChat { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + @JsonProperty("sourceType") + private SourceZendeskChatZendeskChat sourceType; + + /** + * The date from which you'd like to replicate data for Zendesk Chat API, in the format YYYY-MM-DDT00:00:00Z. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + /** + * Required if you access Zendesk Chat from a Zendesk Support subdomain. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("subdomain") + private Optional subdomain; + + public SourceZendeskChat( + @JsonProperty("credentials") Optional credentials, + @JsonProperty("start_date") OffsetDateTime startDate, + @JsonProperty("subdomain") Optional subdomain) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(subdomain, "subdomain"); + this.credentials = credentials; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.subdomain = subdomain; + } + + public Optional credentials() { + return credentials; + } + + public SourceZendeskChatZendeskChat sourceType() { + return sourceType; + } + + /** + * The date from which you'd like to replicate data for Zendesk Chat API, in the format YYYY-MM-DDT00:00:00Z. + */ + public OffsetDateTime startDate() { + return startDate; + } + + /** + * Required if you access Zendesk Chat from a Zendesk Support subdomain. + */ + public Optional subdomain() { + return subdomain; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceZendeskChat withCredentials(SourceZendeskChatAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public SourceZendeskChat withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The date from which you'd like to replicate data for Zendesk Chat API, in the format YYYY-MM-DDT00:00:00Z. + */ + public SourceZendeskChat withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Required if you access Zendesk Chat from a Zendesk Support subdomain. + */ + public SourceZendeskChat withSubdomain(String subdomain) { + Utils.checkNotNull(subdomain, "subdomain"); + this.subdomain = Optional.ofNullable(subdomain); + return this; + } + + /** + * Required if you access Zendesk Chat from a Zendesk Support subdomain. + */ + public SourceZendeskChat withSubdomain(Optional subdomain) { + Utils.checkNotNull(subdomain, "subdomain"); + this.subdomain = subdomain; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceZendeskChat other = (SourceZendeskChat) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.subdomain, other.subdomain); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + sourceType, + startDate, + subdomain); + } + + @Override + public String toString() { + return Utils.toString(SourceZendeskChat.class, + "credentials", credentials, + "sourceType", sourceType, + "startDate", startDate, + "subdomain", subdomain); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private OffsetDateTime startDate; + + private Optional subdomain; + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(SourceZendeskChatAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The date from which you'd like to replicate data for Zendesk Chat API, in the format YYYY-MM-DDT00:00:00Z. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * Required if you access Zendesk Chat from a Zendesk Support subdomain. + */ + public Builder subdomain(String subdomain) { + Utils.checkNotNull(subdomain, "subdomain"); + this.subdomain = Optional.ofNullable(subdomain); + return this; + } + + /** + * Required if you access Zendesk Chat from a Zendesk Support subdomain. + */ + public Builder subdomain(Optional subdomain) { + Utils.checkNotNull(subdomain, "subdomain"); + this.subdomain = subdomain; + return this; + } + + public SourceZendeskChat build() { + if (subdomain == null) { + subdomain = _SINGLETON_VALUE_Subdomain.value(); + } + return new SourceZendeskChat( + credentials, + startDate, + subdomain); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"zendesk-chat\"", + new TypeReference() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Subdomain = + new LazySingletonValue<>( + "subdomain", + "\"\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskChatAccessToken.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskChatAccessToken.java new file mode 100644 index 000000000..46deaaba3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskChatAccessToken.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceZendeskChatAccessToken { + + /** + * The Access Token to make authenticated requests. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonProperty("credentials") + private SourceZendeskChatSchemasCredentials credentials; + + public SourceZendeskChatAccessToken( + @JsonProperty("access_token") String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + this.credentials = Builder._SINGLETON_VALUE_Credentials.value(); + } + + /** + * The Access Token to make authenticated requests. + */ + public String accessToken() { + return accessToken; + } + + public SourceZendeskChatSchemasCredentials credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Access Token to make authenticated requests. + */ + public SourceZendeskChatAccessToken withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceZendeskChatAccessToken other = (SourceZendeskChatAccessToken) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + credentials); + } + + @Override + public String toString() { + return Utils.toString(SourceZendeskChatAccessToken.class, + "accessToken", accessToken, + "credentials", credentials); + } + + public final static class Builder { + + private String accessToken; + + private Builder() { + // force use of static builder() method + } + + /** + * The Access Token to make authenticated requests. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + public SourceZendeskChatAccessToken build() { + return new SourceZendeskChatAccessToken( + accessToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Credentials = + new LazySingletonValue<>( + "credentials", + "\"access_token\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskChatAuthorizationMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskChatAuthorizationMethod.java new file mode 100644 index 000000000..5900ccfd4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskChatAuthorizationMethod.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceZendeskChatAuthorizationMethod._Deserializer.class) +public class SourceZendeskChatAuthorizationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceZendeskChatAuthorizationMethod(TypedObject value) { + this.value = value; + } + + public static SourceZendeskChatAuthorizationMethod of(SourceZendeskChatOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new SourceZendeskChatAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceZendeskChatAuthorizationMethod of(SourceZendeskChatAccessToken value) { + Utils.checkNotNull(value, "value"); + return new SourceZendeskChatAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceZendeskChatOAuth20}
    • + *
    • {@code SourceZendeskChatAccessToken}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceZendeskChatAuthorizationMethod other = (SourceZendeskChatAuthorizationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceZendeskChatAuthorizationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceZendeskChatAuthorizationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskChatCredentials.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskChatCredentials.java new file mode 100644 index 000000000..3f20409ed --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskChatCredentials.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceZendeskChatCredentials { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private SourceZendeskChatCredentials(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskChatOAuth20.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskChatOAuth20.java new file mode 100644 index 000000000..50935d420 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskChatOAuth20.java @@ -0,0 +1,316 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceZendeskChatOAuth20 { + + /** + * Access Token for making authenticated requests. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("access_token") + private Optional accessToken; + + /** + * The Client ID of your OAuth application + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your OAuth application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + @JsonProperty("credentials") + private SourceZendeskChatCredentials credentials; + + /** + * Refresh Token to obtain new Access Token, when it's expired. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("refresh_token") + private Optional refreshToken; + + public SourceZendeskChatOAuth20( + @JsonProperty("access_token") Optional accessToken, + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret, + @JsonProperty("refresh_token") Optional refreshToken) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(refreshToken, "refreshToken"); + this.accessToken = accessToken; + this.clientId = clientId; + this.clientSecret = clientSecret; + this.credentials = Builder._SINGLETON_VALUE_Credentials.value(); + this.refreshToken = refreshToken; + } + + /** + * Access Token for making authenticated requests. + */ + public Optional accessToken() { + return accessToken; + } + + /** + * The Client ID of your OAuth application + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your OAuth application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public SourceZendeskChatCredentials credentials() { + return credentials; + } + + /** + * Refresh Token to obtain new Access Token, when it's expired. + */ + public Optional refreshToken() { + return refreshToken; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Access Token for making authenticated requests. + */ + public SourceZendeskChatOAuth20 withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = Optional.ofNullable(accessToken); + return this; + } + + /** + * Access Token for making authenticated requests. + */ + public SourceZendeskChatOAuth20 withAccessToken(Optional accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of your OAuth application + */ + public SourceZendeskChatOAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your OAuth application + */ + public SourceZendeskChatOAuth20 withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public SourceZendeskChatOAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public SourceZendeskChatOAuth20 withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Refresh Token to obtain new Access Token, when it's expired. + */ + public SourceZendeskChatOAuth20 withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = Optional.ofNullable(refreshToken); + return this; + } + + /** + * Refresh Token to obtain new Access Token, when it's expired. + */ + public SourceZendeskChatOAuth20 withRefreshToken(Optional refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceZendeskChatOAuth20 other = (SourceZendeskChatOAuth20) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + clientId, + clientSecret, + credentials, + refreshToken); + } + + @Override + public String toString() { + return Utils.toString(SourceZendeskChatOAuth20.class, + "accessToken", accessToken, + "clientId", clientId, + "clientSecret", clientSecret, + "credentials", credentials, + "refreshToken", refreshToken); + } + + public final static class Builder { + + private Optional accessToken = Optional.empty(); + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Optional refreshToken = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Access Token for making authenticated requests. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = Optional.ofNullable(accessToken); + return this; + } + + /** + * Access Token for making authenticated requests. + */ + public Builder accessToken(Optional accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of your OAuth application + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your OAuth application + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Refresh Token to obtain new Access Token, when it's expired. + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = Optional.ofNullable(refreshToken); + return this; + } + + /** + * Refresh Token to obtain new Access Token, when it's expired. + */ + public Builder refreshToken(Optional refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + public SourceZendeskChatOAuth20 build() { + return new SourceZendeskChatOAuth20( + accessToken, + clientId, + clientSecret, + refreshToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Credentials = + new LazySingletonValue<>( + "credentials", + "\"oauth2.0\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskChatSchemasCredentials.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskChatSchemasCredentials.java new file mode 100644 index 000000000..e2ab17d9f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskChatSchemasCredentials.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceZendeskChatSchemasCredentials { + ACCESS_TOKEN("access_token"); + + @JsonValue + private final String value; + + private SourceZendeskChatSchemasCredentials(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskChatZendeskChat.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskChatZendeskChat.java new file mode 100644 index 000000000..8e6e72ba1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskChatZendeskChat.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceZendeskChatZendeskChat { + ZENDESK_CHAT("zendesk-chat"); + + @JsonValue + private final String value; + + private SourceZendeskChatZendeskChat(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskSell.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSell.java new file mode 100644 index 000000000..dc4655a62 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSell.java @@ -0,0 +1,117 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class SourceZendeskSell { + + /** + * The API token for authenticating to Zendesk Sell + */ + @JsonProperty("api_token") + private String apiToken; + + @JsonProperty("sourceType") + private ZendeskSell sourceType; + + public SourceZendeskSell( + @JsonProperty("api_token") String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * The API token for authenticating to Zendesk Sell + */ + public String apiToken() { + return apiToken; + } + + public ZendeskSell sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The API token for authenticating to Zendesk Sell + */ + public SourceZendeskSell withApiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceZendeskSell other = (SourceZendeskSell) o; + return + java.util.Objects.deepEquals(this.apiToken, other.apiToken) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiToken, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceZendeskSell.class, + "apiToken", apiToken, + "sourceType", sourceType); + } + + public final static class Builder { + + private String apiToken; + + private Builder() { + // force use of static builder() method + } + + /** + * The API token for authenticating to Zendesk Sell + */ + public Builder apiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + public SourceZendeskSell build() { + return new SourceZendeskSell( + apiToken); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"zendesk-sell\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshine.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshine.java new file mode 100644 index 000000000..56f9a0b06 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshine.java @@ -0,0 +1,204 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceZendeskSunshine { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + @JsonProperty("sourceType") + private SourceZendeskSunshineZendeskSunshine sourceType; + + /** + * The date from which you'd like to replicate data for Zendesk Sunshine API, in the format YYYY-MM-DDT00:00:00Z. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + /** + * The subdomain for your Zendesk Account. + */ + @JsonProperty("subdomain") + private String subdomain; + + public SourceZendeskSunshine( + @JsonProperty("credentials") Optional credentials, + @JsonProperty("start_date") OffsetDateTime startDate, + @JsonProperty("subdomain") String subdomain) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(subdomain, "subdomain"); + this.credentials = credentials; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.subdomain = subdomain; + } + + public Optional credentials() { + return credentials; + } + + public SourceZendeskSunshineZendeskSunshine sourceType() { + return sourceType; + } + + /** + * The date from which you'd like to replicate data for Zendesk Sunshine API, in the format YYYY-MM-DDT00:00:00Z. + */ + public OffsetDateTime startDate() { + return startDate; + } + + /** + * The subdomain for your Zendesk Account. + */ + public String subdomain() { + return subdomain; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourceZendeskSunshine withCredentials(SourceZendeskSunshineAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public SourceZendeskSunshine withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The date from which you'd like to replicate data for Zendesk Sunshine API, in the format YYYY-MM-DDT00:00:00Z. + */ + public SourceZendeskSunshine withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * The subdomain for your Zendesk Account. + */ + public SourceZendeskSunshine withSubdomain(String subdomain) { + Utils.checkNotNull(subdomain, "subdomain"); + this.subdomain = subdomain; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceZendeskSunshine other = (SourceZendeskSunshine) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.subdomain, other.subdomain); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + sourceType, + startDate, + subdomain); + } + + @Override + public String toString() { + return Utils.toString(SourceZendeskSunshine.class, + "credentials", credentials, + "sourceType", sourceType, + "startDate", startDate, + "subdomain", subdomain); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private OffsetDateTime startDate; + + private String subdomain; + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(SourceZendeskSunshineAuthorizationMethod credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The date from which you'd like to replicate data for Zendesk Sunshine API, in the format YYYY-MM-DDT00:00:00Z. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * The subdomain for your Zendesk Account. + */ + public Builder subdomain(String subdomain) { + Utils.checkNotNull(subdomain, "subdomain"); + this.subdomain = subdomain; + return this; + } + + public SourceZendeskSunshine build() { + return new SourceZendeskSunshine( + credentials, + startDate, + subdomain); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"zendesk-sunshine\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineAPIToken.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineAPIToken.java new file mode 100644 index 000000000..07697a268 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineAPIToken.java @@ -0,0 +1,161 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceZendeskSunshineAPIToken { + + /** + * API Token. See the <a href="https://docs.airbyte.com/integrations/sources/zendesk_sunshine">docs</a> for information on how to generate this key. + */ + @JsonProperty("api_token") + private String apiToken; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_method") + private Optional authMethod; + + /** + * The user email for your Zendesk account + */ + @JsonProperty("email") + private String email; + + public SourceZendeskSunshineAPIToken( + @JsonProperty("api_token") String apiToken, + @JsonProperty("email") String email) { + Utils.checkNotNull(apiToken, "apiToken"); + Utils.checkNotNull(email, "email"); + this.apiToken = apiToken; + this.authMethod = Builder._SINGLETON_VALUE_AuthMethod.value(); + this.email = email; + } + + /** + * API Token. See the <a href="https://docs.airbyte.com/integrations/sources/zendesk_sunshine">docs</a> for information on how to generate this key. + */ + public String apiToken() { + return apiToken; + } + + public Optional authMethod() { + return authMethod; + } + + /** + * The user email for your Zendesk account + */ + public String email() { + return email; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * API Token. See the <a href="https://docs.airbyte.com/integrations/sources/zendesk_sunshine">docs</a> for information on how to generate this key. + */ + public SourceZendeskSunshineAPIToken withApiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + /** + * The user email for your Zendesk account + */ + public SourceZendeskSunshineAPIToken withEmail(String email) { + Utils.checkNotNull(email, "email"); + this.email = email; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceZendeskSunshineAPIToken other = (SourceZendeskSunshineAPIToken) o; + return + java.util.Objects.deepEquals(this.apiToken, other.apiToken) && + java.util.Objects.deepEquals(this.authMethod, other.authMethod) && + java.util.Objects.deepEquals(this.email, other.email); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiToken, + authMethod, + email); + } + + @Override + public String toString() { + return Utils.toString(SourceZendeskSunshineAPIToken.class, + "apiToken", apiToken, + "authMethod", authMethod, + "email", email); + } + + public final static class Builder { + + private String apiToken; + + private String email; + + private Builder() { + // force use of static builder() method + } + + /** + * API Token. See the <a href="https://docs.airbyte.com/integrations/sources/zendesk_sunshine">docs</a> for information on how to generate this key. + */ + public Builder apiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + /** + * The user email for your Zendesk account + */ + public Builder email(String email) { + Utils.checkNotNull(email, "email"); + this.email = email; + return this; + } + + public SourceZendeskSunshineAPIToken build() { + return new SourceZendeskSunshineAPIToken( + apiToken, + email); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthMethod = + new LazySingletonValue<>( + "auth_method", + "\"api_token\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineAuthMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineAuthMethod.java new file mode 100644 index 000000000..1ea776701 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineAuthMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceZendeskSunshineAuthMethod { + OAUTH20("oauth2.0"); + + @JsonValue + private final String value; + + private SourceZendeskSunshineAuthMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineAuthorizationMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineAuthorizationMethod.java new file mode 100644 index 000000000..686046d04 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineAuthorizationMethod.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = SourceZendeskSunshineAuthorizationMethod._Deserializer.class) +public class SourceZendeskSunshineAuthorizationMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private SourceZendeskSunshineAuthorizationMethod(TypedObject value) { + this.value = value; + } + + public static SourceZendeskSunshineAuthorizationMethod of(SourceZendeskSunshineOAuth20 value) { + Utils.checkNotNull(value, "value"); + return new SourceZendeskSunshineAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static SourceZendeskSunshineAuthorizationMethod of(SourceZendeskSunshineAPIToken value) { + Utils.checkNotNull(value, "value"); + return new SourceZendeskSunshineAuthorizationMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceZendeskSunshineOAuth20}
    • + *
    • {@code SourceZendeskSunshineAPIToken}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceZendeskSunshineAuthorizationMethod other = (SourceZendeskSunshineAuthorizationMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(SourceZendeskSunshineAuthorizationMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(SourceZendeskSunshineAuthorizationMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineOAuth20.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineOAuth20.java new file mode 100644 index 000000000..0d0fb2659 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineOAuth20.java @@ -0,0 +1,201 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceZendeskSunshineOAuth20 { + + /** + * Long-term access Token for making authenticated requests. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_method") + private Optional authMethod; + + /** + * The Client ID of your OAuth application. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The Client Secret of your OAuth application. + */ + @JsonProperty("client_secret") + private String clientSecret; + + public SourceZendeskSunshineOAuth20( + @JsonProperty("access_token") String accessToken, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.accessToken = accessToken; + this.authMethod = Builder._SINGLETON_VALUE_AuthMethod.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * Long-term access Token for making authenticated requests. + */ + public String accessToken() { + return accessToken; + } + + public Optional authMethod() { + return authMethod; + } + + /** + * The Client ID of your OAuth application. + */ + public String clientId() { + return clientId; + } + + /** + * The Client Secret of your OAuth application. + */ + public String clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Long-term access Token for making authenticated requests. + */ + public SourceZendeskSunshineOAuth20 withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of your OAuth application. + */ + public SourceZendeskSunshineOAuth20 withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public SourceZendeskSunshineOAuth20 withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceZendeskSunshineOAuth20 other = (SourceZendeskSunshineOAuth20) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authMethod, other.authMethod) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authMethod, + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(SourceZendeskSunshineOAuth20.class, + "accessToken", accessToken, + "authMethod", authMethod, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private String accessToken; + + private String clientId; + + private String clientSecret; + + private Builder() { + // force use of static builder() method + } + + /** + * Long-term access Token for making authenticated requests. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of your OAuth application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public SourceZendeskSunshineOAuth20 build() { + return new SourceZendeskSunshineOAuth20( + accessToken, + clientId, + clientSecret); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthMethod = + new LazySingletonValue<>( + "auth_method", + "\"oauth2.0\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineSchemasAuthMethod.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineSchemasAuthMethod.java new file mode 100644 index 000000000..20af789c6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineSchemasAuthMethod.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceZendeskSunshineSchemasAuthMethod { + API_TOKEN("api_token"); + + @JsonValue + private final String value; + + private SourceZendeskSunshineSchemasAuthMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineZendeskSunshine.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineZendeskSunshine.java new file mode 100644 index 000000000..9f1644dd1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSunshineZendeskSunshine.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceZendeskSunshineZendeskSunshine { + ZENDESK_SUNSHINE("zendesk-sunshine"); + + @JsonValue + private final String value; + + private SourceZendeskSunshineZendeskSunshine(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskSupport.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSupport.java new file mode 100644 index 000000000..eb98fedf2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSupport.java @@ -0,0 +1,309 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceZendeskSupport { + + /** + * Zendesk allows two authentication methods. We recommend using `OAuth2.0` for Airbyte Cloud users and `API token` for Airbyte Open Source users. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + /** + * Makes each stream read a single page of data. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ignore_pagination") + private Optional ignorePagination; + + @JsonProperty("sourceType") + private SourceZendeskSupportZendeskSupport sourceType; + + /** + * The UTC date and time from which you'd like to replicate data, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_date") + private Optional startDate; + + /** + * This is your unique Zendesk subdomain that can be found in your account URL. For example, in https://MY_SUBDOMAIN.zendesk.com/, MY_SUBDOMAIN is the value of your subdomain. + */ + @JsonProperty("subdomain") + private String subdomain; + + public SourceZendeskSupport( + @JsonProperty("credentials") Optional credentials, + @JsonProperty("ignore_pagination") Optional ignorePagination, + @JsonProperty("start_date") Optional startDate, + @JsonProperty("subdomain") String subdomain) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(ignorePagination, "ignorePagination"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(subdomain, "subdomain"); + this.credentials = credentials; + this.ignorePagination = ignorePagination; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.subdomain = subdomain; + } + + /** + * Zendesk allows two authentication methods. We recommend using `OAuth2.0` for Airbyte Cloud users and `API token` for Airbyte Open Source users. + */ + public Optional credentials() { + return credentials; + } + + /** + * Makes each stream read a single page of data. + */ + public Optional ignorePagination() { + return ignorePagination; + } + + public SourceZendeskSupportZendeskSupport sourceType() { + return sourceType; + } + + /** + * The UTC date and time from which you'd like to replicate data, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public Optional startDate() { + return startDate; + } + + /** + * This is your unique Zendesk subdomain that can be found in your account URL. For example, in https://MY_SUBDOMAIN.zendesk.com/, MY_SUBDOMAIN is the value of your subdomain. + */ + public String subdomain() { + return subdomain; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Zendesk allows two authentication methods. We recommend using `OAuth2.0` for Airbyte Cloud users and `API token` for Airbyte Open Source users. + */ + public SourceZendeskSupport withCredentials(java.lang.Object credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Zendesk allows two authentication methods. We recommend using `OAuth2.0` for Airbyte Cloud users and `API token` for Airbyte Open Source users. + */ + public SourceZendeskSupport withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Makes each stream read a single page of data. + */ + public SourceZendeskSupport withIgnorePagination(boolean ignorePagination) { + Utils.checkNotNull(ignorePagination, "ignorePagination"); + this.ignorePagination = Optional.ofNullable(ignorePagination); + return this; + } + + /** + * Makes each stream read a single page of data. + */ + public SourceZendeskSupport withIgnorePagination(Optional ignorePagination) { + Utils.checkNotNull(ignorePagination, "ignorePagination"); + this.ignorePagination = ignorePagination; + return this; + } + + /** + * The UTC date and time from which you'd like to replicate data, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public SourceZendeskSupport withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The UTC date and time from which you'd like to replicate data, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public SourceZendeskSupport withStartDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * This is your unique Zendesk subdomain that can be found in your account URL. For example, in https://MY_SUBDOMAIN.zendesk.com/, MY_SUBDOMAIN is the value of your subdomain. + */ + public SourceZendeskSupport withSubdomain(String subdomain) { + Utils.checkNotNull(subdomain, "subdomain"); + this.subdomain = subdomain; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceZendeskSupport other = (SourceZendeskSupport) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.ignorePagination, other.ignorePagination) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.subdomain, other.subdomain); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + ignorePagination, + sourceType, + startDate, + subdomain); + } + + @Override + public String toString() { + return Utils.toString(SourceZendeskSupport.class, + "credentials", credentials, + "ignorePagination", ignorePagination, + "sourceType", sourceType, + "startDate", startDate, + "subdomain", subdomain); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Optional ignorePagination; + + private Optional startDate = Optional.empty(); + + private String subdomain; + + private Builder() { + // force use of static builder() method + } + + /** + * Zendesk allows two authentication methods. We recommend using `OAuth2.0` for Airbyte Cloud users and `API token` for Airbyte Open Source users. + */ + public Builder credentials(java.lang.Object credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Zendesk allows two authentication methods. We recommend using `OAuth2.0` for Airbyte Cloud users and `API token` for Airbyte Open Source users. + */ + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * Makes each stream read a single page of data. + */ + public Builder ignorePagination(boolean ignorePagination) { + Utils.checkNotNull(ignorePagination, "ignorePagination"); + this.ignorePagination = Optional.ofNullable(ignorePagination); + return this; + } + + /** + * Makes each stream read a single page of data. + */ + public Builder ignorePagination(Optional ignorePagination) { + Utils.checkNotNull(ignorePagination, "ignorePagination"); + this.ignorePagination = ignorePagination; + return this; + } + + /** + * The UTC date and time from which you'd like to replicate data, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = Optional.ofNullable(startDate); + return this; + } + + /** + * The UTC date and time from which you'd like to replicate data, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public Builder startDate(Optional startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * This is your unique Zendesk subdomain that can be found in your account URL. For example, in https://MY_SUBDOMAIN.zendesk.com/, MY_SUBDOMAIN is the value of your subdomain. + */ + public Builder subdomain(String subdomain) { + Utils.checkNotNull(subdomain, "subdomain"); + this.subdomain = subdomain; + return this; + } + + public SourceZendeskSupport build() { + if (ignorePagination == null) { + ignorePagination = _SINGLETON_VALUE_IgnorePagination.value(); + } + return new SourceZendeskSupport( + credentials, + ignorePagination, + startDate, + subdomain); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_IgnorePagination = + new LazySingletonValue<>( + "ignore_pagination", + "false", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"zendesk-support\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskSupportZendeskSupport.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSupportZendeskSupport.java new file mode 100644 index 000000000..99fa4c511 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskSupportZendeskSupport.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceZendeskSupportZendeskSupport { + ZENDESK_SUPPORT("zendesk-support"); + + @JsonValue + private final String value; + + private SourceZendeskSupportZendeskSupport(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskTalk.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskTalk.java new file mode 100644 index 000000000..48ce06003 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskTalk.java @@ -0,0 +1,222 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; + + +public class SourceZendeskTalk { + + /** + * Zendesk service provides two authentication methods. Choose between: `OAuth2.0` or `API token`. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + @JsonProperty("sourceType") + private SourceZendeskTalkZendeskTalk sourceType; + + /** + * The date from which you'd like to replicate data for Zendesk Talk API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + @JsonProperty("start_date") + private OffsetDateTime startDate; + + /** + * This is your Zendesk subdomain that can be found in your account URL. For example, in https://{MY_SUBDOMAIN}.zendesk.com/, where MY_SUBDOMAIN is the value of your subdomain. + */ + @JsonProperty("subdomain") + private String subdomain; + + public SourceZendeskTalk( + @JsonProperty("credentials") Optional credentials, + @JsonProperty("start_date") OffsetDateTime startDate, + @JsonProperty("subdomain") String subdomain) { + Utils.checkNotNull(credentials, "credentials"); + Utils.checkNotNull(startDate, "startDate"); + Utils.checkNotNull(subdomain, "subdomain"); + this.credentials = credentials; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDate = startDate; + this.subdomain = subdomain; + } + + /** + * Zendesk service provides two authentication methods. Choose between: `OAuth2.0` or `API token`. + */ + public Optional credentials() { + return credentials; + } + + public SourceZendeskTalkZendeskTalk sourceType() { + return sourceType; + } + + /** + * The date from which you'd like to replicate data for Zendesk Talk API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public OffsetDateTime startDate() { + return startDate; + } + + /** + * This is your Zendesk subdomain that can be found in your account URL. For example, in https://{MY_SUBDOMAIN}.zendesk.com/, where MY_SUBDOMAIN is the value of your subdomain. + */ + public String subdomain() { + return subdomain; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Zendesk service provides two authentication methods. Choose between: `OAuth2.0` or `API token`. + */ + public SourceZendeskTalk withCredentials(java.lang.Object credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Zendesk service provides two authentication methods. Choose between: `OAuth2.0` or `API token`. + */ + public SourceZendeskTalk withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The date from which you'd like to replicate data for Zendesk Talk API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public SourceZendeskTalk withStartDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * This is your Zendesk subdomain that can be found in your account URL. For example, in https://{MY_SUBDOMAIN}.zendesk.com/, where MY_SUBDOMAIN is the value of your subdomain. + */ + public SourceZendeskTalk withSubdomain(String subdomain) { + Utils.checkNotNull(subdomain, "subdomain"); + this.subdomain = subdomain; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceZendeskTalk other = (SourceZendeskTalk) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDate, other.startDate) && + java.util.Objects.deepEquals(this.subdomain, other.subdomain); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials, + sourceType, + startDate, + subdomain); + } + + @Override + public String toString() { + return Utils.toString(SourceZendeskTalk.class, + "credentials", credentials, + "sourceType", sourceType, + "startDate", startDate, + "subdomain", subdomain); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private OffsetDateTime startDate; + + private String subdomain; + + private Builder() { + // force use of static builder() method + } + + /** + * Zendesk service provides two authentication methods. Choose between: `OAuth2.0` or `API token`. + */ + public Builder credentials(java.lang.Object credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + /** + * Zendesk service provides two authentication methods. Choose between: `OAuth2.0` or `API token`. + */ + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + /** + * The date from which you'd like to replicate data for Zendesk Talk API, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. + */ + public Builder startDate(OffsetDateTime startDate) { + Utils.checkNotNull(startDate, "startDate"); + this.startDate = startDate; + return this; + } + + /** + * This is your Zendesk subdomain that can be found in your account URL. For example, in https://{MY_SUBDOMAIN}.zendesk.com/, where MY_SUBDOMAIN is the value of your subdomain. + */ + public Builder subdomain(String subdomain) { + Utils.checkNotNull(subdomain, "subdomain"); + this.subdomain = subdomain; + return this; + } + + public SourceZendeskTalk build() { + return new SourceZendeskTalk( + credentials, + startDate, + subdomain); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"zendesk-talk\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZendeskTalkZendeskTalk.java b/src/main/java/com/airbyte/api/models/shared/SourceZendeskTalkZendeskTalk.java new file mode 100644 index 000000000..cbb3cc00b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZendeskTalkZendeskTalk.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SourceZendeskTalkZendeskTalk { + ZENDESK_TALK("zendesk-talk"); + + @JsonValue + private final String value; + + private SourceZendeskTalkZendeskTalk(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZenloop.java b/src/main/java/com/airbyte/api/models/shared/SourceZenloop.java new file mode 100644 index 000000000..84ff88068 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZenloop.java @@ -0,0 +1,297 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceZenloop { + + /** + * Zenloop API Token. You can get the API token in settings page <a href="https://app.zenloop.com/settings/api">here</a> + */ + @JsonProperty("api_token") + private String apiToken; + + /** + * Zenloop date_from. Format: 2021-10-24T03:30:30Z or 2021-10-24. Leave empty if only data from current data should be synced + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("date_from") + private Optional dateFrom; + + @JsonProperty("sourceType") + private Zenloop sourceType; + + /** + * Zenloop Survey Group ID. Can be found by pulling All Survey Groups via SurveyGroups stream. Leave empty to pull answers from all survey groups + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("survey_group_id") + private Optional surveyGroupId; + + /** + * Zenloop Survey ID. Can be found <a href="https://app.zenloop.com/settings/api">here</a>. Leave empty to pull answers from all surveys + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("survey_id") + private Optional surveyId; + + public SourceZenloop( + @JsonProperty("api_token") String apiToken, + @JsonProperty("date_from") Optional dateFrom, + @JsonProperty("survey_group_id") Optional surveyGroupId, + @JsonProperty("survey_id") Optional surveyId) { + Utils.checkNotNull(apiToken, "apiToken"); + Utils.checkNotNull(dateFrom, "dateFrom"); + Utils.checkNotNull(surveyGroupId, "surveyGroupId"); + Utils.checkNotNull(surveyId, "surveyId"); + this.apiToken = apiToken; + this.dateFrom = dateFrom; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.surveyGroupId = surveyGroupId; + this.surveyId = surveyId; + } + + /** + * Zenloop API Token. You can get the API token in settings page <a href="https://app.zenloop.com/settings/api">here</a> + */ + public String apiToken() { + return apiToken; + } + + /** + * Zenloop date_from. Format: 2021-10-24T03:30:30Z or 2021-10-24. Leave empty if only data from current data should be synced + */ + public Optional dateFrom() { + return dateFrom; + } + + public Zenloop sourceType() { + return sourceType; + } + + /** + * Zenloop Survey Group ID. Can be found by pulling All Survey Groups via SurveyGroups stream. Leave empty to pull answers from all survey groups + */ + public Optional surveyGroupId() { + return surveyGroupId; + } + + /** + * Zenloop Survey ID. Can be found <a href="https://app.zenloop.com/settings/api">here</a>. Leave empty to pull answers from all surveys + */ + public Optional surveyId() { + return surveyId; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Zenloop API Token. You can get the API token in settings page <a href="https://app.zenloop.com/settings/api">here</a> + */ + public SourceZenloop withApiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + /** + * Zenloop date_from. Format: 2021-10-24T03:30:30Z or 2021-10-24. Leave empty if only data from current data should be synced + */ + public SourceZenloop withDateFrom(String dateFrom) { + Utils.checkNotNull(dateFrom, "dateFrom"); + this.dateFrom = Optional.ofNullable(dateFrom); + return this; + } + + /** + * Zenloop date_from. Format: 2021-10-24T03:30:30Z or 2021-10-24. Leave empty if only data from current data should be synced + */ + public SourceZenloop withDateFrom(Optional dateFrom) { + Utils.checkNotNull(dateFrom, "dateFrom"); + this.dateFrom = dateFrom; + return this; + } + + /** + * Zenloop Survey Group ID. Can be found by pulling All Survey Groups via SurveyGroups stream. Leave empty to pull answers from all survey groups + */ + public SourceZenloop withSurveyGroupId(String surveyGroupId) { + Utils.checkNotNull(surveyGroupId, "surveyGroupId"); + this.surveyGroupId = Optional.ofNullable(surveyGroupId); + return this; + } + + /** + * Zenloop Survey Group ID. Can be found by pulling All Survey Groups via SurveyGroups stream. Leave empty to pull answers from all survey groups + */ + public SourceZenloop withSurveyGroupId(Optional surveyGroupId) { + Utils.checkNotNull(surveyGroupId, "surveyGroupId"); + this.surveyGroupId = surveyGroupId; + return this; + } + + /** + * Zenloop Survey ID. Can be found <a href="https://app.zenloop.com/settings/api">here</a>. Leave empty to pull answers from all surveys + */ + public SourceZenloop withSurveyId(String surveyId) { + Utils.checkNotNull(surveyId, "surveyId"); + this.surveyId = Optional.ofNullable(surveyId); + return this; + } + + /** + * Zenloop Survey ID. Can be found <a href="https://app.zenloop.com/settings/api">here</a>. Leave empty to pull answers from all surveys + */ + public SourceZenloop withSurveyId(Optional surveyId) { + Utils.checkNotNull(surveyId, "surveyId"); + this.surveyId = surveyId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceZenloop other = (SourceZenloop) o; + return + java.util.Objects.deepEquals(this.apiToken, other.apiToken) && + java.util.Objects.deepEquals(this.dateFrom, other.dateFrom) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.surveyGroupId, other.surveyGroupId) && + java.util.Objects.deepEquals(this.surveyId, other.surveyId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + apiToken, + dateFrom, + sourceType, + surveyGroupId, + surveyId); + } + + @Override + public String toString() { + return Utils.toString(SourceZenloop.class, + "apiToken", apiToken, + "dateFrom", dateFrom, + "sourceType", sourceType, + "surveyGroupId", surveyGroupId, + "surveyId", surveyId); + } + + public final static class Builder { + + private String apiToken; + + private Optional dateFrom = Optional.empty(); + + private Optional surveyGroupId = Optional.empty(); + + private Optional surveyId = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Zenloop API Token. You can get the API token in settings page <a href="https://app.zenloop.com/settings/api">here</a> + */ + public Builder apiToken(String apiToken) { + Utils.checkNotNull(apiToken, "apiToken"); + this.apiToken = apiToken; + return this; + } + + /** + * Zenloop date_from. Format: 2021-10-24T03:30:30Z or 2021-10-24. Leave empty if only data from current data should be synced + */ + public Builder dateFrom(String dateFrom) { + Utils.checkNotNull(dateFrom, "dateFrom"); + this.dateFrom = Optional.ofNullable(dateFrom); + return this; + } + + /** + * Zenloop date_from. Format: 2021-10-24T03:30:30Z or 2021-10-24. Leave empty if only data from current data should be synced + */ + public Builder dateFrom(Optional dateFrom) { + Utils.checkNotNull(dateFrom, "dateFrom"); + this.dateFrom = dateFrom; + return this; + } + + /** + * Zenloop Survey Group ID. Can be found by pulling All Survey Groups via SurveyGroups stream. Leave empty to pull answers from all survey groups + */ + public Builder surveyGroupId(String surveyGroupId) { + Utils.checkNotNull(surveyGroupId, "surveyGroupId"); + this.surveyGroupId = Optional.ofNullable(surveyGroupId); + return this; + } + + /** + * Zenloop Survey Group ID. Can be found by pulling All Survey Groups via SurveyGroups stream. Leave empty to pull answers from all survey groups + */ + public Builder surveyGroupId(Optional surveyGroupId) { + Utils.checkNotNull(surveyGroupId, "surveyGroupId"); + this.surveyGroupId = surveyGroupId; + return this; + } + + /** + * Zenloop Survey ID. Can be found <a href="https://app.zenloop.com/settings/api">here</a>. Leave empty to pull answers from all surveys + */ + public Builder surveyId(String surveyId) { + Utils.checkNotNull(surveyId, "surveyId"); + this.surveyId = Optional.ofNullable(surveyId); + return this; + } + + /** + * Zenloop Survey ID. Can be found <a href="https://app.zenloop.com/settings/api">here</a>. Leave empty to pull answers from all surveys + */ + public Builder surveyId(Optional surveyId) { + Utils.checkNotNull(surveyId, "surveyId"); + this.surveyId = surveyId; + return this; + } + + public SourceZenloop build() { + return new SourceZenloop( + apiToken, + dateFrom, + surveyGroupId, + surveyId); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"zenloop\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZohoCrm.java b/src/main/java/com/airbyte/api/models/shared/SourceZohoCrm.java new file mode 100644 index 000000000..44b1ae321 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZohoCrm.java @@ -0,0 +1,411 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.OffsetDateTime; +import java.util.Optional; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class SourceZohoCrm { + + /** + * OAuth2.0 Client ID + */ + @JsonProperty("client_id") + private String clientId; + + /** + * OAuth2.0 Client Secret + */ + @JsonProperty("client_secret") + private String clientSecret; + + /** + * Please choose the region of your Data Center location. More info by this <a href="https://www.zoho.com/crm/developer/docs/api/v2/multi-dc.html">Link</a> + */ + @JsonProperty("dc_region") + private DataCenterLocation dcRegion; + + /** + * Choose your Edition of Zoho CRM to determine API Concurrency Limits + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("edition") + private Optional edition; + + /** + * Please choose the environment + */ + @JsonProperty("environment") + private SourceZohoCrmEnvironment environment; + + /** + * OAuth2.0 Refresh Token + */ + @JsonProperty("refresh_token") + private String refreshToken; + + @JsonProperty("sourceType") + private ZohoCrm sourceType; + + /** + * ISO 8601, for instance: `YYYY-MM-DD`, `YYYY-MM-DD HH:MM:SS+HH:MM` + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("start_datetime") + private JsonNullable startDatetime; + + public SourceZohoCrm( + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret, + @JsonProperty("dc_region") DataCenterLocation dcRegion, + @JsonProperty("edition") Optional edition, + @JsonProperty("environment") SourceZohoCrmEnvironment environment, + @JsonProperty("refresh_token") String refreshToken, + @JsonProperty("start_datetime") JsonNullable startDatetime) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + Utils.checkNotNull(dcRegion, "dcRegion"); + Utils.checkNotNull(edition, "edition"); + Utils.checkNotNull(environment, "environment"); + Utils.checkNotNull(refreshToken, "refreshToken"); + Utils.checkNotNull(startDatetime, "startDatetime"); + this.clientId = clientId; + this.clientSecret = clientSecret; + this.dcRegion = dcRegion; + this.edition = edition; + this.environment = environment; + this.refreshToken = refreshToken; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + this.startDatetime = startDatetime; + } + + /** + * OAuth2.0 Client ID + */ + public String clientId() { + return clientId; + } + + /** + * OAuth2.0 Client Secret + */ + public String clientSecret() { + return clientSecret; + } + + /** + * Please choose the region of your Data Center location. More info by this <a href="https://www.zoho.com/crm/developer/docs/api/v2/multi-dc.html">Link</a> + */ + public DataCenterLocation dcRegion() { + return dcRegion; + } + + /** + * Choose your Edition of Zoho CRM to determine API Concurrency Limits + */ + public Optional edition() { + return edition; + } + + /** + * Please choose the environment + */ + public SourceZohoCrmEnvironment environment() { + return environment; + } + + /** + * OAuth2.0 Refresh Token + */ + public String refreshToken() { + return refreshToken; + } + + public ZohoCrm sourceType() { + return sourceType; + } + + /** + * ISO 8601, for instance: `YYYY-MM-DD`, `YYYY-MM-DD HH:MM:SS+HH:MM` + */ + public JsonNullable startDatetime() { + return startDatetime; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * OAuth2.0 Client ID + */ + public SourceZohoCrm withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * OAuth2.0 Client Secret + */ + public SourceZohoCrm withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Please choose the region of your Data Center location. More info by this <a href="https://www.zoho.com/crm/developer/docs/api/v2/multi-dc.html">Link</a> + */ + public SourceZohoCrm withDcRegion(DataCenterLocation dcRegion) { + Utils.checkNotNull(dcRegion, "dcRegion"); + this.dcRegion = dcRegion; + return this; + } + + /** + * Choose your Edition of Zoho CRM to determine API Concurrency Limits + */ + public SourceZohoCrm withEdition(ZohoCRMEdition edition) { + Utils.checkNotNull(edition, "edition"); + this.edition = Optional.ofNullable(edition); + return this; + } + + /** + * Choose your Edition of Zoho CRM to determine API Concurrency Limits + */ + public SourceZohoCrm withEdition(Optional edition) { + Utils.checkNotNull(edition, "edition"); + this.edition = edition; + return this; + } + + /** + * Please choose the environment + */ + public SourceZohoCrm withEnvironment(SourceZohoCrmEnvironment environment) { + Utils.checkNotNull(environment, "environment"); + this.environment = environment; + return this; + } + + /** + * OAuth2.0 Refresh Token + */ + public SourceZohoCrm withRefreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * ISO 8601, for instance: `YYYY-MM-DD`, `YYYY-MM-DD HH:MM:SS+HH:MM` + */ + public SourceZohoCrm withStartDatetime(OffsetDateTime startDatetime) { + Utils.checkNotNull(startDatetime, "startDatetime"); + this.startDatetime = JsonNullable.of(startDatetime); + return this; + } + + /** + * ISO 8601, for instance: `YYYY-MM-DD`, `YYYY-MM-DD HH:MM:SS+HH:MM` + */ + public SourceZohoCrm withStartDatetime(JsonNullable startDatetime) { + Utils.checkNotNull(startDatetime, "startDatetime"); + this.startDatetime = startDatetime; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceZohoCrm other = (SourceZohoCrm) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.dcRegion, other.dcRegion) && + java.util.Objects.deepEquals(this.edition, other.edition) && + java.util.Objects.deepEquals(this.environment, other.environment) && + java.util.Objects.deepEquals(this.refreshToken, other.refreshToken) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType) && + java.util.Objects.deepEquals(this.startDatetime, other.startDatetime); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret, + dcRegion, + edition, + environment, + refreshToken, + sourceType, + startDatetime); + } + + @Override + public String toString() { + return Utils.toString(SourceZohoCrm.class, + "clientId", clientId, + "clientSecret", clientSecret, + "dcRegion", dcRegion, + "edition", edition, + "environment", environment, + "refreshToken", refreshToken, + "sourceType", sourceType, + "startDatetime", startDatetime); + } + + public final static class Builder { + + private String clientId; + + private String clientSecret; + + private DataCenterLocation dcRegion; + + private Optional edition; + + private SourceZohoCrmEnvironment environment; + + private String refreshToken; + + private JsonNullable startDatetime = JsonNullable.undefined(); + + private Builder() { + // force use of static builder() method + } + + /** + * OAuth2.0 Client ID + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * OAuth2.0 Client Secret + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + /** + * Please choose the region of your Data Center location. More info by this <a href="https://www.zoho.com/crm/developer/docs/api/v2/multi-dc.html">Link</a> + */ + public Builder dcRegion(DataCenterLocation dcRegion) { + Utils.checkNotNull(dcRegion, "dcRegion"); + this.dcRegion = dcRegion; + return this; + } + + /** + * Choose your Edition of Zoho CRM to determine API Concurrency Limits + */ + public Builder edition(ZohoCRMEdition edition) { + Utils.checkNotNull(edition, "edition"); + this.edition = Optional.ofNullable(edition); + return this; + } + + /** + * Choose your Edition of Zoho CRM to determine API Concurrency Limits + */ + public Builder edition(Optional edition) { + Utils.checkNotNull(edition, "edition"); + this.edition = edition; + return this; + } + + /** + * Please choose the environment + */ + public Builder environment(SourceZohoCrmEnvironment environment) { + Utils.checkNotNull(environment, "environment"); + this.environment = environment; + return this; + } + + /** + * OAuth2.0 Refresh Token + */ + public Builder refreshToken(String refreshToken) { + Utils.checkNotNull(refreshToken, "refreshToken"); + this.refreshToken = refreshToken; + return this; + } + + /** + * ISO 8601, for instance: `YYYY-MM-DD`, `YYYY-MM-DD HH:MM:SS+HH:MM` + */ + public Builder startDatetime(OffsetDateTime startDatetime) { + Utils.checkNotNull(startDatetime, "startDatetime"); + this.startDatetime = JsonNullable.of(startDatetime); + return this; + } + + /** + * ISO 8601, for instance: `YYYY-MM-DD`, `YYYY-MM-DD HH:MM:SS+HH:MM` + */ + public Builder startDatetime(JsonNullable startDatetime) { + Utils.checkNotNull(startDatetime, "startDatetime"); + this.startDatetime = startDatetime; + return this; + } + + public SourceZohoCrm build() { + if (edition == null) { + edition = _SINGLETON_VALUE_Edition.value(); + } + return new SourceZohoCrm( + clientId, + clientSecret, + dcRegion, + edition, + environment, + refreshToken, + startDatetime); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Edition = + new LazySingletonValue<>( + "edition", + "\"Free\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"zoho-crm\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZohoCrmEnvironment.java b/src/main/java/com/airbyte/api/models/shared/SourceZohoCrmEnvironment.java new file mode 100644 index 000000000..db87755ba --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZohoCrmEnvironment.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SourceZohoCrmEnvironment - Please choose the environment + */ +public enum SourceZohoCrmEnvironment { + PRODUCTION("Production"), + DEVELOPER("Developer"), + SANDBOX("Sandbox"); + + @JsonValue + private final String value; + + private SourceZohoCrmEnvironment(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SourceZoom.java b/src/main/java/com/airbyte/api/models/shared/SourceZoom.java new file mode 100644 index 000000000..ef6d878af --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourceZoom.java @@ -0,0 +1,250 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourceZoom { + + /** + * The account ID for your Zoom account. You can find this in the Zoom Marketplace under the "Manage" tab for your app. + */ + @JsonProperty("account_id") + private String accountId; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("authorization_endpoint") + private Optional authorizationEndpoint; + + /** + * The client ID for your Zoom app. You can find this in the Zoom Marketplace under the "Manage" tab for your app. + */ + @JsonProperty("client_id") + private String clientId; + + /** + * The client secret for your Zoom app. You can find this in the Zoom Marketplace under the "Manage" tab for your app. + */ + @JsonProperty("client_secret") + private String clientSecret; + + @JsonProperty("sourceType") + private Zoom sourceType; + + public SourceZoom( + @JsonProperty("account_id") String accountId, + @JsonProperty("authorization_endpoint") Optional authorizationEndpoint, + @JsonProperty("client_id") String clientId, + @JsonProperty("client_secret") String clientSecret) { + Utils.checkNotNull(accountId, "accountId"); + Utils.checkNotNull(authorizationEndpoint, "authorizationEndpoint"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.accountId = accountId; + this.authorizationEndpoint = authorizationEndpoint; + this.clientId = clientId; + this.clientSecret = clientSecret; + this.sourceType = Builder._SINGLETON_VALUE_SourceType.value(); + } + + /** + * The account ID for your Zoom account. You can find this in the Zoom Marketplace under the "Manage" tab for your app. + */ + public String accountId() { + return accountId; + } + + public Optional authorizationEndpoint() { + return authorizationEndpoint; + } + + /** + * The client ID for your Zoom app. You can find this in the Zoom Marketplace under the "Manage" tab for your app. + */ + public String clientId() { + return clientId; + } + + /** + * The client secret for your Zoom app. You can find this in the Zoom Marketplace under the "Manage" tab for your app. + */ + public String clientSecret() { + return clientSecret; + } + + public Zoom sourceType() { + return sourceType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The account ID for your Zoom account. You can find this in the Zoom Marketplace under the "Manage" tab for your app. + */ + public SourceZoom withAccountId(String accountId) { + Utils.checkNotNull(accountId, "accountId"); + this.accountId = accountId; + return this; + } + + public SourceZoom withAuthorizationEndpoint(String authorizationEndpoint) { + Utils.checkNotNull(authorizationEndpoint, "authorizationEndpoint"); + this.authorizationEndpoint = Optional.ofNullable(authorizationEndpoint); + return this; + } + + public SourceZoom withAuthorizationEndpoint(Optional authorizationEndpoint) { + Utils.checkNotNull(authorizationEndpoint, "authorizationEndpoint"); + this.authorizationEndpoint = authorizationEndpoint; + return this; + } + + /** + * The client ID for your Zoom app. You can find this in the Zoom Marketplace under the "Manage" tab for your app. + */ + public SourceZoom withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret for your Zoom app. You can find this in the Zoom Marketplace under the "Manage" tab for your app. + */ + public SourceZoom withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceZoom other = (SourceZoom) o; + return + java.util.Objects.deepEquals(this.accountId, other.accountId) && + java.util.Objects.deepEquals(this.authorizationEndpoint, other.authorizationEndpoint) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret) && + java.util.Objects.deepEquals(this.sourceType, other.sourceType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accountId, + authorizationEndpoint, + clientId, + clientSecret, + sourceType); + } + + @Override + public String toString() { + return Utils.toString(SourceZoom.class, + "accountId", accountId, + "authorizationEndpoint", authorizationEndpoint, + "clientId", clientId, + "clientSecret", clientSecret, + "sourceType", sourceType); + } + + public final static class Builder { + + private String accountId; + + private Optional authorizationEndpoint; + + private String clientId; + + private String clientSecret; + + private Builder() { + // force use of static builder() method + } + + /** + * The account ID for your Zoom account. You can find this in the Zoom Marketplace under the "Manage" tab for your app. + */ + public Builder accountId(String accountId) { + Utils.checkNotNull(accountId, "accountId"); + this.accountId = accountId; + return this; + } + + public Builder authorizationEndpoint(String authorizationEndpoint) { + Utils.checkNotNull(authorizationEndpoint, "authorizationEndpoint"); + this.authorizationEndpoint = Optional.ofNullable(authorizationEndpoint); + return this; + } + + public Builder authorizationEndpoint(Optional authorizationEndpoint) { + Utils.checkNotNull(authorizationEndpoint, "authorizationEndpoint"); + this.authorizationEndpoint = authorizationEndpoint; + return this; + } + + /** + * The client ID for your Zoom app. You can find this in the Zoom Marketplace under the "Manage" tab for your app. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret for your Zoom app. You can find this in the Zoom Marketplace under the "Manage" tab for your app. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public SourceZoom build() { + if (authorizationEndpoint == null) { + authorizationEndpoint = _SINGLETON_VALUE_AuthorizationEndpoint.value(); + } + return new SourceZoom( + accountId, + authorizationEndpoint, + clientId, + clientSecret); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthorizationEndpoint = + new LazySingletonValue<>( + "authorization_endpoint", + "\"https://zoom.us/oauth/token\"", + new TypeReference>() {}); + + private static final LazySingletonValue _SINGLETON_VALUE_SourceType = + new LazySingletonValue<>( + "sourceType", + "\"zoom\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SourcesResponse.java b/src/main/java/com/airbyte/api/models/shared/SourcesResponse.java new file mode 100644 index 000000000..79788f162 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SourcesResponse.java @@ -0,0 +1,172 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SourcesResponse { + + @JsonProperty("data") + private java.util.List data; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("next") + private Optional next; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("previous") + private Optional previous; + + public SourcesResponse( + @JsonProperty("data") java.util.List data, + @JsonProperty("next") Optional next, + @JsonProperty("previous") Optional previous) { + Utils.checkNotNull(data, "data"); + Utils.checkNotNull(next, "next"); + Utils.checkNotNull(previous, "previous"); + this.data = data; + this.next = next; + this.previous = previous; + } + + public java.util.List data() { + return data; + } + + public Optional next() { + return next; + } + + public Optional previous() { + return previous; + } + + public final static Builder builder() { + return new Builder(); + } + + public SourcesResponse withData(java.util.List data) { + Utils.checkNotNull(data, "data"); + this.data = data; + return this; + } + + public SourcesResponse withNext(String next) { + Utils.checkNotNull(next, "next"); + this.next = Optional.ofNullable(next); + return this; + } + + public SourcesResponse withNext(Optional next) { + Utils.checkNotNull(next, "next"); + this.next = next; + return this; + } + + public SourcesResponse withPrevious(String previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = Optional.ofNullable(previous); + return this; + } + + public SourcesResponse withPrevious(Optional previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = previous; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourcesResponse other = (SourcesResponse) o; + return + java.util.Objects.deepEquals(this.data, other.data) && + java.util.Objects.deepEquals(this.next, other.next) && + java.util.Objects.deepEquals(this.previous, other.previous); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + data, + next, + previous); + } + + @Override + public String toString() { + return Utils.toString(SourcesResponse.class, + "data", data, + "next", next, + "previous", previous); + } + + public final static class Builder { + + private java.util.List data; + + private Optional next = Optional.empty(); + + private Optional previous = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder data(java.util.List data) { + Utils.checkNotNull(data, "data"); + this.data = data; + return this; + } + + public Builder next(String next) { + Utils.checkNotNull(next, "next"); + this.next = Optional.ofNullable(next); + return this; + } + + public Builder next(Optional next) { + Utils.checkNotNull(next, "next"); + this.next = next; + return this; + } + + public Builder previous(String previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = Optional.ofNullable(previous); + return this; + } + + public Builder previous(Optional previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = previous; + return this; + } + + public SourcesResponse build() { + return new SourcesResponse( + data, + next, + previous); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SpacexApi.java b/src/main/java/com/airbyte/api/models/shared/SpacexApi.java new file mode 100644 index 000000000..c293ac034 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SpacexApi.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SpacexApi { + SPACEX_API("spacex-api"); + + @JsonValue + private final String value; + + private SpacexApi(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Square.java b/src/main/java/com/airbyte/api/models/shared/Square.java new file mode 100644 index 000000000..8f4ed2e1c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Square.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Square { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public Square( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public Square withCredentials(SquareCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Square withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Square other = (Square) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(Square.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(SquareCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Square build() { + return new Square( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SquareCredentials.java b/src/main/java/com/airbyte/api/models/shared/SquareCredentials.java new file mode 100644 index 000000000..5443a0436 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SquareCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SquareCredentials { + + /** + * The Square-issued ID of your application + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Square-issued application secret for your application + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public SquareCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Square-issued ID of your application + */ + public Optional clientId() { + return clientId; + } + + /** + * The Square-issued application secret for your application + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Square-issued ID of your application + */ + public SquareCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Square-issued ID of your application + */ + public SquareCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Square-issued application secret for your application + */ + public SquareCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Square-issued application secret for your application + */ + public SquareCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SquareCredentials other = (SquareCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(SquareCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Square-issued ID of your application + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Square-issued ID of your application + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Square-issued application secret for your application + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Square-issued application secret for your application + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public SquareCredentials build() { + return new SquareCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/StandaloneMongoDbInstance.java b/src/main/java/com/airbyte/api/models/shared/StandaloneMongoDbInstance.java new file mode 100644 index 000000000..8e3966c7c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/StandaloneMongoDbInstance.java @@ -0,0 +1,221 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class StandaloneMongoDbInstance { + + /** + * The Host of a Mongo database to be replicated. + */ + @JsonProperty("host") + private String host; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("instance") + private Optional instance; + + /** + * The Port of a Mongo database to be replicated. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("port") + private Optional port; + + public StandaloneMongoDbInstance( + @JsonProperty("host") String host, + @JsonProperty("instance") Optional instance, + @JsonProperty("port") Optional port) { + Utils.checkNotNull(host, "host"); + Utils.checkNotNull(instance, "instance"); + Utils.checkNotNull(port, "port"); + this.host = host; + this.instance = instance; + this.port = port; + } + + /** + * The Host of a Mongo database to be replicated. + */ + public String host() { + return host; + } + + public Optional instance() { + return instance; + } + + /** + * The Port of a Mongo database to be replicated. + */ + public Optional port() { + return port; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Host of a Mongo database to be replicated. + */ + public StandaloneMongoDbInstance withHost(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + public StandaloneMongoDbInstance withInstance(Instance instance) { + Utils.checkNotNull(instance, "instance"); + this.instance = Optional.ofNullable(instance); + return this; + } + + public StandaloneMongoDbInstance withInstance(Optional instance) { + Utils.checkNotNull(instance, "instance"); + this.instance = instance; + return this; + } + + /** + * The Port of a Mongo database to be replicated. + */ + public StandaloneMongoDbInstance withPort(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * The Port of a Mongo database to be replicated. + */ + public StandaloneMongoDbInstance withPort(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StandaloneMongoDbInstance other = (StandaloneMongoDbInstance) o; + return + java.util.Objects.deepEquals(this.host, other.host) && + java.util.Objects.deepEquals(this.instance, other.instance) && + java.util.Objects.deepEquals(this.port, other.port); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + host, + instance, + port); + } + + @Override + public String toString() { + return Utils.toString(StandaloneMongoDbInstance.class, + "host", host, + "instance", instance, + "port", port); + } + + public final static class Builder { + + private String host; + + private Optional instance; + + private Optional port; + + private Builder() { + // force use of static builder() method + } + + /** + * The Host of a Mongo database to be replicated. + */ + public Builder host(String host) { + Utils.checkNotNull(host, "host"); + this.host = host; + return this; + } + + public Builder instance(Instance instance) { + Utils.checkNotNull(instance, "instance"); + this.instance = Optional.ofNullable(instance); + return this; + } + + public Builder instance(Optional instance) { + Utils.checkNotNull(instance, "instance"); + this.instance = instance; + return this; + } + + /** + * The Port of a Mongo database to be replicated. + */ + public Builder port(long port) { + Utils.checkNotNull(port, "port"); + this.port = Optional.ofNullable(port); + return this; + } + + /** + * The Port of a Mongo database to be replicated. + */ + public Builder port(Optional port) { + Utils.checkNotNull(port, "port"); + this.port = port; + return this; + } + + public StandaloneMongoDbInstance build() { + if (instance == null) { + instance = _SINGLETON_VALUE_Instance.value(); + } + if (port == null) { + port = _SINGLETON_VALUE_Port.value(); + } + return new StandaloneMongoDbInstance( + host, + instance, + port); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Instance = + new LazySingletonValue<>( + "instance", + "\"standalone\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_Port = + new LazySingletonValue<>( + "port", + "27017", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Standard.java b/src/main/java/com/airbyte/api/models/shared/Standard.java new file mode 100644 index 000000000..4bfa72b0f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Standard.java @@ -0,0 +1,82 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * Standard - <i>(not recommended)</i> Direct loading using SQL INSERT statements. This method is extremely inefficient and provided only for quick testing. In all other cases, you should use S3 uploading. + */ + +public class Standard { + + @JsonProperty("method") + private DestinationRedshiftSchemasMethod method; + + public Standard() { + + this.method = Builder._SINGLETON_VALUE_Method.value(); + } + + public DestinationRedshiftSchemasMethod method() { + return method; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Standard other = (Standard) o; + return + java.util.Objects.deepEquals(this.method, other.method); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + method); + } + + @Override + public String toString() { + return Utils.toString(Standard.class, + "method", method); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public Standard build() { + return new Standard( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Method = + new LazySingletonValue<>( + "method", + "\"Standard\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/StandardInserts.java b/src/main/java/com/airbyte/api/models/shared/StandardInserts.java new file mode 100644 index 000000000..5c9cceb93 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/StandardInserts.java @@ -0,0 +1,82 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * StandardInserts - <i>(not recommended)</i> Direct loading using SQL INSERT statements. This method is extremely inefficient and provided only for quick testing. In all other cases, you should use GCS staging. + */ + +public class StandardInserts { + + @JsonProperty("method") + private DestinationBigqueryMethod method; + + public StandardInserts() { + + this.method = Builder._SINGLETON_VALUE_Method.value(); + } + + public DestinationBigqueryMethod method() { + return method; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StandardInserts other = (StandardInserts) o; + return + java.util.Objects.deepEquals(this.method, other.method); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + method); + } + + @Override + public String toString() { + return Utils.toString(StandardInserts.class, + "method", method); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public StandardInserts build() { + return new StandardInserts( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Method = + new LazySingletonValue<>( + "method", + "\"Standard\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/State.java b/src/main/java/com/airbyte/api/models/shared/State.java new file mode 100644 index 000000000..d6660458e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/State.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * State - Select the state of the items to retrieve. + */ +public enum State { + UNREAD("unread"), + ARCHIVE("archive"), + ALL("all"); + + @JsonValue + private final String value; + + private State(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/StateFilter.java b/src/main/java/com/airbyte/api/models/shared/StateFilter.java new file mode 100644 index 000000000..f59e6bf08 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/StateFilter.java @@ -0,0 +1,31 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum StateFilter { + ENABLED("enabled"), + PAUSED("paused"), + ARCHIVED("archived"); + + @JsonValue + private final String value; + + private StateFilter(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Status.java b/src/main/java/com/airbyte/api/models/shared/Status.java new file mode 100644 index 000000000..d9d4411a7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Status.java @@ -0,0 +1,31 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Status { + ACTIVE("ACTIVE"), + PAUSED("PAUSED"), + ARCHIVED("ARCHIVED"); + + @JsonValue + private final String value; + + private Status(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Storage.java b/src/main/java/com/airbyte/api/models/shared/Storage.java new file mode 100644 index 000000000..3a638373e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Storage.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Storage { + HTTPS("HTTPS"); + + @JsonValue + private final String value; + + private Storage(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/StorageProvider.java b/src/main/java/com/airbyte/api/models/shared/StorageProvider.java new file mode 100644 index 000000000..54782cd3b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/StorageProvider.java @@ -0,0 +1,136 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * StorageProvider - The storage Provider or Location of the file(s) which should be replicated. + */ + +@JsonDeserialize(using = StorageProvider._Deserializer.class) +public class StorageProvider { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private StorageProvider(TypedObject value) { + this.value = value; + } + + public static StorageProvider of(HTTPSPublicWeb value) { + Utils.checkNotNull(value, "value"); + return new StorageProvider(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static StorageProvider of(GCSGoogleCloudStorage value) { + Utils.checkNotNull(value, "value"); + return new StorageProvider(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static StorageProvider of(SourceFileS3AmazonWebServices value) { + Utils.checkNotNull(value, "value"); + return new StorageProvider(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static StorageProvider of(AzBlobAzureBlobStorage value) { + Utils.checkNotNull(value, "value"); + return new StorageProvider(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static StorageProvider of(SSHSecureShell value) { + Utils.checkNotNull(value, "value"); + return new StorageProvider(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static StorageProvider of(SCPSecureCopyProtocol value) { + Utils.checkNotNull(value, "value"); + return new StorageProvider(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static StorageProvider of(SFTPSecureFileTransferProtocol value) { + Utils.checkNotNull(value, "value"); + return new StorageProvider(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code HTTPSPublicWeb}
    • + *
    • {@code GCSGoogleCloudStorage}
    • + *
    • {@code SourceFileS3AmazonWebServices}
    • + *
    • {@code AzBlobAzureBlobStorage}
    • + *
    • {@code SSHSecureShell}
    • + *
    • {@code SCPSecureCopyProtocol}
    • + *
    • {@code SFTPSecureFileTransferProtocol}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StorageProvider other = (StorageProvider) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(StorageProvider.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(StorageProvider.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/Strategies.java b/src/main/java/com/airbyte/api/models/shared/Strategies.java new file mode 100644 index 000000000..888571e48 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Strategies.java @@ -0,0 +1,30 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Strategies { + DESKTOP("desktop"), + MOBILE("mobile"); + + @JsonValue + private final String value; + + private Strategies(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Strava.java b/src/main/java/com/airbyte/api/models/shared/Strava.java new file mode 100644 index 000000000..9820cb16a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Strava.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Strava { + + /** + * The Client ID of your Strava developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your Strava developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public Strava( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of your Strava developer application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your Strava developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your Strava developer application. + */ + public Strava withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Strava developer application. + */ + public Strava withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Strava developer application. + */ + public Strava withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Strava developer application. + */ + public Strava withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Strava other = (Strava) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(Strava.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your Strava developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your Strava developer application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your Strava developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your Strava developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public Strava build() { + return new Strava( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/StreamConfiguration.java b/src/main/java/com/airbyte/api/models/shared/StreamConfiguration.java new file mode 100644 index 000000000..e2db496e5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/StreamConfiguration.java @@ -0,0 +1,252 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * StreamConfiguration - Configurations for a single stream. + */ + +public class StreamConfiguration { + + /** + * Path to the field that will be used to determine if a record is new or modified since the last sync. This field is REQUIRED if `sync_mode` is `incremental` unless there is a default. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("cursorField") + private Optional> cursorField; + + @JsonProperty("name") + private String name; + + /** + * Paths to the fields that will be used as primary key. This field is REQUIRED if `destination_sync_mode` is `*_dedup` unless it is already supplied by the source schema. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("primaryKey") + private Optional>> primaryKey; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("syncMode") + private Optional syncMode; + + public StreamConfiguration( + @JsonProperty("cursorField") Optional> cursorField, + @JsonProperty("name") String name, + @JsonProperty("primaryKey") Optional>> primaryKey, + @JsonProperty("syncMode") Optional syncMode) { + Utils.checkNotNull(cursorField, "cursorField"); + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(primaryKey, "primaryKey"); + Utils.checkNotNull(syncMode, "syncMode"); + this.cursorField = cursorField; + this.name = name; + this.primaryKey = primaryKey; + this.syncMode = syncMode; + } + + /** + * Path to the field that will be used to determine if a record is new or modified since the last sync. This field is REQUIRED if `sync_mode` is `incremental` unless there is a default. + */ + public Optional> cursorField() { + return cursorField; + } + + public String name() { + return name; + } + + /** + * Paths to the fields that will be used as primary key. This field is REQUIRED if `destination_sync_mode` is `*_dedup` unless it is already supplied by the source schema. + */ + public Optional>> primaryKey() { + return primaryKey; + } + + public Optional syncMode() { + return syncMode; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Path to the field that will be used to determine if a record is new or modified since the last sync. This field is REQUIRED if `sync_mode` is `incremental` unless there is a default. + */ + public StreamConfiguration withCursorField(java.util.List cursorField) { + Utils.checkNotNull(cursorField, "cursorField"); + this.cursorField = Optional.ofNullable(cursorField); + return this; + } + + /** + * Path to the field that will be used to determine if a record is new or modified since the last sync. This field is REQUIRED if `sync_mode` is `incremental` unless there is a default. + */ + public StreamConfiguration withCursorField(Optional> cursorField) { + Utils.checkNotNull(cursorField, "cursorField"); + this.cursorField = cursorField; + return this; + } + + public StreamConfiguration withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * Paths to the fields that will be used as primary key. This field is REQUIRED if `destination_sync_mode` is `*_dedup` unless it is already supplied by the source schema. + */ + public StreamConfiguration withPrimaryKey(java.util.List> primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = Optional.ofNullable(primaryKey); + return this; + } + + /** + * Paths to the fields that will be used as primary key. This field is REQUIRED if `destination_sync_mode` is `*_dedup` unless it is already supplied by the source schema. + */ + public StreamConfiguration withPrimaryKey(Optional>> primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = primaryKey; + return this; + } + + public StreamConfiguration withSyncMode(ConnectionSyncModeEnum syncMode) { + Utils.checkNotNull(syncMode, "syncMode"); + this.syncMode = Optional.ofNullable(syncMode); + return this; + } + + public StreamConfiguration withSyncMode(Optional syncMode) { + Utils.checkNotNull(syncMode, "syncMode"); + this.syncMode = syncMode; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StreamConfiguration other = (StreamConfiguration) o; + return + java.util.Objects.deepEquals(this.cursorField, other.cursorField) && + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.primaryKey, other.primaryKey) && + java.util.Objects.deepEquals(this.syncMode, other.syncMode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + cursorField, + name, + primaryKey, + syncMode); + } + + @Override + public String toString() { + return Utils.toString(StreamConfiguration.class, + "cursorField", cursorField, + "name", name, + "primaryKey", primaryKey, + "syncMode", syncMode); + } + + public final static class Builder { + + private Optional> cursorField = Optional.empty(); + + private String name; + + private Optional>> primaryKey = Optional.empty(); + + private Optional syncMode = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Path to the field that will be used to determine if a record is new or modified since the last sync. This field is REQUIRED if `sync_mode` is `incremental` unless there is a default. + */ + public Builder cursorField(java.util.List cursorField) { + Utils.checkNotNull(cursorField, "cursorField"); + this.cursorField = Optional.ofNullable(cursorField); + return this; + } + + /** + * Path to the field that will be used to determine if a record is new or modified since the last sync. This field is REQUIRED if `sync_mode` is `incremental` unless there is a default. + */ + public Builder cursorField(Optional> cursorField) { + Utils.checkNotNull(cursorField, "cursorField"); + this.cursorField = cursorField; + return this; + } + + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** + * Paths to the fields that will be used as primary key. This field is REQUIRED if `destination_sync_mode` is `*_dedup` unless it is already supplied by the source schema. + */ + public Builder primaryKey(java.util.List> primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = Optional.ofNullable(primaryKey); + return this; + } + + /** + * Paths to the fields that will be used as primary key. This field is REQUIRED if `destination_sync_mode` is `*_dedup` unless it is already supplied by the source schema. + */ + public Builder primaryKey(Optional>> primaryKey) { + Utils.checkNotNull(primaryKey, "primaryKey"); + this.primaryKey = primaryKey; + return this; + } + + public Builder syncMode(ConnectionSyncModeEnum syncMode) { + Utils.checkNotNull(syncMode, "syncMode"); + this.syncMode = Optional.ofNullable(syncMode); + return this; + } + + public Builder syncMode(Optional syncMode) { + Utils.checkNotNull(syncMode, "syncMode"); + this.syncMode = syncMode; + return this; + } + + public StreamConfiguration build() { + return new StreamConfiguration( + cursorField, + name, + primaryKey, + syncMode); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/StreamConfigurations.java b/src/main/java/com/airbyte/api/models/shared/StreamConfigurations.java new file mode 100644 index 000000000..1eaf084df --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/StreamConfigurations.java @@ -0,0 +1,106 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * StreamConfigurations - A list of configured stream options for a connection. + */ + +public class StreamConfigurations { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("streams") + private Optional> streams; + + public StreamConfigurations( + @JsonProperty("streams") Optional> streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = streams; + } + + public Optional> streams() { + return streams; + } + + public final static Builder builder() { + return new Builder(); + } + + public StreamConfigurations withStreams(java.util.List streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = Optional.ofNullable(streams); + return this; + } + + public StreamConfigurations withStreams(Optional> streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = streams; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StreamConfigurations other = (StreamConfigurations) o; + return + java.util.Objects.deepEquals(this.streams, other.streams); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + streams); + } + + @Override + public String toString() { + return Utils.toString(StreamConfigurations.class, + "streams", streams); + } + + public final static class Builder { + + private Optional> streams = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder streams(java.util.List streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = Optional.ofNullable(streams); + return this; + } + + public Builder streams(Optional> streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = streams; + return this; + } + + public StreamConfigurations build() { + return new StreamConfigurations( + streams); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/StreamName.java b/src/main/java/com/airbyte/api/models/shared/StreamName.java new file mode 100644 index 000000000..b729f8117 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/StreamName.java @@ -0,0 +1,72 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum StreamName { + GET_AFN_INVENTORY_DATA("GET_AFN_INVENTORY_DATA"), + GET_AFN_INVENTORY_DATA_BY_COUNTRY("GET_AFN_INVENTORY_DATA_BY_COUNTRY"), + GET_AMAZON_FULFILLED_SHIPMENTS_DATA_GENERAL("GET_AMAZON_FULFILLED_SHIPMENTS_DATA_GENERAL"), + GET_BRAND_ANALYTICS_MARKET_BASKET_REPORT("GET_BRAND_ANALYTICS_MARKET_BASKET_REPORT"), + GET_BRAND_ANALYTICS_REPEAT_PURCHASE_REPORT("GET_BRAND_ANALYTICS_REPEAT_PURCHASE_REPORT"), + GET_BRAND_ANALYTICS_SEARCH_TERMS_REPORT("GET_BRAND_ANALYTICS_SEARCH_TERMS_REPORT"), + GET_FBA_ESTIMATED_FBA_FEES_TXT_DATA("GET_FBA_ESTIMATED_FBA_FEES_TXT_DATA"), + GET_FBA_FULFILLMENT_CUSTOMER_RETURNS_DATA("GET_FBA_FULFILLMENT_CUSTOMER_RETURNS_DATA"), + GET_FBA_FULFILLMENT_CUSTOMER_SHIPMENT_PROMOTION_DATA("GET_FBA_FULFILLMENT_CUSTOMER_SHIPMENT_PROMOTION_DATA"), + GET_FBA_FULFILLMENT_CUSTOMER_SHIPMENT_REPLACEMENT_DATA("GET_FBA_FULFILLMENT_CUSTOMER_SHIPMENT_REPLACEMENT_DATA"), + GET_FBA_FULFILLMENT_REMOVAL_ORDER_DETAIL_DATA("GET_FBA_FULFILLMENT_REMOVAL_ORDER_DETAIL_DATA"), + GET_FBA_FULFILLMENT_REMOVAL_SHIPMENT_DETAIL_DATA("GET_FBA_FULFILLMENT_REMOVAL_SHIPMENT_DETAIL_DATA"), + GET_FBA_INVENTORY_PLANNING_DATA("GET_FBA_INVENTORY_PLANNING_DATA"), + GET_FBA_MYI_UNSUPPRESSED_INVENTORY_DATA("GET_FBA_MYI_UNSUPPRESSED_INVENTORY_DATA"), + GET_FBA_REIMBURSEMENTS_DATA("GET_FBA_REIMBURSEMENTS_DATA"), + GET_FBA_SNS_FORECAST_DATA("GET_FBA_SNS_FORECAST_DATA"), + GET_FBA_SNS_PERFORMANCE_DATA("GET_FBA_SNS_PERFORMANCE_DATA"), + GET_FBA_STORAGE_FEE_CHARGES_DATA("GET_FBA_STORAGE_FEE_CHARGES_DATA"), + GET_FLAT_FILE_ACTIONABLE_ORDER_DATA_SHIPPING("GET_FLAT_FILE_ACTIONABLE_ORDER_DATA_SHIPPING"), + GET_FLAT_FILE_ALL_ORDERS_DATA_BY_LAST_UPDATE_GENERAL("GET_FLAT_FILE_ALL_ORDERS_DATA_BY_LAST_UPDATE_GENERAL"), + GET_FLAT_FILE_ALL_ORDERS_DATA_BY_ORDER_DATE_GENERAL("GET_FLAT_FILE_ALL_ORDERS_DATA_BY_ORDER_DATE_GENERAL"), + GET_FLAT_FILE_ARCHIVED_ORDERS_DATA_BY_ORDER_DATE("GET_FLAT_FILE_ARCHIVED_ORDERS_DATA_BY_ORDER_DATE"), + GET_FLAT_FILE_OPEN_LISTINGS_DATA("GET_FLAT_FILE_OPEN_LISTINGS_DATA"), + GET_FLAT_FILE_RETURNS_DATA_BY_RETURN_DATE("GET_FLAT_FILE_RETURNS_DATA_BY_RETURN_DATE"), + GET_LEDGER_DETAIL_VIEW_DATA("GET_LEDGER_DETAIL_VIEW_DATA"), + GET_LEDGER_SUMMARY_VIEW_DATA("GET_LEDGER_SUMMARY_VIEW_DATA"), + GET_MERCHANT_CANCELLED_LISTINGS_DATA("GET_MERCHANT_CANCELLED_LISTINGS_DATA"), + GET_MERCHANT_LISTINGS_ALL_DATA("GET_MERCHANT_LISTINGS_ALL_DATA"), + GET_MERCHANT_LISTINGS_DATA("GET_MERCHANT_LISTINGS_DATA"), + GET_MERCHANT_LISTINGS_DATA_BACK_COMPAT("GET_MERCHANT_LISTINGS_DATA_BACK_COMPAT"), + GET_MERCHANT_LISTINGS_INACTIVE_DATA("GET_MERCHANT_LISTINGS_INACTIVE_DATA"), + GET_MERCHANTS_LISTINGS_FYP_REPORT("GET_MERCHANTS_LISTINGS_FYP_REPORT"), + GET_ORDER_REPORT_DATA_SHIPPING("GET_ORDER_REPORT_DATA_SHIPPING"), + GET_RESTOCK_INVENTORY_RECOMMENDATIONS_REPORT("GET_RESTOCK_INVENTORY_RECOMMENDATIONS_REPORT"), + GET_SALES_AND_TRAFFIC_REPORT("GET_SALES_AND_TRAFFIC_REPORT"), + GET_SELLER_FEEDBACK_DATA("GET_SELLER_FEEDBACK_DATA"), + GET_STRANDED_INVENTORY_UI_DATA("GET_STRANDED_INVENTORY_UI_DATA"), + GET_V2_SETTLEMENT_REPORT_DATA_FLAT_FILE("GET_V2_SETTLEMENT_REPORT_DATA_FLAT_FILE"), + GET_VENDOR_INVENTORY_REPORT("GET_VENDOR_INVENTORY_REPORT"), + GET_VENDOR_NET_PURE_PRODUCT_MARGIN_REPORT("GET_VENDOR_NET_PURE_PRODUCT_MARGIN_REPORT"), + GET_VENDOR_TRAFFIC_REPORT("GET_VENDOR_TRAFFIC_REPORT"), + GET_VENDOR_SALES_REPORT("GET_VENDOR_SALES_REPORT"), + GET_XML_ALL_ORDERS_DATA_BY_ORDER_DATE_GENERAL("GET_XML_ALL_ORDERS_DATA_BY_ORDER_DATE_GENERAL"), + GET_XML_BROWSE_TREE_DATA("GET_XML_BROWSE_TREE_DATA"); + + @JsonValue + private final String value; + + private StreamName(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/StreamProperties.java b/src/main/java/com/airbyte/api/models/shared/StreamProperties.java new file mode 100644 index 000000000..1fc724692 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/StreamProperties.java @@ -0,0 +1,311 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * StreamProperties - The stream properties associated with a connection. + */ + +public class StreamProperties { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("defaultCursorField") + private Optional> defaultCursorField; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("propertyFields") + private Optional>> propertyFields; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sourceDefinedCursorField") + private Optional sourceDefinedCursorField; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sourceDefinedPrimaryKey") + private Optional>> sourceDefinedPrimaryKey; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("streamName") + private Optional streamName; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("syncModes") + private Optional> syncModes; + + public StreamProperties( + @JsonProperty("defaultCursorField") Optional> defaultCursorField, + @JsonProperty("propertyFields") Optional>> propertyFields, + @JsonProperty("sourceDefinedCursorField") Optional sourceDefinedCursorField, + @JsonProperty("sourceDefinedPrimaryKey") Optional>> sourceDefinedPrimaryKey, + @JsonProperty("streamName") Optional streamName, + @JsonProperty("syncModes") Optional> syncModes) { + Utils.checkNotNull(defaultCursorField, "defaultCursorField"); + Utils.checkNotNull(propertyFields, "propertyFields"); + Utils.checkNotNull(sourceDefinedCursorField, "sourceDefinedCursorField"); + Utils.checkNotNull(sourceDefinedPrimaryKey, "sourceDefinedPrimaryKey"); + Utils.checkNotNull(streamName, "streamName"); + Utils.checkNotNull(syncModes, "syncModes"); + this.defaultCursorField = defaultCursorField; + this.propertyFields = propertyFields; + this.sourceDefinedCursorField = sourceDefinedCursorField; + this.sourceDefinedPrimaryKey = sourceDefinedPrimaryKey; + this.streamName = streamName; + this.syncModes = syncModes; + } + + public Optional> defaultCursorField() { + return defaultCursorField; + } + + public Optional>> propertyFields() { + return propertyFields; + } + + public Optional sourceDefinedCursorField() { + return sourceDefinedCursorField; + } + + public Optional>> sourceDefinedPrimaryKey() { + return sourceDefinedPrimaryKey; + } + + public Optional streamName() { + return streamName; + } + + public Optional> syncModes() { + return syncModes; + } + + public final static Builder builder() { + return new Builder(); + } + + public StreamProperties withDefaultCursorField(java.util.List defaultCursorField) { + Utils.checkNotNull(defaultCursorField, "defaultCursorField"); + this.defaultCursorField = Optional.ofNullable(defaultCursorField); + return this; + } + + public StreamProperties withDefaultCursorField(Optional> defaultCursorField) { + Utils.checkNotNull(defaultCursorField, "defaultCursorField"); + this.defaultCursorField = defaultCursorField; + return this; + } + + public StreamProperties withPropertyFields(java.util.List> propertyFields) { + Utils.checkNotNull(propertyFields, "propertyFields"); + this.propertyFields = Optional.ofNullable(propertyFields); + return this; + } + + public StreamProperties withPropertyFields(Optional>> propertyFields) { + Utils.checkNotNull(propertyFields, "propertyFields"); + this.propertyFields = propertyFields; + return this; + } + + public StreamProperties withSourceDefinedCursorField(boolean sourceDefinedCursorField) { + Utils.checkNotNull(sourceDefinedCursorField, "sourceDefinedCursorField"); + this.sourceDefinedCursorField = Optional.ofNullable(sourceDefinedCursorField); + return this; + } + + public StreamProperties withSourceDefinedCursorField(Optional sourceDefinedCursorField) { + Utils.checkNotNull(sourceDefinedCursorField, "sourceDefinedCursorField"); + this.sourceDefinedCursorField = sourceDefinedCursorField; + return this; + } + + public StreamProperties withSourceDefinedPrimaryKey(java.util.List> sourceDefinedPrimaryKey) { + Utils.checkNotNull(sourceDefinedPrimaryKey, "sourceDefinedPrimaryKey"); + this.sourceDefinedPrimaryKey = Optional.ofNullable(sourceDefinedPrimaryKey); + return this; + } + + public StreamProperties withSourceDefinedPrimaryKey(Optional>> sourceDefinedPrimaryKey) { + Utils.checkNotNull(sourceDefinedPrimaryKey, "sourceDefinedPrimaryKey"); + this.sourceDefinedPrimaryKey = sourceDefinedPrimaryKey; + return this; + } + + public StreamProperties withStreamName(String streamName) { + Utils.checkNotNull(streamName, "streamName"); + this.streamName = Optional.ofNullable(streamName); + return this; + } + + public StreamProperties withStreamName(Optional streamName) { + Utils.checkNotNull(streamName, "streamName"); + this.streamName = streamName; + return this; + } + + public StreamProperties withSyncModes(java.util.List syncModes) { + Utils.checkNotNull(syncModes, "syncModes"); + this.syncModes = Optional.ofNullable(syncModes); + return this; + } + + public StreamProperties withSyncModes(Optional> syncModes) { + Utils.checkNotNull(syncModes, "syncModes"); + this.syncModes = syncModes; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StreamProperties other = (StreamProperties) o; + return + java.util.Objects.deepEquals(this.defaultCursorField, other.defaultCursorField) && + java.util.Objects.deepEquals(this.propertyFields, other.propertyFields) && + java.util.Objects.deepEquals(this.sourceDefinedCursorField, other.sourceDefinedCursorField) && + java.util.Objects.deepEquals(this.sourceDefinedPrimaryKey, other.sourceDefinedPrimaryKey) && + java.util.Objects.deepEquals(this.streamName, other.streamName) && + java.util.Objects.deepEquals(this.syncModes, other.syncModes); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + defaultCursorField, + propertyFields, + sourceDefinedCursorField, + sourceDefinedPrimaryKey, + streamName, + syncModes); + } + + @Override + public String toString() { + return Utils.toString(StreamProperties.class, + "defaultCursorField", defaultCursorField, + "propertyFields", propertyFields, + "sourceDefinedCursorField", sourceDefinedCursorField, + "sourceDefinedPrimaryKey", sourceDefinedPrimaryKey, + "streamName", streamName, + "syncModes", syncModes); + } + + public final static class Builder { + + private Optional> defaultCursorField = Optional.empty(); + + private Optional>> propertyFields = Optional.empty(); + + private Optional sourceDefinedCursorField = Optional.empty(); + + private Optional>> sourceDefinedPrimaryKey = Optional.empty(); + + private Optional streamName = Optional.empty(); + + private Optional> syncModes = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder defaultCursorField(java.util.List defaultCursorField) { + Utils.checkNotNull(defaultCursorField, "defaultCursorField"); + this.defaultCursorField = Optional.ofNullable(defaultCursorField); + return this; + } + + public Builder defaultCursorField(Optional> defaultCursorField) { + Utils.checkNotNull(defaultCursorField, "defaultCursorField"); + this.defaultCursorField = defaultCursorField; + return this; + } + + public Builder propertyFields(java.util.List> propertyFields) { + Utils.checkNotNull(propertyFields, "propertyFields"); + this.propertyFields = Optional.ofNullable(propertyFields); + return this; + } + + public Builder propertyFields(Optional>> propertyFields) { + Utils.checkNotNull(propertyFields, "propertyFields"); + this.propertyFields = propertyFields; + return this; + } + + public Builder sourceDefinedCursorField(boolean sourceDefinedCursorField) { + Utils.checkNotNull(sourceDefinedCursorField, "sourceDefinedCursorField"); + this.sourceDefinedCursorField = Optional.ofNullable(sourceDefinedCursorField); + return this; + } + + public Builder sourceDefinedCursorField(Optional sourceDefinedCursorField) { + Utils.checkNotNull(sourceDefinedCursorField, "sourceDefinedCursorField"); + this.sourceDefinedCursorField = sourceDefinedCursorField; + return this; + } + + public Builder sourceDefinedPrimaryKey(java.util.List> sourceDefinedPrimaryKey) { + Utils.checkNotNull(sourceDefinedPrimaryKey, "sourceDefinedPrimaryKey"); + this.sourceDefinedPrimaryKey = Optional.ofNullable(sourceDefinedPrimaryKey); + return this; + } + + public Builder sourceDefinedPrimaryKey(Optional>> sourceDefinedPrimaryKey) { + Utils.checkNotNull(sourceDefinedPrimaryKey, "sourceDefinedPrimaryKey"); + this.sourceDefinedPrimaryKey = sourceDefinedPrimaryKey; + return this; + } + + public Builder streamName(String streamName) { + Utils.checkNotNull(streamName, "streamName"); + this.streamName = Optional.ofNullable(streamName); + return this; + } + + public Builder streamName(Optional streamName) { + Utils.checkNotNull(streamName, "streamName"); + this.streamName = streamName; + return this; + } + + public Builder syncModes(java.util.List syncModes) { + Utils.checkNotNull(syncModes, "syncModes"); + this.syncModes = Optional.ofNullable(syncModes); + return this; + } + + public Builder syncModes(Optional> syncModes) { + Utils.checkNotNull(syncModes, "syncModes"); + this.syncModes = syncModes; + return this; + } + + public StreamProperties build() { + return new StreamProperties( + defaultCursorField, + propertyFields, + sourceDefinedCursorField, + sourceDefinedPrimaryKey, + streamName, + syncModes); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/StreamPropertiesResponse.java b/src/main/java/com/airbyte/api/models/shared/StreamPropertiesResponse.java new file mode 100644 index 000000000..a3ec9ecf2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/StreamPropertiesResponse.java @@ -0,0 +1,106 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * StreamPropertiesResponse - A list of stream properties. + */ + +public class StreamPropertiesResponse { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("streams") + private Optional> streams; + + public StreamPropertiesResponse( + @JsonProperty("streams") Optional> streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = streams; + } + + public Optional> streams() { + return streams; + } + + public final static Builder builder() { + return new Builder(); + } + + public StreamPropertiesResponse withStreams(java.util.List streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = Optional.ofNullable(streams); + return this; + } + + public StreamPropertiesResponse withStreams(Optional> streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = streams; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StreamPropertiesResponse other = (StreamPropertiesResponse) o; + return + java.util.Objects.deepEquals(this.streams, other.streams); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + streams); + } + + @Override + public String toString() { + return Utils.toString(StreamPropertiesResponse.class, + "streams", streams); + } + + public final static class Builder { + + private Optional> streams = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder streams(java.util.List streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = Optional.ofNullable(streams); + return this; + } + + public Builder streams(Optional> streams) { + Utils.checkNotNull(streams, "streams"); + this.streams = streams; + return this; + } + + public StreamPropertiesResponse build() { + return new StreamPropertiesResponse( + streams); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/StreamsCriteria.java b/src/main/java/com/airbyte/api/models/shared/StreamsCriteria.java new file mode 100644 index 000000000..201221790 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/StreamsCriteria.java @@ -0,0 +1,141 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class StreamsCriteria { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("criteria") + private Optional criteria; + + @JsonProperty("value") + private String value; + + public StreamsCriteria( + @JsonProperty("criteria") Optional criteria, + @JsonProperty("value") String value) { + Utils.checkNotNull(criteria, "criteria"); + Utils.checkNotNull(value, "value"); + this.criteria = criteria; + this.value = value; + } + + public Optional criteria() { + return criteria; + } + + public String value() { + return value; + } + + public final static Builder builder() { + return new Builder(); + } + + public StreamsCriteria withCriteria(SearchCriteria criteria) { + Utils.checkNotNull(criteria, "criteria"); + this.criteria = Optional.ofNullable(criteria); + return this; + } + + public StreamsCriteria withCriteria(Optional criteria) { + Utils.checkNotNull(criteria, "criteria"); + this.criteria = criteria; + return this; + } + + public StreamsCriteria withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StreamsCriteria other = (StreamsCriteria) o; + return + java.util.Objects.deepEquals(this.criteria, other.criteria) && + java.util.Objects.deepEquals(this.value, other.value); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + criteria, + value); + } + + @Override + public String toString() { + return Utils.toString(StreamsCriteria.class, + "criteria", criteria, + "value", value); + } + + public final static class Builder { + + private Optional criteria; + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder criteria(SearchCriteria criteria) { + Utils.checkNotNull(criteria, "criteria"); + this.criteria = Optional.ofNullable(criteria); + return this; + } + + public Builder criteria(Optional criteria) { + Utils.checkNotNull(criteria, "criteria"); + this.criteria = criteria; + return this; + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public StreamsCriteria build() { + if (criteria == null) { + criteria = _SINGLETON_VALUE_Criteria.value(); + } + return new StreamsCriteria( + criteria, + value); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Criteria = + new LazySingletonValue<>( + "criteria", + "\"contains\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/StringFilter.java b/src/main/java/com/airbyte/api/models/shared/StringFilter.java new file mode 100644 index 000000000..80a062646 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/StringFilter.java @@ -0,0 +1,190 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class StringFilter { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("caseSensitive") + private Optional caseSensitive; + + @JsonProperty("filter_name") + private FilterName filterName; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("matchType") + private Optional> matchType; + + @JsonProperty("value") + private String value; + + public StringFilter( + @JsonProperty("caseSensitive") Optional caseSensitive, + @JsonProperty("matchType") Optional> matchType, + @JsonProperty("value") String value) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + Utils.checkNotNull(matchType, "matchType"); + Utils.checkNotNull(value, "value"); + this.caseSensitive = caseSensitive; + this.filterName = Builder._SINGLETON_VALUE_FilterName.value(); + this.matchType = matchType; + this.value = value; + } + + public Optional caseSensitive() { + return caseSensitive; + } + + public FilterName filterName() { + return filterName; + } + + public Optional> matchType() { + return matchType; + } + + public String value() { + return value; + } + + public final static Builder builder() { + return new Builder(); + } + + public StringFilter withCaseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public StringFilter withCaseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public StringFilter withMatchType(java.util.List matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = Optional.ofNullable(matchType); + return this; + } + + public StringFilter withMatchType(Optional> matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = matchType; + return this; + } + + public StringFilter withValue(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StringFilter other = (StringFilter) o; + return + java.util.Objects.deepEquals(this.caseSensitive, other.caseSensitive) && + java.util.Objects.deepEquals(this.filterName, other.filterName) && + java.util.Objects.deepEquals(this.matchType, other.matchType) && + java.util.Objects.deepEquals(this.value, other.value); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caseSensitive, + filterName, + matchType, + value); + } + + @Override + public String toString() { + return Utils.toString(StringFilter.class, + "caseSensitive", caseSensitive, + "filterName", filterName, + "matchType", matchType, + "value", value); + } + + public final static class Builder { + + private Optional caseSensitive = Optional.empty(); + + private Optional> matchType = Optional.empty(); + + private String value; + + private Builder() { + // force use of static builder() method + } + + public Builder caseSensitive(boolean caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = Optional.ofNullable(caseSensitive); + return this; + } + + public Builder caseSensitive(Optional caseSensitive) { + Utils.checkNotNull(caseSensitive, "caseSensitive"); + this.caseSensitive = caseSensitive; + return this; + } + + public Builder matchType(java.util.List matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = Optional.ofNullable(matchType); + return this; + } + + public Builder matchType(Optional> matchType) { + Utils.checkNotNull(matchType, "matchType"); + this.matchType = matchType; + return this; + } + + public Builder value(String value) { + Utils.checkNotNull(value, "value"); + this.value = value; + return this; + } + + public StringFilter build() { + return new StringFilter( + caseSensitive, + matchType, + value); + } + + private static final LazySingletonValue _SINGLETON_VALUE_FilterName = + new LazySingletonValue<>( + "filter_name", + "\"stringFilter\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Stripe.java b/src/main/java/com/airbyte/api/models/shared/Stripe.java new file mode 100644 index 000000000..86395039c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Stripe.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Stripe { + STRIPE("stripe"); + + @JsonValue + private final String value; + + private Stripe(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SurveyMonkeyAuthorizationMethod.java b/src/main/java/com/airbyte/api/models/shared/SurveyMonkeyAuthorizationMethod.java new file mode 100644 index 000000000..f72b877e2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SurveyMonkeyAuthorizationMethod.java @@ -0,0 +1,241 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SurveyMonkeyAuthorizationMethod - The authorization method to use to retrieve data from SurveyMonkey + */ + +public class SurveyMonkeyAuthorizationMethod { + + /** + * Access Token for making authenticated requests. See the <a href="https://docs.airbyte.io/integrations/sources/surveymonkey">docs</a> for information on how to generate this key. + */ + @JsonProperty("access_token") + private String accessToken; + + @JsonProperty("auth_method") + private SourceSurveymonkeyAuthMethod authMethod; + + /** + * The Client ID of the SurveyMonkey developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of the SurveyMonkey developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public SurveyMonkeyAuthorizationMethod( + @JsonProperty("access_token") String accessToken, + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(accessToken, "accessToken"); + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.accessToken = accessToken; + this.authMethod = Builder._SINGLETON_VALUE_AuthMethod.value(); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * Access Token for making authenticated requests. See the <a href="https://docs.airbyte.io/integrations/sources/surveymonkey">docs</a> for information on how to generate this key. + */ + public String accessToken() { + return accessToken; + } + + public SourceSurveymonkeyAuthMethod authMethod() { + return authMethod; + } + + /** + * The Client ID of the SurveyMonkey developer application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of the SurveyMonkey developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Access Token for making authenticated requests. See the <a href="https://docs.airbyte.io/integrations/sources/surveymonkey">docs</a> for information on how to generate this key. + */ + public SurveyMonkeyAuthorizationMethod withAccessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of the SurveyMonkey developer application. + */ + public SurveyMonkeyAuthorizationMethod withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of the SurveyMonkey developer application. + */ + public SurveyMonkeyAuthorizationMethod withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of the SurveyMonkey developer application. + */ + public SurveyMonkeyAuthorizationMethod withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of the SurveyMonkey developer application. + */ + public SurveyMonkeyAuthorizationMethod withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SurveyMonkeyAuthorizationMethod other = (SurveyMonkeyAuthorizationMethod) o; + return + java.util.Objects.deepEquals(this.accessToken, other.accessToken) && + java.util.Objects.deepEquals(this.authMethod, other.authMethod) && + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + accessToken, + authMethod, + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(SurveyMonkeyAuthorizationMethod.class, + "accessToken", accessToken, + "authMethod", authMethod, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private String accessToken; + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Access Token for making authenticated requests. See the <a href="https://docs.airbyte.io/integrations/sources/surveymonkey">docs</a> for information on how to generate this key. + */ + public Builder accessToken(String accessToken) { + Utils.checkNotNull(accessToken, "accessToken"); + this.accessToken = accessToken; + return this; + } + + /** + * The Client ID of the SurveyMonkey developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of the SurveyMonkey developer application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of the SurveyMonkey developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of the SurveyMonkey developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public SurveyMonkeyAuthorizationMethod build() { + return new SurveyMonkeyAuthorizationMethod( + accessToken, + clientId, + clientSecret); + } + + private static final LazySingletonValue _SINGLETON_VALUE_AuthMethod = + new LazySingletonValue<>( + "auth_method", + "\"oauth2.0\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SurveySparrow.java b/src/main/java/com/airbyte/api/models/shared/SurveySparrow.java new file mode 100644 index 000000000..5c1f25e3d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SurveySparrow.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum SurveySparrow { + SURVEY_SPARROW("survey-sparrow"); + + @JsonValue + private final String value; + + private SurveySparrow(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Surveymonkey.java b/src/main/java/com/airbyte/api/models/shared/Surveymonkey.java new file mode 100644 index 000000000..9c4373d80 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Surveymonkey.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Surveymonkey { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public Surveymonkey( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public Surveymonkey withCredentials(SurveymonkeyCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Surveymonkey withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Surveymonkey other = (Surveymonkey) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(Surveymonkey.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(SurveymonkeyCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Surveymonkey build() { + return new Surveymonkey( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SurveymonkeyCredentials.java b/src/main/java/com/airbyte/api/models/shared/SurveymonkeyCredentials.java new file mode 100644 index 000000000..1e500f38b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SurveymonkeyCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class SurveymonkeyCredentials { + + /** + * The Client ID of the SurveyMonkey developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of the SurveyMonkey developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public SurveymonkeyCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of the SurveyMonkey developer application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of the SurveyMonkey developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of the SurveyMonkey developer application. + */ + public SurveymonkeyCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of the SurveyMonkey developer application. + */ + public SurveymonkeyCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of the SurveyMonkey developer application. + */ + public SurveymonkeyCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of the SurveyMonkey developer application. + */ + public SurveymonkeyCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SurveymonkeyCredentials other = (SurveymonkeyCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(SurveymonkeyCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of the SurveyMonkey developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of the SurveyMonkey developer application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of the SurveyMonkey developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of the SurveyMonkey developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public SurveymonkeyCredentials build() { + return new SurveymonkeyCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/SwipeUpAttributionWindow.java b/src/main/java/com/airbyte/api/models/shared/SwipeUpAttributionWindow.java new file mode 100644 index 000000000..8cc6128de --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SwipeUpAttributionWindow.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * SwipeUpAttributionWindow - Attribution window for swipe ups. + */ +public enum SwipeUpAttributionWindow { + ONE_DAY("1_DAY"), + SEVEN_DAY("7_DAY"), + TWENTY_EIGHT_DAY("28_DAY"); + + @JsonValue + private final String value; + + private SwipeUpAttributionWindow(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/SystemIDSID.java b/src/main/java/com/airbyte/api/models/shared/SystemIDSID.java new file mode 100644 index 000000000..570b0839f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/SystemIDSID.java @@ -0,0 +1,112 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * SystemIDSID - Use SID (Oracle System Identifier) + */ + +public class SystemIDSID { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("connection_type") + private Optional connectionType; + + @JsonProperty("sid") + private String sid; + + public SystemIDSID( + @JsonProperty("sid") String sid) { + Utils.checkNotNull(sid, "sid"); + this.connectionType = Builder._SINGLETON_VALUE_ConnectionType.value(); + this.sid = sid; + } + + public Optional connectionType() { + return connectionType; + } + + public String sid() { + return sid; + } + + public final static Builder builder() { + return new Builder(); + } + + public SystemIDSID withSid(String sid) { + Utils.checkNotNull(sid, "sid"); + this.sid = sid; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SystemIDSID other = (SystemIDSID) o; + return + java.util.Objects.deepEquals(this.connectionType, other.connectionType) && + java.util.Objects.deepEquals(this.sid, other.sid); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + connectionType, + sid); + } + + @Override + public String toString() { + return Utils.toString(SystemIDSID.class, + "connectionType", connectionType, + "sid", sid); + } + + public final static class Builder { + + private String sid; + + private Builder() { + // force use of static builder() method + } + + public Builder sid(String sid) { + Utils.checkNotNull(sid, "sid"); + this.sid = sid; + return this; + } + + public SystemIDSID build() { + return new SystemIDSID( + sid); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_ConnectionType = + new LazySingletonValue<>( + "connection_type", + "\"sid\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/TLSEncryptedVerifyCertificate.java b/src/main/java/com/airbyte/api/models/shared/TLSEncryptedVerifyCertificate.java new file mode 100644 index 000000000..527d3416a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/TLSEncryptedVerifyCertificate.java @@ -0,0 +1,120 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * TLSEncryptedVerifyCertificate - Verify and use the certificate provided by the server. + */ + +public class TLSEncryptedVerifyCertificate { + + @JsonProperty("encryption_method") + private SourceOracleEncryptionMethod encryptionMethod; + + /** + * Privacy Enhanced Mail (PEM) files are concatenated certificate containers frequently used in certificate installations. + */ + @JsonProperty("ssl_certificate") + private String sslCertificate; + + public TLSEncryptedVerifyCertificate( + @JsonProperty("ssl_certificate") String sslCertificate) { + Utils.checkNotNull(sslCertificate, "sslCertificate"); + this.encryptionMethod = Builder._SINGLETON_VALUE_EncryptionMethod.value(); + this.sslCertificate = sslCertificate; + } + + public SourceOracleEncryptionMethod encryptionMethod() { + return encryptionMethod; + } + + /** + * Privacy Enhanced Mail (PEM) files are concatenated certificate containers frequently used in certificate installations. + */ + public String sslCertificate() { + return sslCertificate; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Privacy Enhanced Mail (PEM) files are concatenated certificate containers frequently used in certificate installations. + */ + public TLSEncryptedVerifyCertificate withSslCertificate(String sslCertificate) { + Utils.checkNotNull(sslCertificate, "sslCertificate"); + this.sslCertificate = sslCertificate; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TLSEncryptedVerifyCertificate other = (TLSEncryptedVerifyCertificate) o; + return + java.util.Objects.deepEquals(this.encryptionMethod, other.encryptionMethod) && + java.util.Objects.deepEquals(this.sslCertificate, other.sslCertificate); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + encryptionMethod, + sslCertificate); + } + + @Override + public String toString() { + return Utils.toString(TLSEncryptedVerifyCertificate.class, + "encryptionMethod", encryptionMethod, + "sslCertificate", sslCertificate); + } + + public final static class Builder { + + private String sslCertificate; + + private Builder() { + // force use of static builder() method + } + + /** + * Privacy Enhanced Mail (PEM) files are concatenated certificate containers frequently used in certificate installations. + */ + public Builder sslCertificate(String sslCertificate) { + Utils.checkNotNull(sslCertificate, "sslCertificate"); + this.sslCertificate = sslCertificate; + return this; + } + + public TLSEncryptedVerifyCertificate build() { + return new TLSEncryptedVerifyCertificate( + sslCertificate); + } + + private static final LazySingletonValue _SINGLETON_VALUE_EncryptionMethod = + new LazySingletonValue<>( + "encryption_method", + "\"encrypted_verify_certificate\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Tempo.java b/src/main/java/com/airbyte/api/models/shared/Tempo.java new file mode 100644 index 000000000..99074b5a4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Tempo.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Tempo { + TEMPO("tempo"); + + @JsonValue + private final String value; + + private Tempo(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Teradata.java b/src/main/java/com/airbyte/api/models/shared/Teradata.java new file mode 100644 index 000000000..f0030d751 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Teradata.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Teradata { + TERADATA("teradata"); + + @JsonValue + private final String value; + + private Teradata(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/TestDestination.java b/src/main/java/com/airbyte/api/models/shared/TestDestination.java new file mode 100644 index 000000000..9bad33c9e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/TestDestination.java @@ -0,0 +1,94 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * TestDestination - The type of destination to be used + */ + +@JsonDeserialize(using = TestDestination._Deserializer.class) +public class TestDestination { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private TestDestination(TypedObject value) { + this.value = value; + } + + public static TestDestination of(Silent value) { + Utils.checkNotNull(value, "value"); + return new TestDestination(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code Silent}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TestDestination other = (TestDestination) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(TestDestination.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(TestDestination.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/TestDestinationType.java b/src/main/java/com/airbyte/api/models/shared/TestDestinationType.java new file mode 100644 index 000000000..d48c63f25 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/TestDestinationType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum TestDestinationType { + SILENT("SILENT"); + + @JsonValue + private final String value; + + private TestDestinationType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/TextSplitter.java b/src/main/java/com/airbyte/api/models/shared/TextSplitter.java new file mode 100644 index 000000000..c7c198fa9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/TextSplitter.java @@ -0,0 +1,108 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * TextSplitter - Split text fields into chunks based on the specified method. + */ + +@JsonDeserialize(using = TextSplitter._Deserializer.class) +public class TextSplitter { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private TextSplitter(TypedObject value) { + this.value = value; + } + + public static TextSplitter of(BySeparator value) { + Utils.checkNotNull(value, "value"); + return new TextSplitter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static TextSplitter of(ByMarkdownHeader value) { + Utils.checkNotNull(value, "value"); + return new TextSplitter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static TextSplitter of(ByProgrammingLanguage value) { + Utils.checkNotNull(value, "value"); + return new TextSplitter(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code BySeparator}
    • + *
    • {@code ByMarkdownHeader}
    • + *
    • {@code ByProgrammingLanguage}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TextSplitter other = (TextSplitter) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(TextSplitter.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(TextSplitter.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/TheGuardianApi.java b/src/main/java/com/airbyte/api/models/shared/TheGuardianApi.java new file mode 100644 index 000000000..a8408b046 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/TheGuardianApi.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum TheGuardianApi { + THE_GUARDIAN_API("the-guardian-api"); + + @JsonValue + private final String value; + + private TheGuardianApi(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/TiktokMarketing.java b/src/main/java/com/airbyte/api/models/shared/TiktokMarketing.java new file mode 100644 index 000000000..6471f5cec --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/TiktokMarketing.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class TiktokMarketing { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public TiktokMarketing( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public TiktokMarketing withCredentials(TiktokMarketingCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public TiktokMarketing withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TiktokMarketing other = (TiktokMarketing) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(TiktokMarketing.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(TiktokMarketingCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public TiktokMarketing build() { + return new TiktokMarketing( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/TiktokMarketingCredentials.java b/src/main/java/com/airbyte/api/models/shared/TiktokMarketingCredentials.java new file mode 100644 index 000000000..62fe828c1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/TiktokMarketingCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class TiktokMarketingCredentials { + + /** + * The Developer Application App ID. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("app_id") + private Optional appId; + + /** + * The Developer Application Secret. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("secret") + private Optional secret; + + public TiktokMarketingCredentials( + @JsonProperty("app_id") Optional appId, + @JsonProperty("secret") Optional secret) { + Utils.checkNotNull(appId, "appId"); + Utils.checkNotNull(secret, "secret"); + this.appId = appId; + this.secret = secret; + } + + /** + * The Developer Application App ID. + */ + public Optional appId() { + return appId; + } + + /** + * The Developer Application Secret. + */ + public Optional secret() { + return secret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Developer Application App ID. + */ + public TiktokMarketingCredentials withAppId(String appId) { + Utils.checkNotNull(appId, "appId"); + this.appId = Optional.ofNullable(appId); + return this; + } + + /** + * The Developer Application App ID. + */ + public TiktokMarketingCredentials withAppId(Optional appId) { + Utils.checkNotNull(appId, "appId"); + this.appId = appId; + return this; + } + + /** + * The Developer Application Secret. + */ + public TiktokMarketingCredentials withSecret(String secret) { + Utils.checkNotNull(secret, "secret"); + this.secret = Optional.ofNullable(secret); + return this; + } + + /** + * The Developer Application Secret. + */ + public TiktokMarketingCredentials withSecret(Optional secret) { + Utils.checkNotNull(secret, "secret"); + this.secret = secret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TiktokMarketingCredentials other = (TiktokMarketingCredentials) o; + return + java.util.Objects.deepEquals(this.appId, other.appId) && + java.util.Objects.deepEquals(this.secret, other.secret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + appId, + secret); + } + + @Override + public String toString() { + return Utils.toString(TiktokMarketingCredentials.class, + "appId", appId, + "secret", secret); + } + + public final static class Builder { + + private Optional appId = Optional.empty(); + + private Optional secret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Developer Application App ID. + */ + public Builder appId(String appId) { + Utils.checkNotNull(appId, "appId"); + this.appId = Optional.ofNullable(appId); + return this; + } + + /** + * The Developer Application App ID. + */ + public Builder appId(Optional appId) { + Utils.checkNotNull(appId, "appId"); + this.appId = appId; + return this; + } + + /** + * The Developer Application Secret. + */ + public Builder secret(String secret) { + Utils.checkNotNull(secret, "secret"); + this.secret = Optional.ofNullable(secret); + return this; + } + + /** + * The Developer Application Secret. + */ + public Builder secret(Optional secret) { + Utils.checkNotNull(secret, "secret"); + this.secret = secret; + return this; + } + + public TiktokMarketingCredentials build() { + return new TiktokMarketingCredentials( + appId, + secret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/TimeGranularity.java b/src/main/java/com/airbyte/api/models/shared/TimeGranularity.java new file mode 100644 index 000000000..1c219b3af --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/TimeGranularity.java @@ -0,0 +1,35 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * TimeGranularity - Choose how to group the data in your report by time. The options are:<br>- 'ALL': A single result summarizing the entire time range.<br>- 'DAILY': Group results by each day.<br>- 'MONTHLY': Group results by each month.<br>- 'YEARLY': Group results by each year.<br>Selecting a time grouping helps you analyze trends and patterns over different time periods. + */ +public enum TimeGranularity { + ALL("ALL"), + DAILY("DAILY"), + MONTHLY("MONTHLY"), + YEARLY("YEARLY"); + + @JsonValue + private final String value; + + private TimeGranularity(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ToValue.java b/src/main/java/com/airbyte/api/models/shared/ToValue.java new file mode 100644 index 000000000..aa766c560 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ToValue.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = ToValue._Deserializer.class) +public class ToValue { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private ToValue(TypedObject value) { + this.value = value; + } + + public static ToValue of(SourceGoogleAnalyticsDataApiSchemasInt64Value value) { + Utils.checkNotNull(value, "value"); + return new ToValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static ToValue of(SourceGoogleAnalyticsDataApiSchemasDoubleValue value) { + Utils.checkNotNull(value, "value"); + return new ToValue(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code SourceGoogleAnalyticsDataApiSchemasInt64Value}
    • + *
    • {@code SourceGoogleAnalyticsDataApiSchemasDoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ToValue other = (ToValue) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(ToValue.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(ToValue.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/TopHeadlinesTopic.java b/src/main/java/com/airbyte/api/models/shared/TopHeadlinesTopic.java new file mode 100644 index 000000000..ef9e128c7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/TopHeadlinesTopic.java @@ -0,0 +1,40 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * TopHeadlinesTopic - This parameter allows you to change the category for the request. + */ +public enum TopHeadlinesTopic { + BREAKING_NEWS("breaking-news"), + WORLD("world"), + NATION("nation"), + BUSINESS("business"), + TECHNOLOGY("technology"), + ENTERTAINMENT("entertainment"), + SPORTS("sports"), + SCIENCE("science"), + HEALTH("health"); + + @JsonValue + private final String value; + + private TopHeadlinesTopic(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/TransformationQueryRunType.java b/src/main/java/com/airbyte/api/models/shared/TransformationQueryRunType.java new file mode 100644 index 000000000..970052bf7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/TransformationQueryRunType.java @@ -0,0 +1,33 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * TransformationQueryRunType - Interactive run type means that the query is executed as soon as possible, and these queries count towards concurrent rate limit and daily limit. Read more about interactive run type <a href="https://cloud.google.com/bigquery/docs/running-queries#queries">here</a>. Batch queries are queued and started as soon as idle resources are available in the BigQuery shared resource pool, which usually occurs within a few minutes. Batch queries don’t count towards your concurrent rate limit. Read more about batch queries <a href="https://cloud.google.com/bigquery/docs/running-queries#batch">here</a>. The default "interactive" value is used if not set explicitly. + */ +public enum TransformationQueryRunType { + INTERACTIVE("interactive"), + BATCH("batch"); + + @JsonValue + private final String value; + + private TransformationQueryRunType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Trello.java b/src/main/java/com/airbyte/api/models/shared/Trello.java new file mode 100644 index 000000000..610ae9be1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Trello.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Trello { + TRELLO("trello"); + + @JsonValue + private final String value; + + private Trello(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Trustpilot.java b/src/main/java/com/airbyte/api/models/shared/Trustpilot.java new file mode 100644 index 000000000..7147cc697 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Trustpilot.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Trustpilot { + TRUSTPILOT("trustpilot"); + + @JsonValue + private final String value; + + private Trustpilot(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/TunnelMethod.java b/src/main/java/com/airbyte/api/models/shared/TunnelMethod.java new file mode 100644 index 000000000..f19761d0f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/TunnelMethod.java @@ -0,0 +1,32 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * TunnelMethod - No ssh tunnel needed to connect to database + */ +public enum TunnelMethod { + NO_TUNNEL("NO_TUNNEL"); + + @JsonValue + private final String value; + + private TunnelMethod(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/TvmazeSchedule.java b/src/main/java/com/airbyte/api/models/shared/TvmazeSchedule.java new file mode 100644 index 000000000..3593eb9ab --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/TvmazeSchedule.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum TvmazeSchedule { + TVMAZE_SCHEDULE("tvmaze-schedule"); + + @JsonValue + private final String value; + + private TvmazeSchedule(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Twilio.java b/src/main/java/com/airbyte/api/models/shared/Twilio.java new file mode 100644 index 000000000..d58da9db1 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Twilio.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Twilio { + TWILIO("twilio"); + + @JsonValue + private final String value; + + private Twilio(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/TwilioTaskrouter.java b/src/main/java/com/airbyte/api/models/shared/TwilioTaskrouter.java new file mode 100644 index 000000000..bde6c18fe --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/TwilioTaskrouter.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum TwilioTaskrouter { + TWILIO_TASKROUTER("twilio-taskrouter"); + + @JsonValue + private final String value; + + private TwilioTaskrouter(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Twitter.java b/src/main/java/com/airbyte/api/models/shared/Twitter.java new file mode 100644 index 000000000..49abdcb91 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Twitter.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Twitter { + TWITTER("twitter"); + + @JsonValue + private final String value; + + private Twitter(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Typeform.java b/src/main/java/com/airbyte/api/models/shared/Typeform.java new file mode 100644 index 000000000..9796e06a5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Typeform.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Typeform { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public Typeform( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public Typeform withCredentials(TypeformCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Typeform withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Typeform other = (Typeform) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(Typeform.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(TypeformCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public Typeform build() { + return new Typeform( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/TypeformCredentials.java b/src/main/java/com/airbyte/api/models/shared/TypeformCredentials.java new file mode 100644 index 000000000..3f8f1d5da --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/TypeformCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class TypeformCredentials { + + /** + * The Client ID of the Typeform developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret the Typeform developer application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public TypeformCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of the Typeform developer application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret the Typeform developer application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of the Typeform developer application. + */ + public TypeformCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of the Typeform developer application. + */ + public TypeformCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret the Typeform developer application. + */ + public TypeformCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret the Typeform developer application. + */ + public TypeformCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TypeformCredentials other = (TypeformCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(TypeformCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of the Typeform developer application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of the Typeform developer application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret the Typeform developer application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret the Typeform developer application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public TypeformCredentials build() { + return new TypeformCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Typesense.java b/src/main/java/com/airbyte/api/models/shared/Typesense.java new file mode 100644 index 000000000..56eaff492 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Typesense.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Typesense { + TYPESENSE("typesense"); + + @JsonValue + private final String value; + + private Typesense(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Unencrypted.java b/src/main/java/com/airbyte/api/models/shared/Unencrypted.java new file mode 100644 index 000000000..6daa5ac17 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Unencrypted.java @@ -0,0 +1,82 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * Unencrypted - Data transfer will not be encrypted. + */ + +public class Unencrypted { + + @JsonProperty("ssl_method") + private SourceMssqlSchemasSslMethod sslMethod; + + public Unencrypted() { + + this.sslMethod = Builder._SINGLETON_VALUE_SslMethod.value(); + } + + public SourceMssqlSchemasSslMethod sslMethod() { + return sslMethod; + } + + public final static Builder builder() { + return new Builder(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Unencrypted other = (Unencrypted) o; + return + java.util.Objects.deepEquals(this.sslMethod, other.sslMethod); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + sslMethod); + } + + @Override + public String toString() { + return Utils.toString(Unencrypted.class, + "sslMethod", sslMethod); + } + + public final static class Builder { + + private Builder() { + // force use of static builder() method + } + + public Unencrypted build() { + return new Unencrypted( + ); + } + + private static final LazySingletonValue _SINGLETON_VALUE_SslMethod = + new LazySingletonValue<>( + "ssl_method", + "\"unencrypted\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/UnexpectedFieldBehavior.java b/src/main/java/com/airbyte/api/models/shared/UnexpectedFieldBehavior.java new file mode 100644 index 000000000..a11819f6a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/UnexpectedFieldBehavior.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * UnexpectedFieldBehavior - How JSON fields outside of explicit_schema (if given) are treated. Check <a href="https://arrow.apache.org/docs/python/generated/pyarrow.json.ParseOptions.html" target="_blank">PyArrow documentation</a> for details + */ +public enum UnexpectedFieldBehavior { + IGNORE("ignore"), + INFER("infer"), + ERROR("error"); + + @JsonValue + private final String value; + + private UnexpectedFieldBehavior(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/UpdateMethod.java b/src/main/java/com/airbyte/api/models/shared/UpdateMethod.java new file mode 100644 index 000000000..615f2662a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/UpdateMethod.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * UpdateMethod - Configures how data is extracted from the database. + */ + +@JsonDeserialize(using = UpdateMethod._Deserializer.class) +public class UpdateMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private UpdateMethod(TypedObject value) { + this.value = value; + } + + public static UpdateMethod of(ReadChangesUsingChangeDataCaptureCDC value) { + Utils.checkNotNull(value, "value"); + return new UpdateMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static UpdateMethod of(ScanChangesWithUserDefinedCursor value) { + Utils.checkNotNull(value, "value"); + return new UpdateMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code ReadChangesUsingChangeDataCaptureCDC}
    • + *
    • {@code ScanChangesWithUserDefinedCursor}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateMethod other = (UpdateMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(UpdateMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(UpdateMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/UploadingMethod.java b/src/main/java/com/airbyte/api/models/shared/UploadingMethod.java new file mode 100644 index 000000000..3673b2643 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/UploadingMethod.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + +/** + * UploadingMethod - The way data will be uploaded to Redshift. + */ + +@JsonDeserialize(using = UploadingMethod._Deserializer.class) +public class UploadingMethod { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private UploadingMethod(TypedObject value) { + this.value = value; + } + + public static UploadingMethod of(AWSS3Staging value) { + Utils.checkNotNull(value, "value"); + return new UploadingMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static UploadingMethod of(Standard value) { + Utils.checkNotNull(value, "value"); + return new UploadingMethod(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code AWSS3Staging}
    • + *
    • {@code Standard}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UploadingMethod other = (UploadingMethod) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(UploadingMethod.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(UploadingMethod.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/UrlBase.java b/src/main/java/com/airbyte/api/models/shared/UrlBase.java new file mode 100644 index 000000000..b95c2a3d7 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/UrlBase.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum UrlBase { + HTTPS_EU_API_SURVEYSPARROW_COM_V3("https://eu-api.surveysparrow.com/v3"); + + @JsonValue + private final String value; + + private UrlBase(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/UsCensus.java b/src/main/java/com/airbyte/api/models/shared/UsCensus.java new file mode 100644 index 000000000..4841e0af4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/UsCensus.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum UsCensus { + US_CENSUS("us-census"); + + @JsonValue + private final String value; + + private UsCensus(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/UserProvided.java b/src/main/java/com/airbyte/api/models/shared/UserProvided.java new file mode 100644 index 000000000..b877fc826 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/UserProvided.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class UserProvided { + + /** + * The column names that will be used while emitting the CSV records + */ + @JsonProperty("column_names") + private java.util.List columnNames; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("header_definition_type") + private Optional headerDefinitionType; + + public UserProvided( + @JsonProperty("column_names") java.util.List columnNames) { + Utils.checkNotNull(columnNames, "columnNames"); + this.columnNames = columnNames; + this.headerDefinitionType = Builder._SINGLETON_VALUE_HeaderDefinitionType.value(); + } + + /** + * The column names that will be used while emitting the CSV records + */ + public java.util.List columnNames() { + return columnNames; + } + + public Optional headerDefinitionType() { + return headerDefinitionType; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The column names that will be used while emitting the CSV records + */ + public UserProvided withColumnNames(java.util.List columnNames) { + Utils.checkNotNull(columnNames, "columnNames"); + this.columnNames = columnNames; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserProvided other = (UserProvided) o; + return + java.util.Objects.deepEquals(this.columnNames, other.columnNames) && + java.util.Objects.deepEquals(this.headerDefinitionType, other.headerDefinitionType); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + columnNames, + headerDefinitionType); + } + + @Override + public String toString() { + return Utils.toString(UserProvided.class, + "columnNames", columnNames, + "headerDefinitionType", headerDefinitionType); + } + + public final static class Builder { + + private java.util.List columnNames; + + private Builder() { + // force use of static builder() method + } + + /** + * The column names that will be used while emitting the CSV records + */ + public Builder columnNames(java.util.List columnNames) { + Utils.checkNotNull(columnNames, "columnNames"); + this.columnNames = columnNames; + return this; + } + + public UserProvided build() { + return new UserProvided( + columnNames); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_HeaderDefinitionType = + new LazySingletonValue<>( + "header_definition_type", + "\"User Provided\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/UsernameAndPassword.java b/src/main/java/com/airbyte/api/models/shared/UsernameAndPassword.java new file mode 100644 index 000000000..548eae135 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/UsernameAndPassword.java @@ -0,0 +1,121 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class UsernameAndPassword { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("auth_type") + private Optional authType; + + /** + * Enter the password associated with the username. + */ + @JsonProperty("password") + private String password; + + public UsernameAndPassword( + @JsonProperty("password") String password) { + Utils.checkNotNull(password, "password"); + this.authType = Builder._SINGLETON_VALUE_AuthType.value(); + this.password = password; + } + + public Optional authType() { + return authType; + } + + /** + * Enter the password associated with the username. + */ + public String password() { + return password; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Enter the password associated with the username. + */ + public UsernameAndPassword withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UsernameAndPassword other = (UsernameAndPassword) o; + return + java.util.Objects.deepEquals(this.authType, other.authType) && + java.util.Objects.deepEquals(this.password, other.password); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + authType, + password); + } + + @Override + public String toString() { + return Utils.toString(UsernameAndPassword.class, + "authType", authType, + "password", password); + } + + public final static class Builder { + + private String password; + + private Builder() { + // force use of static builder() method + } + + /** + * Enter the password associated with the username. + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + public UsernameAndPassword build() { + return new UsernameAndPassword( + password); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_AuthType = + new LazySingletonValue<>( + "auth_type", + "\"Username and Password\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/UsernamePassword.java b/src/main/java/com/airbyte/api/models/shared/UsernamePassword.java new file mode 100644 index 000000000..c27dc73d4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/UsernamePassword.java @@ -0,0 +1,160 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * UsernamePassword - Basic auth header with a username and password + */ + +public class UsernamePassword { + + @JsonProperty("method") + private DestinationElasticsearchSchemasMethod method; + + /** + * Basic auth password to access a secure Elasticsearch server + */ + @JsonProperty("password") + private String password; + + /** + * Basic auth username to access a secure Elasticsearch server + */ + @JsonProperty("username") + private String username; + + public UsernamePassword( + @JsonProperty("password") String password, + @JsonProperty("username") String username) { + Utils.checkNotNull(password, "password"); + Utils.checkNotNull(username, "username"); + this.method = Builder._SINGLETON_VALUE_Method.value(); + this.password = password; + this.username = username; + } + + public DestinationElasticsearchSchemasMethod method() { + return method; + } + + /** + * Basic auth password to access a secure Elasticsearch server + */ + public String password() { + return password; + } + + /** + * Basic auth username to access a secure Elasticsearch server + */ + public String username() { + return username; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Basic auth password to access a secure Elasticsearch server + */ + public UsernamePassword withPassword(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Basic auth username to access a secure Elasticsearch server + */ + public UsernamePassword withUsername(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UsernamePassword other = (UsernamePassword) o; + return + java.util.Objects.deepEquals(this.method, other.method) && + java.util.Objects.deepEquals(this.password, other.password) && + java.util.Objects.deepEquals(this.username, other.username); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + method, + password, + username); + } + + @Override + public String toString() { + return Utils.toString(UsernamePassword.class, + "method", method, + "password", password, + "username", username); + } + + public final static class Builder { + + private String password; + + private String username; + + private Builder() { + // force use of static builder() method + } + + /** + * Basic auth password to access a secure Elasticsearch server + */ + public Builder password(String password) { + Utils.checkNotNull(password, "password"); + this.password = password; + return this; + } + + /** + * Basic auth username to access a secure Elasticsearch server + */ + public Builder username(String username) { + Utils.checkNotNull(username, "username"); + this.username = username; + return this; + } + + public UsernamePassword build() { + return new UsernamePassword( + password, + username); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Method = + new LazySingletonValue<>( + "method", + "\"basic\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ValidActionBreakdowns.java b/src/main/java/com/airbyte/api/models/shared/ValidActionBreakdowns.java new file mode 100644 index 000000000..eacbe4d1e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ValidActionBreakdowns.java @@ -0,0 +1,42 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ValidActionBreakdowns - An enumeration. + */ +public enum ValidActionBreakdowns { + ACTION_CANVAS_COMPONENT_NAME("action_canvas_component_name"), + ACTION_CAROUSEL_CARD_ID("action_carousel_card_id"), + ACTION_CAROUSEL_CARD_NAME("action_carousel_card_name"), + ACTION_DESTINATION("action_destination"), + ACTION_DEVICE("action_device"), + ACTION_REACTION("action_reaction"), + ACTION_TARGET_ID("action_target_id"), + ACTION_TYPE("action_type"), + ACTION_VIDEO_SOUND("action_video_sound"), + ACTION_VIDEO_TYPE("action_video_type"), + STANDARD_EVENT_CONTENT_TYPE("standard_event_content_type"); + + @JsonValue + private final String value; + + private ValidActionBreakdowns(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ValidAdSetStatuses.java b/src/main/java/com/airbyte/api/models/shared/ValidAdSetStatuses.java new file mode 100644 index 000000000..971933e0e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ValidAdSetStatuses.java @@ -0,0 +1,38 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ValidAdSetStatuses - An enumeration. + */ +public enum ValidAdSetStatuses { + ACTIVE("ACTIVE"), + ARCHIVED("ARCHIVED"), + CAMPAIGN_PAUSED("CAMPAIGN_PAUSED"), + DELETED("DELETED"), + IN_PROCESS("IN_PROCESS"), + PAUSED("PAUSED"), + WITH_ISSUES("WITH_ISSUES"); + + @JsonValue + private final String value; + + private ValidAdSetStatuses(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ValidAdStatuses.java b/src/main/java/com/airbyte/api/models/shared/ValidAdStatuses.java new file mode 100644 index 000000000..10dd1a13a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ValidAdStatuses.java @@ -0,0 +1,43 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ValidAdStatuses - An enumeration. + */ +public enum ValidAdStatuses { + ACTIVE("ACTIVE"), + ADSET_PAUSED("ADSET_PAUSED"), + ARCHIVED("ARCHIVED"), + CAMPAIGN_PAUSED("CAMPAIGN_PAUSED"), + DELETED("DELETED"), + DISAPPROVED("DISAPPROVED"), + IN_PROCESS("IN_PROCESS"), + PAUSED("PAUSED"), + PENDING_BILLING_INFO("PENDING_BILLING_INFO"), + PENDING_REVIEW("PENDING_REVIEW"), + PREAPPROVED("PREAPPROVED"), + WITH_ISSUES("WITH_ISSUES"); + + @JsonValue + private final String value; + + private ValidAdStatuses(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ValidBreakdowns.java b/src/main/java/com/airbyte/api/models/shared/ValidBreakdowns.java new file mode 100644 index 000000000..289e68e90 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ValidBreakdowns.java @@ -0,0 +1,74 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ValidBreakdowns - An enumeration. + */ +public enum ValidBreakdowns { + AD_FORMAT_ASSET("ad_format_asset"), + AGE("age"), + APP_ID("app_id"), + BODY_ASSET("body_asset"), + CALL_TO_ACTION_ASSET("call_to_action_asset"), + COARSE_CONVERSION_VALUE("coarse_conversion_value"), + COUNTRY("country"), + DESCRIPTION_ASSET("description_asset"), + DEVICE_PLATFORM("device_platform"), + DMA("dma"), + FIDELITY_TYPE("fidelity_type"), + FREQUENCY_VALUE("frequency_value"), + GENDER("gender"), + HOURLY_STATS_AGGREGATED_BY_ADVERTISER_TIME_ZONE("hourly_stats_aggregated_by_advertiser_time_zone"), + HOURLY_STATS_AGGREGATED_BY_AUDIENCE_TIME_ZONE("hourly_stats_aggregated_by_audience_time_zone"), + HSID("hsid"), + IMAGE_ASSET("image_asset"), + IMPRESSION_DEVICE("impression_device"), + IS_CONVERSION_ID_MODELED("is_conversion_id_modeled"), + LANDING_DESTINATION("landing_destination"), + LINK_URL_ASSET("link_url_asset"), + MARKETING_MESSAGES_BTN_NAME("marketing_messages_btn_name"), + MDSA_LANDING_DESTINATION("mdsa_landing_destination"), + MEDIA_ASSET_URL("media_asset_url"), + MEDIA_CREATOR("media_creator"), + MEDIA_DESTINATION_URL("media_destination_url"), + MEDIA_FORMAT("media_format"), + MEDIA_ORIGIN_URL("media_origin_url"), + MEDIA_TEXT_CONTENT("media_text_content"), + MMM("mmm"), + PLACE_PAGE_ID("place_page_id"), + PLATFORM_POSITION("platform_position"), + POSTBACK_SEQUENCE_INDEX("postback_sequence_index"), + PRODUCT_ID("product_id"), + PUBLISHER_PLATFORM("publisher_platform"), + REDOWNLOAD("redownload"), + REGION("region"), + SKAN_CAMPAIGN_ID("skan_campaign_id"), + SKAN_CONVERSION_ID("skan_conversion_id"), + SKAN_VERSION("skan_version"), + STANDARD_EVENT_CONTENT_TYPE("standard_event_content_type"), + TITLE_ASSET("title_asset"), + VIDEO_ASSET("video_asset"); + + @JsonValue + private final String value; + + private ValidBreakdowns(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ValidCampaignStatuses.java b/src/main/java/com/airbyte/api/models/shared/ValidCampaignStatuses.java new file mode 100644 index 000000000..d15c68e24 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ValidCampaignStatuses.java @@ -0,0 +1,37 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ValidCampaignStatuses - An enumeration. + */ +public enum ValidCampaignStatuses { + ACTIVE("ACTIVE"), + ARCHIVED("ARCHIVED"), + DELETED("DELETED"), + IN_PROCESS("IN_PROCESS"), + PAUSED("PAUSED"), + WITH_ISSUES("WITH_ISSUES"); + + @JsonValue + private final String value; + + private ValidCampaignStatuses(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ValidationPolicy.java b/src/main/java/com/airbyte/api/models/shared/ValidationPolicy.java new file mode 100644 index 000000000..1612bb134 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ValidationPolicy.java @@ -0,0 +1,34 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ValidationPolicy - The name of the validation policy that dictates sync behavior when a record does not adhere to the stream schema. + */ +public enum ValidationPolicy { + EMIT_RECORD("Emit Record"), + SKIP_RECORD("Skip Record"), + WAIT_FOR_DISCOVER("Wait for Discover"); + + @JsonValue + private final String value; + + private ValidationPolicy(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Validenums.java b/src/main/java/com/airbyte/api/models/shared/Validenums.java new file mode 100644 index 000000000..f5b740b9e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Validenums.java @@ -0,0 +1,45 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Validenums { + SHEETCREATED_AT("sheetcreatedAt"), + SHEETID("sheetid"), + SHEETMODIFIED_AT("sheetmodifiedAt"), + SHEETNAME("sheetname"), + SHEETPERMALINK("sheetpermalink"), + SHEETVERSION("sheetversion"), + SHEETACCESS_LEVEL("sheetaccess_level"), + ROW_ID("row_id"), + ROW_ACCESS_LEVEL("row_access_level"), + ROW_CREATED_AT("row_created_at"), + ROW_CREATED_BY("row_created_by"), + ROW_EXPANDED("row_expanded"), + ROW_MODIFIED_BY("row_modified_by"), + ROW_PARENT_ID("row_parent_id"), + ROW_PERMALINK("row_permalink"), + ROW_NUMBER("row_number"), + ROW_VERSION("row_version"); + + @JsonValue + private final String value; + + private Validenums(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Value.java b/src/main/java/com/airbyte/api/models/shared/Value.java new file mode 100644 index 000000000..a709116f8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Value.java @@ -0,0 +1,98 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +import java.time.OffsetDateTime; +import java.time.LocalDate; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.airbyte.api.utils.TypedObject; +import com.airbyte.api.utils.Utils.JsonShape; + + +@JsonDeserialize(using = Value._Deserializer.class) +public class Value { + + @com.fasterxml.jackson.annotation.JsonValue + private TypedObject value; + + private Value(TypedObject value) { + this.value = value; + } + + public static Value of(Int64Value value) { + Utils.checkNotNull(value, "value"); + return new Value(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + public static Value of(DoubleValue value) { + Utils.checkNotNull(value, "value"); + return new Value(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference(){})); + } + + /** + * Returns an instance of one of these types: + *
      + *
    • {@code Int64Value}
    • + *
    • {@code DoubleValue}
    • + *
    + * + *

    Use {@code instanceof} to determine what type is returned. For example: + * + *

    +     * if (obj.value() instanceof String) {
    +     *     String answer = (String) obj.value();
    +     *     System.out.println("answer=" + answer);
    +     * }
    +     * 
    + * + * @return value of oneOf type + **/ + public java.lang.Object value() { + return value.value(); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Value other = (Value) o; + return java.util.Objects.deepEquals(this.value.value(), other.value.value()); + } + + @Override + public int hashCode() { + return java.util.Objects.hash(value.value()); + } + + @SuppressWarnings("serial") + public static final class _Deserializer extends com.airbyte.api.utils.OneOfDeserializer { + + public _Deserializer() { + super(Value.class, + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT), + Utils.TypeReferenceWithShape.of(new TypeReference() {}, Utils.JsonShape.DEFAULT)); + } + } + + @Override + public String toString() { + return Utils.toString(Value.class, + "value", value); + } + +} diff --git a/src/main/java/com/airbyte/api/models/shared/ValueType.java b/src/main/java/com/airbyte/api/models/shared/ValueType.java new file mode 100644 index 000000000..2f6b95939 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ValueType.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum ValueType { + INT64_VALUE("int64Value"); + + @JsonValue + private final String value; + + private ValueType(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Vantage.java b/src/main/java/com/airbyte/api/models/shared/Vantage.java new file mode 100644 index 000000000..3845e9b9a --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Vantage.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Vantage { + VANTAGE("vantage"); + + @JsonValue + private final String value; + + private Vantage(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Vectara.java b/src/main/java/com/airbyte/api/models/shared/Vectara.java new file mode 100644 index 000000000..05d11b357 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Vectara.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Vectara { + VECTARA("vectara"); + + @JsonValue + private final String value; + + private Vectara(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/VerifyCa.java b/src/main/java/com/airbyte/api/models/shared/VerifyCa.java new file mode 100644 index 000000000..ecce9f87c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/VerifyCa.java @@ -0,0 +1,183 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * VerifyCa - Verify-ca SSL mode. + */ + +public class VerifyCa { + + /** + * CA certificate + */ + @JsonProperty("ca_certificate") + private String caCertificate; + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_key_password") + private Optional clientKeyPassword; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public VerifyCa( + @JsonProperty("ca_certificate") String caCertificate, + @JsonProperty("client_key_password") Optional clientKeyPassword) { + Utils.checkNotNull(caCertificate, "caCertificate"); + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.caCertificate = caCertificate; + this.clientKeyPassword = clientKeyPassword; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + /** + * CA certificate + */ + public String caCertificate() { + return caCertificate; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public Optional clientKeyPassword() { + return clientKeyPassword; + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * CA certificate + */ + public VerifyCa withCaCertificate(String caCertificate) { + Utils.checkNotNull(caCertificate, "caCertificate"); + this.caCertificate = caCertificate; + return this; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public VerifyCa withClientKeyPassword(String clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = Optional.ofNullable(clientKeyPassword); + return this; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public VerifyCa withClientKeyPassword(Optional clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = clientKeyPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + VerifyCa other = (VerifyCa) o; + return + java.util.Objects.deepEquals(this.caCertificate, other.caCertificate) && + java.util.Objects.deepEquals(this.clientKeyPassword, other.clientKeyPassword) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caCertificate, + clientKeyPassword, + mode); + } + + @Override + public String toString() { + return Utils.toString(VerifyCa.class, + "caCertificate", caCertificate, + "clientKeyPassword", clientKeyPassword, + "mode", mode); + } + + public final static class Builder { + + private String caCertificate; + + private Optional clientKeyPassword = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * CA certificate + */ + public Builder caCertificate(String caCertificate) { + Utils.checkNotNull(caCertificate, "caCertificate"); + this.caCertificate = caCertificate; + return this; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public Builder clientKeyPassword(String clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = Optional.ofNullable(clientKeyPassword); + return this; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public Builder clientKeyPassword(Optional clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = clientKeyPassword; + return this; + } + + public VerifyCa build() { + return new VerifyCa( + caCertificate, + clientKeyPassword); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"verify-ca\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/VerifyFull.java b/src/main/java/com/airbyte/api/models/shared/VerifyFull.java new file mode 100644 index 000000000..922932ab4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/VerifyFull.java @@ -0,0 +1,263 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * VerifyFull - Verify-full SSL mode. + */ + +public class VerifyFull { + + /** + * CA certificate + */ + @JsonProperty("ca_certificate") + private String caCertificate; + + /** + * Client certificate + */ + @JsonProperty("client_certificate") + private String clientCertificate; + + /** + * Client key + */ + @JsonProperty("client_key") + private String clientKey; + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_key_password") + private Optional clientKeyPassword; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mode") + private Optional mode; + + public VerifyFull( + @JsonProperty("ca_certificate") String caCertificate, + @JsonProperty("client_certificate") String clientCertificate, + @JsonProperty("client_key") String clientKey, + @JsonProperty("client_key_password") Optional clientKeyPassword) { + Utils.checkNotNull(caCertificate, "caCertificate"); + Utils.checkNotNull(clientCertificate, "clientCertificate"); + Utils.checkNotNull(clientKey, "clientKey"); + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.caCertificate = caCertificate; + this.clientCertificate = clientCertificate; + this.clientKey = clientKey; + this.clientKeyPassword = clientKeyPassword; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + /** + * CA certificate + */ + public String caCertificate() { + return caCertificate; + } + + /** + * Client certificate + */ + public String clientCertificate() { + return clientCertificate; + } + + /** + * Client key + */ + public String clientKey() { + return clientKey; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public Optional clientKeyPassword() { + return clientKeyPassword; + } + + public Optional mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * CA certificate + */ + public VerifyFull withCaCertificate(String caCertificate) { + Utils.checkNotNull(caCertificate, "caCertificate"); + this.caCertificate = caCertificate; + return this; + } + + /** + * Client certificate + */ + public VerifyFull withClientCertificate(String clientCertificate) { + Utils.checkNotNull(clientCertificate, "clientCertificate"); + this.clientCertificate = clientCertificate; + return this; + } + + /** + * Client key + */ + public VerifyFull withClientKey(String clientKey) { + Utils.checkNotNull(clientKey, "clientKey"); + this.clientKey = clientKey; + return this; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public VerifyFull withClientKeyPassword(String clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = Optional.ofNullable(clientKeyPassword); + return this; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public VerifyFull withClientKeyPassword(Optional clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = clientKeyPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + VerifyFull other = (VerifyFull) o; + return + java.util.Objects.deepEquals(this.caCertificate, other.caCertificate) && + java.util.Objects.deepEquals(this.clientCertificate, other.clientCertificate) && + java.util.Objects.deepEquals(this.clientKey, other.clientKey) && + java.util.Objects.deepEquals(this.clientKeyPassword, other.clientKeyPassword) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caCertificate, + clientCertificate, + clientKey, + clientKeyPassword, + mode); + } + + @Override + public String toString() { + return Utils.toString(VerifyFull.class, + "caCertificate", caCertificate, + "clientCertificate", clientCertificate, + "clientKey", clientKey, + "clientKeyPassword", clientKeyPassword, + "mode", mode); + } + + public final static class Builder { + + private String caCertificate; + + private String clientCertificate; + + private String clientKey; + + private Optional clientKeyPassword = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * CA certificate + */ + public Builder caCertificate(String caCertificate) { + Utils.checkNotNull(caCertificate, "caCertificate"); + this.caCertificate = caCertificate; + return this; + } + + /** + * Client certificate + */ + public Builder clientCertificate(String clientCertificate) { + Utils.checkNotNull(clientCertificate, "clientCertificate"); + this.clientCertificate = clientCertificate; + return this; + } + + /** + * Client key + */ + public Builder clientKey(String clientKey) { + Utils.checkNotNull(clientKey, "clientKey"); + this.clientKey = clientKey; + return this; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public Builder clientKeyPassword(String clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = Optional.ofNullable(clientKeyPassword); + return this; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public Builder clientKeyPassword(Optional clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = clientKeyPassword; + return this; + } + + public VerifyFull build() { + return new VerifyFull( + caCertificate, + clientCertificate, + clientKey, + clientKeyPassword); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"verify-full\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/VerifyIdentity.java b/src/main/java/com/airbyte/api/models/shared/VerifyIdentity.java new file mode 100644 index 000000000..66380ca9f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/VerifyIdentity.java @@ -0,0 +1,300 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * VerifyIdentity - Always connect with SSL. Verify both CA and Hostname. + */ + +public class VerifyIdentity { + + /** + * CA certificate + */ + @JsonProperty("ca_certificate") + private String caCertificate; + + /** + * Client certificate (this is not a required field, but if you want to use it, you will need to add the <b>Client key</b> as well) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_certificate") + private Optional clientCertificate; + + /** + * Client key (this is not a required field, but if you want to use it, you will need to add the <b>Client certificate</b> as well) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_key") + private Optional clientKey; + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_key_password") + private Optional clientKeyPassword; + + @JsonProperty("mode") + private SourceMysqlSchemasSSLModeSSLModesMode mode; + + public VerifyIdentity( + @JsonProperty("ca_certificate") String caCertificate, + @JsonProperty("client_certificate") Optional clientCertificate, + @JsonProperty("client_key") Optional clientKey, + @JsonProperty("client_key_password") Optional clientKeyPassword) { + Utils.checkNotNull(caCertificate, "caCertificate"); + Utils.checkNotNull(clientCertificate, "clientCertificate"); + Utils.checkNotNull(clientKey, "clientKey"); + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.caCertificate = caCertificate; + this.clientCertificate = clientCertificate; + this.clientKey = clientKey; + this.clientKeyPassword = clientKeyPassword; + this.mode = Builder._SINGLETON_VALUE_Mode.value(); + } + + /** + * CA certificate + */ + public String caCertificate() { + return caCertificate; + } + + /** + * Client certificate (this is not a required field, but if you want to use it, you will need to add the <b>Client key</b> as well) + */ + public Optional clientCertificate() { + return clientCertificate; + } + + /** + * Client key (this is not a required field, but if you want to use it, you will need to add the <b>Client certificate</b> as well) + */ + public Optional clientKey() { + return clientKey; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public Optional clientKeyPassword() { + return clientKeyPassword; + } + + public SourceMysqlSchemasSSLModeSSLModesMode mode() { + return mode; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * CA certificate + */ + public VerifyIdentity withCaCertificate(String caCertificate) { + Utils.checkNotNull(caCertificate, "caCertificate"); + this.caCertificate = caCertificate; + return this; + } + + /** + * Client certificate (this is not a required field, but if you want to use it, you will need to add the <b>Client key</b> as well) + */ + public VerifyIdentity withClientCertificate(String clientCertificate) { + Utils.checkNotNull(clientCertificate, "clientCertificate"); + this.clientCertificate = Optional.ofNullable(clientCertificate); + return this; + } + + /** + * Client certificate (this is not a required field, but if you want to use it, you will need to add the <b>Client key</b> as well) + */ + public VerifyIdentity withClientCertificate(Optional clientCertificate) { + Utils.checkNotNull(clientCertificate, "clientCertificate"); + this.clientCertificate = clientCertificate; + return this; + } + + /** + * Client key (this is not a required field, but if you want to use it, you will need to add the <b>Client certificate</b> as well) + */ + public VerifyIdentity withClientKey(String clientKey) { + Utils.checkNotNull(clientKey, "clientKey"); + this.clientKey = Optional.ofNullable(clientKey); + return this; + } + + /** + * Client key (this is not a required field, but if you want to use it, you will need to add the <b>Client certificate</b> as well) + */ + public VerifyIdentity withClientKey(Optional clientKey) { + Utils.checkNotNull(clientKey, "clientKey"); + this.clientKey = clientKey; + return this; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public VerifyIdentity withClientKeyPassword(String clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = Optional.ofNullable(clientKeyPassword); + return this; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public VerifyIdentity withClientKeyPassword(Optional clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = clientKeyPassword; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + VerifyIdentity other = (VerifyIdentity) o; + return + java.util.Objects.deepEquals(this.caCertificate, other.caCertificate) && + java.util.Objects.deepEquals(this.clientCertificate, other.clientCertificate) && + java.util.Objects.deepEquals(this.clientKey, other.clientKey) && + java.util.Objects.deepEquals(this.clientKeyPassword, other.clientKeyPassword) && + java.util.Objects.deepEquals(this.mode, other.mode); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + caCertificate, + clientCertificate, + clientKey, + clientKeyPassword, + mode); + } + + @Override + public String toString() { + return Utils.toString(VerifyIdentity.class, + "caCertificate", caCertificate, + "clientCertificate", clientCertificate, + "clientKey", clientKey, + "clientKeyPassword", clientKeyPassword, + "mode", mode); + } + + public final static class Builder { + + private String caCertificate; + + private Optional clientCertificate = Optional.empty(); + + private Optional clientKey = Optional.empty(); + + private Optional clientKeyPassword = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * CA certificate + */ + public Builder caCertificate(String caCertificate) { + Utils.checkNotNull(caCertificate, "caCertificate"); + this.caCertificate = caCertificate; + return this; + } + + /** + * Client certificate (this is not a required field, but if you want to use it, you will need to add the <b>Client key</b> as well) + */ + public Builder clientCertificate(String clientCertificate) { + Utils.checkNotNull(clientCertificate, "clientCertificate"); + this.clientCertificate = Optional.ofNullable(clientCertificate); + return this; + } + + /** + * Client certificate (this is not a required field, but if you want to use it, you will need to add the <b>Client key</b> as well) + */ + public Builder clientCertificate(Optional clientCertificate) { + Utils.checkNotNull(clientCertificate, "clientCertificate"); + this.clientCertificate = clientCertificate; + return this; + } + + /** + * Client key (this is not a required field, but if you want to use it, you will need to add the <b>Client certificate</b> as well) + */ + public Builder clientKey(String clientKey) { + Utils.checkNotNull(clientKey, "clientKey"); + this.clientKey = Optional.ofNullable(clientKey); + return this; + } + + /** + * Client key (this is not a required field, but if you want to use it, you will need to add the <b>Client certificate</b> as well) + */ + public Builder clientKey(Optional clientKey) { + Utils.checkNotNull(clientKey, "clientKey"); + this.clientKey = clientKey; + return this; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public Builder clientKeyPassword(String clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = Optional.ofNullable(clientKeyPassword); + return this; + } + + /** + * Password for keystorage. This field is optional. If you do not add it - the password will be generated automatically. + */ + public Builder clientKeyPassword(Optional clientKeyPassword) { + Utils.checkNotNull(clientKeyPassword, "clientKeyPassword"); + this.clientKeyPassword = clientKeyPassword; + return this; + } + + public VerifyIdentity build() { + return new VerifyIdentity( + caCertificate, + clientCertificate, + clientKey, + clientKeyPassword); + } + + private static final LazySingletonValue _SINGLETON_VALUE_Mode = + new LazySingletonValue<>( + "mode", + "\"verify_identity\"", + new TypeReference() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ViewAttributionWindow.java b/src/main/java/com/airbyte/api/models/shared/ViewAttributionWindow.java new file mode 100644 index 000000000..54d909400 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ViewAttributionWindow.java @@ -0,0 +1,36 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ViewAttributionWindow - Attribution window for views. + */ +public enum ViewAttributionWindow { + ONE_HOUR("1_HOUR"), + THREE_HOUR("3_HOUR"), + SIX_HOUR("6_HOUR"), + ONE_DAY("1_DAY"), + SEVEN_DAY("7_DAY"); + + @JsonValue + private final String value; + + private ViewAttributionWindow(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ViewWindowDays.java b/src/main/java/com/airbyte/api/models/shared/ViewWindowDays.java new file mode 100644 index 000000000..4f0e7c7c6 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ViewWindowDays.java @@ -0,0 +1,37 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ViewWindowDays - Number of days to use as the conversion attribution window for a view action. + */ +public enum ViewWindowDays { + ZERO(0L), + ONE(1L), + SEVEN(7L), + FOURTEEN(14L), + THIRTY(30L), + SIXTY(60L); + + @JsonValue + private final long value; + + private ViewWindowDays(long value) { + this.value = value; + } + + public long value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Weaviate.java b/src/main/java/com/airbyte/api/models/shared/Weaviate.java new file mode 100644 index 000000000..a1f769c98 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Weaviate.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Weaviate { + WEAVIATE("weaviate"); + + @JsonValue + private final String value; + + private Weaviate(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Webflow.java b/src/main/java/com/airbyte/api/models/shared/Webflow.java new file mode 100644 index 000000000..ad057d285 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Webflow.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Webflow { + WEBFLOW("webflow"); + + @JsonValue + private final String value; + + private Webflow(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/WhiskyHunter.java b/src/main/java/com/airbyte/api/models/shared/WhiskyHunter.java new file mode 100644 index 000000000..3ca66dda2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/WhiskyHunter.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum WhiskyHunter { + WHISKY_HUNTER("whisky-hunter"); + + @JsonValue + private final String value; + + private WhiskyHunter(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/WikipediaPageviews.java b/src/main/java/com/airbyte/api/models/shared/WikipediaPageviews.java new file mode 100644 index 000000000..2de816759 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/WikipediaPageviews.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum WikipediaPageviews { + WIKIPEDIA_PAGEVIEWS("wikipedia-pageviews"); + + @JsonValue + private final String value; + + private WikipediaPageviews(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Woocommerce.java b/src/main/java/com/airbyte/api/models/shared/Woocommerce.java new file mode 100644 index 000000000..defb94a33 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Woocommerce.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Woocommerce { + WOOCOMMERCE("woocommerce"); + + @JsonValue + private final String value; + + private Woocommerce(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/WorkspaceCreateRequest.java b/src/main/java/com/airbyte/api/models/shared/WorkspaceCreateRequest.java new file mode 100644 index 000000000..97470a60e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/WorkspaceCreateRequest.java @@ -0,0 +1,99 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class WorkspaceCreateRequest { + + /** + * Name of the workspace + */ + @JsonProperty("name") + private String name; + + public WorkspaceCreateRequest( + @JsonProperty("name") String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + } + + /** + * Name of the workspace + */ + public String name() { + return name; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Name of the workspace + */ + public WorkspaceCreateRequest withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkspaceCreateRequest other = (WorkspaceCreateRequest) o; + return + java.util.Objects.deepEquals(this.name, other.name); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + name); + } + + @Override + public String toString() { + return Utils.toString(WorkspaceCreateRequest.class, + "name", name); + } + + public final static class Builder { + + private String name; + + private Builder() { + // force use of static builder() method + } + + /** + * Name of the workspace + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + public WorkspaceCreateRequest build() { + return new WorkspaceCreateRequest( + name); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/WorkspaceOAuthCredentialsRequest.java b/src/main/java/com/airbyte/api/models/shared/WorkspaceOAuthCredentialsRequest.java new file mode 100644 index 000000000..9a45b23d4 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/WorkspaceOAuthCredentialsRequest.java @@ -0,0 +1,170 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * WorkspaceOAuthCredentialsRequest - POST body for creating/updating workspace level OAuth credentials + */ + +public class WorkspaceOAuthCredentialsRequest { + + /** + * Whether you're setting this override for a source or destination + */ + @JsonProperty("actorType") + private ActorTypeEnum actorType; + + /** + * The values required to configure the source. + */ + @JsonProperty("configuration") + private OAuthCredentialsConfiguration configuration; + + @JsonProperty("name") + private OAuthActorNames name; + + public WorkspaceOAuthCredentialsRequest( + @JsonProperty("actorType") ActorTypeEnum actorType, + @JsonProperty("configuration") OAuthCredentialsConfiguration configuration, + @JsonProperty("name") OAuthActorNames name) { + Utils.checkNotNull(actorType, "actorType"); + Utils.checkNotNull(configuration, "configuration"); + Utils.checkNotNull(name, "name"); + this.actorType = actorType; + this.configuration = configuration; + this.name = name; + } + + /** + * Whether you're setting this override for a source or destination + */ + public ActorTypeEnum actorType() { + return actorType; + } + + /** + * The values required to configure the source. + */ + public OAuthCredentialsConfiguration configuration() { + return configuration; + } + + public OAuthActorNames name() { + return name; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Whether you're setting this override for a source or destination + */ + public WorkspaceOAuthCredentialsRequest withActorType(ActorTypeEnum actorType) { + Utils.checkNotNull(actorType, "actorType"); + this.actorType = actorType; + return this; + } + + /** + * The values required to configure the source. + */ + public WorkspaceOAuthCredentialsRequest withConfiguration(OAuthCredentialsConfiguration configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = configuration; + return this; + } + + public WorkspaceOAuthCredentialsRequest withName(OAuthActorNames name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkspaceOAuthCredentialsRequest other = (WorkspaceOAuthCredentialsRequest) o; + return + java.util.Objects.deepEquals(this.actorType, other.actorType) && + java.util.Objects.deepEquals(this.configuration, other.configuration) && + java.util.Objects.deepEquals(this.name, other.name); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + actorType, + configuration, + name); + } + + @Override + public String toString() { + return Utils.toString(WorkspaceOAuthCredentialsRequest.class, + "actorType", actorType, + "configuration", configuration, + "name", name); + } + + public final static class Builder { + + private ActorTypeEnum actorType; + + private OAuthCredentialsConfiguration configuration; + + private OAuthActorNames name; + + private Builder() { + // force use of static builder() method + } + + /** + * Whether you're setting this override for a source or destination + */ + public Builder actorType(ActorTypeEnum actorType) { + Utils.checkNotNull(actorType, "actorType"); + this.actorType = actorType; + return this; + } + + /** + * The values required to configure the source. + */ + public Builder configuration(OAuthCredentialsConfiguration configuration) { + Utils.checkNotNull(configuration, "configuration"); + this.configuration = configuration; + return this; + } + + public Builder name(OAuthActorNames name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + public WorkspaceOAuthCredentialsRequest build() { + return new WorkspaceOAuthCredentialsRequest( + actorType, + configuration, + name); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/WorkspaceResponse.java b/src/main/java/com/airbyte/api/models/shared/WorkspaceResponse.java new file mode 100644 index 000000000..5391a6bdb --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/WorkspaceResponse.java @@ -0,0 +1,172 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + +/** + * WorkspaceResponse - Provides details of a single workspace. + */ + +public class WorkspaceResponse { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("dataResidency") + private Optional dataResidency; + + @JsonProperty("name") + private String name; + + @JsonProperty("workspaceId") + private String workspaceId; + + public WorkspaceResponse( + @JsonProperty("dataResidency") Optional dataResidency, + @JsonProperty("name") String name, + @JsonProperty("workspaceId") String workspaceId) { + Utils.checkNotNull(dataResidency, "dataResidency"); + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(workspaceId, "workspaceId"); + this.dataResidency = dataResidency; + this.name = name; + this.workspaceId = workspaceId; + } + + public Optional dataResidency() { + return dataResidency; + } + + public String name() { + return name; + } + + public String workspaceId() { + return workspaceId; + } + + public final static Builder builder() { + return new Builder(); + } + + public WorkspaceResponse withDataResidency(GeographyEnum dataResidency) { + Utils.checkNotNull(dataResidency, "dataResidency"); + this.dataResidency = Optional.ofNullable(dataResidency); + return this; + } + + public WorkspaceResponse withDataResidency(Optional dataResidency) { + Utils.checkNotNull(dataResidency, "dataResidency"); + this.dataResidency = dataResidency; + return this; + } + + public WorkspaceResponse withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + public WorkspaceResponse withWorkspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkspaceResponse other = (WorkspaceResponse) o; + return + java.util.Objects.deepEquals(this.dataResidency, other.dataResidency) && + java.util.Objects.deepEquals(this.name, other.name) && + java.util.Objects.deepEquals(this.workspaceId, other.workspaceId); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + dataResidency, + name, + workspaceId); + } + + @Override + public String toString() { + return Utils.toString(WorkspaceResponse.class, + "dataResidency", dataResidency, + "name", name, + "workspaceId", workspaceId); + } + + public final static class Builder { + + private Optional dataResidency; + + private String name; + + private String workspaceId; + + private Builder() { + // force use of static builder() method + } + + public Builder dataResidency(GeographyEnum dataResidency) { + Utils.checkNotNull(dataResidency, "dataResidency"); + this.dataResidency = Optional.ofNullable(dataResidency); + return this; + } + + public Builder dataResidency(Optional dataResidency) { + Utils.checkNotNull(dataResidency, "dataResidency"); + this.dataResidency = dataResidency; + return this; + } + + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + public Builder workspaceId(String workspaceId) { + Utils.checkNotNull(workspaceId, "workspaceId"); + this.workspaceId = workspaceId; + return this; + } + + public WorkspaceResponse build() { + if (dataResidency == null) { + dataResidency = _SINGLETON_VALUE_DataResidency.value(); + } + return new WorkspaceResponse( + dataResidency, + name, + workspaceId); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_DataResidency = + new LazySingletonValue<>( + "dataResidency", + "\"auto\"", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/WorkspaceUpdateRequest.java b/src/main/java/com/airbyte/api/models/shared/WorkspaceUpdateRequest.java new file mode 100644 index 000000000..09c2674e3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/WorkspaceUpdateRequest.java @@ -0,0 +1,99 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + + +public class WorkspaceUpdateRequest { + + /** + * Name of the workspace + */ + @JsonProperty("name") + private String name; + + public WorkspaceUpdateRequest( + @JsonProperty("name") String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + } + + /** + * Name of the workspace + */ + public String name() { + return name; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Name of the workspace + */ + public WorkspaceUpdateRequest withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkspaceUpdateRequest other = (WorkspaceUpdateRequest) o; + return + java.util.Objects.deepEquals(this.name, other.name); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + name); + } + + @Override + public String toString() { + return Utils.toString(WorkspaceUpdateRequest.class, + "name", name); + } + + public final static class Builder { + + private String name; + + private Builder() { + // force use of static builder() method + } + + /** + * Name of the workspace + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + public WorkspaceUpdateRequest build() { + return new WorkspaceUpdateRequest( + name); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/WorkspacesResponse.java b/src/main/java/com/airbyte/api/models/shared/WorkspacesResponse.java new file mode 100644 index 000000000..bfb8b53a5 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/WorkspacesResponse.java @@ -0,0 +1,172 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class WorkspacesResponse { + + @JsonProperty("data") + private java.util.List data; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("next") + private Optional next; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("previous") + private Optional previous; + + public WorkspacesResponse( + @JsonProperty("data") java.util.List data, + @JsonProperty("next") Optional next, + @JsonProperty("previous") Optional previous) { + Utils.checkNotNull(data, "data"); + Utils.checkNotNull(next, "next"); + Utils.checkNotNull(previous, "previous"); + this.data = data; + this.next = next; + this.previous = previous; + } + + public java.util.List data() { + return data; + } + + public Optional next() { + return next; + } + + public Optional previous() { + return previous; + } + + public final static Builder builder() { + return new Builder(); + } + + public WorkspacesResponse withData(java.util.List data) { + Utils.checkNotNull(data, "data"); + this.data = data; + return this; + } + + public WorkspacesResponse withNext(String next) { + Utils.checkNotNull(next, "next"); + this.next = Optional.ofNullable(next); + return this; + } + + public WorkspacesResponse withNext(Optional next) { + Utils.checkNotNull(next, "next"); + this.next = next; + return this; + } + + public WorkspacesResponse withPrevious(String previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = Optional.ofNullable(previous); + return this; + } + + public WorkspacesResponse withPrevious(Optional previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = previous; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkspacesResponse other = (WorkspacesResponse) o; + return + java.util.Objects.deepEquals(this.data, other.data) && + java.util.Objects.deepEquals(this.next, other.next) && + java.util.Objects.deepEquals(this.previous, other.previous); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + data, + next, + previous); + } + + @Override + public String toString() { + return Utils.toString(WorkspacesResponse.class, + "data", data, + "next", next, + "previous", previous); + } + + public final static class Builder { + + private java.util.List data; + + private Optional next = Optional.empty(); + + private Optional previous = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder data(java.util.List data) { + Utils.checkNotNull(data, "data"); + this.data = data; + return this; + } + + public Builder next(String next) { + Utils.checkNotNull(next, "next"); + this.next = Optional.ofNullable(next); + return this; + } + + public Builder next(Optional next) { + Utils.checkNotNull(next, "next"); + this.next = next; + return this; + } + + public Builder previous(String previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = Optional.ofNullable(previous); + return this; + } + + public Builder previous(Optional previous) { + Utils.checkNotNull(previous, "previous"); + this.previous = previous; + return this; + } + + public WorkspacesResponse build() { + return new WorkspacesResponse( + data, + next, + previous); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Xkcd.java b/src/main/java/com/airbyte/api/models/shared/Xkcd.java new file mode 100644 index 000000000..c98795f44 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Xkcd.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Xkcd { + XKCD("xkcd"); + + @JsonValue + private final String value; + + private Xkcd(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Xz.java b/src/main/java/com/airbyte/api/models/shared/Xz.java new file mode 100644 index 000000000..ee63e1b88 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Xz.java @@ -0,0 +1,181 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Xz { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("codec") + private Optional codec; + + /** + * The presets 0-3 are fast presets with medium compression. The presets 4-6 are fairly slow presets with high compression. The default preset is 6. The presets 7-9 are like the preset 6 but use bigger dictionaries and have higher compressor and decompressor memory requirements. Unless the uncompressed size of the file exceeds 8 MiB, 16 MiB, or 32 MiB, it is waste of memory to use the presets 7, 8, or 9, respectively. Read more <a href="https://commons.apache.org/proper/commons-compress/apidocs/org/apache/commons/compress/compressors/xz/XZCompressorOutputStream.html#XZCompressorOutputStream-java.io.OutputStream-int-">here</a> for details. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_level") + private Optional compressionLevel; + + public Xz( + @JsonProperty("codec") Optional codec, + @JsonProperty("compression_level") Optional compressionLevel) { + Utils.checkNotNull(codec, "codec"); + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.codec = codec; + this.compressionLevel = compressionLevel; + } + + public Optional codec() { + return codec; + } + + /** + * The presets 0-3 are fast presets with medium compression. The presets 4-6 are fairly slow presets with high compression. The default preset is 6. The presets 7-9 are like the preset 6 but use bigger dictionaries and have higher compressor and decompressor memory requirements. Unless the uncompressed size of the file exceeds 8 MiB, 16 MiB, or 32 MiB, it is waste of memory to use the presets 7, 8, or 9, respectively. Read more <a href="https://commons.apache.org/proper/commons-compress/apidocs/org/apache/commons/compress/compressors/xz/XZCompressorOutputStream.html#XZCompressorOutputStream-java.io.OutputStream-int-">here</a> for details. + */ + public Optional compressionLevel() { + return compressionLevel; + } + + public final static Builder builder() { + return new Builder(); + } + + public Xz withCodec(DestinationGcsSchemasFormatCodec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public Xz withCodec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + /** + * The presets 0-3 are fast presets with medium compression. The presets 4-6 are fairly slow presets with high compression. The default preset is 6. The presets 7-9 are like the preset 6 but use bigger dictionaries and have higher compressor and decompressor memory requirements. Unless the uncompressed size of the file exceeds 8 MiB, 16 MiB, or 32 MiB, it is waste of memory to use the presets 7, 8, or 9, respectively. Read more <a href="https://commons.apache.org/proper/commons-compress/apidocs/org/apache/commons/compress/compressors/xz/XZCompressorOutputStream.html#XZCompressorOutputStream-java.io.OutputStream-int-">here</a> for details. + */ + public Xz withCompressionLevel(long compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = Optional.ofNullable(compressionLevel); + return this; + } + + /** + * The presets 0-3 are fast presets with medium compression. The presets 4-6 are fairly slow presets with high compression. The default preset is 6. The presets 7-9 are like the preset 6 but use bigger dictionaries and have higher compressor and decompressor memory requirements. Unless the uncompressed size of the file exceeds 8 MiB, 16 MiB, or 32 MiB, it is waste of memory to use the presets 7, 8, or 9, respectively. Read more <a href="https://commons.apache.org/proper/commons-compress/apidocs/org/apache/commons/compress/compressors/xz/XZCompressorOutputStream.html#XZCompressorOutputStream-java.io.OutputStream-int-">here</a> for details. + */ + public Xz withCompressionLevel(Optional compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = compressionLevel; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Xz other = (Xz) o; + return + java.util.Objects.deepEquals(this.codec, other.codec) && + java.util.Objects.deepEquals(this.compressionLevel, other.compressionLevel); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + codec, + compressionLevel); + } + + @Override + public String toString() { + return Utils.toString(Xz.class, + "codec", codec, + "compressionLevel", compressionLevel); + } + + public final static class Builder { + + private Optional codec; + + private Optional compressionLevel; + + private Builder() { + // force use of static builder() method + } + + public Builder codec(DestinationGcsSchemasFormatCodec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public Builder codec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + /** + * The presets 0-3 are fast presets with medium compression. The presets 4-6 are fairly slow presets with high compression. The default preset is 6. The presets 7-9 are like the preset 6 but use bigger dictionaries and have higher compressor and decompressor memory requirements. Unless the uncompressed size of the file exceeds 8 MiB, 16 MiB, or 32 MiB, it is waste of memory to use the presets 7, 8, or 9, respectively. Read more <a href="https://commons.apache.org/proper/commons-compress/apidocs/org/apache/commons/compress/compressors/xz/XZCompressorOutputStream.html#XZCompressorOutputStream-java.io.OutputStream-int-">here</a> for details. + */ + public Builder compressionLevel(long compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = Optional.ofNullable(compressionLevel); + return this; + } + + /** + * The presets 0-3 are fast presets with medium compression. The presets 4-6 are fairly slow presets with high compression. The default preset is 6. The presets 7-9 are like the preset 6 but use bigger dictionaries and have higher compressor and decompressor memory requirements. Unless the uncompressed size of the file exceeds 8 MiB, 16 MiB, or 32 MiB, it is waste of memory to use the presets 7, 8, or 9, respectively. Read more <a href="https://commons.apache.org/proper/commons-compress/apidocs/org/apache/commons/compress/compressors/xz/XZCompressorOutputStream.html#XZCompressorOutputStream-java.io.OutputStream-int-">here</a> for details. + */ + public Builder compressionLevel(Optional compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = compressionLevel; + return this; + } + + public Xz build() { + if (codec == null) { + codec = _SINGLETON_VALUE_Codec.value(); + } + if (compressionLevel == null) { + compressionLevel = _SINGLETON_VALUE_CompressionLevel.value(); + } + return new Xz( + codec, + compressionLevel); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Codec = + new LazySingletonValue<>( + "codec", + "\"xz\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionLevel = + new LazySingletonValue<>( + "compression_level", + "6", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/YandexMetrica.java b/src/main/java/com/airbyte/api/models/shared/YandexMetrica.java new file mode 100644 index 000000000..7e11bea3b --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/YandexMetrica.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum YandexMetrica { + YANDEX_METRICA("yandex-metrica"); + + @JsonValue + private final String value; + + private YandexMetrica(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Yotpo.java b/src/main/java/com/airbyte/api/models/shared/Yotpo.java new file mode 100644 index 000000000..9b0ac6619 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Yotpo.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Yotpo { + YOTPO("yotpo"); + + @JsonValue + private final String value; + + private Yotpo(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/YoutubeAnalytics.java b/src/main/java/com/airbyte/api/models/shared/YoutubeAnalytics.java new file mode 100644 index 000000000..f89303226 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/YoutubeAnalytics.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class YoutubeAnalytics { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public YoutubeAnalytics( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public YoutubeAnalytics withCredentials(YoutubeAnalyticsCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public YoutubeAnalytics withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + YoutubeAnalytics other = (YoutubeAnalytics) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(YoutubeAnalytics.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(YoutubeAnalyticsCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public YoutubeAnalytics build() { + return new YoutubeAnalytics( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/YoutubeAnalyticsCredentials.java b/src/main/java/com/airbyte/api/models/shared/YoutubeAnalyticsCredentials.java new file mode 100644 index 000000000..0fe58e52c --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/YoutubeAnalyticsCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class YoutubeAnalyticsCredentials { + + /** + * The Client ID of your developer application + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The client secret of your developer application + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public YoutubeAnalyticsCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of your developer application + */ + public Optional clientId() { + return clientId; + } + + /** + * The client secret of your developer application + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your developer application + */ + public YoutubeAnalyticsCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your developer application + */ + public YoutubeAnalyticsCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret of your developer application + */ + public YoutubeAnalyticsCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The client secret of your developer application + */ + public YoutubeAnalyticsCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + YoutubeAnalyticsCredentials other = (YoutubeAnalyticsCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(YoutubeAnalyticsCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your developer application + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your developer application + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The client secret of your developer application + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The client secret of your developer application + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public YoutubeAnalyticsCredentials build() { + return new YoutubeAnalyticsCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ZendeskChat.java b/src/main/java/com/airbyte/api/models/shared/ZendeskChat.java new file mode 100644 index 000000000..c483970c9 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ZendeskChat.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ZendeskChat { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public ZendeskChat( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public ZendeskChat withCredentials(ZendeskChatCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public ZendeskChat withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ZendeskChat other = (ZendeskChat) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(ZendeskChat.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(ZendeskChatCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public ZendeskChat build() { + return new ZendeskChat( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ZendeskChatCredentials.java b/src/main/java/com/airbyte/api/models/shared/ZendeskChatCredentials.java new file mode 100644 index 000000000..8d710cd60 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ZendeskChatCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ZendeskChatCredentials { + + /** + * The Client ID of your OAuth application + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your OAuth application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public ZendeskChatCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of your OAuth application + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your OAuth application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your OAuth application + */ + public ZendeskChatCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your OAuth application + */ + public ZendeskChatCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public ZendeskChatCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public ZendeskChatCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ZendeskChatCredentials other = (ZendeskChatCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(ZendeskChatCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your OAuth application + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your OAuth application + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public ZendeskChatCredentials build() { + return new ZendeskChatCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ZendeskSell.java b/src/main/java/com/airbyte/api/models/shared/ZendeskSell.java new file mode 100644 index 000000000..d2a09e13e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ZendeskSell.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum ZendeskSell { + ZENDESK_SELL("zendesk-sell"); + + @JsonValue + private final String value; + + private ZendeskSell(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ZendeskSunshine.java b/src/main/java/com/airbyte/api/models/shared/ZendeskSunshine.java new file mode 100644 index 000000000..dd5a7da56 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ZendeskSunshine.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ZendeskSunshine { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public ZendeskSunshine( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public ZendeskSunshine withCredentials(ZendeskSunshineCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public ZendeskSunshine withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ZendeskSunshine other = (ZendeskSunshine) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(ZendeskSunshine.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(ZendeskSunshineCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public ZendeskSunshine build() { + return new ZendeskSunshine( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ZendeskSunshineCredentials.java b/src/main/java/com/airbyte/api/models/shared/ZendeskSunshineCredentials.java new file mode 100644 index 000000000..45ef8a9b0 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ZendeskSunshineCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ZendeskSunshineCredentials { + + /** + * The Client ID of your OAuth application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The Client Secret of your OAuth application. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public ZendeskSunshineCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The Client ID of your OAuth application. + */ + public Optional clientId() { + return clientId; + } + + /** + * The Client Secret of your OAuth application. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The Client ID of your OAuth application. + */ + public ZendeskSunshineCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your OAuth application. + */ + public ZendeskSunshineCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public ZendeskSunshineCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public ZendeskSunshineCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ZendeskSunshineCredentials other = (ZendeskSunshineCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(ZendeskSunshineCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The Client ID of your OAuth application. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The Client ID of your OAuth application. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The Client Secret of your OAuth application. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public ZendeskSunshineCredentials build() { + return new ZendeskSunshineCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ZendeskSupport.java b/src/main/java/com/airbyte/api/models/shared/ZendeskSupport.java new file mode 100644 index 000000000..762a05dd8 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ZendeskSupport.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ZendeskSupport { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public ZendeskSupport( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public ZendeskSupport withCredentials(ZendeskSupportCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public ZendeskSupport withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ZendeskSupport other = (ZendeskSupport) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(ZendeskSupport.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(ZendeskSupportCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public ZendeskSupport build() { + return new ZendeskSupport( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ZendeskSupportCredentials.java b/src/main/java/com/airbyte/api/models/shared/ZendeskSupportCredentials.java new file mode 100644 index 000000000..60662a7db --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ZendeskSupportCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ZendeskSupportCredentials { + + /** + * The OAuth client's ID. See <a href="https://docs.searchunify.com/Content/Content-Sources/Zendesk-Authentication-OAuth-Client-ID-Secret.htm#:~:text=Get%20Client%20ID%20and%20Client%20Secret&text=Go%20to%20OAuth%20Clients%20and,will%20be%20displayed%20only%20once.">this guide</a> for more information. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * The OAuth client secret. See <a href="https://docs.searchunify.com/Content/Content-Sources/Zendesk-Authentication-OAuth-Client-ID-Secret.htm#:~:text=Get%20Client%20ID%20and%20Client%20Secret&text=Go%20to%20OAuth%20Clients%20and,will%20be%20displayed%20only%20once.">this guide</a> for more information. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public ZendeskSupportCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * The OAuth client's ID. See <a href="https://docs.searchunify.com/Content/Content-Sources/Zendesk-Authentication-OAuth-Client-ID-Secret.htm#:~:text=Get%20Client%20ID%20and%20Client%20Secret&text=Go%20to%20OAuth%20Clients%20and,will%20be%20displayed%20only%20once.">this guide</a> for more information. + */ + public Optional clientId() { + return clientId; + } + + /** + * The OAuth client secret. See <a href="https://docs.searchunify.com/Content/Content-Sources/Zendesk-Authentication-OAuth-Client-ID-Secret.htm#:~:text=Get%20Client%20ID%20and%20Client%20Secret&text=Go%20to%20OAuth%20Clients%20and,will%20be%20displayed%20only%20once.">this guide</a> for more information. + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The OAuth client's ID. See <a href="https://docs.searchunify.com/Content/Content-Sources/Zendesk-Authentication-OAuth-Client-ID-Secret.htm#:~:text=Get%20Client%20ID%20and%20Client%20Secret&text=Go%20to%20OAuth%20Clients%20and,will%20be%20displayed%20only%20once.">this guide</a> for more information. + */ + public ZendeskSupportCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The OAuth client's ID. See <a href="https://docs.searchunify.com/Content/Content-Sources/Zendesk-Authentication-OAuth-Client-ID-Secret.htm#:~:text=Get%20Client%20ID%20and%20Client%20Secret&text=Go%20to%20OAuth%20Clients%20and,will%20be%20displayed%20only%20once.">this guide</a> for more information. + */ + public ZendeskSupportCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The OAuth client secret. See <a href="https://docs.searchunify.com/Content/Content-Sources/Zendesk-Authentication-OAuth-Client-ID-Secret.htm#:~:text=Get%20Client%20ID%20and%20Client%20Secret&text=Go%20to%20OAuth%20Clients%20and,will%20be%20displayed%20only%20once.">this guide</a> for more information. + */ + public ZendeskSupportCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The OAuth client secret. See <a href="https://docs.searchunify.com/Content/Content-Sources/Zendesk-Authentication-OAuth-Client-ID-Secret.htm#:~:text=Get%20Client%20ID%20and%20Client%20Secret&text=Go%20to%20OAuth%20Clients%20and,will%20be%20displayed%20only%20once.">this guide</a> for more information. + */ + public ZendeskSupportCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ZendeskSupportCredentials other = (ZendeskSupportCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(ZendeskSupportCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The OAuth client's ID. See <a href="https://docs.searchunify.com/Content/Content-Sources/Zendesk-Authentication-OAuth-Client-ID-Secret.htm#:~:text=Get%20Client%20ID%20and%20Client%20Secret&text=Go%20to%20OAuth%20Clients%20and,will%20be%20displayed%20only%20once.">this guide</a> for more information. + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * The OAuth client's ID. See <a href="https://docs.searchunify.com/Content/Content-Sources/Zendesk-Authentication-OAuth-Client-ID-Secret.htm#:~:text=Get%20Client%20ID%20and%20Client%20Secret&text=Go%20to%20OAuth%20Clients%20and,will%20be%20displayed%20only%20once.">this guide</a> for more information. + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * The OAuth client secret. See <a href="https://docs.searchunify.com/Content/Content-Sources/Zendesk-Authentication-OAuth-Client-ID-Secret.htm#:~:text=Get%20Client%20ID%20and%20Client%20Secret&text=Go%20to%20OAuth%20Clients%20and,will%20be%20displayed%20only%20once.">this guide</a> for more information. + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * The OAuth client secret. See <a href="https://docs.searchunify.com/Content/Content-Sources/Zendesk-Authentication-OAuth-Client-ID-Secret.htm#:~:text=Get%20Client%20ID%20and%20Client%20Secret&text=Go%20to%20OAuth%20Clients%20and,will%20be%20displayed%20only%20once.">this guide</a> for more information. + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public ZendeskSupportCredentials build() { + return new ZendeskSupportCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ZendeskTalk.java b/src/main/java/com/airbyte/api/models/shared/ZendeskTalk.java new file mode 100644 index 000000000..e2665ad81 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ZendeskTalk.java @@ -0,0 +1,103 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ZendeskTalk { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("credentials") + private Optional credentials; + + public ZendeskTalk( + @JsonProperty("credentials") Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + } + + public Optional credentials() { + return credentials; + } + + public final static Builder builder() { + return new Builder(); + } + + public ZendeskTalk withCredentials(ZendeskTalkCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public ZendeskTalk withCredentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ZendeskTalk other = (ZendeskTalk) o; + return + java.util.Objects.deepEquals(this.credentials, other.credentials); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + credentials); + } + + @Override + public String toString() { + return Utils.toString(ZendeskTalk.class, + "credentials", credentials); + } + + public final static class Builder { + + private Optional credentials = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder credentials(ZendeskTalkCredentials credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = Optional.ofNullable(credentials); + return this; + } + + public Builder credentials(Optional credentials) { + Utils.checkNotNull(credentials, "credentials"); + this.credentials = credentials; + return this; + } + + public ZendeskTalk build() { + return new ZendeskTalk( + credentials); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/ZendeskTalkCredentials.java b/src/main/java/com/airbyte/api/models/shared/ZendeskTalkCredentials.java new file mode 100644 index 000000000..8ec02adb2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ZendeskTalkCredentials.java @@ -0,0 +1,180 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class ZendeskTalkCredentials { + + /** + * Client ID + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_id") + private Optional clientId; + + /** + * Client Secret + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("client_secret") + private Optional clientSecret; + + public ZendeskTalkCredentials( + @JsonProperty("client_id") Optional clientId, + @JsonProperty("client_secret") Optional clientSecret) { + Utils.checkNotNull(clientId, "clientId"); + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientId = clientId; + this.clientSecret = clientSecret; + } + + /** + * Client ID + */ + public Optional clientId() { + return clientId; + } + + /** + * Client Secret + */ + public Optional clientSecret() { + return clientSecret; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Client ID + */ + public ZendeskTalkCredentials withClientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Client ID + */ + public ZendeskTalkCredentials withClientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret + */ + public ZendeskTalkCredentials withClientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Client Secret + */ + public ZendeskTalkCredentials withClientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ZendeskTalkCredentials other = (ZendeskTalkCredentials) o; + return + java.util.Objects.deepEquals(this.clientId, other.clientId) && + java.util.Objects.deepEquals(this.clientSecret, other.clientSecret); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + clientId, + clientSecret); + } + + @Override + public String toString() { + return Utils.toString(ZendeskTalkCredentials.class, + "clientId", clientId, + "clientSecret", clientSecret); + } + + public final static class Builder { + + private Optional clientId = Optional.empty(); + + private Optional clientSecret = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Client ID + */ + public Builder clientId(String clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = Optional.ofNullable(clientId); + return this; + } + + /** + * Client ID + */ + public Builder clientId(Optional clientId) { + Utils.checkNotNull(clientId, "clientId"); + this.clientId = clientId; + return this; + } + + /** + * Client Secret + */ + public Builder clientSecret(String clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = Optional.ofNullable(clientSecret); + return this; + } + + /** + * Client Secret + */ + public Builder clientSecret(Optional clientSecret) { + Utils.checkNotNull(clientSecret, "clientSecret"); + this.clientSecret = clientSecret; + return this; + } + + public ZendeskTalkCredentials build() { + return new ZendeskTalkCredentials( + clientId, + clientSecret); + } + } +} + diff --git a/src/main/java/com/airbyte/api/models/shared/Zenloop.java b/src/main/java/com/airbyte/api/models/shared/Zenloop.java new file mode 100644 index 000000000..ca31b993d --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Zenloop.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Zenloop { + ZENLOOP("zenloop"); + + @JsonValue + private final String value; + + private Zenloop(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ZohoCRMEdition.java b/src/main/java/com/airbyte/api/models/shared/ZohoCRMEdition.java new file mode 100644 index 000000000..fa328707e --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ZohoCRMEdition.java @@ -0,0 +1,36 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +/** + * ZohoCRMEdition - Choose your Edition of Zoho CRM to determine API Concurrency Limits + */ +public enum ZohoCRMEdition { + FREE("Free"), + STANDARD("Standard"), + PROFESSIONAL("Professional"), + ENTERPRISE("Enterprise"), + ULTIMATE("Ultimate"); + + @JsonValue + private final String value; + + private ZohoCRMEdition(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/ZohoCrm.java b/src/main/java/com/airbyte/api/models/shared/ZohoCrm.java new file mode 100644 index 000000000..4f52de50f --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/ZohoCrm.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum ZohoCrm { + ZOHO_CRM("zoho-crm"); + + @JsonValue + private final String value; + + private ZohoCrm(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Zoom.java b/src/main/java/com/airbyte/api/models/shared/Zoom.java new file mode 100644 index 000000000..3f7d5eab2 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Zoom.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; + +public enum Zoom { + ZOOM("zoom"); + + @JsonValue + private final String value; + + private Zoom(String value) { + this.value = value; + } + + public String value() { + return value; + } +} diff --git a/src/main/java/com/airbyte/api/models/shared/Zstandard.java b/src/main/java/com/airbyte/api/models/shared/Zstandard.java new file mode 100644 index 000000000..3b1da0cd3 --- /dev/null +++ b/src/main/java/com/airbyte/api/models/shared/Zstandard.java @@ -0,0 +1,249 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.models.shared; + +import com.airbyte.api.utils.LazySingletonValue; +import com.airbyte.api.utils.Utils; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.InputStream; +import java.lang.Deprecated; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.Optional; + + +public class Zstandard { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("codec") + private Optional codec; + + /** + * Negative levels are 'fast' modes akin to lz4 or snappy, levels above 9 are generally for archival purposes, and levels above 18 use a lot of memory. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("compression_level") + private Optional compressionLevel; + + /** + * If true, include a checksum with each data block. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("include_checksum") + private Optional includeChecksum; + + public Zstandard( + @JsonProperty("codec") Optional codec, + @JsonProperty("compression_level") Optional compressionLevel, + @JsonProperty("include_checksum") Optional includeChecksum) { + Utils.checkNotNull(codec, "codec"); + Utils.checkNotNull(compressionLevel, "compressionLevel"); + Utils.checkNotNull(includeChecksum, "includeChecksum"); + this.codec = codec; + this.compressionLevel = compressionLevel; + this.includeChecksum = includeChecksum; + } + + public Optional codec() { + return codec; + } + + /** + * Negative levels are 'fast' modes akin to lz4 or snappy, levels above 9 are generally for archival purposes, and levels above 18 use a lot of memory. + */ + public Optional compressionLevel() { + return compressionLevel; + } + + /** + * If true, include a checksum with each data block. + */ + public Optional includeChecksum() { + return includeChecksum; + } + + public final static Builder builder() { + return new Builder(); + } + + public Zstandard withCodec(DestinationGcsSchemasFormatOutputFormatCodec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public Zstandard withCodec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + /** + * Negative levels are 'fast' modes akin to lz4 or snappy, levels above 9 are generally for archival purposes, and levels above 18 use a lot of memory. + */ + public Zstandard withCompressionLevel(long compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = Optional.ofNullable(compressionLevel); + return this; + } + + /** + * Negative levels are 'fast' modes akin to lz4 or snappy, levels above 9 are generally for archival purposes, and levels above 18 use a lot of memory. + */ + public Zstandard withCompressionLevel(Optional compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = compressionLevel; + return this; + } + + /** + * If true, include a checksum with each data block. + */ + public Zstandard withIncludeChecksum(boolean includeChecksum) { + Utils.checkNotNull(includeChecksum, "includeChecksum"); + this.includeChecksum = Optional.ofNullable(includeChecksum); + return this; + } + + /** + * If true, include a checksum with each data block. + */ + public Zstandard withIncludeChecksum(Optional includeChecksum) { + Utils.checkNotNull(includeChecksum, "includeChecksum"); + this.includeChecksum = includeChecksum; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Zstandard other = (Zstandard) o; + return + java.util.Objects.deepEquals(this.codec, other.codec) && + java.util.Objects.deepEquals(this.compressionLevel, other.compressionLevel) && + java.util.Objects.deepEquals(this.includeChecksum, other.includeChecksum); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + codec, + compressionLevel, + includeChecksum); + } + + @Override + public String toString() { + return Utils.toString(Zstandard.class, + "codec", codec, + "compressionLevel", compressionLevel, + "includeChecksum", includeChecksum); + } + + public final static class Builder { + + private Optional codec; + + private Optional compressionLevel; + + private Optional includeChecksum; + + private Builder() { + // force use of static builder() method + } + + public Builder codec(DestinationGcsSchemasFormatOutputFormatCodec codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = Optional.ofNullable(codec); + return this; + } + + public Builder codec(Optional codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + /** + * Negative levels are 'fast' modes akin to lz4 or snappy, levels above 9 are generally for archival purposes, and levels above 18 use a lot of memory. + */ + public Builder compressionLevel(long compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = Optional.ofNullable(compressionLevel); + return this; + } + + /** + * Negative levels are 'fast' modes akin to lz4 or snappy, levels above 9 are generally for archival purposes, and levels above 18 use a lot of memory. + */ + public Builder compressionLevel(Optional compressionLevel) { + Utils.checkNotNull(compressionLevel, "compressionLevel"); + this.compressionLevel = compressionLevel; + return this; + } + + /** + * If true, include a checksum with each data block. + */ + public Builder includeChecksum(boolean includeChecksum) { + Utils.checkNotNull(includeChecksum, "includeChecksum"); + this.includeChecksum = Optional.ofNullable(includeChecksum); + return this; + } + + /** + * If true, include a checksum with each data block. + */ + public Builder includeChecksum(Optional includeChecksum) { + Utils.checkNotNull(includeChecksum, "includeChecksum"); + this.includeChecksum = includeChecksum; + return this; + } + + public Zstandard build() { + if (codec == null) { + codec = _SINGLETON_VALUE_Codec.value(); + } + if (compressionLevel == null) { + compressionLevel = _SINGLETON_VALUE_CompressionLevel.value(); + } + if (includeChecksum == null) { + includeChecksum = _SINGLETON_VALUE_IncludeChecksum.value(); + } + return new Zstandard( + codec, + compressionLevel, + includeChecksum); + } + + private static final LazySingletonValue> _SINGLETON_VALUE_Codec = + new LazySingletonValue<>( + "codec", + "\"zstandard\"", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_CompressionLevel = + new LazySingletonValue<>( + "compression_level", + "3", + new TypeReference>() {}); + + private static final LazySingletonValue> _SINGLETON_VALUE_IncludeChecksum = + new LazySingletonValue<>( + "include_checksum", + "false", + new TypeReference>() {}); + } +} + diff --git a/src/main/java/com/airbyte/api/utils/BackoffStrategy.java b/src/main/java/com/airbyte/api/utils/BackoffStrategy.java new file mode 100644 index 000000000..0cd9809c4 --- /dev/null +++ b/src/main/java/com/airbyte/api/utils/BackoffStrategy.java @@ -0,0 +1,251 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.utils; + +import java.util.concurrent.TimeUnit; +import com.airbyte.api.utils.Utils; + +/** + * Exponential Backoff Strategy with Jitter + * + * The duration between consecutive attempts is calculated as follows: + * intervalMs = min(maxIntervalMs, initialIntervalMs*(baseFactor^attempts) +/- r) + * where baseFactor is the base factor and r a random value between 0 and jitterFactor*intervalMs. + */ +public class BackoffStrategy { + + private static final long DEFAULT_INITIAL_INTERVAL_MS = 500L; + private static final long DEFAULT_MAX_INTERVAL_MS = 60000L; + private static final long DEFAULT_MAX_ELAPSED_TIME_MS = 3600000L; + private static final double DEFAULT_EXPONENT = 1.5; + private static final double DEFAULT_JITTER_FACTOR = 0.5; + private static final boolean DEFAULT_RETRY_CONNECT_ERROR = false; + private static final boolean DEFAULT_RETRY_READ_TIMEOUT_ERROR = false; + + private final long initialIntervalMs; + private final long maxIntervalMs; + private final long maxElapsedTimeMs; + private final double baseFactor; + private final double jitterFactor; + private final boolean retryConnectError; + private final boolean retryReadTimeoutError; + + private BackoffStrategy(long initialIntervalMs, + long maxIntervalMs, + long maxElapsedTimeMs, + double baseFactor, + double jitterFactor, + boolean retryConnectError, + boolean retryReadTimeoutError) { + this.initialIntervalMs = initialIntervalMs; + this.maxIntervalMs = maxIntervalMs; + this.maxElapsedTimeMs = maxElapsedTimeMs; + this.baseFactor = baseFactor; + this.jitterFactor = jitterFactor; + this.retryConnectError = retryConnectError; + this.retryReadTimeoutError = retryReadTimeoutError; + } + + public static BackoffStrategy withDefaults() { + return BackoffStrategy.builder().build(); + } + + public long initialIntervalMs() { + return initialIntervalMs; + } + + public long maxIntervalMs() { + return maxIntervalMs; + } + + public double baseFactor() { + return baseFactor; + } + + /** + * @deprecated use baseFactor instead. + */ + @Deprecated + public double exponent() { + return baseFactor; + } + + public long maxElapsedTimeMs() { + return maxElapsedTimeMs; + } + + public double jitterFactor() { + return jitterFactor; + } + + public boolean retryConnectError() { + return retryConnectError; + } + + public boolean retryReadTimeoutError() { + return retryReadTimeoutError; + } + + public final static Builder builder() { + return new Builder(); + } + + public final static class Builder { + + private long initialIntervalMs = DEFAULT_INITIAL_INTERVAL_MS; + private long maxIntervalMs = DEFAULT_MAX_INTERVAL_MS; + private long maxElapsedTimeMs = DEFAULT_MAX_ELAPSED_TIME_MS; + private double baseFactor = DEFAULT_EXPONENT; + private double jitterFactor = DEFAULT_JITTER_FACTOR; + private boolean retryConnectError = DEFAULT_RETRY_CONNECT_ERROR; + private boolean retryReadTimeoutError = DEFAULT_RETRY_READ_TIMEOUT_ERROR; + + private Builder() {} + + /** + * Sets the initial interval + * + * @param duration The initial interval. + * @param unit The time unit associated with duration. + * @return The builder instance. + */ + public Builder initialInterval(long duration, TimeUnit unit) { + Utils.checkNotNull(unit, "unit"); + if (duration < 0) { + throw new IllegalArgumentException("initialInterval must be positive"); + } + this.initialIntervalMs = unit.toMillis(duration); + return this; + } + + /** + * Sets the maximum interval + * + * @param duration The maximum interval. + * @param unit The time unit associated with duration. + * @return The builder instance. + */ + public Builder maxInterval(long duration, TimeUnit unit) { + Utils.checkNotNull(unit, "unit"); + if (duration <= 0) { + throw new IllegalArgumentException("maxInterval must be strictly positive"); + } + this.maxIntervalMs = unit.toMillis(duration); + return this; + } + + /** + * Sets the maximum elapsed time + * + * @param duration The maximum elapsed time. + * @param unit The time unit associated with duration. + * @return The builder instance. + */ + public Builder maxElapsedTime(long duration, TimeUnit unit) { + Utils.checkNotNull(unit, "unit"); + if (duration < 0) { + throw new IllegalArgumentException("maxElapsedTime must be positive"); + } + this.maxElapsedTimeMs = unit.toMillis(duration); + return this; + } + + /** + * Sets the backoff base factor. + * + * @param baseFactor The base factor to use. + * @return The builder instance. + */ + public Builder baseFactor(double baseFactor) { + if (baseFactor <= 0 ) { + throw new IllegalArgumentException("baseFactor must be strictly positive"); + } + this.baseFactor = baseFactor; + return this; + } + + /** + * Sets the backoff base factor. + * + * @deprecated use baseFactor instead. + * @param exponent The base factor to use. + * @return The builder instance. + */ + @Deprecated + public Builder exponent(double baseFactor) { + if (baseFactor <= 0 ) { + throw new IllegalArgumentException("baseFactor must be strictly positive"); + } + this.baseFactor = baseFactor; + return this; + } + + /** + * Sets the jitter factor used to randomize the backoff interval. + * + * @param jitterFactor The jitter factor to use (default is 0.5f). + * @return The builder instance. + */ + public Builder jitterFactor(double jitterFactor) { + if (jitterFactor < 0 || jitterFactor > 1) { + throw new IllegalArgumentException("jitterFactor must be between 0 and 1"); + } + this.jitterFactor = jitterFactor; + return this; + } + + /** + * Specifies whether connection errors should be retried. + * + * @param retry Whether to retry on connection error. + * @return The builder instance. + */ + public Builder retryConnectError(boolean retry) { + this.retryConnectError = retry; + return this; + } + + /** + * Do not retry on connection error. + * + * @return The builder instance. + */ + public Builder throwConnectError() { + this.retryConnectError = false; + return this; + } + + /** + * Specifies whether Read Timeout errors should be retried. + * + * @param retry Whether to retry on Read Timeout error. + * @return The builder instance. + */ + public Builder retryReadTimeoutError(boolean retry) { + this.retryReadTimeoutError = retry; + return this; + } + + /** + * Do not retry on Read Timeout error. + * + * @return The builder instance. + */ + public Builder throwReadTimeoutError() { + this.retryReadTimeoutError = false; + return this; + } + + public BackoffStrategy build() { + return new BackoffStrategy(initialIntervalMs, + maxIntervalMs, + maxElapsedTimeMs, + baseFactor, + jitterFactor, + retryConnectError, + retryReadTimeoutError); + } + } +} diff --git a/src/main/java/com/airbyte/api/utils/BigDecimalString.java b/src/main/java/com/airbyte/api/utils/BigDecimalString.java new file mode 100644 index 000000000..1efbb7ba9 --- /dev/null +++ b/src/main/java/com/airbyte/api/utils/BigDecimalString.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.utils; + +import java.io.IOException; +import java.math.BigDecimal; +import java.util.Objects; + +import com.fasterxml.jackson.core.JacksonException; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; + +// Internal API only + +// Note that Jackson 2.16.1 does not support @JsonValue and @JsonFormat combined so we must use +// a custom serializer/deserializer + +@JsonSerialize(using = BigDecimalString.BigDecimalStringSerializer.class) +@JsonDeserialize(using = BigDecimalString.BigDecimalStringDeserializer.class) +public class BigDecimalString { + + private final BigDecimal value; + + public BigDecimalString(BigDecimal value) { + this.value = value; + } + + public BigDecimalString(String value) { + this(new BigDecimal(value)); + } + + public BigDecimal value() { + return value; + } + + @Override + public String toString() { + return value.toString(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + BigDecimalString other = (BigDecimalString) obj; + return Objects.equals(value, other.value); + } + + public static final class BigDecimalStringSerializer extends StdSerializer { + + private static final long serialVersionUID = -3828937716095008071L; + + public BigDecimalStringSerializer() { + this(null); + } + + public BigDecimalStringSerializer(Class t) { + super(t); + } + + @Override + public void serialize(BigDecimalString value, JsonGenerator g, SerializerProvider provider) + throws IOException, JsonProcessingException { + g.writeString(value.value.toString()); + } + } + + public static final class BigDecimalStringDeserializer extends StdDeserializer { + + private static final long serialVersionUID = -2474225842945673085L; + + public BigDecimalStringDeserializer() { + this(null); + } + + public BigDecimalStringDeserializer(Class t) { + super(t); + } + + @Override + public BigDecimalString deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException, JacksonException { + String s = p.readValueAs(String.class); + return new BigDecimalString(new BigDecimal(s)); + } + } +} diff --git a/src/main/java/com/airbyte/api/utils/BigIntegerString.java b/src/main/java/com/airbyte/api/utils/BigIntegerString.java new file mode 100644 index 000000000..8a8dfea19 --- /dev/null +++ b/src/main/java/com/airbyte/api/utils/BigIntegerString.java @@ -0,0 +1,105 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.utils; + +import java.io.IOException; +import java.math.BigInteger; +import java.util.Objects; + +import com.fasterxml.jackson.core.JacksonException; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; + +// Internal API only + +// Note that Jackson 2.16.1 does not support @JsonValue and @JsonFormat combined so we must use +// a custom serializer/deserializer + +@JsonSerialize(using = BigIntegerString.BigIntegerStringSerializer.class) +@JsonDeserialize(using = BigIntegerString.BigIntegerStringDeserializer.class) +public class BigIntegerString { + + private final BigInteger value; + + public BigIntegerString(BigInteger value) { + this.value = value; + } + + public BigIntegerString(String value) { + this(new BigInteger(value)); + } + + public BigInteger value() { + return value; + } + + @Override + public String toString() { + return value.toString(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + BigIntegerString other = (BigIntegerString) obj; + return Objects.equals(value, other.value); + } + + public static final class BigIntegerStringSerializer extends StdSerializer { + + private static final long serialVersionUID = -2474225842945673085L; + + public BigIntegerStringSerializer() { + this(null); + } + + public BigIntegerStringSerializer(Class t) { + super(t); + } + + @Override + public void serialize(BigIntegerString value, JsonGenerator g, SerializerProvider provider) + throws IOException, JsonProcessingException { + g.writeString(value.value.toString()); + } + } + + public static final class BigIntegerStringDeserializer extends StdDeserializer { + + private static final long serialVersionUID = -2474225842945673085L; + + public BigIntegerStringDeserializer() { + this(null); + } + + public BigIntegerStringDeserializer(Class t) { + super(t); + } + + @Override + public BigIntegerString deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException, JacksonException { + String s = p.readValueAs(String.class); + return new BigIntegerString(new BigInteger(s)); + } + } +} diff --git a/src/main/java/com/airbyte/api/utils/Deserializers.java b/src/main/java/com/airbyte/api/utils/Deserializers.java new file mode 100644 index 000000000..479b6cc0f --- /dev/null +++ b/src/main/java/com/airbyte/api/utils/Deserializers.java @@ -0,0 +1,241 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.utils; + +import java.io.IOException; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; + +import com.fasterxml.jackson.core.JacksonException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.Module; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.module.SimpleModule; + +public final class Deserializers { + + public static final JsonDeserializer BOOLEAN_STRICT = new StrictBooleanDeserializer(); + public static final JsonDeserializer INTEGER_STRICT = new StrictIntegerDeserializer(); + public static final JsonDeserializer LONG_STRICT = new StrictLongDeserializer(); + public static final JsonDeserializer SHORT_STRICT = new StrictShortDeserializer(); + public static final JsonDeserializer FLOAT_STRICT = new StrictFloatDeserializer(); + public static final JsonDeserializer DOUBLE_STRICT = new StrictDoubleDeserializer(); + public static final JsonDeserializer LOCAL_DATE_STRICT = new StrictLocalDateDeserializer(); + public static final JsonDeserializer OFFSET_DATE_TIME_STRICT = new StrictOffsetDateTimeDeserializer(); + public static final JsonDeserializer STRING_STRICT = new StrictStringDeserializer(); + + public static final Module STRICT_DESERIALIZERS = createStrictDeserializersModule(); + + private static Module createStrictDeserializersModule() { + SimpleModule m = new SimpleModule(); + m.addDeserializer(Boolean.class, Deserializers.BOOLEAN_STRICT); + m.addDeserializer(Short.class, Deserializers.SHORT_STRICT); + m.addDeserializer(Integer.class, Deserializers.INTEGER_STRICT); + m.addDeserializer(Long.class, Deserializers.LONG_STRICT); + m.addDeserializer(Float.class, Deserializers.FLOAT_STRICT); + m.addDeserializer(Double.class, Deserializers.DOUBLE_STRICT); + m.addDeserializer(OffsetDateTime.class, Deserializers.OFFSET_DATE_TIME_STRICT); + m.addDeserializer(LocalDate.class, Deserializers.LOCAL_DATE_STRICT); + m.addDeserializer(String.class, Deserializers.STRING_STRICT); + return m; + } + + private static final class StrictBooleanDeserializer extends StdDeserializer { + + private static final long serialVersionUID = 6014987192625841276L; + + StrictBooleanDeserializer() { + super(Boolean.class); + } + + @Override + public Boolean deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException, JacksonException { + JsonToken t = p.currentToken(); + if (t == JsonToken.VALUE_TRUE) { + return true; + } else if (t == JsonToken.VALUE_FALSE) { + return false; + } else { + return (Boolean) ctxt.handleUnexpectedToken(Boolean.class, p); + } + } + } + + private static final class StrictDoubleDeserializer extends StdDeserializer { + + private static final long serialVersionUID = 5500822592284739392L; + + StrictDoubleDeserializer() { + super(Double.class); + } + + @Override + public Double deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException, JacksonException { + JsonToken t = p.currentToken(); + if (t == JsonToken.VALUE_NUMBER_INT) { + return p.getDoubleValue(); + } else if (t == JsonToken.VALUE_NUMBER_FLOAT) { + return p.getDoubleValue(); + } else { + return (Double) ctxt.handleUnexpectedToken(Double.class, p); + } + } + } + + private static final class StrictFloatDeserializer extends StdDeserializer { + + private static final long serialVersionUID = 2207323065789635630L; + + StrictFloatDeserializer() { + super(Float.class); + } + + @Override + public Float deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException, JacksonException { + JsonToken t = p.currentToken(); + if (t == JsonToken.VALUE_NUMBER_INT) { + return p.getFloatValue(); + } else if (t == JsonToken.VALUE_NUMBER_FLOAT) { + return p.getFloatValue(); + } else { + return (Float) ctxt.handleUnexpectedToken(Float.class, p); + } + } + } + + private static final class StrictIntegerDeserializer extends StdDeserializer { + + private static final long serialVersionUID = 6079282945607228350L; + + StrictIntegerDeserializer() { + super(Integer.class); + } + + @Override + public Integer deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException, JacksonException { + JsonToken t = p.currentToken(); + if (t == JsonToken.VALUE_NUMBER_INT) { + return p.getIntValue(); + } else { + return (Integer) ctxt.handleUnexpectedToken(Integer.class, p); + } + } + } + + private static final class StrictLocalDateDeserializer extends StdDeserializer { + + private static final long serialVersionUID = 6014987192625841276L; + + StrictLocalDateDeserializer() { + super(LocalDate.class); + } + + @Override + public LocalDate deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JacksonException { + if (p.currentToken() == JsonToken.VALUE_STRING) { + String text = p.getText(); + try { + return LocalDate.parse(text, DateTimeFormatter.ISO_LOCAL_DATE); + } catch (DateTimeParseException e) { + return (LocalDate) ctxt.handleWeirdStringValue(LocalDate.class, text, e.getMessage()); + } + } else { + return (LocalDate) ctxt.handleUnexpectedToken(LocalDate.class, p); + } + } + } + + private static final class StrictLongDeserializer extends StdDeserializer { + + private static final long serialVersionUID = -2721538755854421632L; + + public StrictLongDeserializer() { + super(Long.class); + } + + @Override + public Long deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException, JacksonException { + JsonToken t = p.currentToken(); + if (t == JsonToken.VALUE_NUMBER_INT) { + return p.getLongValue(); + } else { + return (Long) ctxt.handleUnexpectedToken(Long.class, p); + } + } + } + + private static final class StrictOffsetDateTimeDeserializer extends StdDeserializer { + + private static final long serialVersionUID = 6014987192625841276L; + + StrictOffsetDateTimeDeserializer() { + super(OffsetDateTime.class); + } + + @Override + public OffsetDateTime deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JacksonException { + if (p.currentToken() == JsonToken.VALUE_STRING) { + String text = p.getText(); + try { + return OffsetDateTime.parse(text, DateTimeFormatter.ISO_DATE_TIME); + } catch (DateTimeParseException e) { + return (OffsetDateTime) ctxt.handleWeirdStringValue(OffsetDateTime.class, text, e.getMessage()); + } + } else { + return (OffsetDateTime) ctxt.handleUnexpectedToken(OffsetDateTime.class, p); + } + } + } + + private static final class StrictShortDeserializer extends StdDeserializer { + + private static final long serialVersionUID = 2162877248512421L; + + StrictShortDeserializer() { + super(Short.class); + } + + @Override + public Short deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException, JacksonException { + JsonToken t = p.currentToken(); + if (t == JsonToken.VALUE_NUMBER_INT) { + return p.getShortValue(); + } else { + return (Short) ctxt.handleUnexpectedToken(Short.class, p); + } + } + } + + private static final class StrictStringDeserializer extends StdDeserializer { + + private static final long serialVersionUID = 6014987192625841276L; + + StrictStringDeserializer() { + super(String.class); + } + + @Override + public String deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException, JacksonException { + JsonToken t = p.currentToken(); + if (t == JsonToken.VALUE_STRING) { + return p.getText(); + } else { + return (String) ctxt.handleUnexpectedToken(String.class, p); + } + } + } +} diff --git a/src/main/java/com/airbyte/api/utils/FormMetadata.java b/src/main/java/com/airbyte/api/utils/FormMetadata.java new file mode 100644 index 000000000..3f7fe3bc9 --- /dev/null +++ b/src/main/java/com/airbyte/api/utils/FormMetadata.java @@ -0,0 +1,23 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.utils; + +import java.lang.reflect.Field; + +class FormMetadata { + + String style = "form"; + boolean explode = true; + boolean json; + String name; + + private FormMetadata() { + } + + // form:name=propName,style=spaceDelimited,explode=true + static FormMetadata parse(Field field) throws IllegalArgumentException, IllegalAccessException { + return Metadata.parse("form", new FormMetadata(), field); + } +} diff --git a/lib/src/main/java/com/airbyte/api/utils/HTTPClient.java b/src/main/java/com/airbyte/api/utils/HTTPClient.java similarity index 77% rename from lib/src/main/java/com/airbyte/api/utils/HTTPClient.java rename to src/main/java/com/airbyte/api/utils/HTTPClient.java index 0ffcf0966..2e255ccff 100644 --- a/lib/src/main/java/com/airbyte/api/utils/HTTPClient.java +++ b/src/main/java/com/airbyte/api/utils/HTTPClient.java @@ -5,10 +5,11 @@ package com.airbyte.api.utils; import java.io.IOException; +import java.io.InputStream; import java.net.URISyntaxException; import java.net.http.HttpResponse; public interface HTTPClient { - public HttpResponse send(HTTPRequest request) + public HttpResponse send(HTTPRequest request) throws IOException, InterruptedException, URISyntaxException; } diff --git a/lib/src/main/java/com/airbyte/api/utils/HTTPRequest.java b/src/main/java/com/airbyte/api/utils/HTTPRequest.java similarity index 91% rename from lib/src/main/java/com/airbyte/api/utils/HTTPRequest.java rename to src/main/java/com/airbyte/api/utils/HTTPRequest.java index 8812faa75..fd2826141 100644 --- a/lib/src/main/java/com/airbyte/api/utils/HTTPRequest.java +++ b/src/main/java/com/airbyte/api/utils/HTTPRequest.java @@ -22,8 +22,8 @@ public class HTTPRequest { private String method; private SerializedBody body; - private List queryParams = new ArrayList(); - private Map> headers = new HashMap>(); + private List queryParams = new ArrayList<>(); + private Map> headers = new HashMap<>(); public HTTPRequest setMethod(String method) { this.method = method; @@ -43,7 +43,7 @@ public HTTPRequest setBody(SerializedBody body) { public HTTPRequest addHeader(String key, String value) { List headerValues = this.headers.get(key); if (headerValues == null) { - headerValues = new ArrayList(); + headerValues = new ArrayList<>(); } headerValues.add(value); diff --git a/src/main/java/com/airbyte/api/utils/HeaderMetadata.java b/src/main/java/com/airbyte/api/utils/HeaderMetadata.java new file mode 100644 index 000000000..d33870978 --- /dev/null +++ b/src/main/java/com/airbyte/api/utils/HeaderMetadata.java @@ -0,0 +1,22 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.utils; + +import java.lang.reflect.Field; + +class HeaderMetadata { + + String style = "simple"; + boolean explode; + String name; + + private HeaderMetadata() { + } + + // headerParam:style=simple,explode=false,name=apiID + static HeaderMetadata parse(Field field) throws IllegalArgumentException, IllegalAccessException { + return Metadata.parse("header", new HeaderMetadata(), field); + } +} diff --git a/src/main/java/com/airbyte/api/utils/JSON.java b/src/main/java/com/airbyte/api/utils/JSON.java new file mode 100644 index 000000000..7ad47b792 --- /dev/null +++ b/src/main/java/com/airbyte/api/utils/JSON.java @@ -0,0 +1,27 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.utils; + +import org.openapitools.jackson.nullable.JsonNullableModule; + +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.datatype.jdk8.Jdk8Module; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.fasterxml.jackson.databind.ObjectMapper; + +public class JSON { + public static ObjectMapper getMapper() { + return new ObjectMapper() + .registerModule(new JavaTimeModule()) + .registerModule(new Jdk8Module()) + .registerModule(new JsonNullableModule()) + .registerModule(Deserializers.STRICT_DESERIALIZERS) + .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) + .configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false) + .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) + .enable(DeserializationFeature.FAIL_ON_NULL_FOR_PRIMITIVES); + } +} \ No newline at end of file diff --git a/src/main/java/com/airbyte/api/utils/LazySingletonValue.java b/src/main/java/com/airbyte/api/utils/LazySingletonValue.java new file mode 100644 index 000000000..461b1ff00 --- /dev/null +++ b/src/main/java/com/airbyte/api/utils/LazySingletonValue.java @@ -0,0 +1,31 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.utils; + +import com.fasterxml.jackson.core.type.TypeReference; + +public final class LazySingletonValue { + + private static final Object NOT_SET = new Object(); + + private final String name; + private final String json; + private final TypeReference typeReference; + private Object value = NOT_SET; + + public LazySingletonValue(String name, String json, TypeReference typeReference) { + this.name = name; + this.json = json; + this.typeReference = typeReference; + } + + @SuppressWarnings("unchecked") + public T value() { + if (value == NOT_SET) { + value = Utils.readDefaultOrConstValue(name, json, typeReference); + } + return (T) value; + } +} diff --git a/lib/src/main/java/com/airbyte/api/utils/Metadata.java b/src/main/java/com/airbyte/api/utils/Metadata.java similarity index 88% rename from lib/src/main/java/com/airbyte/api/utils/Metadata.java rename to src/main/java/com/airbyte/api/utils/Metadata.java index 024948d6c..2e4ea2919 100644 --- a/lib/src/main/java/com/airbyte/api/utils/Metadata.java +++ b/src/main/java/com/airbyte/api/utils/Metadata.java @@ -8,8 +8,13 @@ import java.util.HashMap; import java.util.Map; -public class Metadata { - protected static Object parse(String name, Object metadata, Field field) +final class Metadata { + + private Metadata() { + // prevent instantiation + } + + static T parse(String name, T metadata, Field field) throws IllegalArgumentException, IllegalAccessException { SpeakeasyMetadata md = field.getAnnotation(SpeakeasyMetadata.class); if (md == null) { @@ -51,7 +56,7 @@ protected static Object parse(String name, Object metadata, Field field) values.put(key, val); } - Field[] fields = metadata.getClass().getFields(); + Field[] fields = metadata.getClass().getDeclaredFields(); for (Field f : fields) { f.setAccessible(true); @@ -73,6 +78,6 @@ protected static Object parse(String name, Object metadata, Field field) return null; } - return metadata; + return (T) metadata; } } \ No newline at end of file diff --git a/src/main/java/com/airbyte/api/utils/MultipartFormMetadata.java b/src/main/java/com/airbyte/api/utils/MultipartFormMetadata.java new file mode 100644 index 000000000..c8b9abd8e --- /dev/null +++ b/src/main/java/com/airbyte/api/utils/MultipartFormMetadata.java @@ -0,0 +1,23 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.utils; + +import java.lang.reflect.Field; + +class MultipartFormMetadata { + + boolean file; + boolean content; + boolean json; + String name; + + private MultipartFormMetadata() { + } + + // multipartForm:name=file + static MultipartFormMetadata parse(Field field) throws IllegalArgumentException, IllegalAccessException { + return Metadata.parse("multipartForm", new MultipartFormMetadata(), field); + } +} diff --git a/src/main/java/com/airbyte/api/utils/OneOfDeserializer.java b/src/main/java/com/airbyte/api/utils/OneOfDeserializer.java new file mode 100644 index 000000000..c76ec5d68 --- /dev/null +++ b/src/main/java/com/airbyte/api/utils/OneOfDeserializer.java @@ -0,0 +1,251 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.utils; + +import java.io.IOException; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +import com.airbyte.api.utils.Utils.TypeReferenceWithShape; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.TreeNode; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DatabindException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JavaType; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; + + +public class OneOfDeserializer extends StdDeserializer { + + private static final long serialVersionUID = -1; + + private final List typeReferences; // oneOf subschemas + private final Class cls; + private final ObjectMapper mapper; + + protected OneOfDeserializer(Class cls, TypeReferenceWithShape... typeReferences) { + super(cls); + this.typeReferences= Arrays.asList(typeReferences); + this.cls = cls; + this.mapper = JSON.getMapper(); + } + + @Override + public T deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + return deserializeOneOf(mapper, p, ctxt, typeReferences, cls); + } + + private static T deserializeOneOf(ObjectMapper mapper, JsonParser p, DeserializationContext ctxt, + List typeReferences, Class cls) throws IOException { + TreeNode tree = p.getCodec().readTree(p); + // TODO don't have to generate json because can use tree.traverse to get a + // parser to read value, perf advantage and can stop plugging in ObjectMapper + String json = mapper.writeValueAsString(tree); + return deserializeOneOf(mapper, json, typeReferences, cls, ctxt); + } + + private static T deserializeOneOf(ObjectMapper mapper, String json, List typeReferences, Class cls, + DeserializationContext ctxt) throws JsonProcessingException { + List> matches = new ArrayList<>(); + for (TypeReferenceWithShape c : typeReferences) { + // try to deserialize with each of the member classes + // @formatter:off + try { + JavaType jt = Utils.convertToShape(mapper.getTypeFactory(), c.typeReference(), c.shape()); + // Jackson very permissive with readValue so we will tighten things up a bit + if (matchPossible(jt, json)) { + Object o = mapper.readValue(json, jt); + o = Utils.convertToShapeInverse(o, c.shape(), jt); + @SuppressWarnings("unchecked") + TypedObject typed = TypedObject.of(o, c.shape(), (TypeReference) c.typeReference()); + T v = newInstance(cls, typed); + matches.add(new Match<>(c, v)); + } + } catch (DatabindException e) {} // NOPMD + // @formatter:on + } + matches = applyMatchPreferences(matches, json); + if (matches.size() == 1) { + return matches.get(0).value; + } else if (matches.size() > 1) { + throw JsonMappingException.from(ctxt, + "json matched more than one of the possible type references, matches are: " + typeNames(matches) + " - json=\n" + json); + } else { + throw JsonMappingException.from(ctxt, + "json did not match any of the possible type references: " + typeReferenceNames(typeReferences) + ", json=\n" + json); + } + } + + private static final class Match { + final TypeReferenceWithShape typeReference; + final T value; + + Match(TypeReferenceWithShape typeReference, T value) { + this.typeReference = typeReference; + this.value = value; + } + } + + private static final Set NUMERIC_CLASSES = Set.of( + Integer.class.getCanonicalName(), + Long.class.getCanonicalName(), + BigInteger.class.getCanonicalName(), + Float.class.getCanonicalName(), + Double.class.getCanonicalName(), + BigDecimal.class.getCanonicalName()); + + private static final Set DECIMAL_CLASSES = Set.of( + Float.class.getCanonicalName(), + Double.class.getCanonicalName(), + BigDecimal.class.getCanonicalName()); + + private static final Set INTEGER_CLASSES = Set.of( + Integer.class.getCanonicalName(), + Long.class.getCanonicalName(), + BigInteger.class.getCanonicalName()); + + private static final Set DATE_TIME_CLASSES = Set.of( + OffsetDateTime.class.getCanonicalName(), + LocalDate.class.getCanonicalName()); + + // VisibleForTesting + public static boolean matchPossible(JavaType type, String json) { + // situations we want to AVOID that can happen with Jackson ObjectMapper: + // * json numeric considered as valid for deserialization to OffsetDateTime, LocalDate + // * non-double-quoted json string considered as valid string + // * json numeric can be parsed as a Boolean + // * double-quoted numerics can be parsed as numerics + + // We make important assumptions about matching json with types + if (typeIs(type, String.class) || typeIs(type, BigIntegerString.class) || typeIs(type, BigDecimalString.class)) { + // string must be double quoted + return isDoubleQuoted(json); + } else if (typeIs(type, Boolean.class)) { + // boolean can only have false or true values + return json.equals("true") || json.equals("false"); + } else if (NUMERIC_CLASSES.contains(type.getTypeName())) { + return !json.contains("\""); + } else if (typeIs(type, OffsetDateTime.class) || typeIs(type, LocalDate.class)) { + // only json schema datetime format accepted, not epoch ms/s etc. + return isDoubleQuoted(json) && !isNumeric(json.substring(1, json.length() - 1)); + } else { + return true; + } + } + + private static boolean isDoubleQuoted(String s) { + return s.length() >=2 && s.startsWith("\"") && s.endsWith("\""); + } + + // VisibleForTesting + public static List> applyMatchPreferences(List> matches, String json) { + if (matches.size() <= 1) { + return matches; + } else if (allNumeric(matches)) { + List> decimalMatches = decimalMatches(matches); + List> integerMatches = integerMatches(matches); + if (!decimalMatches.isEmpty() && !integerMatches.isEmpty()) { + if (json.contains("e")|| json.contains(".")) { + return decimalMatches; + } else { + return integerMatches; + } + } else if (!decimalMatches.isEmpty()) { + return decimalMatches; + } else { + return integerMatches; + } + } if (allDateTime(matches)) { + if (json.contains("T")) { + return filter(matches, OffsetDateTime.class); + } else { + return filter(matches, LocalDate.class); + } + } else { + return matches; + } + } + + private static List> filter(List> matches, Class filterByClass) { + return matches // + .stream() // + .filter(x -> x.typeReference.typeReference().getType().getTypeName().equals(filterByClass.getCanonicalName())) // + .collect(Collectors.toList()); + } + + private static boolean allDateTime(List> matches) { + return matches.stream().allMatch(x -> DATE_TIME_CLASSES.contains(x.typeReference.typeReference().getType().getTypeName())); + } + + private static boolean allNumeric(List> matches) { + return matches.stream().allMatch(x -> NUMERIC_CLASSES.contains(x.typeReference.typeReference().getType().getTypeName())); + } + + private static List> decimalMatches(List> matches) { + return matches // + .stream() // + .filter(x -> DECIMAL_CLASSES.contains(x.typeReference.typeReference().getType().getTypeName())) // + .collect(Collectors.toList()); + } + + private static List> integerMatches(List> matches) { + return matches // + .stream() // + .filter(x -> INTEGER_CLASSES.contains(x.typeReference.typeReference().getType().getTypeName())) // + .collect(Collectors.toList()); + } + + private static boolean isNumeric(String s) { + try { + Double.parseDouble(s); + return true; + } catch (NumberFormatException e) { + return false; + } + } + + private static boolean typeIs(JavaType type, Class cls) { + return type.getRawClass().equals(cls); + } + + private static String typeNames(List> matches) { + return "[" + matches + .stream() + .map(x -> x.typeReference.typeReference().getType().getTypeName()) + .collect(Collectors.joining(", ")) + "]"; + } + + private static String typeReferenceNames(List list) { + return "[" + list + .stream() + .map(x -> x.typeReference().getType().getTypeName()) + .collect(Collectors.joining(", ")) + "]"; + } + + private static T newInstance(Class cls, Object parameter) { + try { + Constructor con = cls.getDeclaredConstructor(TypedObject.class); + con.setAccessible(true); + return con.newInstance(parameter); + } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException + | NoSuchMethodException | SecurityException e) { + throw new RuntimeException(e); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/airbyte/api/utils/Options.java b/src/main/java/com/airbyte/api/utils/Options.java new file mode 100644 index 000000000..51f85eeb5 --- /dev/null +++ b/src/main/java/com/airbyte/api/utils/Options.java @@ -0,0 +1,61 @@ +/* + * Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. + */ + +package com.airbyte.api.utils; + +import java.util.Optional; +import java.util.List; +import com.airbyte.api.utils.Utils; + + +public class Options { + + public enum Option { + RETRY_CONFIG; + } + + private Optional retryConfig = Optional.empty(); + + private Options(Optional retryConfig) { + Utils.checkNotNull(retryConfig, "retryConfig"); + this.retryConfig = retryConfig; + } + + public Optional retryConfig() { + return retryConfig; + } + + public final void validate(List